Дополнительные директивы 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

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

1 Star2 Stars3 Stars4 Stars5 Stars (1 оценок, среднее: 5,00 из 5)
Loading...
Случайные публикации:
  • Как создать сравнительную таблицу товаров в WordPressКак создать сравнительную таблицу товаров в WordPress...строить цвет фона заголовка вашей таблицы. Это добавит стиля к вашей
  • Как узнать цену клика по рекламе РСЯ до создания сайта или её размещения?Как узнать цену клика по рекламе РСЯ до создания сайта или её размещения?...ать,  как они будут прокликиваться (наверное, хуже тизеров от MarketGid про
  • Яндекс или Гугл - что лучше? 1-е результаты опросаЯндекс или Гугл - что лучше? 1-е результаты опроса...2-го (в апреле-мае, точно не помню) я вывесил на данном сайте первый опрос - Яндекс
  • Как защитить сайт на WordPress с помощью .htaccess?Как защитить сайт на WordPress с помощью .htaccess?Это небольшая статья в продолжение WP-темы. В предыдущей рассматрив...
  • Saleads.pro обзор партнерской программыSaleads.pro обзор партнерской программы...я от базы клиентов, которая неустанно растет, заканчивая прогрессивными
Оставьте комментарий:
комментариев 6
  1. Вася:

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

    Ответить
  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. Дядя Федя:

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

    Ответить
Я не спамлю...