Пользователь
0,0
рейтинг
19 сентября 2011 в 20:12

Постраничная верстка rel=«next|prev» перевод

Наряду с использование атрибута rel=«canonical» для указания поисковому боту на дублирование контента, теперь возможно использовать для HTML ссылок значение rel=“next” и rel=“prev” для обозначения положения текущей страницы в отношении соседних в рамках навигационного блока. В рамках веба встречаются различные варианты использования постраничной навигации — статья, разделенная на несколько страниц, либо категория товаров распределенных по нескольким страницам, либо ветка форума, разделенная на последовательность URL-ов. Теперь, включив rel=“next” и rel=“prev” в верстку страниц, мы можем указать Google:
  • Создать консолидированный индекс страниц, чтобы ссылки не рассеивались между отдельными страницами page-1.html, page-2.html, и так далее
  • При поиске направить пользователя на наиболее релевантную страницу среди всех остальных, например в начало статьи, разбитой на несколько страниц

Есть исключение при использовании rel=“next|prev” в том случае, если у вас реализована страница «Показать все», на которой, к примеру, показываются все товары категории без разбивки на страницы. В таком случае прочтите, пожалуйста, эти рекомендации.

Из-за того, что страница «Показать все», чаще всего наиболее предпочтительна для пользователей, мы делаем все возможное, чтобы результатах поиска участвовала именно она, а не отдельные страницы (размеченные с использованием rel=“next|prev”). Если же в структуре вашего сайта нет подобной страницы, вы можете спокойно использовать атрибут rel, описанным выше способом.

Ваши действия

Вот три варианта:
  1. Оставить все, как есть. Многостраничный контент встречается во всем Интернете, и Google будет продолжать прилагать все усилия, чтобы найти для пользователя лучший результат, независимо от того используете вы атрибут rel или нет.
  2. Если у вас есть страница «Показать все», обратите внимание на наши рекомендации.
  3. Указывать для Google атрибут rel. Это поможет системе более точно проиндексировать ваш контент и показывать пользователям наиболее релевантные страницы. Детали реализации ниже.

Использование rel=“next|prev”

Если вы предпочитаете последний вариант, давайте приступим! Допустим, у вас есть контент и он представлен следующим образом:
www.example.com/article?story=abc&page=1
www.example.com/article?story=abc&page=2
www.example.com/article?story=abc&page=3
www.example.com/article?story=abc&page=4

На первой странице, www.example.com/article?story=abc&page=1, вам необходимо включить в следующий блок:
<link rel="next" href="http://www.example.com/article?story=abc&page=2" />

На второй странице, www.example.com/article?story=abc&page=2:
<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" />

На третьей странице, www.example.com/article?story=abc&page=3:
<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" />

А на последней странице, www.example.com/article?story=abc&page=4:
<link rel="prev" href="http://www.example.com/article?story=abc&page=3" />


Несколько замечаний:
  • Первая страница содержит только rel=«next».
  • Страница со второй до последней содержат и rel=«next», и rel=«prev».
  • Последняя страница содержит только rel=«prev».
  • Значения href могут быть либо относительным, либо абсолютным URL. И, если вы объявили base в документе, относительные пути будет просчитаны в соответствии с базовым URL.
  • Разрешено использование значения rel=«previous» как альтернативы rel=”prev”.
  • В случае не правильной разметки, Google продолжит индексировать ваш контент собственной эвристикой не опираясь на указанный rel.

Хорошей верстки, и интересных проектов!
Перевод: Benjia Li & Joachim Kupke
zoommy @zoommy
карма
14,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (25)

  • +7
    Разрешено использование значения rel="previous" как альтернативы rel="prev".
    Вот это хорошо, потому что многие старинные браузеры (начиная от Mosaic, то есть одного из первых графических браузеров) понимали только «previous». (Вон там можете почитать описание, как эти гиперссылки отображались в Mosaic.)

    В эти элементы хорошо бы помещать заодно и атрибут title, надписывающий гиперссылку для тех пользователей, которые станут пользоваться навигационными панелями, подобными Mosaic. (Например, для пользователей расширения «Link Widgets» ко браузеру Mozilla Firefox.)
    • +1
      И не только Mosaic. Есть чуть более современные браузеры (это я типа про Opera с её Navigation Bar, который, кстати, может показываться только если эти link присутствуют), которые эту фичу поддерживают с незапамятных времён, и для которых лично я эту фичу стал реализовывать ещё лет 6-7 назад (ссылки давать не буду, а то от хабраэффекта сайты лягут) :)

      Если честно, то я был удивлён узнав, что google стал обращать на это внимание только сейчас. В любом случае, лучше поздно, чем никогда :)
    • +2
      +1 за LinkWidgets.
      Также он умеет «угадывать» ссылки, даже если они явно не проставлены, используя числа в URI.
  • 0
    спасибо! теперь буду использовать.
  • +1
    Забавный клипарт, зачем надо было распечатывать html и искать там что-то ручкой? :)
    Ну я так, о смысле жизни
    • +2
      Исправил на более подходящий )
  • +1
    Все простое — гениально. :)
  • +1
    Сейчас вроде бы такого нет, но несколько ранее какой-то из браузеров (кажется файрфокс) имел привычку при загрузке основной страницы, заодно (для ускорения загрузки следующих?) дергать адреса и prev и next, при заходе туда обычным человеческим браузером.
    Что немало доставляло… сначала верстальщикам которым влетело за действия приведшие к превышению нагрузки на хостинг, потом заказчику увидевшему после переверстки с использованием этих тегов утроенную статистику посещений и дикое расхождение внутренней статы с лайвинтернетом и под конец программерам/админам — категорически не втыкавшим почему скрипт вызывается 3 раза за одно обновление страницы.
    • 0
      Видимо вы имеете ввиду link prefetching.
      • 0
        Сама идея — да, но на сайте было именно prev/next, а не prefetch.
        • +2
          Согласно официальному FAQ, все браузеры на основе движка Gecko версий 1.0.2 (и свежéе), а также 1.2 (и свежéе) используют механизм prefetching (упреждающего скачивания страниц) не только для ссылок с атрибутом rel="prefetch", но также и для ссылок с атрибутом rel="next". Это касается всех версий Файерфокса, а также современных версий браузера Netscape (7.01 и свежéе) и Camino (за март 2003 года и новее).
  • +4
    В рамках веба встречаются различные варианты использования постраничной навигации — статья, разделенная на несколько страниц,

    Не знаю как людей, но меня ОЧЕНЬ сильно раздражает разбиение статей на постраничный вид. Это очень часто можно видеть на американских сайтах (ну я про IT, другие редко читаю). Я не про тизер и cut.

    Статя которая умещается на 2-3 экрана может быть разбита на 4 страницы. Это жесть какая-то. Не могу понять для чего — для частой ротации баннеров, для пущего SEO, для накручивания счетчика посетителей?

    Теперь еще и хак придумали, чтобы эти ссылки подсвечивать удобнее было. Ладно, я понимаю выборку результатов из каталога и т.п. — там может быть действительно много — без паджинации не обойтись. Но в статях то зачем???
    • +3
      Вы сами ответили на свое «я не годую» — причина в рекламе, не более того.
  • 0
    Шаг к тому о чем я давно мечтаю — чтобы на уровне браузера была поддержка ctrl + -> и ctrl + < — (левая и правая стрелки) для перехода по страницам используя горячие клавиши. Особенно, в фотогаллереях. Сейчас такое встречается только на наиболее продвинутых сайтах, что есть очень печально.
    • +4
      Это ужасно. Это одно из самых ужасных решений веб «программистов» за всё время. Когда я пишу текст в текст-боксах я регулярно пользуюсь Ctrl+стрелочка для быстрого перемещения между словами. А из-за таких, кхм, новаторов меня перекидывает на другую страницу. Такого быть не должно ни в коем случае.
      • +1
        Мы говорим про разные типы страниц. А во вторых, отслеживать где сейчас фокус, у текстбокса или нет, проще простого.
      • +3
        ага.
        Ctrl + стрелочки, а ещё и Ctrl+Home/End жутко бесят, т.к. отнимают у меня привычный мне функционал.
    • 0
      В Опере есть переход на следующую страницу. По умолчанию настроено на клавишу пробел. Есть автоматическое распознавание по тексту ссылки, настраиваемое в fastforward.ini. К сожалению, для русского языка по умолчанию настроено только слово «Следующая».
      • 0
        Как пробел?! пробел и shift+пробел это листать по странице вверх и вниз! :)
        • +1
          А когда долистываете пробелом до конца страницы, то автоматически переходите на следующую. Проверьте на выдаче любого поисковика.
  • 0
    Не очень понятно, в каком случае эти ссылки стоит использовать, а в каком — нет.

    Гугловцы пишут про случай, когда мы один список разбили на страницы, на каждой странице – несколько элементов.
    А вот например случай, когда на каждой странице отображается один элемент?
    Не могу, к сожалению, придумать более хорошего примера, чем «Ководство».
    • 0
      Не ссылки, а атрибут rel у ссылок, конечно же.
    • +1
      >для обозначения положения текущей страницы в отношении соседних в рамках навигационного блока.

      Если страницы связаны у вас «братскими» отношениями, есть ссылки/кнопки «следующий»/«предыдущий» и/или нумерация, то стоит использовать, по-моему. Иначе нет. В «Ководство» стоит, наверное.
  • +1
    Надеюсь, теперь эти атрибуты будут использоваться чаще, а следом и производители браузеров подтянутся.
  • 0
    • Первая страница содержит только rel=«next».
    • Последняя страница содержит только rel=«prev».


    наоборот, наверное

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.