WooCommerce kategori yapısını SEO kaybetmeden değiştirmek
Bir slug ya da üst kategori değişikliği URL'yi taşır ve WooCommerce bunun için tek bir yönlendirme yazmaz. Önce yönlendirme haritası, sonra tek bir değişiklik penceresi ve Search Console'da doğrulama.
WooCommerce kategori yapınızı SEO kaybetmeden değiştirmek istiyorsanız işin tamamı tek bir disipline iner: emekliye ayırdığınız her URL, yerine geçen URL’ye tek bir 301 yönlendirmesi alır ve bu, aynı değişiklik penceresinde uygulanır. WooCommerce bunu sizin için yapmaz, WordPress de yapmaz. Bir ürün kategorisinin slug’ını değiştirin; eski adres, Güncelle’ye bastığınız anda 404 dönmeye başlar. Yazıların ve sayfaların bedavaya aldığı eski-slug yönlendirmesinin bir karşılığı yoktur. wp_old_slug_redirect() yazıları kapsar, taksonomi terimlerini değil.
Gerisi ayrıntı: her düzenleme türünde neyin değiştiği, yönlendirme haritasını neden önce çıkarmanız gerektiği, hasarın nereye kadar yayılacağını belirleyen kalıcı bağlantı ayarı ve umut etmek yerine nasıl doğrulayacağınız.
Kısa cevap#
WooCommerce kategori yapısını SEO kaybetmeden değiştirmek tek bir disipline dayanır: emekliye ayrılan her URL, yerine geçen URL’ye aynı değişiklik penceresinde uygulanan tek bir 301 yönlendirmesi alır. WooCommerce bunu sizin için yapmaz.
- Yeniden adlandırmak güvenlidir, slug değiştirmek değildir. Bir kategorinin yalnızca Ad alanını düzenlemek slug’a dokunmaz, dolayısıyla URL’ye de dokunmaz; slug’ı değiştirmekse Güncelle’ye bastığınız anda 404 döndürür, çünkü WordPress önceki terim slug’larının geçmişini tutmaz.
- Yayılmanın sınırını kalıcı bağlantı ayarınız belirler. Ürün URL’leri kategori yolunu yalnızca kategorili mağaza tabanında ya da %product_cat% içeren özel bir tabanda taşır; diğer ayarlarda kategori yeniden yapılandırması ürün URL’lerine dokunmaz.
- Önce yönlendirme haritasını çıkarın. Yönetim panelini açmadan önce eskiden yeniye tablosunu kesinleştirin; son on iki ayın Search Console kategori URL’lerini ve bir site taramasını kullanın, zincirlerin içinden geçmek yerine doğrudan son hedefe yönlendirin.
- Tek bir değişiklik penceresi, sonra doğrulama. Bütün terim düzenlemelerini birlikte yapın, yönlendirmeleri hemen yayına alın, önbellekleri ve yeniden yazma kurallarını temizleyin, site içi referansları düzeltin, site haritalarını yeniden gönderin, ardından Search Console’da emekliye ayrılan URL’lerin “Yönlendirmeli sayfa” olarak raporlandığını ve 404’lerin yatay seyrettiğini kontrol edin. Bir düşüş bekleyin ve üçüncü gün geri dönmeyin.
- Eklemek taşımaktan iyidir. Var olanları yeniden yapılandırmak yerine yeni kategoriler oluşturmak ne yönlendirme haritası ne de 404 penceresi gerektirir; bedeli, stok değiştikçe birinin ürün atamalarını güncel tutmasıdır.
Yeniden adlandırdığınızda, taşıdığınızda ya da birleştirdiğinizde gerçekte ne değişir#
Bu üç işlem “katalogu yeniden düzenlemek” başlığı altında bir arada anılır. Oysa etki alanları birbirinden çok farklıdır.
Yeniden adlandırma#
Ürünler → Kategoriler ekranında Ad ve Slug ayrı alanlardır. Yalnızca Ad’ı düzenlemek slug’a dokunmaz, dolayısıyla URL’ye de dokunmaz. Tek istediğiniz menüde ve arşiv başlığında “Outerwear” etiketini “Coats & Jackets” yapmaksa, bunu sıfır SEO riskiyle yapabilirsiniz. Slug’a dokunmayın ve orada durun.
Yıkıcı olan, Slug alanını düzenlemektir. /product-category/outerwear/ adresi /product-category/coats-jackets/ olur ve eski yol anında 404 verir. WordPress önceki terim slug’larının geçmişini tutmadığı için, sonradan yönlendirmeyi sizin adınıza tahmin edebilecek hiçbir şey yoktur. Daha derli toplu slug’ın yönlendirme işine değip değmediğine kaydetmeden önce karar verin.
Bir kategoriyi başka bir üst kategorinin altına taşımak#
WooCommerce product_cat taksonomisini hiyerarşik bir rewrite ile kaydeder; bu yüzden bir alt terimin URL’si üstündeki terimleri de içerir: /product-category/womens/jackets/. Üst kategori açılır listesini değiştirdiğinizde, slug hiç değişmemiş olsa bile bu yol değişir.
Burada işe yarar bir incelik var. Hiyerarşik bir rewrite’ta WordPress isteği yoldaki son slug üzerinden çözer, ardından kanonik yönlendirmesini terimin gerçek kalıcı bağlantısına karşı çalıştırır. Çoğu kurulumda bu şu demek: üst kategori değiştiği anda bayatlamış /product-category/womens/jackets/ yolu kendini yeni kanonik yola 301 ile yönlendirir, çünkü jackets tek başına da çözülür. Buna güvenmeden önce kendi kurulumunuzda test edin. Temalar ve kalıcı bağlantı eklentileri kanonik yönlendirmelere istediğinizden çok daha sık karışır. Gerçek trafiği olan her taşınmış kategori için açık kuralı yine de yazın.
Üst kategorileri yeniden düzenlerken, bir üst kategori arşivinin varsayılan olarak alt kategorilerindeki ürünleri listelemediğini unutmayın. Yeni yapınız ürünleri bir seviye daha derine itiyorsa, taşımanın bir şeyi bozduğu sonucuna varmadan önce WooCommerce üst kategorilerinin neden boş göründüğünü okuyun.
İki kategoriyi birleştirmek#
WooCommerce’te terimleri birleştiren hiçbir şey yoktur. Sıra elle yürür: kapatılacak terimdeki her ürünü kalacak terime yeniden atayın, kapatılacak terimin sayacının sıfır okuduğunu doğrulayın, terimi silin, sonra URL’sini kalan terime 301 ile yönlendirin.
Bir terimi silmek hiçbir zaman ürünleri silmez. Ama hiç ürün kategorisi kalmayan bir ürün, bir sonraki kaydedilişinde WooCommerce’in varsayılan kategorisini üstlenir; Varsayılan yap satır işlemiyle başka bir terimi öne çıkarmadıysanız bu, Kategorilere Ayrılmamış olur. Mağazaların kimsenin yayımlamayı düşünmediği bir arşivde kırk ürünle kalması böyle olur. Yeniden atamanın kendisi de bir toplu düzenlemedir; birkaç yüz ürün söz konusuysa toplu atamayı nasıl yaptığınız yönlendirmeden daha çok önem taşır.
Bütün bunlardan geriye ne kalır#
Terim ID’leri. Bir kategoriyi yeniden adlandırmak, slug’ını değiştirmek ve yeni bir üst kategoriye taşımak term_id değerine dokunmaz; bunun pratik sonuçları var:
- Kategori nesnesi olarak eklenen menü öğeleri taşımayı takip eder. Terim ID’sini saklar ve güncel URL’yi basarlar. Özel Bağlantı olarak eklenen menü öğeleri ise düz bir URL metni saklar ve sessizce bir 404’ü gösterir.
- ID’ye bağlı bloklar ve kısa kodlar hayatta kalır.
id="12"biçimindeki her şey çalışmaya devam eder. Slug’a bağlı olan her şey sessizce bozulur:category="outerwear"ile filtrelenmiş bir ürün ızgarası, ana sayfa afişine gömülü sabit bir arşiv bağlantısı. - Ürün-kategori atamaları hayatta kalır. Yeniden adlandırma ve üst kategori değiştirme ürünleri koparmaz.
Bunun ne kadar yayılacağını belirleyen kalıcı bağlantı ayarı#
Ayarlar → Kalıcı Bağlantılar altında Ürün kalıcı bağlantı seçenekleri şunlardır: Varsayılan, Mağaza tabanı, Kategorili mağaza tabanı ve Özel taban. Kategorili mağaza tabanı kullanıyorsanız ya da %product_cat% içeren özel bir taban kullanıyorsanız, ürün URL’leriniz bir kategori yolu barındırır; yani kategorileri yeniden yapılandırmak yalnızca arşiv URL’lerini değil, ürün URL’lerini de yeniden yazar. Diğer üç ayarda bu yazıdaki hiçbir şey ürün URL’lerine dokunmaz. Başka bir şey planlamadan önce hangisinde olduğunuzu kontrol edin.
Bir ürün birden çok kategoride duruyorsa hangisi kullanılır? WooCommerce 10.5 öncesinde terimler önce üst kategoriye göre azalan, sonra terim ID’sine göre artan biçimde sıralanır ve ilki kazanırdı; pratikte bu genellikle en sığ, en eski terim demekti. 10.5 ile birlikte en derin kategori kazanıyor; yani hem Electronics hem de Electronics → Phones → Smartphones içinde bulunan bir ürün artık uzun yola çözülüyor. Bu nedenle var olan bir ürüne daha derin bir alt kategori eklemek o ürünün URL’sini değiştirir.
İmdada yetişen şey, WooCommerce’in ürünler için kendi kanonik yönlendirmesini, yani bayat bir ürün yolunu güncel olana 301 ile yönlendiren wc_product_canonical_redirect() işlevini getirmesi. Ürün URL’lerinin çoğunlukla kendini onarması, kategori URL’lerinin onarmaması bundandır: önünde hangi kategori yolu olursa olsun ürün kendi slug’ıyla bulunabilir kalır, oysa yeniden adlandırılmış bir terim hiçbir şeyle bulunamaz. Kalıcı bağlantı için seçilen kategori hâlâ wc_product_post_type_link_product_cat filtresinden geçer; bir taşıma binlerce ürün URL’sini bir anda kaydıracaksa eski seçim mantığı kodla geri getirilebilir.
Bir uyarı. Ürün kalıcı bağlantı ayarının kendisini değiştirmek sitedeki her ürün URL’sini yeniden yazar; bu, birkaç kategoriyi yeniden düzenlemekten çok daha büyük bir taşımadır. İkisini asla aynı değişiklik penceresinde yapmayın.
Hiçbir şeye dokunmadan önce yönlendirme haritasını çıkarın#
Tek bir terim düzenlenmeden önce, kâğıt üzerinde denetim yapın. İki kaynak:
- Search Console, Sayfalar raporu.
/product-category/içeren URL’leri filtreleyin, aralığı son 12 aya alın, tıklamaları ve gösterimleri dışa aktarın. Bu size hangi kategorilerin gerçekten bir şey kazandırdığını, dolayısıyla hangi yönlendirmelerin gerçekten önemli olduğunu söyler. - Kendi sitenizin bir taraması. Screaming Frog, Sitebulb ya da herhangi bir tarayıcı, site içinden bağlantı verilen her kategori URL’sini sıralar; varlığını unuttuklarınız dahil.
Sonucu bir tabloya dökün ve yönetim panelini açmadan önce kesinleştirin. Zincirler ve öksüz URL’ler, Ürünler → Kategoriler ekranında doğaçlama yapmaktan doğar.
| Eski URL | Tıklama / 12 ay | İşlem | Yeni URL |
|---|---|---|---|
| /product-category/womens/jackets/ | 1,840 | Üst seviyeye taşı | /product-category/jackets/ |
| /product-category/mens-jackets/ | 96 | Birleştir | /product-category/jackets/ |
| /product-category/outerwear/ | 0 | Emekliye ayır | /product-category/jackets/ |
Zincir değil, tek sıçrama#
Google’ın site taşıma belgeleri, Googlebot’un bir zincirde en fazla on sıçramayı takip ettiğini ve kalıcı yönlendirmelerin PageRank’e mal olmadığını söyler; yani zincir ölümcül değildir. Aynı sayfa, doğrudan son hedefe yönlendirmeniz gerektiğini ve zincirin kaçınılmaz olduğu yerde üç sıçramayı geçmemesi gerektiğini açıkça yazar. Zincirler gerçek kullanıcılar için gecikme ekler, tarama bütçesini harcar ve kanonik sinyalleri bulandırır.
Zincirler neredeyse tamamen iki kez yeniden yapılandırmaktan doğar. Zaten bir yerden yönlendirilmiş bir kategoriyi taşıdığınızda, üstüne ikinci bir kural yığmak yerine ilk kuralı son hedefi gösterecek şekilde düzenleyin. Google ayrıca yönlendirmelerin en az bir yıl açık tutulmasını öneriyor; bir mağazada bunları kalıcı olarak tutun, hiçbir maliyetleri yok.
Kuralları nereye koymalı#
Birkaç kategori için bir yönlendirme eklentisi yeterlidir. Redirection ücretsizdir ve bu işi iyi yapar, Rank Math bir yönlendirme modülü içerir, Yoast’un yönlendirme yöneticisi ise Premium’un parçasıdır. Hepsi WordPress açıldıktan sonra PHP içinde çalışır ve eklenti devre dışı bırakıldığı anda çalışmayı bırakır. Büyük bir yeniden yapılandırmada ya da zaten sunucu erişiminiz varsa kuralları bunun yerine sunucu seviyesine koyun; daha hızlıdır ve WordPress’ten tamamen bağımsızdır.
Apache için, bir kalıcı bağlantı temizliği üzerine yazamasın diye # BEGIN WordPress bloğunun üstüne eklenir. Sondaki yakalama grubu, taşınan bir alt ağacın çocuklarını da beraberinde götürür:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^product-category/mens-jackets(/.*)?$ /product-category/jackets$1 [R=301,L]
RewriteRule ^product-category/outerwear(/.*)?$ /product-category/jackets$1 [R=301,L]
</IfModule>Nginx için, server bloğunun içinde, işi PHP’ye devreden location / satırının üstüne:
rewrite ^/product-category/mens-jackets(/.*)?$ /product-category/jackets$1 permanent;
rewrite ^/product-category/outerwear(/.*)?$ /product-category/jackets$1 permanent;Yayına almadan önce her deseni döngüye karşı kontrol edin. /product-category/jackets adresini bir önek eşleşmesiyle /product-category/jackets/mens adresine yönlendirmek sonsuza kadar döner, çünkü hedef de kaynak desenine uyar.
WooCommerce kategori yapınızı SEO kaybetmeden değiştirmek için güvenli bir sıra#
- Denetleyin. Terim listesini sayaçlarıyla birlikte, yukarıdaki Search Console verisiyle beraber dışa aktarın. Bir kategoriye atıf yapılan her yeri not edin: menüler, ana sayfa blokları, afişler, kısa kodlar, e-posta şablonları, ücretli açılış sayfaları.
- Kâğıt üzerinde planlayın. Eski → yeni tablosunu tamamlayın. Tabloda olmayan hiçbir şey düzenlenmez.
- Test ortamında prova edin. Bütün sırayı bir kopya üzerinde uygulayın, sonra tarayıp sıfır 404 ve sıfır çok sıçramalı yönlendirme olduğunu doğrulayın.
- Tek bir değişiklik penceresi. Her terim düzenlemesini birlikte yapın: slug değişiklikleri, üst kategori taşımaları, ürün yeniden atamaları, silmeler. Üç haftaya yayılmış bir yeniden yapılandırma, yarı bozuk bir sitenin üç ayrı taraması demektir.
- Yönlendirmeleri aynı pencerede yayına alın. Hemen, gelecek sprintte değil.
- Temizleyin ve boşaltın. Yeniden yazma kurallarını yeniden kurmak için Ayarlar → Kalıcı Bağlantılar sayfasına gidip Değişiklikleri Kaydet’e basın, sonra sayfa önbelleğini, nesne önbelleğini ve CDN’i boşaltın. “Yönlendirme çalışmıyor” şikâyetinin en yaygın nedeni bayat önbelleklenmiş HTML’dir.
- Site içi referansları yeni adrese çevirin. Özel Bağlantı menü öğelerini, bloklardaki ve kısa kodlardaki sabit slug’ları ve emekliye ayrılmış bir arşive bağlantı veren her modülü düzeltin. Site içi bağlantılar son URL’yi göstermeli, asla bir yönlendirmenin üzerinden geçmemelidir.
- Site haritasını yeniden üretip yeniden gönderin. Çoğu SEO eklentisi bunu kendiliğinden yeniden kurar, ama Search Console’da yeniden göndermeden önce emekliye ayrılan URL’lerin gittiğini ve yenilerinin orada olduğunu doğrulayın.
- Doğrulayın. Aşağıdaki gibi, haftalara yayarak, düzgün biçimde.
Varsaymak yerine Search Console’da doğrulayın#
Site haritasını yeniden göndermek bir istektir, sonuç değil. İzleyen haftalarda üç şeyi izleyin:
- Emekliye ayrılan URL’lerden bir örneklem üzerinde URL Denetimi. En çok trafik alan eski yollardan beşini alın ve canlı olarak denetleyin. Görmek istediğiniz “Yönlendirmeli sayfa”; “Bulunamadı (404)” ya da “Kullanıcının seçtiği kanonik olmadan kopya” değil.
- Sayfalar raporu. “Bulunamadı (404)” yatay seyretmeli. “Yönlendirmeli sayfa”, emekliye ayırdığınız URL sayısı kadar artmalı. Bir hafta sonra gelen 404 sıçraması, ya bir desenin yanlış olduğu ya da bir önbelleğin hâlâ bayat HTML sunduğu anlamına gelir.
- Bir hafta sonra kendi taramanız. Birden fazla sıçraması olan her 3xx’i ve hâlâ yönlendirilmiş bir URL’yi gösteren her site içi bağlantıyı filtreleyin. İkisini de düzeltin.
Yeni URL’lerin gösterim biriktirmesinin haftalar alacağını, Google değişikliği oturturken de bir düşüş yaşanacağını bekleyin. Üçüncü gün geri dönmeyin. Yeni kategori sayfaları hiç indekslenmiyorsa bu, nedenleri bambaşka olan ayrı bir sorundur; zayıf arşivler, noindex ayarları ve tarama bütçesi olağan şüphelilerdir ve ne kadar yönlendirme çalışması yaparsanız yapın bunları düzeltmez.
Açıkça söylemekte fayda var: bunların hiçbirini WooCommerce halletmez, hiçbir kategori eklentisi de halletmez. Yönlendirmeler bir yönlendirme eklentisine ya da sunucu yapılandırmanıza aittir. Meta başlıklar, kanonikler ve noindex kuralları SEO eklentinize aittir.
Daha az riskli yol: taşımayın, ekleyin#
Yukarıdakilerin tamamı, hâlihazırda sıralanan bir URL’yi taşıdığınız için üstlendiğiniz risktir. Yapı gerçekten yanlışsa buna değer; asıl amaç sadece daha iyi bir gezinti deneyimiyse gerekçelendirmesi çok daha zordur, çünkü yeni bir kategori yeni bir URL yaratır ve hiçbir şeyi emekliye ayırmaz. Yönlendirme haritası yok, 404 penceresi yok; altı ayda hiçbir şey kazandırmazsa silip tek bir URL’yi üst kategorisine yönlendirirsiniz.
Bu yüzden önce sonuca ekleme yoluyla ulaşılıp ulaşılamayacağını sorun: var olan ağacı yeniden karmak yerine onun yanına bir “Waterproof Jackets” kategorisi. Dürüst tuzak bakımdır. Birinin ürünleri yeni terime ataması ve stok ile fiyatlar değiştikçe bunu yapmayı sürdürmesi gerekir; insanların işe yarar kategoriler oluşturmasını topyekûn engelleyen angarya da budur. Hem elle yapılan yöntem hem de kod yöntemi kurallara göre bir kategoriye ürün eklemek yazısında.
Eklentimiz nereye oturuyor#
Smart Categories for WooCommerce, ekleme yolunu ucuzlatmanın bir yolu. Bir kural setini gerçek bir WooCommerce ürün kategorisine bağlar; paralel bir taksonomiye değil, elle oluşturacağınız product_cat teriminin tam olarak aynısına. Sonra da o terimin üyeliğini güncel tutar. Terim gerçek olduğu için URL’si, ekmek kırıntıları, terim sayaçları, menüleri ve yönetim listeleri tam WooCommerce’in öngördüğü gibi davranır; ilerde emekliye ayırırsanız da onu başka herhangi bir kategori gibi yönlendirirsiniz.
wordpress.org’daki ücretsiz sürüm 35 eşleşme alanını kapsar. Aralarında Aktif fiyat, İndirimli fiyat, İndirimde, İndirim yüzdesi (%), Stok durumu, Stok miktarı, Marka, Etiket, Oluşturulma tarihi, herhangi bir global nitelik ve Özel alan (meta) var. Her biri TÜMÜ, HERHANGİ BİRİ ya da olumsuzlanmış olabilen sınırsız sayıda iç içe grup kurabilir, kaydetmeden önce eşleşen ürünleri ve sayılarını canlı önizlemede görebilirsiniz. Eşleştirme; ürün oluşturulduğunda ve güncellendiğinde, fiyat ya da stok değiştiğinde ve zamanlanmış indirimlerin başlamasını, bitmesini ve WooCommerce dışında yapılan değişiklikleri yakalayan günlük bir taramada yeniden çalışır. Sayfa yüklenirken değil, Action Scheduler üzerinden arka planda toplu işler hâlinde çalışır; kendi oluşturduğu üyelikleri kaydettiği için yalnızca onları kaldırır, elle yapılan atamalara dokunmaz.

Var olan bir kategori akıllı kategoriye dönüştürülebilir; süregelen üyeliği kurallar devralır. Bir yeniden yapılandırma sırasında işe yarayan hamle budur: URL’yi tam olduğu yerde bırakın, yalnızca içini dolduranı değiştirin.
Pro sürüm (tek site için yılda 59 $) her nitelik değeri için ya da iki niteliğin her kombinasyonu için birer akıllı alt kategori üretmeyi ekler. Bu güçlüdür ve o ölçüde tehlikelidir. Bir öğleden sonrada kırk yeni indekslenebilir arşiv üretmeden önce niteliklerin kategoriye dönüşmesi gerekip gerekmediğini okuyun.
Sınırları net olsun: yönlendirmeleri yönetmez, meta başlık, açıklama ya da kanonik yazmaz, var olan kategorileri birleştirmez ve silmez, WooCommerce’in kendi üst/alt arşiv davranışını da değiştirmez. URL taşıyorsanız bu yazının ilk dörtte üçündeki her şeye hâlâ ihtiyacınız var.
Kısacası#
Bir kategorinin etiketini yeniden adlandırmak bedavadır. Slug’ını ya da üst kategorisini değiştirmek bir URL’yi taşır ve bir URL’yi taşımak, ne kadar küçük görünürse görünsün bir taşıma işidir. Trafiği olanı denetleyin, haritayı yazın, hepsini tek pencerede yapın, tek sıçramada yönlendirin, önbellekleri temizleyin, site içi bağlantılarınızı düzeltin, sonra varsaymak yerine bir ay boyunca Search Console’u izleyin. Amaca bir kategoriyi taşımak yerine bir kategori ekleyerek ulaşılabiliyorsa ekleyin; bu işin dezavantajı olmayan tek sürümü budur.
