WooCommerce: Kalıcı Bağlantı Yapısı Nasıl Değiştirilir

Yayınlanan: 2021-09-28

WooCommerce kalıcı bağlantı yapısı yeni gelenler için alışılmadık görünebilir. URL'nin bu /product/ ve /product-category/ bölümleri iyi bilinen ayırt edici özelliklerdir, ancak bazı uzmanlar bunun kalıcı bağlantıları SEO açısından ele almanın en uygun yolu olduğu konusunda hemfikir değildir.

Popüler bir düşünce, URL yapısını her zaman mümkün olduğunca basit tutmak ve gereksiz kısımlarını kaldırmaktır. Google'ın resmi yönergesi, gereksiz parametrelerle uzun URL'lerden kaçınmayı önerdiğinden, bu uzmanların veya benim sözlerimi almanıza gerek yok.

Peki, WooCommerce mağaza kurucuları için bu tam olarak ne anlama geliyor?

Her şeyden önce, /shop/ , /product-category/ ve /product/ gibi URL tabanları, Google'ın mağaza ve ürün sayfalarını URL içinde belirtmeye gerek kalmadan nasıl tanımlayacağını bildiği için gereksiz sayılabilir.

Ve muhtemelen, tarayıcılar için bu sayfaları olması gerekenden daha düşük derecelendirmemek için yanlış bir site derinliği algısı oluşturmak istemezsiniz. Yine iyi bilinen bir kural – ana klasöre (etki alanına) yakın sayfalar arama motorları için daha anlamlıdır.

Bu tür ifadelere katılıyorsanız, WooCommerce'de kalıcı bağlantı yapısının nasıl yeniden tasarlanacağını anlamak yardımcı olacaktır. Bu yüzden bunu öğrenmek için önceden okuyun.

Varsayılan WooCommerce kalıcı bağlantı yapısı nedir?

Şimdi kalıcı bağlantıların nasıl çalıştığını ve onları daha kullanıcı dostu hale getirmek için neler yapabileceğimizi görelim.

Kalıcı bağlantı ayarları oluştururken belirtmeniz gereken birkaç şey vardır:

  • ürün kategorisi tabanı (varsayılan olarak /product-category/ olan)
  • ürün etiketi tabanı ( /product-tag/ varsayılan olarak)
  • ürün sayfası tabanı ( /product/ , /shop/ veya başka herhangi bir özel taban olabilir)

Bu seçenekleri boş bırakmanın veya her iki kalıcı bağlantı için aynısını (örneğin /shop/ ) kullanmanın hiçbir yolu yok. Ürün, kategori ve etiket tabanları, taksonomiler, gönderiler ve sayfalar arasında çatışmalara neden olmayacak şekilde benzersiz olmalıdır.

Bu nedenle, mağaza sayfaları için varsayılan URL'ler aşağıdakiler olabilir:

  • Kategori sayfaları için: site.com/product-category / category -slug
  • Etiket sayfaları için: site.com/product-tag / tag -slug
  • Ürün sayfaları için: site.com/product / product -slug

Etiket sayfaları için gayet iyi olsa da (kategoriler ve koleksiyonlar arasındaki farkı tanımlamak için muhtemelen bir temele ihtiyacınız vardır), kategori ve ürün sayfası URL'leri için bu temelleri kullanmak gereksiz olabilir.

Neden varsayılan kalıcı bağlantıları değiştirmeyi düşünün?

Bazen WooCommerce kullanıcıları /product-category/ ve /product/ tabanlarından kurtulmaya veya standart URL yapısını başka şekillerde değiştirmeye teşvik eder. İki önemli nedenden dolayı olur:

  • SEO açısından da yararlanabilecek basit ve net URL'ler görmek istiyorlar
  • Başka bir CMS'den WP\Woo'ya geçiş yapılması ve aynı URL yapısının korunması istenmesi durumunda

URL'nin bu kısımlarını kaldırmanın SEO sonuçlarınızı iyileştirip iyileştiremeyeceği tartışmalıdır. Ancak, insanların WooCommerce'in varsayılan kalıcı bağlantı yapısını bozmayı düşünmelerinin bile en popüler nedeni budur.

Bize kalıcı bağlantıları nasıl yapılandıracağımızı ve daha kısa URL'lerin neden daha iyi olduğunu söyleyen birkaç saygın kaynak var - Backlinko arama motoru sıralama faktörleri (nokta #10), URL yapılandırması için Moz en iyi uygulamaları (nokta #6 ve #11).

Yeni bir web sitesi başlatıyorsanız, bu tür deneyler yapmak ve SEO'nuza nasıl yardımcı olduğunu görmek güvenlidir. Halihazırda iyi kurulmuş bir web sitesindeki kalıcı bağlantıları değiştirmek riskli bir iş olabilir. Endişelerimi daha fazla açıklayacağım.

Öte yandan, kalıcı bağlantıları eski web sitenizin URL'leriyle eşleşecek şekilde değiştirmek mantıklı görünüyor ve SEO geçmişinize zarar vermemek için size daha fazla şans veriyor.

WooCommerce kalıcı bağlantılarından /product-category/ ve /product/ nasıl kaldırılır

Kullanıcılarınızın ve tarayıcılarınızın URL'nin değiştirildiğini bilmesini sağlamak için 301 yönlendirmeleriyle oynamanız gerekmediğinde, aşağıdaki yöntemleri yeni web sitelerinde kullanmak güvenlidir.

Yapmanız gereken ilk şey, WP Ayarları > Kalıcı Bağlantılar'a gidin ve " Ürün kategorisi tabanı " seçeneğine gidin ve " " yazın. (nokta) özel bir taban olarak.

Ardından, bu parçacığı functions.php dosyanıza yapıştırın:

add_filter( 'request', function( $vars ) {

    global $wpdb;

    if( ! empty( $vars['pagename'] ) || ! empty( $vars['category_name'] ) || ! empty( $vars['name'] ) || ! empty( $vars['attachment'] ) ) {

        $slug = ! empty( $vars['pagename'] ) ? $vars['pagename'] : ( ! empty( $vars['name'] ) ? $vars['name'] : ( !empty( $vars['category_name'] ) ? $vars['category_name'] : $vars['attachment'] ) );

        $exists = $wpdb->get_var( $wpdb->prepare( "SELECT t.term_id FROM $wpdb->terms t LEFT JOIN $wpdb->term_taxonomy tt ON tt.term_id = t.term_id WHERE tt.taxonomy = 'product_cat' AND t.slug = %s" ,array( $slug )));

        if( $exists ){

            $old_vars = $vars;

            $vars = array('product_cat' => $slug );

            if ( !empty( $old_vars['paged'] ) || !empty( $old_vars['page'] ) )

                $vars['paged'] = ! empty( $old_vars['paged'] ) ? $old_vars['paged'] : $old_vars['page'];

            if ( !empty( $old_vars['orderby'] ) )

                    $vars['orderby'] = $old_vars['orderby'];

                if ( !empty( $old_vars['order'] ) )

                    $vars['order'] = $old_vars['order'];    

        }

    }

    return $vars;

});

Ardından, /product/ base'i ürün sayfası URL'sinden kaldırmak için bir filtre ekleyin:

function na_remove_slug( $post_link, $post, $leavename ) {

        if ( 'product' != $post->post_type || 'publish' != $post->post_status ) {

        return $post_link;

    }

        $post_link = str_replace( '/product/', '/', $post_link );

        return $post_link;

}

add_filter( 'post_type_link', 'na_remove_slug', 10, 3 );

function change_slug_struct( $query ) {

        if ( ! $query->is_main_query() || 2 != count( $query->query ) || ! isset( $query->query['page'] ) ) {

        return;

    }

                if ( ! empty( $query->query['name'] ) ) {

                $query->set( 'post_type', array( 'post', 'product', 'page' ) );

                } elseif ( ! empty( $query->query['pagename'] ) && false === strpos( $query->query['pagename'], '/' ) ) {

                $query->set( 'post_type', array( 'post', 'product', 'page' ) );

        // We also need to set the name query var since redirect_guess_404_permalink() relies on it.

        $query->set( 'name', $query->query['pagename'] );

    }

}

add_action( 'pre_get_posts', 'change_slug_struct', 99 );

Parçacıklar bu StackOverflow'un tartışmasından alındı ​​ve bazı durumlar dışında çoğu kullanıcı için iyi çalışıyor gibi görünüyordu:

  • Geleneksel URL'ler 404 hatasıyla yanıt verir. Bu nedenle, bu sayfaları daha önce dizine eklediyseniz, ilgili sayfalara 301 yönlendirmesi oluşturduğunuzdan emin olun.
  • Kullandığınız temaya ve eklentiye bağlı olarak sayfalandırma ile çalışmayabilir veya filtrelerle ilgili sorunlara neden olabilir.

WooCommerce için Özel Kalıcı Bağlantılar ile gelişmiş kalıcı bağlantı kuralları nasıl kurulur

WooCommerce belgelerinde /product/ , /product-category/ veya /shop/ öğelerini URL'lerden kaldırmamız konusunda bizi uyarsa da, resmi pazaryerlerinde WooCommerce uzantısı için Özel Kalıcı Bağlantıları arayabilirsiniz. Kategoriler ve ürün sayfaları için varsayılan kalıcı bağlantı seçeneklerini değiştirmenin en güvenli yolunu sunar.

Kategori sayfaları için birkaç kalıcı bağlantı çeşidi burada mevcuttur:

Tek başına kategori bilgisi, tüm URL'lerden /ürün-kategorisi/ bölümünü kaldırmak ve etki alanı + kategori bilgisi bırakmak anlamına gelir.

Tam yol, /product-category/ öğesinin kaldırılması ve ilgili kategori bilgisinden önce üst kategori bilgisinin (kategoride varsa) eklenmesi anlamına gelir.

Ürün sayfaları için de birkaç seçenek vardır:

Ürün bilgisi tek başına URL'nin fazla olan kısmını kaldıracak ve yalnızca etki alanı + ürün bilgisini bırakacaktır.

Kategori adına sahip ürün bilgisi, ürün URL'sinin en popüler sürümünü oluşturur: etki alanı + kategori bilgisi + ürün bilgisi .

Tam yol, bir istisna dışında 2. seçenekle aynı şekilde çalışır - yerel ürün kategorisinde bir tane varsa, URL'yi üst kategori bilgisiyle genişletir.

Bu eklenti sayfalandırma ve filtreleme sorunlarını ortadan kaldırır, temanızdan bağımsız olarak çalışır ve sizi tarayıcı kaynaklı olası sonuçlardan korur.

Bu kalıcı bağlantıları değiştirirken dikkat edilmesi gereken tek şey, yinelenen URL'lerdir. Kategoriler veya ürünlerle aynı sümüklü böceklere sahip sayfalarınız veya gönderi türleriniz olup olmadığını iki kez kontrol edin. Bazılarını bulursanız, yinelemeleri önlemek için bu sümüklü böcekleri benzersiz olarak değiştirdiğinizden emin olun.

URL'lere .html gibi uzantılar nasıl eklenir?

Dürüst olmak gerekirse, bunu SEO açısından yapmanın herhangi bir yararı veya kusuru olup olmadığını bilmiyorum. Ancak birçok insan bunu soruyor, bu yüzden bu konuyu görmezden gelemeyiz.

Muhtemelen bunun için bir çözüm aramanızın ana nedeni başka bir CMS'den geçiştir . Başka bir platformdan WooCommerce'e geçmeye karar verirseniz, eski URL'lerinizi (örneğin sonunda .html olanlar) kopyalamak isteyebilirsiniz.

Elbette, herkesin yeni URL'leriniz hakkında bilgi sahibi olmasını sağlamak için 301 yönlendirmelerini kullanabilirsiniz, ancak bir web sitesini bir süre 301 yönlendirmesi ile doldurduktan sonra genellikle trafikte ve SERP konumlarında önemsiz bir düşüş fark ederiz. Muhtemelen yönlendirmelerin kendisiyle ilgisi yoktur çünkü Google'ın dediği gibi PageRank'i yönlendirmeleri kullanmaktan dolayı cezalandırmıyorlar.

Ancak içerik taşıma, yeni kullanıcı arayüzü ve bozuk bağlantı olasılığıyla ilgili diğer nedenlerden dolayı, sahip olduğunuz URL'leri riske atıp yeniden oluşturmaya çalışmak istemeyebilirsiniz.

WooCommerce için Özel Kalıcı Bağlantılar, .html, .php., .htm veya neye ihtiyacınız olursa olsun, URL sonuna herhangi bir uzantı ekleme şansı verir:

Kalıcı bağlantıları değiştirdikten sonra SEO sorunları nasıl önlenir

URL'leri değiştirmenin zor yanı içerik kopyaları, 404 hataları ve yönlendirmelerdir.

Alan adı, sayfa sıralaması ve Google dizinindeki URL'ler için herhangi bir geçmiş kaydı olmadan yeni oluşturulmuş bir web sitesindeki URL'leri değiştirdiğinizde, endişelenmenize gerek yok. Deneyler yapmaktan ve beğendiğiniz herhangi bir kalıcı bağlantı kombinasyonunu almaktan çekinmeyin.

Ancak , geçmişe ve yüksek dereceli SERP konumlarına sahip bir web sitesindeki kalıcı bağlantıları değiştirmek söz konusu olduğunda, bu dört sütunu dikkatlice iki kez kontrol etmelisiniz:

  1. Kategoriler veya ürün sayfalarıyla aynı sümüklü böcek içeren sayfalar, gönderiler, taksonomiler, özel gönderi türleri veya diğer olası varlıklar var mı? Bazılarını bulursanız, çakışmaları önlemek için sümüklü böcekleri benzersiz olanlarla değiştirmeyi düşünün.
  2. Google arama konsolunuza gidin ve 404 yanıt içeren sayfaları kontrol edin. Bazı bozuk bağlantılar bulursanız, sitemap.xml dosyasını bunlar için veya eski bağlantıları manuel olarak yerleştirebileceğiniz diğer web sitesi sayfaları için taramalısınız.
  3. Eski URL'lerin hala bir yerde tespit edilme olasılığı varsa , 'rel=canonical' etiketini eklediğinizden emin olun. Bu, tarayıcıların içerik için hangi sayfaya kredi vereceğini bilmesini sağlamak için gereklidir ve ardından Google, kopyalar oluşturduğunuz için sizi cezalandırmaz.
  4. Hiçbir şekilde 301 yönlendirmelerini unutmayın. Web sitesi ziyaretçileri için olduğu kadar tarayıcılar için de çok önemlidir. Kalıcı bağlantıları değiştirdikten sonra, eskilerine artık erişilemez, bu nedenle tarayıcılar dahil herkes onları ziyaret ederken 404 hata alır. Komut dosyasıyla kalıcı bağlantıları değiştirdiyseniz, yönlendirmeleri işlemek için Yeniden Yönlendirme eklentisini yüklemenizi öneririm.

Ancak iyi uyuyabilirsiniz: WooCommerce için Özel Kalıcı Bağlantılar, kalıcı bağlantı yapısını değiştirdiğinizde 301 yönlendirmeleri ve eski URL'ler için 'rel=canonical' oluşturur. Ayrıca, Yoast eklentisiyle birlikte, sizin adınıza içinde uygun URL'ler bulunan yeni bir site haritası oluşturacaklar.

Çözüm

WooCommerce, kalıcı bağlantıları değiştirmenin sonuçları hakkında bizi uyarır – web sitesi yavaşlaması ve URL çakışmaları. Ancak bu açıklamanın uzun zaman önce yapıldığını ve o zamandan beri, tam olarak bu şeyi yapan bu premium eklentiyi doğruladıklarını düşünürsek, belki WooCommerce kalıcı bağlantılar konusunda fikrini değiştirmiştir.

SEO'nuza yardımcı olur mu?

Peki, bu daha karmaşık bir soru. Bazı araştırmacılar evet diyor; Bazı SEO uzmanları, ürünlere ve kategorilere giden yoldaki klasör sayısını azaltmayı ve daha kısa URL'ler tasarlamayı önermektedir. Ama bu kararı size bırakıyorum. Sonunda, SEO söz konusu olduğunda mutlak bir gerçek yoktur.

Ve bir şans vermeyi seçerseniz, bunu nasıl güvenli bir şekilde yapacaksınız?

Yeni bir web sitesi oluşturuyorsanız, istediğiniz yöntemi seçebilirsiniz - kod parçacıkları eklemek veya eklentiyi yüklemek, her ikisi de güvenli görünüyor. Sitemap.xml'de her şeyin yerinde olup olmadığını ve Google arama konsolu tarafında herhangi bir yorum olup olmadığını kontrol etmeyi unutmayın.

Mevcut bir sitedeki kalıcı bağlantılar üzerinde manipülasyon yapmayı düşünüyorsanız, doğrulanmış eklentiyi kullanmanızı şiddetle tavsiye ederim. Muhtemelen kaderi cezbetmek ve bozuk bağlantılar, içerik kopyaları veya yanlışlıkla bir yeniden yönlendirme döngüsü oluşturmak istemezsiniz.

Eklenti, tüm ihtiyaçlarınızı karşılayabilir ve WooCommerce.com'daki mevcut destek, olası sorunlarla başa çıkmanıza yardımcı olacaktır. Kalıcı bağlantılar SEO için çok önemli olduğu için böyle bir sorunla baş başa kalmak kabus olacaktır.