Делаем правильный Robots.txt для Google и Яндекса

Правильный Robots.txt для Google - Яндекс

  Чистим мусор и делаем хороший роботс.тхт

И снова о Гугле. Что-то он удивляет меня в последнее время… В одной из предыдущих статей я рассказал про интересное «отношение» Google к файлу robots.txt. А вчера заметил ещё кое-что.

Проверял данный сайт на индексацию в Гугле через RDS bar (дело обычное) — оказалось, что только 65% страниц участвуют в выдаче. Меня это удивило, т.к. ранее там было 98%. В общем, решил проверить наличие мусора в индексе и, как оказалось, там много чего есть.

Что может быть в индексе Гугла

Перед проверкой индексации robots.txt у меня был такой:

был такой robots.txt

Нашлось вот что:

Мусор в Гугле

  Мусор в Гугле 1

и

мусор в Гугле 2

  Мусор в Гугле 2

и много чего из папок wp-content и wp-includes, а также залетел туда и флеш-плеер, хотя уже несколько раз я делал запрос на удаление URL.

Меня удивляет, что Гугл держит в индексе файлы JS-скриптов, например, от плагина Qip Smiles (на первой картинке выше). Какой смысл так делать, ведь это просто код..

В Яндексе такого нет. Это тот редкий случай, когда Яндекс делает что-то лучше Гугла. Хотя зря я так про Яндекс, ну да не о том речь :).

Что ещё более удивительно — в индексе снова оказался feed сайта (для WordPress обычно это http://site.ru/feed/), который я также много раз удалял в интерфейсе Google Webmaster.

Ну и также:

мусор в Гугле 3

  Мусор в Гугле 3

— очень необычно. Ссылок на такие страницы нет. Гугл мог узнать о них, когда я сам заходил на эти страницы, когда обнаружил, что они существуют. Это, кстати, говорит о том, что браузер Google Chrome действительно отправляет информацию о посещаемых страницах в Гугл.

А это вообще забавно:

Robots.txt в выдаче Google

  Robots.txt в выдаче Гугла

Выводы

Очевидно, Google пытается залезть всюду, в том числе и в те места, которые запрещены в robots.txt. Например, запрещены к индексации файлы .php и .swf — а он их индексирует.

Можно было бы сделать предположение, что он их проиндексировал ранее, когда файл robots.txt ещё не был настроен. Однако я много раз удалял подобные страницы из индекса вручную, но они всё равно залетают в индекс.

Также есть вероятность, что такие страницы, как feed сайта залетают в индекс из-за того, что в некоторых статьях я прописывал (текстом!) /feed/ — например, в тех же статьях про файл robots.txt. Получается, что Гугл переходит даже на те URL, которые прописаны текстом на сайте — запись /feed/ он воспринимает как http://web-ru.net/feed/. Нередко такое замечал, когда анализировал ошибки в интерфейсе Google Webmaster.

Короче, я пришёл к выводу, что robots.txt должен быть максимально «чистым». Теперь о том, что нужно сделать.

Как сделать правильный robots.txt для Google и Яндекс

Надо удалить все запреты (ну или почти все). Однако сперва нужно кое-что настроить на сайте.

Используем мета-тег robots

Подробно про meta name=’robots’ написано здесь. Суть простая: всё, что было запрещено в robots.txt, запрещаем теперь с помощью этого мета-тега.

Это можно сделать разными способами — зависит от движка сайта и/или языка, на котором он написан. Покажу на примере .php (подойдёт для WordPress, Joomla и много-много чего ещё). В шаблон шапки сайта, после head можно вставить такое:

пример кода

Теперь, когда кто-то зайдёт на URL вида

в шапке сайта появится

что говорит всем роботам о запрете такой страницы к индексации.

Аналогично можно сделать и с другими страницами и файлами с разными расширениями — нужно просто найти закономерность в их URL и задать условие на нужном языке программирования, по которому будет подставляться этот мета-тег.

Однако есть ещё и страницы со скриптами, текстовые документы и прочее (кстати, нередко на многих сайтах в индекс залетают .pdf-документы). Такие файлы не являются стандартными веб-страницами, написанными на HTML, поэтому meta name=’robots’ здесь не пройдёт.

Запрещаем индексацию скриптов и прочих ненужных файлов

Пришлось подумать над этой задачей. Сначала хотел использовать заголовок X-Robots-Tag, но действует он только для Гугла, так что понял, что нужно более универсальное решение.

Предположил, что универсальное решение находится в файле .htaccess. Поискал в Гугле — и кое-что нашлось. Причём на разных сайтах описаны разные методы.

Никогда раньше не использовал такого. В общем, вот, что я поместил в .htaccess:

код для htaccess

— собрал это с разных сайтов, так что конкретного ничего не скажу по поводу этого кода. Главное, что тут есть: роботам Google, Yandex и т.д. запрещается индексировать документы с расширениями php, txt, swf, xml.

XML указал для того, чтобы из индекса вывалилась XML-карта сайта. Хотя неизвестно, будет ли она теперь вообще читаться Гуглом.

Через некоторое время я дополню эту статью и сообщу о результатах.

12.6.2015 — на данный момент почти весь мусор вылетел из индекса. Как оказалось, Гугл медленно реагирует на изменения в robots.txt и в выдаче держит всякий мусор с указанием «A description for this result is not available because of this site’s robots.txt» (хотя в robots.txt уже всё разрешено). XML-карта, тем не менее, осталась…

Как найти мусор в индексе?

Используем такой запрос в поиске Гугла: site:http://site.ru/xxx (почему это так, рассказано в статье о дополнительном индексе Google).

Пользователи WordPress’а могут ввести, например, site:http://site.ru/wp-. С помощью этого я нашёл много мусора из папок wp-content и wp-includes. Кстати, я для интереса проверил чужие WP-сайты с помощью этого запроса и обнаружил то же самое. Так что вы обязательно проверьте у себя.

Итоговый вариант robots.txt для Гугла и Яндекса (и для всего остального)

Сейчас для этого сайта у меня такой вариант:

мой новый вариант robots.txt

Сначала хотел оставить Disallow: /feed/, т.к., несмотря на то, что он является XML-файлом (в .htaccess я их запретил), внешне этот файл является каталогом — URL заканчивается на «/». Но потом решил убрать для Гугла + удалил вручную в аккаунте вебмастера.

Пока не ясно, как подействуют правила в .htaccess, поэтому на всякий случай оставил одно правило для Яндекса. Если фид снова появится в Гугле — также дополню эту статью.

12.6.2015 — фид не появился. В общем, всё хорошо :).

Таким образом, если вы можете (а вы можете) запретить индексацию страниц с помощью всяких хитрых способов, то в robots.txt ничего запрещать не надо!

1 Star2 Stars3 Stars4 Stars5 Stars (3 оценок, среднее: 5,00 из 5)
Loading...
Случайные публикации:
  • Работа на Testopay: создайте свой бизнесРабота на Testopay: создайте свой бизнес...ме собственно надбавки, Testopay выплачивает процент от продаж. Чем больше
  • Хештег в твиттере. Что это и как это использовать?Хештег в твиттере. Что это и как это использовать?...куренты. Какие из этих хештегов, можете вы использовать? Какие новые
  • Как сделать поиск картинок на сайте от Google?Как сделать поиск картинок на сайте от Google?Где-то в конце марта сего года я заметил, что Google позволяет улучшить свой т....
  • Facebook или ВКонтакте - что лучше? 1-е результаты опросаFacebook или ВКонтакте - что лучше? 1-е результаты опроса...ьтаты голосования за лучшую социальную сеть Рунета :). Лично мне
  • Как уменьшить размер базы данных MySQL? Ревизии в WordPress и плагин WP-Cleanup. ВидеоурокКак уменьшить размер базы данных MySQL? Ревизии в WordPress и плагин WP-Cleanup. Видеоурок...орость загрузки сайта, я объяснял, почему быстрый сайт/блог - это хорошо (ну это и без моих
Оставьте комментарий:
комментариев 13
  1. Георгий:

    Спасибо Петр за полезный и нужный материал =)

    Ответить
  2. Seoчайник:

    Google уже давно говорит, чтобы не закрывали от него js и css. Он хочет видеть все, что видит пользователь. И на закрытые файлы указывает при проверке на мобильность.

    Ответить
  3. Егор:

    Получается, что лучший роботс — это пустой роботс?))

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

      В общем-то, да =)

      (при условии, что всё предусмотрено)

      Ответить
  4. Мила:

    Пока ничего менять на блоге не буду.
    Буду ждать ваш результат, а то ещё напортачу что-нибудь и потом не смогу восстановить… %)

    Ответить
  5. Алексей:

    Запрещать в robots.txt НАДО! И ещё как! А то вылезет в выдачу всё, что не должно там быть. Но надо знать как правильно для Гугла это делать :P Как-то тоже ковырялся в этой теме и кое-что наковырял ;) Просто надо в директивах для Гугла добавить…

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

      Что добавить?

      P.S.
      Тут 1-й, 5-й и 10-й тизеры — не ваши? :)

      Ответить
      • Алексей:

        Ну вообще-то я думал, что если кому-то будет интересно про «что добавить», то он зайдет ко мне на сайт и почитает соответствующую статью ;) А про тизеры никогда бы не подумал =-O Чесслово! :-D

        Ответить
  6. Алексей:

    Скажите, как запретить индексацию всего одного swf файла через robots.txt? Файл называется player.swf.

    Ответить
  7. Сергей:

    Так теперь ваш robot вообще из 5-и строчек состоит… и как результаты по прошествию одного месяца?

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