Coraz częściej na stronach internetowych możemy spotkać się ze stronicowaniem infinite scroll, które automatycznie załadowuje zawartość kolejnej podstrony, kiedy użytkownik przewinie listing lub treść artykułu. Jedyną zmianą w trakcie przeglądania będzie zmiana adresu URL w pasku przeglądarki. To rozwiązanie jest nieco mniej przyjazne dla użytkowników niż standardowo stosowana paginacja (pasek z kolejnymi numerami stron), ponieważ osoba przeglądająca produkty nie wie, na której stronie się znajduje, więc jeśli opuści serwis, trudno jej będzie powrócić do tego samego miejsca.
Największy problem stronicowania – duplikacja treści
Problemem, który może wystąpić przy paginacji, jest duplikacja treści. Pojawia się ona wtedy, gdy ten sam tekst, te same produkty, meta tagi Description oraz Title będą znajdowały się na różnych podstronach. Aby stronicowanie nie zaszkodziło pozycji serwisu, a w wynikach wyszukiwania pojawiała się tylko pierwsza strona paginacji, należy zastosować atrybuty rel=”prev” i rel=”next”.
Atrybuty rel=”prev” i rel=”next”
Dodanie atrybutów rel=”prev” i rel=”next” wskazuje robotom wyszukiwarki kolejne podstrony, które wspólnie tworzą całą treść. Ich poprawna implementacja sprawia, że w wynikach wyszukiwania znajduje się pierwsza strona paginacji, dzięki czemu użytkownik trafi na początek listy produktów lub interesującego artykułu.
Jak poprawnie wdrożyć znaczniki rel=”prev” i rel=”next”?
Na każdej podstronie w sekcji head należy dodać atrybuty rel=”prev” i rel=”next” wskazujące na poprawną kolejność stronicowania.
Przykładowa paginacja na stronie sklepu sportowego:
- pl/buty-zimowe,
- pl/buty-zimowe-2,
- pl/buty-zimowe-3,
- pl/buty-zimowe-4.
Na podstronie sklep.pl/buty-zimowe wdrażamy jedynie atrybut „next” (jest to pierwsza strona paginacji):
<link rel=”next” href=”sklep.pl/buty-zimowe-2”/>.
Następnie na podstronie sklep.pl/buty-zimowe-2 implementujemy oba atrybuty:
- <link rel=”prev” href=”sklep.pl/buty-zimowe”/>
- <link rel=”next” href=”sklep.pl/buty-zimowe-3”/>
Na kolejnej podstronie sklep.pl/buty-zimowe-3 zamieszczamy znów oba atrybuty:
- <link rel=”prev” href=”sklep.pl/buty-zimowe-2”/>
- <link rel=”next” href=”sklep.pl/buty-zimowe-4”/>
I na ostatniej stronie paginacji sklep.pl/buty-zimowe-4 pojawi się jedynie atrybut rel=”prev”:
<link rel=”prev” href=”sklep.pl/buty-zimowe-3”/>.
Większość systemów CMS i dobrze przygotowane szablony na WordPressie automatycznie implementują znaczniki rel=”prev” i rel=”next” w kodzie strony na podstronach paginacji, zapobiegając duplikacji treści.
Problem pierwszej strony paginacji
Podczas wdrażania stronicowania może wystąpić duplikacja strony kategorii (sklep.pl/buty-zimowe) z pierwszą stroną paginacji (sklep.pl/buty-zimowe-1), kiedy na tych dwóch podstronach występuje taka sama treść. Taka sytuacja jest spowodowana najczęściej przez automatyczne generowanie przez system CMS pierwszej strony paginacji jako kopii strony bazowej.
Rozwiązanie tego problemu polega na usunięciu pierwszej strony stronicowania. A jeśli to nie jest możliwe, należy zastosować przekierowanie 301 na stronę kategorii.
sklep.pl/buty-zimowe-1 -> przekierowanie 301 -> sklep.pl/buty-zimowe.
Pozostawienie strony bazowej i pierwszej strony paginacji skutkuje istnieniem w serwisie kopii treści, co będzie niekorzystnie wpływało na ocenę strony przez algorytmy wyszukiwarek internetowych.
Stronicowanie w Sitemapie XML
Co do zasady w Sitemapie XML umieszczamy tylko te adresy URL naszego serwisu, które powinny zostać zaindeksowane przez wyszukiwarkę. W związku z tym w pliku nie umieszczamy kolejnych podstron paginacji, a jedynie odnośnik do bazowej podstrony lub strony kategorii będącej automatycznie pierwszą podstroną paginacji.
Rel=”canonical” a paginacja
Podczas stronicowania jednym z większych błędów jest stosowanie przekierowania kanonicznego. Dlaczego? Po pierwsze, rel=”canonical” nie zawsze działa, a po drugie jeśli na każdej podstronie paginacji mamy zupełnie inną treść, nie warto wskazywać robotom wyszukiwarek innej treści, którą powinna zostać zaindeksowana.
Zasadniczo przekierowanie kanoniczne można użyć tylko wtedy, gdy mamy w serwisie podstronę z długim artykułem i chcemy go podzielić na krótsze części, jednocześnie zostawiając podstronę bazową z pełną treścią. Wtedy podstrony paginacji możemy przekierować za pomocą rel=”canonical” na podstronę zbiorczą.
Paginacja a SEO – jak Google podchodzi do tematu stronicowania?
Najpopularniejsza wyszukiwarka dobrze radzi sobie z rozpoznawaniem stronicowania i w większości przypadków, nawet jeśli nie zastosujemy powyższych oznaczeń, rozpozna podstrony, na których znajduje się podzielona treść.