Obraz mohamed Hassan z Pixabay

Wiele mówi się o problemach wynikających z duplikacji treści i o tym, aby każda zawartość była dostępna wyłącznie pod jednym adresem URL. Jeśli na stronie sklepu internetowego istnieje ryzyko, że jeden produkt będzie dostępny pod kilkoma adresami (np. ze względu na wyświetlanie aliasu z kategorii w adresie produktu, który jest przypisany do kilku kategorii), wdrażamy rel=”canonical”, albo rozważamy inne opcje. Pamiętamy również o tym, aby pozyskując odnośniki do strony, stosować konsekwentnie jeden format adresu. Mimo tego zdarza nam się przeoczyć drobne błędy, które mogą szybko odbić się na pozycjach i ruchu na stronie.

Jednym z takich błędów jest podlinkowanie strony głównej do adresu w formacie /index.php lub /index.html Część skryptów domyślnie wstawia taki adres czy to w logo, czy w nawigacji okruszkowej (tzw. breadcrumbs), przez co roboty wyszukiwarek mają do niego swobodny dostęp. Może nam się wydawać, że wyszukiwarki powinny rozpoznać, że to strona główna, jednak zdarzają się przypadki, w których w Google raz pojawia się adres w formacie www.domena.pl, a innym razem www.domena.pl/index.php i co gorsza, od wyświetlonego formatu adresu zależy pozycja strony. Taki problem istniał 10 lat temu i istnieje nadal, aczkolwiek ciężko powiedzieć, co wpływa na to, że na jednej stronie wyszukiwarka nagle przestawia się na wyświetlanie adresu z końcówką index.php, podczas gdy na innej, na której w ramach testów celowo podejmowane są próby zaindeksowania takiego adresu, nie zawsze kończą się one sukcesem. Mogłoby się wydawać, że algorytm Google jest na tyle inteligentny, że sam rozpozna, że jest to adres tej samej strony. Niestety nie zawsze tak jest.

Wpływ na pozycję strony

Opiszę to na przykładzie strony jednego z klientów. Dopóki Google wyświetlało adres w formacie www.domena.pl, najważniejsza fraza utrzymywała się przez wiele tygodni na pozycjach między 2 a 5. W pewnym momencie Google podmieniło adres wyświetlany w swoich wynikach na format www.domena.pl/index.php, czego skutkiem był spadek z top 5 na 62 pozycję.

Zmiana pozycji wynikająca ze zmiany podstrony w Google

źródło: widok archiwalny w SeoStation.pl

Mimo że treść na obu adresach jest identyczna, ponieważ kieruje do tej samej lokalizacji, to jednak profil linków dla każdego z nich jest inny i mam tu na myśli zarówno linki prowadzące z zewnętrznych serwisów, jak i te wewnętrzne. Zdarza się bowiem, że wśród linków przychodzących nie ma żadnego, który prowadziłby do adresu z końcówką index.php, więc cała moc adresu płynie z podlinkowania go wewnątrz serwisu. Moc ta jest jednak zdecydowanie mniejsza niż dla adresu w postaci www.domena.pl, do którego prowadzą liczne linki przychodzące, dlatego jego pozycja jest znacznie niższa. Google uznaje więc te 2 adresy, jako zupełnie inne podstrony ze zduplikowaną treścią i ustala pozycję każdej z nich odrębnie, oceniając m.in. prowadzące do nich linki.

W takich przypadkach najszybszym rozwiązaniem problemu jest:

  • wyindeksowanie adresu /index.php z poziomu Search Console (Indeks → Usunięcia → Tymczasowe usunięcia → Usuń) – efekt będzie widoczny w ciągu kilku godzin;
  • przeindeksowanie strony głównej w Search Console (Sprawdzenie adresu URL → Poproś o zindeksowanie).

Te działania pomogą usunąć wynik z indeksu Google szybko, ale tymczasowo, ponieważ zgłoszenie jest ważne tylko przez 180 dni i po tym czasie podstrona może (ale nie musi) wrócić do indeksu (więcej na ten temat w case study nr 4). Z tego względu trzeba się zabezpieczyć przed powtórzeniem sytuacji w przyszłości, do czego niezbędne jest:

  • zastosowanie przekierowania 301 z adresu www.domena.pl/index.php na www.domena.pl
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} index.php
RewriteRule ^(.*)$ http://www.domena.pl [R=301,L]
  • usunięcie z kodu HTML wszystkich wystąpień odnośników do /index.php W tym celu warto skorzystać z narzędzia Screaming Frog [https://www.screamingfrog.co.uk/seo-spider/], które nawet w darmowej wersji pozwala na sprawdzenie do 500 adresów URL, co w opisywanym przypadku powinno wystarczyć.

UWAGA: w pierwszej kolejności należy poczekać, aż Google wyindeksuje adres w postaci index.php, a dopiero potem ustawić z niego przekierowanie 301 na główny adres domeny. W przeciwnym wypadku Google może usunąć z indeksu zarówno zgłoszony adres, jak i ten,
na który on przekierowuje. Również w przypadku, gdy zamiast przekierowania zastosowany jest rel=”canonical”, istnieje ryzyko przypadkowego wyindeksowania także strony docelowej. Nie zaleca się usuwać w ten sposób adresów z HTTP i HTTPS, aby nie usunąć wszystkich wersji adresu.

Dodatkowo należy upewnić się, że żadne linki z zewnątrz nie prowadzą do błędnego adresu, aczkolwiek przekierowanie 301 i tak powinno przenieść ich moc, a tym samym zabezpieczyć przed pojawieniem się podobnych problemów w przyszłości. Jest jednak dość nietypowa sytuacja wiążąca się z tym, że 301 nie zawsze działa tak mocno, jak byśmy tego chcieli, a opisałam ją w case study nr 9 (Rel=”canonical” mocniejsze od 301).

Leave a comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *