Spis treści:
Często spotykamy się z pojęciami przekierowań 301 i tagów canonical. Prawie zawsze jako specjaliści SEO wspominamy o nich we wskazówkach optymalizacyjnych przygotowywanych dla Klientów, dlatego postaram się przybliżyć temat w jasnej formie – w formie “co, jak i dlaczego”.
301 to stałe przekierowanie jednego adresu na drugi. Istnieją również przekierowania 302, które służą do tymczasowego przekierowania i informują bota, że przekierowanie może się niedługo skończyć.
Jest kilka powodów by użyć przekierowania 301. Po pierwsze przekierowujemy stary adres strony na nowy. Sytuacja zrozumiała gdy przenosimy stronę pod nowy adres. Drugim wykorzystaniem mogą być wewnętrzne potrzeby w serwisie. W 95% po to by nie duplikować treści dostępnej w serwisie na różnych podstronach. Zawsze tworzy się dzięki niemu przekierowanie z wersji www na wersję bez www (lub odwrotnie – w zależności od potrzeb) danego adresu www.
Jakie są najczęstsze błędy w stosowaniu 301? Przekierowując stary adres na nowy często zdarza się tak, że kierujemy wszystkie stare adresy na stronę główną nowego adresu. Powoduje to nie dość, że gubienie się użytkownika to jeszcze robot musi zaindeksować wszystkie nowe podstrony bez pomocy 301, co jasno idzie wywnioskować – wolniej.
Dlatego zmieniając adres strony musimy zadbać by przekierowanie było na zasadzie 1:1 – wszystkie stare adresy mają swoje nowe odpowiedniki.
Częstym problemem przy przekierowaniu wewnętrznym jest pominięcie podstrony index.php lub index.html w statycznych stronach. Tworzy to duplikację treści już na samym początku.
Przykład. Następujące adresy:
www.example.com
www.example.com/index.php
example.com/index.php
powinny być przekierowane (jeżeli oczywiście są osiągalne) na adres example.com
Z przekierowania 301 możemy korzystać poprzez plik .htaccess wgrywany w katalogu głównym strony lub poprzez dyrektywy w pliku php naszej strony (np. na początku kodu)
Przekierowanie domeny głównej z bez „www” na „www” oraz z /index.php na stronę główną z „www”.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com(.*) [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
RewriteRule ^index.php$ https://www.example.com/ [R=301,L]
Tag Canonical jest często w świecie SEO określany mianem słabszego przekierowania 301.
Jest to dyrektywa, która zawarta w sekcji head strony, podaje oryginalne źródło dla treści na stronie. Kieruje do adresu, pod którym dana treść ma być uważana za oryginalną. Efektem jest to, że robot nie uznaje fizycznie powielonej treści na danej stronie za zduplikowaną – krótko mówiąc nie uwzględnia tej strony w indeksie.
Można by powiedzieć, ze można zablokować taką powieloną treściowo stronę, lecz jest to “zagranie” nienaturalne. Do tego właśnie służy tag canonical.
Użycie canonical zawsze zalecamy przy listingach (np. produktów), który da się filtrować lub sortować za pomocą dynamicznych parametrów. Funkcjonalność ważna i przydatna dla użytkownika (pomaga łatwiej wyszukać to co chcemy znaleźć), ale dla robota całkowicie nieprzydatna. Zawężanie produktów generuje podstrony, które de facto nie pokazują nowej treści w porównaniu z tymi listingami, które widzimy przed filtracją.
Dlatego w tym wypadku należy użyć tagu canonical dla adresów z parametrami kierującego do adresu wyżej.
Rozważmy to na konkretnym przykładzie. Mamy listing produktów. Wszystkie dostępne są pod adresem:
example.com/produkty
Produkty zielone są pod adresem
example.com/produkty?kolor=zielone
Produkty zielone i okrągłe natomiast pod adresem
example.com/produkty?kolor=zielone&ksztalt=okragle
Dwie ostatnie podstrony nie przedstawiają nowej treści w porównaniu z adresem ogólnym (pierwszym). Dlatego na nich wklejamy w sekcję head linijkę nastepującego kodu:
<link href=”https://example.com/produkty” rel=”canonical” />
Każde narzędzie służy do czegoś innego. Trzeba być świadomym, że chociaż mając na stronie 100% unikalną, pisaną przez nas treść możemy doprowadzić do duplikacji, a co za tym idzie do osłabienia mocy naszego serwisu w oczach robota.
Rocket Media Sp. z o.o.
ul. Januszowicka 5
53-135 Wrocław
KRS: 0000490521
NIP: 8943050211