Znaczniki rel=”prev” i rel=”next” dla stronicowanej zawartości

rel="prev" i rel="next" Google zaczęło od niedawna wspierać atrybuty rel="next" i rel="prev" znacznika HTML link, służące do wskazywania zależności między adresami URL należącymi do stronicowanego zestawu dokumentów HTML, np. paginowanej listy produktów w kategorii, czy wątku na forum dyskusyjnym. Atrybuty te mają działać podobnie jak rel="canonical", który jest istotną podpowiedzią dla wyszukiwarki na temat duplikatów zawartości.

Zawartość stronicowana

zawartość stronicowanaWitryny stronnicują zawartość na różne sposoby, na przykład:

  • witryny z wiadomościami i artykułami często dzielą długie artykuły na kilka krótszych stron
  • producenci i sklepy mogą dzielić listę elementów w obszernej kategorii produktów na wiele stron
  • fora dyskusyjne dzielą zwykle wątki na sekwencję adresów URL.

Rozwiązania dla serii stron

Istnieje kilka sposobów postępowania w stosunku do zestawów stron tworzących pewną całość:

  1. Pozostawienie dotychczasowej implementacji – Google będzie starało się zwrócić najlepszą stronę wynikową dla stronicowanej zawartości niezależnie od wykorzystania znaczników rel="next"/rel="prev".
  2. Wskazanie strony typu „Zobacz wszystko” jako najodpowiedniejszego wyniku wyszukiwania dla serii stron według wskazówek dla jednostronicowych wersji zawartości
  3. Wskazanie relacji pomiędzy adresami URL w serii za pomocą znaczników rel="prev" i rel="next" w celu ułatwienia wyszukiwarce poprawnego indeksowania zawartości i zwracania najodpowiedniejszej strony w wynikach wyszukiwania.

Implementacja rel="prev" i rel="next"

Stosując znaczniki rel="next" i rel="prev" dla powiązanych zestawów stron internetowych, dajemy wskazówkę, że oczekujemy od wyszukiwarki:

  • skonsolidowania indeksowanych właściwości, takich jak linki, z pojedynczych adresów URL do zestawu stron tworzących całość
  • kierowania użytkowników do najbardziej odpowiedniej strony zestawu, zazwyczaj pierwszej strony w serii.

Załóżmy, że zawartość jest podzielona na 3 strony dostępne pod następującymi adresami URL:

  • http://www.domenaprzyklad.pl/artykuly/qwerty?page=1
  • http://www.domenaprzyklad.pl/artykuly/qwerty?page=2
  • http://www.domenaprzyklad.pl/artykuly/qwerty?page=3

Dla poszczególnych stron w sekcji <head> należy umieścić następujący kod HTML:

  • Na pierwszej stronie http://www.domenaprzyklad.pl/artykuly/qwerty?page=1:
    <link rel="next" href="http://www.domenaprzyklad.pl/artykuly/qwerty?page=2" />
  • Na drugiej stronie http://www.domenaprzyklad.pl/artykuly/qwerty?page=2:
    <link rel="prev" href="http://www.domenaprzyklad.pl/artykuly/qwerty?page=1" />
    <link rel="next" href="http://www.domenaprzyklad.pl/artykuly/qwerty?page=3" />
  • Na ostatniej stronie http://www.domenaprzyklad.pl/artykuly/qwerty?page=3:
    <link rel="prev" href="http://www.domenaprzyklad.pl/artykuly/qwerty?page=2" />

Implementacja rel='prev' i rel='next'

Dodatkowe wskazówki

  • Pierwsza strona zawiera tylko znacznik rel="next", bez znacznika rel="prev".
  • Wszystkie strony od drugiej do przedostatniej powinny posiadać po dwa elementy link ze znacznikami rel="next" i rel="prev".
  • Adresy URL dla znaczników rel="prev" i rel="next" mogą być względne lub bezwzględne.
  • Znaczniki rel="prev" i rel="next" powinny być deklarowane w sekcji <head>, a nie sekcji <body>.
  • Google dopuszcza znacznik rel="previous" jako odpowiednik linku rel="prev".
  • rel="prev" i rel="next" działają jako podpowiedzi dla wyszukiwarki Google, nie dyrektywy.
  • Przy błędnej implementacji znaczników rel="prev" i rel="next" Google będzie indeksowało strony polegając na własnym algorytmie rozumienia zawartości.
  • Tag kanoniczny rel="canonical" oraz znaczniki rel="prev" i rel="next" są niezależnymi rozwiązaniami. Obie deklaracje mogą występować jednocześnie na tej samej stronie.
    Na przykład strona http://www.domenaprzyklad.pl/artykuly/qwerty?page=2&sessionid=123 może zawierać kod:

    <link rel="canonical" href="http://www.domenaprzyklad.pl/artykuly/qwerty?page=2" />
    <link rel="prev" href="http://www.domenaprzyklad.pl/artykuly/qwerty?page=1&sessionid=123" />
    <link rel="next" href="http://www.domenaprzyklad.pl/artykuly/qwerty?page=3&sessionid=123" />

Źródło: http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html

Skomentuj artykuł:

Komentarze

  1. damian pisze:

    wstawianie sessionid w do url’a w przykładzie jak poprawnie realizować prev/next chyba nie jest najlepszym pomysłem? Ogólnie blog ekstra!

  2. Przemek Sztal pisze:

    @damian: Przykład pokazuje, że można jednocześnie stosować znaczniki rel=”prev” i rel=”next” dla stronicowanej zawartości i wskazywać podstawowy adres URL bez zbędnych parametrów (które nie zmieniają treści strony) za pomocą tagu rel=”canonical”. Podejrzenie, że realizacja z przykładu jest nienajlepsza jest zasadne, ale właśnie takie rozwiązanie jest zalecane przez Google. Pomoc na ten temat mówi dokładnie:
    Jeśli strona składowa sekwencji zawiera parametry, które nie powodują zmiany jej zawartości, np. identyfikator sesji, wartości atrybutów rel=”prev” i rel=”next” również powinny zawierać te same parametry. Ułatwia to dokładniejsze dopasowanie odpowiednich wartości atrybutów rel=”prev” i rel=”next” podczas tworzenia powiązań.

Loading Disqus Comments ...
Loading Facebook Comments ...