Дополнительные директивы Robots.txt — Crawl-Delay и Clean-param

директивы Robots.txt - Crawl-Delay, Clean-param

  Дополнительные правила поисковикам

В одной из статей я уже описывал файл Robots.txt. В принципе, того описания достаточно, чтобы составить данный файл для любого сайта. Но всё же есть в нём ещё кое-что, о чём следует рассказать — это пара дополнительных директив: Crawl-Delay и Clean-param.

Сразу хочу отметить, что без них можно прекрасно обойтись, но раз уж они описаны в спецификации Роботс.тхт, то напишу и здесь, зачем они нужны.

Дополнительные директивы Robots.txt

Первая из них — Crawl-Delay. С английского буквально переводится как «задержка ползания». Таким образом, данная директива задаёт время между переходами поискового робота с одной страницы сайта на другую.

Пишется, например, так:

User-agent: Yandex

Crawl-delay: 3.5   #задержка 3.5 секунд для перехода между страницами

Т.к. переходы поисковых роботов по сайту несколько напрягают хостинг, то данное правило поможет снизить нагрузку на сервер, но вообще оно практически бессмысленно и вот почему:

  • Как правило, желательна как можно более быстрая индексация страниц сайта. Поэтому нет смысла «жалеть» сервер, лучше оплатить нормальный хостинг.
  • Несколько наивно полагать, что робот послушается указаний, данных ему в этом правиле. Это примерно то же самое, что думать, будто слова в meta keywords сильно влияют на релевантность.

Вторая дополнительная директива Robots.txt — Clean-param. Переводится как «очистка параметров». Собственно, для этого она и используется — для исключения некоторых страниц, содержащих динамические параметры в URL.

Про динамические параметры в Url я уже писал в одноимённой статье: http://web-ru.net/internet/chto-takoe-dinamicheskie-ssylki-url-i-dinamicheskie-stranicy.html. Грубо говоря, это примерно следующее: http://site.ru/…/?a=1&b=3&… — т.е. a и b — параметры.

К примеру, есть у нас страница форума http://forum.ru/index.php?sid=8761234&topic=123, где параметр sid для каждого посетителя форума абсолютно новый (такое часто бывает, потому что форумные движки любят создавать т.н. идентификаторы сессий — sid).

Т.к. идентификатор каждый раз новый, то для одной страницы создаётся столько URL’ов, сколько пользователей её посещает. И если все эти УРЛ попадут в индекс поисковой системы, то будет не очень хорошо — создадутся дубликаты одной страницы, и как поведёт себя поисковик — не известно. Он может оставить одну страницу, а может выкинуть все.

Поэтому следует «очистить» параметр sid с помощью директивы Clean-param. Сделать это можно так:

User-agent: *

Disallow:

Clean-param: sid /forum.ru/index.php

В результате, все страницы вида http://forum.ru/index.php?sid=xxx&topic=123 будут сведены к одной, любой из них. Например, первой попавшей в индекс: http://forum.ru/page.php?sid=8761234&topic=123.

Можно вообще откинуть оба параметра:

Clean-param: sid&topic /forum.ru/index.php

В общем виде, эта директива файла Robots.txt пишется так:

Clean-param: p0[&p1&p2&..&pn] [path]

— т.е. параметр (или их список через «&») и шаблон страницы, к которой они приписываются. Шаблон описывается как обычно в Роботс, но исключая символы ? и &.

Данная директива едва ли нужна где-то, кроме форумов. На обычных сайтах лучше сразу настроить ЧПУ УРЛ, а потом запретить все динамические страницы таким простым правилом:

Disallow: *?

Ну а также можно использовать канонические ссылки.

Кстати, пока писал эту статью, заметил интересную вещь:

Robots.txt в Google

  Google проиндексировал собственный Robots.txt

Гугл выдал собственный Роботс.тхт. Ещё и заголовок ему добавил, весьма необычно ;).

web-ru.net - всё о продвижении сайтов
Случайные публикации:
  • Telegram начал тестировать шифруемые звонкиTelegram начал тестировать шифруемые звонкиВ бета-версии мессенджера Telegram появилась функция звонков. Они доступны в те...
  • Слияние Google и Motorola MobilityСлияние Google и Motorola MobilityВообще, это не статья, а просто так.. Вот думаю, сколько ещё все...
  • Новый внешний вид объявлений AdSense - стрелочка на декабрь 2012Новый внешний вид объявлений AdSense - стрелочка на декабрь 2012Буквально пару дней назад обнаружил, что все объявления от Google...
  • Яндекс и шокирующие тизеры-баннеры в 2014.. Реальный пример с ухудшением ранжированияЯндекс и шокирующие тизеры-баннеры в 2014.. Реальный пример с ухудшением ранжированияПоисковая система Яндекс кроме известных изменений со ссылками...
  • Как уменьшить размер базы данных MySQL? Ревизии в WordPress и плагин WP-Cleanup. ВидеоурокКак уменьшить размер базы данных MySQL? Ревизии в WordPress и плагин WP-Cleanup. Видеоурок...снений понятно). А сейчас покажу, как можно оптимизировать
Оставьте комментарий:
комментариев 6
Через сайт Через ВКонтакте Через Facebook
  1. http://directory.3dn.ru:

    Спасибо! Пригодилось!

    Ответить
  2. Александр:

    Подскажите, а «Clean-param» может повлиять та то, что страницы вообще в индекс не попадают?

    Ответить
    • Пётр:

      Ну, если страница, которая должна быть в индексе, содержит в адресе параметры, которые вы используете в Clean-param, то да, наверное, может.

      Ответить
  3. Источник:

    Ник сделал таким, чтобы анкор лист не портить. Вопрос: у меня есть товары на сайте — все урлы на товары вида: сайт/IDтовара?всякиепараметры.

    На сайте нету чистых ссылок на все товары — только ссылки на товары с параметрами. Как мне прописать Clean-param: на знак вопроса и всего что после него? А то боюсь дубли появятся… Запрещать в роботсе аля *? нельзя — нету ссылок на правильный УРЛ — вылетят все товары из индекса. Рел каноникал невозможно прописать из-за кривого движка. Есть решение с помощью Clean-param: ?

    Ответить
    • Пётр:

      Не очень ясно — имеете в виду, что все ссылки на товары имеют подобный вид: snuppy.ru/product/bag/100795?color=white, т.е. уже имеют параметр?
      В этом случае лучше сделать, чтобы ссылки на товары были без параметров — snuppy.ru/product/bag/100795 (страница же нормально открывается), а в robots.txt как раз прописать Disallow: *?

      Ответить
  4. Дядя Федя:

    Спасибо! После ЧПУ пол года были дубли. А здесь такое изящное решение.

    Ответить
сайт web-ru.net
Я не спамлю...