Paginacja (dzielenie strony na podstrony) zawsze była problemem w ujęciu SEO. Która z podstron paginacji powinna pojawiać się w wynikach? Pierwsza? Ta na której jest szukany produkt? Taki problem ma wiele sklepów internetowych, blogów czy katalogów produktów. Niektórzy stosowali tutaj nieszczęśliwie meta tag rel=”canonical” jednak dziś Google zaprezentowało rozwiązanie paginacji z zastosowaniem meta tagów rel=”prev” i rel=”next”.
Google zaprezentowało dwa sposoby rozwiązania problemu paginacji.
#1 View-all + rel=”canonical”
Pierwszy – jedna strona typu view-all z wszystkimi produktami. Rozwiązanie najprostsze. Tworzymy podstrony zawierające wszystkie elementy (produkty, wpisy na blogu itp.) bez podziału na paginację. Proste, jednak nie zawsze możliwe. Wyobrażacie sobie podstronę z kilkunastoma tysiącami produktów? Nie bardzo :) Google proponuję stworzenie takiej podstrony view-all w połączeniu ze standardową paginacją. W takim przypadku wszystkie strony paginacji wskazywałyby na stronę view-all poprzez meta tag rel=”canonical”. Sytuację obrazuje poniższy schemat:
#2 Zastosowanie rel=”prev” i rel=”next”
Drugi sposób rozwiązania problemu paginacji to zastosowanie nowych meta tagów rel=”next” i rel=”prev”. W sumie tagi nie są takie nowe, bo od dawna wykorzystują je przeglądarki (np. Opera) do przechodzenia na następne podstrony, ale jest to nowość w ujęciu SEO.
Sprawa zastosowania tagów rel=”prev” (lub rel=”previuos”) i rel=”next” jest prosta. Pozostawiamy paginację tak jak mamy obecnie, dodajemy jedynie nowe meta tagi w sekcji <head>:
- do pierwszej podstrony paginacji dodajemy tag rel=”next” wskazujący kolejną podstronę
- do ostatniej podstrony paginacji dodajemy tagi rel=”prev” wskazujący poprzednią podstronę
- do pozostałych podstron paginacji dodajemy oba tagi prev i next, wskazujące odpowiednia poprzednią i następną stronę
Krótki przykład zaczerpnięty z wpisu na blogu Google. Mamy artykuł podzielony na 4 podstrony paginacji:
http://www.example.com/article?story=abc&page=1
http://www.example.com/article?story=abc&page=2
http://www.example.com/article?story=abc&page=3
http://www.example.com/article?story=abc&page=4
Na pierwszej podstronie w sekcji <head> wstawiamy tag:
<link rel="next" href="http://www.example.com/article?story=abc&page=2/>
Na drugiej podstronie:
<link rel="prev" href="http://www.example.com/article?story=abc&page=1" />
<link rel="next" href="http://www.example.com/article?story=abc&page=3" />
Na trzeciej podstronie:
<link rel="prev" href="http://www.example.com/article?story=abc&page=2" />
<link rel="next" href="http://www.example.com/article?story=abc&page=4" />
Na czwartej, ostatniej podstronie:
<link rel="prev" href="http://www.example.com/article?story=abc&page=3" />
Zastosowanie tagów rel=”prev” oraz rel=”next” obrazuje poniższy schemat:
Kilka uwag odnośnie rel=”next” i rel=”prev”:
- Pierwsza strona paginacji zawiera tylko tag rel=”next”, ostatnia tylko rel=”prev”
- Podstrony od drugiej do przedostatniej zawierają oba powyższe tagi
- Linki w tagach rel=”next” i rel=”prev” mogą być bezwzględne lub względne
- Tagi muszą być zdeklarowane w sekcji HEAD, nie w BODY
- Zamiennie dla rel=”prev” może być użyty rel=”previous”
- Wspomniane tagi mogą być stosowane wspólnie z tagiem rel=”canonical” jednocześnie na tej samej podstronie. Przykład podstrony
http://www.example.com/article?story=abc&page=2&sessionid=123może zawierać tagi:<link rel="canonical" href="http://www.example.com/article?story=abc&page=2”/><link rel="prev" href="http://www.example.com/article?story=abc&page=1&sessionid=123" />
<link rel="next" href="http://www.example.com/article?story=abc&page=3&sessionid=123" /> - Tagi rel=”prev” i rel=”next” są jedynie wskazówką dla robota Google, nie działają więc jak przekierowania 301
- W przypadku błędów we wdrożeniu tagów na stronie, robot Google będzie ją indeksował według własnych algorytmów.
Stosujecie rel=”canonical” na swoich stronach? Wprowadzicie nowe rel=”next” i rel=”prev”? Zostawcie opinie na temat problemów paginacji w SEO w komentarzach – zapraszam do dyskusji.


Problemem jest to, że prev/next były wcześniej używane do oznaczania poprzedniej i następnej podstrony, niekoniecznie przy stronicowaniu.
Z kodu wynika, że poprzednia część tego wpisu znajduje się pod adresem http://blog.rabinek.pl/2011/09/09/kody-znizkowe-na-domeny-i-hosting/, a pierwsza pod http://blog.rabinek.pl/2006/01/12/slownik-migowego-firmy-adegnet/.
Dziś wprowadzone zmiany i już są aktualizacje we wtyczkach SEO do WordPressa. WordPress SEO by Yoast wspiera już nowe tagi.
Na pewno na nowych projektach będziemy używać.
Nad starymi się jeszcze zastanowię :)
@Colin – tak, WordPress inaczej korzystał z tych tagów niż zaleca Google. W WP te tagi wskazywały na inne posty, a przecież to nie paginacja. Dobra wiadomość jest taka, że wtyczka Yoast już to poprawia w WordPressie.
„Tagi muszą być zdeklarowane w sekcji HEAD, nie w BODY”
Trochę nie rozumiem czemu tak sobie Google wymyśliło. Zgodnie z dokumentacją HTML5 zarówno rel=”next” jak i rel=”prev” może być stosowany zarówno ze znacznikami <link> jak i <a> i <area>.