WooCommerce: Jak zmienić strukturę Permalink
Opublikowany: 2021-09-28Struktura linku bezpośredniego WooCommerce może wydawać się nietypowa dla nowicjuszy. Te części adresu URL /product/ i /product-category/ są dobrze znanymi cechami wyróżniającymi, ale niektórzy eksperci nie zgadzają się, że jest to najwygodniejszy sposób obsługi permalinków pod kątem SEO.
Popularną myślą jest, aby zawsze utrzymywać strukturę adresu URL tak prostą, jak to możliwe i usuwać wszelkie niepotrzebne jej części. Nie musisz wierzyć ani tym ekspertom, ani mnie, ponieważ oficjalne wytyczne Google sugerują unikanie długich adresów URL z niepotrzebnymi parametrami.
Co to dokładnie oznacza dla twórców sklepów WooCommerce?
Po pierwsze, bazy adresów URL, takie jak /shop/ , /product-category/ i /product/ można uznać za niepotrzebne, ponieważ Google wie, jak zdefiniować strony sklepu i produktu bez konieczności podawania tego w adresie URL.
I prawdopodobnie nie chcesz tworzyć fałszywego postrzegania głębokości witryny przez roboty indeksujące, aby nie oceniały tych stron niżej niż powinny. Znowu dobrze znana zasada – strony znajdujące się bliżej folderu głównego (domeny) mają większe znaczenie dla wyszukiwarek.
Jeśli zgadzasz się z takimi stwierdzeniami, pomocne byłoby zrozumienie, jak przeprojektować strukturę permalinków w WooCommerce. Więc czytaj dalej, aby się o tym dowiedzieć.
Jaka jest domyślna struktura linku bezpośredniego WooCommerce?
Zobaczmy, jak działają teraz permalinki i co możemy zrobić, aby były bardziej przyjazne dla użytkownika.
Jest kilka rzeczy, które musisz koniecznie wskazać podczas tworzenia ustawień permalinku:
- baza kategorii produktów (czyli domyślnie /product-category/ )
- baza tagów produktu (domyślnie /tag-produktu/ )
- baza strony produktu (może to być /produkt/ , /shop/ lub dowolna inna niestandardowa baza)
Nie masz możliwości pozostawienia tych opcji pustych lub użycia tych samych (na przykład /shop/ ) dla obu permalinków. Podstawy produktów, kategorii i tagów powinny być unikalne, aby nie powodować konfliktów między taksonomiami, postami i stronami.
Domyślne adresy URL stron sklepu mogą więc wyglądać następująco:
- Dla stron kategorii: site.com/ product-category /category-slug
- Dla stron z tagami: site.com/ product-tag /tag-slug
- Dla stron produktów: site.com/ product /product-slug
Chociaż jest to całkiem dobre dla stron z tagami (prawdopodobnie potrzebujesz jakiejś bazy, aby zdefiniować różnicę między kategoriami a kolekcjami), używanie tych podstaw dla adresów URL stron kategorii i produktów może być zbędne.
Dlaczego warto rozważyć zmianę domyślnych permalinków
Czasami użytkownicy WooCommerce namawiają do pozbycia się baz /product-category/ i /product/ lub manipulowania standardową strukturą URL w inny sposób. Dzieje się tak z dwóch ważnych powodów:
- Chcą widzieć proste i przejrzyste adresy URL , które mogą również skorzystać z punktu widzenia SEO
- W przypadku przejścia z innego CMS na WP\Woo i chęci zachowania tej samej struktury URL
Można się spierać, czy usunięcie tych części adresu URL może poprawić wyniki SEO. Ale jest to najpopularniejszy powód, dla którego ludzie rozważają nawet zrujnowanie domyślnej struktury linków bezpośrednich WooCommerce.
Istnieje kilka szanowanych źródeł, które mówią nam, jak ustrukturyzować permalinki i dlaczego krótsze adresy URL są lepsze – czynniki rankingu w wyszukiwarkach Backlinko (punkt #10), najlepsze praktyki Moz dotyczące strukturyzacji adresów URL (punkty #6 i #11).
Jeśli zaczynasz nową witrynę, możesz bezpiecznie przeprowadzić takie eksperymenty i zobaczyć, jak to pomoże Twojemu SEO. Podczas gdy zmiana permalinków na już ugruntowanej stronie internetowej może być ryzykowną sprawą. Wyjaśnię dalej moje obawy.
Z drugiej strony, jeśli chodzi o zmianę permalinków, aby pasowały do starych adresów URL witryny, wydaje się to rozsądne i daje więcej szans, aby nie zaszkodzić swoim rekordom SEO.
Jak usunąć /product-category/ i /product/ z permalinków WooCommerce?
Poniższe metody są bezpieczne w użyciu na nowych stronach internetowych, gdy nie musisz bawić się przekierowaniami 301, aby poinformować użytkowników i roboty indeksujące, że adres URL został zmieniony.
Pierwszą rzeczą, którą musisz zrobić, to przejść do Ustawienia WP> Permalinki i przewinąć do „ Baza kategorii produktów ” i napisać „”. (kropka) jako podstawa niestandardowa.
Następnie wklej ten fragment do pliku functions.php:
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;
});
Następnie dodaj filtr, aby usunąć /product/ base z adresu URL strony produktu:
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 );
Fragmenty zostały zaczerpnięte z tej dyskusji StackOverflow i wydawały się działać dobrze dla większości użytkowników, z wyjątkiem niektórych przypadków:
- Tradycyjne adresy URL będą odpowiadać błędem 404. Więc jeśli masz te strony wcześniej zaindeksowane, upewnij się, że utworzyłeś przekierowania 301 do odpowiednich stron.
- Może nie działać z paginacją lub powodować problemy z filtrami, w zależności od używanego motywu i wtyczki.
Jak skonfigurować zaawansowane reguły permalinków za pomocą niestandardowych permalinków dla WooCommerce?
Mimo że WooCommerce w swojej dokumentacji ostrzega nas przed usunięciem /product/ , /product-category/ lub /shop/ z adresów URL, możesz przejść i wyszukać niestandardowe permalinki dla rozszerzenia WooCommerce na ich oficjalnym rynku. Zapewnia najbezpieczniejszy sposób zmiany domyślnych opcji linków bezpośrednich dla kategorii i stron produktów.
Kilka wariantów permalinków dla stron kategorii jest dostępnych tutaj:
Sam ślimak kategorii oznacza po prostu usunięcie części /product-category/ ze wszystkich adresów URL, pozostawiając domenę + ślimak kategorii.
Pełna ścieżka oznacza usunięcie /product-category/ i dodanie slugu kategorii nadrzędnej (jeśli kategoria ma taki) przed odpowiednim slug kategorii.
Istnieje również kilka możliwości wyboru stron produktów:
Sama informacja o produkcie usunie nadmierną część adresu URL i pozostawi tylko domenę + informację o produkcie.
Ślimak produktu z nazwą kategorii utworzy najpopularniejszą wersję adresu URL produktu: domena + ślimak kategorii + ślimak produktu .
Pełna ścieżka działa tak samo jak opcja nr 2 z jednym wyjątkiem – rozszerza adres URL o slug kategorii nadrzędnej, jeśli natywna kategoria produktu ma taki.
Ta wtyczka eliminuje problemy z paginacją i filtrowaniem, działa niezależnie od motywu i zabezpiecza przed możliwymi konsekwencjami robota.
Jedyną rzeczą, na którą należy uważać podczas zmiany tych permalinków, są zduplikowane adresy URL. Sprawdź dokładnie, czy nie masz stron lub typów wpisów z takimi samymi informacjami o pracy, jak kategorie lub produkty. Jeśli znajdziesz jakieś, pamiętaj, aby zmienić te ślimaki na unikalne, aby uniknąć duplikatów.
Jak dodać rozszerzenia, takie jak .html do adresów URL?
Szczerze mówiąc, nie wiem, czy są jakieś zalety lub wady robienia tego pod kątem SEO. Ale wiele osób o to prosi, więc nie możemy ignorować tego tematu.
Prawdopodobnie głównym powodem, dla którego szukasz rozwiązania tego problemu, jest migracja z innego CMS . Jeśli zdecydujesz się przejść z innej platformy do WooCommerce, możesz chcieć zreplikować swoje stare adresy URL (np. te z rozszerzeniem .html na końcu).
Oczywiście możesz użyć przekierowań 301, aby wszyscy wiedzieli o swoich nowych adresach URL, ale często zauważamy trywialny spadek ruchu i pozycji w SERP po zapełnieniu strony przez pewien czas mnóstwem przekierowań 301. Prawdopodobnie nie ma to nic wspólnego z samymi przekierowaniami, ponieważ, jak mówi Google, nie karzą już PageRank za korzystanie z przekierowań.
Ale z innych powodów związanych z migracją treści, nowym interfejsem użytkownika i szansą na uszkodzenie linków możesz nie chcieć ryzykować i próbować odtworzyć tych samych adresów URL, które miałeś.
Niestandardowe linki bezpośrednie dla WooCommerce dają możliwość dodania dowolnego rozszerzenia na końcu adresu URL, niezależnie od tego, czy jest to .html, .php., .htm, czy cokolwiek potrzebujesz:
Jak uniknąć problemów z SEO po zmianie permalinków
Trudną częścią zmiany adresów URL są duplikaty treści, błędy 404 i przekierowania.
Kiedy manipulujesz adresami URL w niedawno utworzonej witrynie bez żadnych danych dotyczących domeny, pozycji strony i adresów URL w indeksie Google, nie masz się czym martwić. Możesz swobodnie przeprowadzać eksperymenty i wybierać dowolną kombinację linków bezpośrednich.
Ale jeśli chodzi o zmianę permalinków na stronie z historią i wysokiej jakości pozycjami SERP , powinieneś dokładnie sprawdzić te cztery filary:
- Czy istnieją jakieś strony, posty, taksonomie, niestandardowe typy postów lub inne możliwe jednostki z takim samym slugiem jak kategorie lub strony produktów? Jeśli znajdziesz jakieś, rozważ zmianę ślimaków na unikalne, aby uniknąć konfliktów.
- Przejdź do konsoli wyszukiwania Google i sprawdź strony z odpowiedziami 404. Jeśli znajdziesz jakieś uszkodzone linki , powinieneś przeskanować plik sitemap.xml w poszukiwaniu tych linków lub innych stron internetowych, na których możesz ręcznie umieścić stare linki.
- Jeśli istnieje szansa, że nadal można gdzieś znaleźć stare adresy URL, pamiętaj o dołączeniu tagu „rel=canonical” . Jest to konieczne, aby roboty indeksujące wiedziały, którą stronę przypisać do treści, a wtedy Google nie ukarze Cię za tworzenie duplikatów.
- W żadnym wypadku nie zapomnij o przekierowaniach 301. Ma to kluczowe znaczenie zarówno dla odwiedzających witrynę, jak i robotów indeksujących. Po zmianie permalinków stare nie będą już dostępne, więc wszyscy, łącznie z robotami indeksującymi, będą otrzymywać błędy 404 podczas ich odwiedzania. Jeśli zmieniłeś permalinki za pomocą skryptu, polecam zainstalowanie wtyczki Redirection do obsługi przekierowań .
Ale możesz spać spokojnie: niestandardowe permalinki dla WooCommerce utworzą przekierowania 301 i „rel=canonical” dla starych adresów URL po zmianie struktury permalinków. A także, w połączeniu z wtyczką Yoast, wygenerują w Twoim imieniu nową mapę witryny z odpowiednimi adresami URL.
Wniosek
WooCommerce ostrzega nas przed konsekwencjami zmiany permalinków – spowolnieniem witryny i konfliktami adresów URL. Ale biorąc pod uwagę, że to oświadczenie zostało złożone dawno temu i od tego czasu zweryfikowali tę wtyczkę premium, która robi dokładnie to, może WooCommerce zmienił zdanie w sprawie permalinków.
Czy pomogłoby to Twojemu SEO?
Cóż, to bardziej złożone pytanie. Niektórzy badacze twierdzą, że tak; niektórzy eksperci SEO zalecają zmniejszenie liczby folderów w ścieżce do produktów i kategorii oraz zaprojektowanie krótszych adresów URL. Ale tę decyzję pozostawiam tobie. Ostatecznie nie ma absolutnej prawdy, jeśli chodzi o SEO.
A jeśli zdecydujesz się spróbować, jak zrobić to bezpiecznie?
Jeśli budujesz nową stronę internetową, możesz wybrać dowolną metodę – dodanie fragmentów kodu lub instalację wtyczki, obie wydają się bezpieczne. Tylko nie zapomnij sprawdzić, czy wszystko jest na swoim miejscu w sitemap.xml i czy są jakieś komentarze po stronie konsoli wyszukiwania Google.
Jeśli rozważasz manipulacje permalinkami w istniejącej witrynie, zdecydowanie polecam skorzystanie ze zweryfikowanej wtyczki. Prawdopodobnie nie chcesz kusić losu i bałaganić uszkodzonymi linkami, duplikatami treści lub przypadkowo utworzyć pętlę przekierowań.
Wtyczka może zaspokoić wszystkie Twoje potrzeby, a dostępne wsparcie na WooCommerce.com pomoże Ci uporać się z potencjalnymi problemami. Ponieważ permalinki mają kluczowe znaczenie dla SEO, pozostaniesz sam z takim problemem będzie koszmarem.