Как редактировать файл robots txt. Как редактировать файл robots txt Правильный роботс

Жаропонижающие средства для детей назначаются педиатром. Но бывают ситуации неотложной помощи при лихорадке, когда ребенку нужно дать лекарство немедленно. Тогда родители берут на себя ответственность и применяют жаропонижающие препараты. Что разрешено давать детям грудного возраста? Чем можно сбить температуру у детей постарше? Какие лекарства самые безопасные?

Robots.txt - это текстовый файл, который располагается в корне сайта - http://site.ru/robots.txt . Главное его предназначение - это задавать определённые директивы поисковым системам - что и когда делать на сайте.

Самый простой Robots.txt

Самый простой robots.txt , который всем поисковым системам, разрешает всё индексировать, выглядит вот так:

User-agent : *
Disallow :

Если у директивы Disallow не стоит наклонный слеш в конце, то разрешены все страницы для индексации.

Такая директива полностью запрещает сайт к индексации:

User-agent : *
Disallow : /

User-agent - обозначает для кого предназначены директивы, звёздочка обозначает что для всех ПС, для Яндекса указывают User-agent: Yandex .

В справке Яндекса написано, что его поисковые роботы обрабатывают User-agent: * , но если присутствует User-agent: Yandex , User-agent: * игнорируется.

Директивы Disallow и Allow

Существуют две основные директивы:

Disallow – запретить

Allow – разрешить

Пример: На блоге мы запретили индексировать папку /wp-content/ где находятся файлы плагинов, шаблон и.т.п. Но так же там находятся изображения, которые должны быть проиндексированы ПС, для участия в поиске по картинкам. Для этого надо использовать такую схему:

User-agent : *
Allow : /wp-content/uploads/ # Разрешаем индексацию картинок в папке uploads
Disallow : /wp-content/

Порядок использования директив имеет значение для Яндекса, если они распространяются на одни страницы или папки. Если вы укажите вот так:

User-agent : *
Disallow : /wp-content/
Allow : /wp-content/uploads/

Изображения не будут загружаться роботом Яндекса с каталога /uploads/ , потому что исполняется первая директива, которая запрещает весь доступ к папке wp-content .

Google относится проще и выполняет все директивы файла robots.txt, вне зависимости от их расположения.

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

Disallow: /about Запретит доступ ко всему каталогу site.ru/about/ , так же не будут индексироваться страницы которые содержат about - site.ru/about.html , site.ru/aboutlive.html и.т.п.

Disallow: /about/ Запретит индексацию роботам страниц в каталоге site.ru/about/ , а страницы по типу site.ru/about.html и.т.п. будут доступны к индексации.

Регулярные выражения в robots.txt

Поддерживается два символа, это:

* - подразумевает любой порядок символов.

Пример:

Disallow: /about* запретит доступ ко всем страницам, которые содержат about, в принципе и без звёздочки такая директива будет так же работать. Но в некоторых случаях это выражение не заменимо. Например, в одной категории имеются страницы с.html на конце и без, чтобы закрыть от индексации все страницы которые содержат html, прописываем вот такую директиву:

Disallow : /about/*.html

Теперь страницы site.ru/about/live.html закрыта от индексации, а страница site.ru/about/live открыта.

Ещё пример по аналогии:

User-agent : Yandex
Allow : /about/*.html #разрешаем индексировать
Disallow : /about/

Все страницы будут закрыты, кроме страниц которые заканчиваются на .html

$ - обрезает оставшуюся часть и обозначает конец строки.

Пример:

Disallow: /about - Эта директива robots.txt запрещает индексировать все страницы, которые начинаются с about , так же идёт запрет на страницы в каталоге /about/ .

Добавив в конце символ доллара - Disallow: /about$ мы сообщим роботам, что нельзя индексировать только страницу /about , а каталог /about/ , страницы /aboutlive и.т.п. можно индексировать.

Директива Sitemap

В этой директиве указывается путь к Карте сайта, в таком виде:

Sitemap : http: //site.ru/sitemap.xml

Директива Host

Указывается в таком виде:

Host: site.ru

Без http:// , наклонных слешей и тому подобных вещей. Если у вас главное зеркало сайта с www, то пишите:

Пример robots.txt для Битрикс

User-agent: *
Disallow: /*index.php$
Disallow: /bitrix/
Disallow: /auth/
Disallow: /personal/
Disallow: /upload/
Disallow: /search/
Disallow: /*/search/
Disallow: /*/slide_show/
Disallow: /*/gallery/*order=*
Disallow: /*?*
Disallow: /*&print=
Disallow: /*register=
Disallow: /*forgot_password=
Disallow: /*change_password=
Disallow: /*login=
Disallow: /*logout=
Disallow: /*auth=
Disallow: /*action=*
Disallow: /*bitrix_*=
Disallow: /*backurl=*
Disallow: /*BACKURL=*
Disallow: /*back_url=*
Disallow: /*BACK_URL=*
Disallow: /*back_url_admin=*
Disallow: /*print_course=Y
Disallow: /*COURSE_ID=
Disallow: /*PAGEN_*
Disallow: /*PAGE_*
Disallow: /*SHOWALL
Disallow: /*show_all=
Host: sitename.ru
Sitemap: https://www.sitename.ru/sitemap.xml

Пример robots.txt для WordPress

После того, когда были добавлены все нужные директивы, которые описаны выше. Вы должны получить примерно вот такой файл robots:

Это так сказать базовый вариант robots.txt для wordpress. Здесь присутствует два User-agent-a – один для всех и второй для Яндекса, где указывается директива Host .

Мета-теги robots

Существует возможность закрыть от индексации страницу или сайт не только файлом robots.txt, это можно сделать при помощи мета-тега.

<meta name = "robots" content = "noindex,nofollow" >

Прописывать его надо в теге и этот мета тег запретит индексировать сайт. В WordPress существуют плагины, которые позволяют выставлять такие мета теги, например – Platinum Seo Pack . С помощью него можно закрыть от индексации любую страницу, он использует мета-теги.

Директива Crawl-delay

С помощью этой директивы можно задать время, на которое должен прерываться поисковый бот, между скачиванием страниц сайта.

User-agent : *
Crawl-delay : 5

Таймаут между загрузкой двух страниц будет равен 5 секундам. Чтобы уменьшить нагрузку на сервер, обычно выставляют 15-20 секунд. Это директива нужны для больших, часто обновляемых сайтов, на которых поисковые боты просто «живут».

Для обычных сайтов/блогов эта директива не нужна, но можно таким образом ограничить поведение других не актуальных поисковых роботов (Rambler, Yahoo, Bing) и.т.п. Ведь они тоже заходят на сайт и индексируют его, создавая тем самым нагрузку на сервер.

Файл robot.txt – необходим для большинства сайтов.

Каждый SEO-оптимизатор должен понимать смысл этого файла, а также уметь прописывать самые востребованные директивы.

Правильно составленный robots улучшает положение сайта в поисковой выдаче и, среди прочих методов продвижения , является эффективным инструментом SEO .

Чтобы разобраться в том, что такое robot.txt и как он действует, вспомним, как работают поисковики.

Чтобы проверить его наличие, введите в адресную строку корневой домен, затем добавьте /robots.txt в конец URL-адреса.

Например, файл робот Moz находится по адресу: moz.com/robots.txt. Вводим, и получаем страницу:

Инструкции для «робота»

Как создать файл robots.txt?

3 типа инструкций для robots.txt.

Если обнаружили, что файл robots.txt отсутствует, создать его несложно.

Как уже было сказано в начале статьи – это обычный текстовый файл в корневом каталоге сайта.

Его можно сделать через админ-панель или файл-менеджер, с помощью которого программист работает с файлами на сайте.

В том, как и что там прописывать, мы разберемся по ходу статьи.

Поисковые системы получают из этого файла инструкции трех типов:

  • сканировать все, то есть полный доступ (Allow);
  • сканировать нельзя ничего – полный запрет (Disallow);
  • сканировать отдельные элементы нельзя (указано какие) – частичный доступ.

На практике это имеет вот такой вид:

Обратите внимание, страница все равно может попасть в выдачу, если на нее установили ссылку на этом сайте или вне его.

Чтобы лучше в этом разобраться, давайте изучим синтаксис этого файла.

Синтаксис Robots.Txt

Robots.txt: как он выглядит?

Важные моменты: что нужно всегда помнить о robots.

Семь общих терминов, которые часто встречаются на сайтах.

В самой простой форме робот имеет такой вид:

User agent: [имя системы, для которой мы пишем директивы] Disallow: Sitemap: [указываем, где у нас лежит карта сайта] # Правило 1 User agent: Googlebot Disallow: /prim1/ Sitemap: http://www.nashsite.com/sitemap.xml

Вместе эти три строки считаются самым простым robots.txt.

Здесь мы запретили боту индексировать URL: http://www.nashsite.com/prim1/ и указали где находится карта сайта.

Обратите внимание: в файле robots набор директив для одного пользовательского агента (поисковика) отделен от набора директив для другого разрывом строки.

В файле с несколькими директивами для поисковых систем каждый запрет или разрешение применяется только к поисковику, указанному в этом конкретном блоке строк.

Это важный момент и о нем нельзя забывать.

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

Вот пример:

На иллюстрации выше – для MSNbot, discobot и Slurp прописаны индивидуальные правила, которые будут работать только для этих поисковиков.

Все остальные пользовательские агенты следуют общим директивам в группе user-agent: *.

Синтаксис robots.txt абсолютно не сложен.

Существуют семь общих терминов, которые часто встречаются на сайтах.

  • User-agent: специфический веб-поисковик (бот поисковой системы), которому Вы даете инструкции обхода. Список большинства пользовательских агентов можно найти здесь. Всего в нем 302 системы, из которых наиболее актуальны две – Гугл и Яндекс.
  • Disallow: команда запрета, указывающая агенту, что не нужно заходить на URL. Для каждого URL разрешена только одна строка «disallow».
  • Allow (применимо только для Googlebot): команда сообщает боту, что он может получить доступ к странице или подпапке, даже если ее родительская страница или подпапка были закрыты.
  • Crawl-delay (задержка сканирования): сколько миллисекунд поисковик должен ждать перед загрузкой и обходом содержимого страницы.

Обратите внимание – Googlebot не поддерживает эту команду, но скорость сканирования может быть вручную установлена ​​в Google Search Console.

  • Sitemap: Используется для вызова местоположения любых XML-карт, связанных с этим URL-адресом. Эта команда поддерживается только Google, Ask, Bing и Yahoo.
  • Host: эта директива указывает на основное зеркало сайта, которое стоит учитывать при индексации. Его можно прописать только один раз.
  • Clean-param: это команда используется для борьбы с дублированием контента при динамической адресации.

Регулярные выражения

Регулярные выражения: как они выглядят и что обозначают.

Как разрешать и запрещать сканировать в robots.txt.

На практике файлы robots.txt могут разрастаться и становиться довольно сложными и громоздкими.

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

  • * является подстановочным символом, обозначает что директива работает для всех поисковых ботов;
  • $ соответствует концу URL-адреса или строки;
  • # применяется для комментариев разработчиков и оптимизаторов.

Вот несколько примеров robots.txt для http://www.nashsite.com

URL-адрес файла robots.txt: www.nashsite.com /robots.txt

User-agent: * (то есть для всех поисковых систем) Disallow: / (слеш обозначает корневой каталог сайта)

Мы только что запретили всем поисковикам сканировать и индексировать сайт целиком.

Как часто требуется такое действие?

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

Так работают внутренние сайты некоторых фирм.

Кроме того, такая директива прописывается, если сайт находится на стадии разработки или модернизации.

Если нужно разрешить поисковику сканировать вообще все, что есть на сайте, тогда нужно написать в robots.txt такие команды:

User-agent: * Disallow:

В запрете (disallow) нет ничего, а значит можно все.

Использование этого синтаксиса в файле robots.txt предоставляет возможность сканерам обходить все страницы на http://www.nashsite.com, включая домашнюю страницу, админку и контакты.

Блокировка определенных поисковых ботов и отдельных папок

Синтаксис для поисковика Google (Googlebot).

Синтаксис для остальных поисковых агентов.

User-agent: Googlebot Disallow: / example-subfolder /

Этот синтаксис указывает только поисковику Google (Googlebot), что не нужно сканировать адрес: www.nashsite.com/example-subfolder/.

Блокировка отдельных страниц для указанных ботов:

User-agent: Bingbot Disallow: /example-subfolder/blocked-page.html

Этот синтаксис говорит, что только Bingbot-у (имя поискового агента Bing), не следует заходить на страницу по адресу: www.nashsite.com /example-subfolder/blocked-page.

По сути это все.

Если освоите эти семь команд и три символа и разберетесь в логике применения, сможете написать правильный robots.txt.

Почему не работает и что делать

Алгоритм основного действия.

Другие методы.

Неправильно работающий robots.txt – это проблемы.

Ведь на то, чтобы выявить ошибку, а потом разобраться в ней, потребуется время.

Перечитайте файл, убедитесь, что Вы не заблокировали что-то лишнее.

Если через время окажется, что страница все равно висит в выдаче, посмотрите в Google Webmaster, переиндексировал ли сайт поисковик, ну и проверьте, нет ли внешних ссылок на закрытую страницу.

Потому что, если они есть – то скрыть ее из выдачи будет сложнее, потребуются другие методы .

Ну и перед использованием, проверьте этот файл бесплатным тестером от Google .

Своевременный анализ помогает избежать неприятностей и экономит время.

Robots.txt – это специальный файл, расположенный в корневом каталоге сайта. Вебмастер указывает в нем, какие страницы и данные закрыть от индексации от поисковых систем. Файл содержит директивы, описывающие доступ к разделам сайта (так называемый стандарт исключений для роботов). Например, с его помощью можно установить различные настройки доступа для поисковых роботов, предназначенных для мобильных устройств и обычных компьютеров. Очень важно настроить его правильно.

Нужен ли robots.txt?

С помощью robots.txt можно:

  • запретить индексирование похожих и ненужных страниц, чтобы не тратить краулинговый лимит (количество URL, которое может обойти поисковый робот за один обход). Т.е. робот сможет проиндексировать больше важных страниц.
  • скрыть изображения из результатов поиска.
  • закрыть от индексации неважные скрипты, файлы стилей и другие некритичные ресурсы страниц.

Если это помешает сканеру Google или Яндекса анализировать страницы, не блокируйте файлы.

Где лежит файл Robots.txt?

Если вы хотите просто посмотреть, что находится в файле robots.txt, то просто введите в адресной строке браузера: site.ru/robots.txt.

Физически файл robots.txt находится в корневой папке сайта на хостинге. У меня хостинг beget.ru , поэтому покажу расположения файла robots.txt на этом хостинге.


Как создать правильный robots.txt

Файл robots.txt состоит из одного или нескольких правил. Каждое правило блокирует или разрешает индексирование пути на сайте.

  1. В текстовом редакторе создайте файл с именем robots.txt и заполните его в соответствии с представленными ниже правилами.
  2. Файл robots.txt должен представлять собой текстовый файл в кодировке ASCII или UTF-8. Символы в других кодировках недопустимы.
  3. На сайте должен быть только один такой файл.
  4. Файл robots.txt нужно разместить в корневом каталоге сайта. Например, чтобы контролировать индексацию всех страниц сайта http://www.example.com/ , файл robots.txt следует разместить по адресу http://www.example.com/robots.txt . Он не должен находиться в подкаталоге (например, по адресу http://example.com/pages/robots.txt ). В случае затруднений с доступом к корневому каталогу обратитесь к хостинг-провайдеру. Если у вас нет доступа к корневому каталогу сайта, используйте альтернативный метод блокировки, например метатеги.
  5. Файл robots.txt можно добавлять по адресам с субдоменами (например, http://website .example.com/robots.txt) или нестандартными портами (например, http://example.com:8181 /robots.txt).
  6. Проверьте файл в сервисе Яндекс.Вебмастер и Google Search Console.
  7. Загрузите файл в корневую директорию вашего сайта.

Вот пример файла robots.txt с двумя правилами. Ниже есть его объяснение.

User-agent: Googlebot Disallow: /nogooglebot/ User-agent: * Allow: / Sitemap: http://www.example.com/sitemap.xml

Объяснение

  1. Агент пользователя с названием Googlebot не должен индексировать каталог http://example.com/nogooglebot/ и его подкаталоги.
  2. У всех остальных агентов пользователя есть доступ ко всему сайту (можно опустить, результат будет тем же, так как полный доступ предоставляется по умолчанию).
  3. Файл Sitemap этого сайта находится по адресу http://www.example.com/sitemap.xml.

Директивы Disallow и Allow

Чтобы запретить индексирование и доступ робота к сайту или некоторым его разделам, используйте директиву Disallow.

User-agent: Yandex Disallow: / # блокирует доступ ко всему сайту User-agent: Yandex Disallow: /cgi-bin # блокирует доступ к страницам, # начинающимся с "/cgi-bin"

В соответствии со стандартом перед каждой директивой User-agent рекомендуется вставлять пустой перевод строки.

Символ # предназначен для описания комментариев. Все, что находится после этого символа и до первого перевода строки не учитывается.

Чтобы разрешить доступ робота к сайту или некоторым его разделам, используйте директиву Allow

User-agent: Yandex Allow: /cgi-bin Disallow: / # запрещает скачивать все, кроме страниц # начинающихся с "/cgi-bin"

Недопустимо наличие пустых переводов строки между директивами User-agent, Disallow и Allow.

Директивы Allow и Disallow из соответствующего User-agent блока сортируются по длине префикса URL (от меньшего к большему) и применяются последовательно. Если для данной страницы сайта подходит несколько директив, то робот выбирает последнюю в порядке появления в сортированном списке. Таким образом, порядок следования директив в файле robots.txt не влияет на использование их роботом. Примеры:

# Исходный robots.txt: User-agent: Yandex Allow: /catalog Disallow: / # Сортированный robots.txt: User-agent: Yandex Disallow: / Allow: /catalog # разрешает скачивать только страницы, # начинающиеся с "/catalog" # Исходный robots.txt: User-agent: Yandex Allow: / Allow: /catalog/auto Disallow: /catalog # Сортированный robots.txt: User-agent: Yandex Allow: / Disallow: /catalog Allow: /catalog/auto # запрещает скачивать страницы, начинающиеся с "/catalog", # но разрешает скачивать страницы, начинающиеся с "/catalog/auto".

При конфликте между двумя директивами с префиксами одинаковой длины приоритет отдается директиве Allow.

Использование спецсимволов * и $

При указании путей директив Allow и Disallow можно использовать спецсимволы * и $, задавая, таким образом, определенные регулярные выражения.

Спецсимвол * означает любую (в том числе пустую) последовательность символов.

Спецсимвол $ означает конец строки, символ перед ним последний.

User-agent: Yandex Disallow: /cgi-bin/*.aspx # запрещает "/cgi-bin/example.aspx" # и "/cgi-bin/private/test.aspx" Disallow: /*private # запрещает не только "/private", # но и "/cgi-bin/private"

Директива Sitemap

Если вы используете описание структуры сайта с помощью файла Sitemap, укажите путь к файлу в качестве параметра директивы sitemap (если файлов несколько, укажите все). Пример:

User-agent: Yandex Allow: / sitemap: https://example.com/site_structure/my_sitemaps1.xml sitemap: https://example.com/site_structure/my_sitemaps2.xml

Директива является межсекционной, поэтому будет использоваться роботом вне зависимости от места в файле robots.txt, где она указана.

Робот запомнит путь к файлу, обработает данные и будет использовать результаты при последующем формировании сессий загрузки.

Директива Crawl-delay

Если сервер сильно нагружен и не успевает отрабатывать запросы робота, воспользуйтесь директивой Crawl-delay. Она позволяет задать поисковому роботу минимальный период времени (в секундах) между окончанием загрузки одной страницы и началом загрузки следующей.

Перед тем, как изменить скорость обхода сайта, выясните к каким именно страницам робот обращается чаще.

  • Проанализируйте логи сервера. Обратитесь к сотруднику, ответственному за сайт, или к хостинг-провайдеру.
  • Посмотрите список URL на странице Индексирование → Статистика обхода в Яндекс.Вебмастере (установите переключатель в положение Все страницы).

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

Директива Clean-param

Директива работает только с роботом Яндекса.

Если адреса страниц сайта содержат динамические параметры, которые не влияют на их содержимое (идентификаторы сессий, пользователей, рефереров и т. п.), вы можете описать их с помощью директивы Clean-param.

Робот Яндекса, используя эту директиву, не будет многократно перезагружать дублирующуюся информацию. Таким образом, увеличится эффективность обхода вашего сайта, снизится нагрузка на сервер.

Например, на сайте есть страницы:

Www.example.com/some_dir/get_book.pl?ref=site_1&book_id=123 www.example.com/some_dir/get_book.pl?ref=site_2&book_id=123 www.example.com/some_dir/get_book.pl?ref=site_3&book_id=123

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

User-agent: Yandex Disallow: Clean-param: ref /some_dir/get_book.pl

робот Яндекса сведет все адреса страницы к одному:

Www.example.com/some_dir/get_book.pl?book_id=123

Если на сайте доступна такая страница, именно она будет участвовать в результатах поиска.

Синтаксис директивы

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

В первом поле через символ & перечисляются параметры, которые роботу не нужно учитывать. Во втором поле указывается префикс пути страниц, для которых нужно применить правило.

Примечание. Директива Clean-Param является межсекционной, поэтому может быть указана в любом месте файла robots.txt. В случае, если директив указано несколько, все они будут учтены роботом.

Префикс может содержать регулярное выражение в формате, аналогичном файлу robots.txt, но с некоторыми ограничениями: можно использовать только символы A-Za-z0-9.-/*_. При этом символ * трактуется так же, как в файле robots.txt: в конец префикса всегда неявно дописывается символ *. Например:

Clean-param: s /forum/showthread.php

Регистр учитывается. Действует ограничение на длину правила - 500 символов. Например:

Clean-param: abc /forum/showthread.php Clean-param: sid&sort /forum/*.php Clean-param: someTrash&otherTrash

Директива HOST

На данный момент Яндекс прекратил поддержку данной директивы.

Правильный robots.txt: настройка

Содержимое файла robots.txt отличается в зависимости от типа сайта (интернет-магазин, блог), используемой CMS, особенностей структуры и ряда других факторов. Поэтому заниматься созданием данного файла для коммерческого сайта, особенно если речь идет о сложном проекте, должен SEO-специалист с достаточным опытом работы.

Неподготовленный человек, скорее всего, не сможет принять правильного решения относительно того, какую часть содержимого лучше закрыть от индексации, а какой позволить появляться в поисковой выдаче.

Правильный Robots.txt пример для WordPress

User-agent: * # общие правила для роботов, кроме Яндекса и Google, # т.к. для них правила ниже Disallow: /cgi-bin # папка на хостинге Disallow: /? # все параметры запроса на главной Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: /wp/ # если есть подкаталог /wp/, где установлена CMS (если нет, # правило можно удалить) Disallow: *?s= # поиск Disallow: *&s= # поиск Disallow: /search/ # поиск Disallow: /author/ # архив автора Disallow: /users/ # архив авторов Disallow: */trackback # трекбеки, уведомления в комментариях о появлении открытой # ссылки на статью Disallow: */feed # все фиды Disallow: */rss # rss фид Disallow: */embed # все встраивания Disallow: */wlwmanifest.xml # xml-файл манифеста Windows Live Writer (если не используете, # правило можно удалить) Disallow: /xmlrpc.php # файл WordPress API Disallow: *utm*= # ссылки с utm-метками Disallow: *openstat= # ссылки с метками openstat Allow: */uploads # открываем папку с файлами uploads Sitemap: http://site.ru/sitemap.xml # адрес карты сайта User-agent: GoogleBot # правила для Google (комментарии не дублирую) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Disallow: *utm*= Disallow: *openstat= Allow: */uploads Allow: /*/*.js # открываем js-скрипты внутри /wp- (/*/ - для приоритета) Allow: /*/*.css # открываем css-файлы внутри /wp- (/*/ - для приоритета) Allow: /wp-*.png # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д. Allow: /wp-admin/admin-ajax.php # используется плагинами, чтобы не блокировать JS и CSS User-agent: Yandex # правила для Яндекса (комментарии не дублирую) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Allow: */uploads Allow: /*/*.js Allow: /*/*.css Allow: /wp-*.png Allow: /wp-*.jpg Allow: /wp-*.jpeg Allow: /wp-*.gif Allow: /wp-admin/admin-ajax.php Clean-Param: utm_source&utm_medium&utm_campaign # Яндекс рекомендует не закрывать # от индексирования, а удалять параметры меток, # Google такие правила не поддерживает Clean-Param: openstat # аналогично

Robots.txt пример для Joomla

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/

Robots.txt пример для Bitrix

User-agent: *
Disallow: /*index.php$
Disallow: /bitrix/
Disallow: /auth/
Disallow: /personal/
Disallow: /upload/
Disallow: /search/
Disallow: /*/search/
Disallow: /*/slide_show/
Disallow: /*/gallery/*order=*
Disallow: /*?print=
Disallow: /*&print=
Disallow: /*register=
Disallow: /*forgot_password=
Disallow: /*change_password=
Disallow: /*login=
Disallow: /*logout=
Disallow: /*auth=
Disallow: /*?action=
Disallow: /*action=ADD_TO_COMPARE_LIST
Disallow: /*action=DELETE_FROM_COMPARE_LIST
Disallow: /*action=ADD2BASKET
Disallow: /*action=BUY
Disallow: /*bitrix_*=
Disallow: /*backurl=*
Disallow: /*BACKURL=*
Disallow: /*back_url=*
Disallow: /*BACK_URL=*
Disallow: /*back_url_admin=*
Disallow: /*print_course=Y
Disallow: /*COURSE_ID=
Disallow: /*?COURSE_ID=
Disallow: /*?PAGEN
Disallow: /*PAGEN_1=
Disallow: /*PAGEN_2=
Disallow: /*PAGEN_3=
Disallow: /*PAGEN_4=
Disallow: /*PAGEN_5=
Disallow: /*PAGEN_6=
Disallow: /*PAGEN_7=

Disallow: /*PAGE_NAME=search
Disallow: /*PAGE_NAME=user_post
Disallow: /*PAGE_NAME=detail_slide_show
Disallow: /*SHOWALL
Disallow: /*show_all=
Sitemap: http://путь к вашей карте XML формата

Robots.txt пример для MODx

User-agent: *
Disallow: /assets/cache/
Disallow: /assets/docs/
Disallow: /assets/export/
Disallow: /assets/import/
Disallow: /assets/modules/
Disallow: /assets/plugins/
Disallow: /assets/snippets/
Disallow: /install/
Disallow: /manager/
Sitemap: http://site.ru/sitemap.xml

Robots.txt пример для Drupal

User-agent: *
Disallow: /database/
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /sites/
Disallow: /themes/
Disallow: /scripts/
Disallow: /updates/
Disallow: /profiles/
Disallow: /profile
Disallow: /profile/*
Disallow: /xmlrpc.php
Disallow: /cron.php
Disallow: /update.php
Disallow: /install.php
Disallow: /index.php
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /contact/
Disallow: /logout/
Disallow: /search/
Disallow: /user/register/
Disallow: /user/password/
Disallow: *register*
Disallow: *login*
Disallow: /top-rated-
Disallow: /messages/
Disallow: /book/export/
Disallow: /user2userpoints/
Disallow: /myuserpoints/
Disallow: /tagadelic/
Disallow: /referral/
Disallow: /aggregator/
Disallow: /files/pin/
Disallow: /your-votes
Disallow: /comments/recent
Disallow: /*/edit/
Disallow: /*/delete/
Disallow: /*/export/html/
Disallow: /taxonomy/term/*/0$
Disallow: /*/edit$
Disallow: /*/outline$
Disallow: /*/revisions$
Disallow: /*/contact$
Disallow: /*downloadpipe
Disallow: /node$
Disallow: /node/*/track$
Disallow: /*&
Disallow: /*%
Disallow: /*?page=0
Disallow: /*section
Disallow: /*order
Disallow: /*?sort*
Disallow: /*&sort*
Disallow: /*votesupdown
Disallow: /*calendar
Disallow: /*index.php
Allow: /*?page=
Disallow: /*?
Sitemap: http://путь к вашей карте XML формата

ВНИМАНИЕ!

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

Проверить robots.txt

У каждого поисковика свои требования к оформлению файла robots.txt.

Для того, чтобы проверить robots.txt на корректность синтаксиса и структуры файла, можно воспользоваться одной из онлайн-служб. К примеру, Яндекс и Google предлагают собственные сервисы анализа сайта для вебмастеров, которые включают анализ robots.txt:

Проверка robotx.txt для поискового робота Яндекса

Сделать это можно при помощи специального инструмента от Яндекс - Яндекс.Вебмастер , еще и двумя вариантами.

Вариант 1:

Справа вверху выпадающий список — выберите Анализ robots.txt или по ссылке http://webmaster.yandex.ru/robots.xml

Не стоит забывать о том, что все изменения, которые вы вносите в файл robots.txt, будут доступны не сразу, а спустя лишь некоторое время.

Проверка robotx.txt для поискового робота Google

  1. В Google Search Console выберите ваш сайт, перейдите к инструменту проверки и просмотрите содержание файла robots.txt . Синтаксические и логические ошибки в нем будут выделены, а их количество – указано под окном редактирования.
  2. Внизу на странице интерфейса укажите нужный URL в соответствующем окне.
  3. В раскрывающемся меню справа выберите робота .
  4. Нажмите кнопку ПРОВЕРИТЬ .
  5. Отобразится статус ДОСТУПЕН или НЕДОСТУПЕН . В первом случае роботы Google могут переходить по указанному вами адресу, а во втором – нет.
  6. При необходимости внесите изменения в меню и выполните проверку заново. Внимание! Эти исправления не будут автоматически внесены в файл robots.txt на вашем сайте.
  7. Скопируйте измененное содержание и добавьте его в файл robots.txt на вашем веб-сервере.

Кроме сервисов проверки от Яндекс и Google, существует множество других онлайн валидаторов robots.txt.

Генераторы robots.txt

  1. Сервис от SEOlib.ru .С помощью данного инструмента можно быстро получить и проверить ограничения в файле Robots.txt.
  2. Генератор от pr-cy.ru .В результате работы генератора Robots.txt вы получите текст, который необходимо сохранить в файл под названием Robots.txt и загрузить в корневой каталог вашего сайта.

Роботы-краулеры Яндекса и Google посещают страницы сайта, оценивают содержимое, добавляют новые ресурсы и информацию о страницах в индексную базу поисковика. Боты посещают страницы регулярно, чтобы переносить в базу обновления контента, отмечать появление новых ссылок и их доступность.

Зачем нужно сканирование:

  1. Собрать данные для построения индекса - информацию о новых страницах и обновлениях на старых.
  2. Сравнить URL в индексе и в списке для сканирования.
  3. Убрать из очереди дублирующиеся URL, чтобы не скачивать их дважды.

Боты смотрят не все страницы сайта. Количество ограничено краулинговым бюджетом , который складывается из количества URL, которое может просканировать бот-краулер. Бюджета на объемный сайт может не хватить. Есть риск, что краулинговый бюджет уйдет на сканирование неважных или «мусорных» страниц, а чтобы такого не произошло, веб-мастеры направляют краулеров с помощью файла robots.txt .

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

Какие страницы краулер просканирует быстрее:

  1. Находятся ближе к главной.
    Чем меньше кликов с главной ведет до страницы, тем она важнее и тем вероятнее ее посетит краулер. Количество переходов от главной до текущей страницы называется (DFI).
  2. Имеют много ссылок.
    Если многие ссылаются на страницу, значит она полезная и имеет хорошую репутацию. Нормальным считается около 11-20 ссылок на страницу, перелинковка между своими материалами тоже считается.
  3. Быстро загружаются.
    Проверьте скорость загрузки если она медленная - и .

Все посещения ботов-краулеров не фиксируют такие инструменты, как Google Analytics, но поведение ботов можно отследить в лог-файлах. Некоторые SEO-проблемы крупных сайтов можно решить с помощью который также поможет увидеть проблемы со ссылками и распределение краулингового бюджета.

Robots.txt для Яндекса и Google

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

В robots.txt можно открыть или закрыть доступ ко всем файлам или отдельно прописать, какие файлы можно сканировать, а какие нет.

Требования к robots.txt:

  • файл называется "robots.txt ", название написано только строчными буквами, "Robots.TXT" и другие вариации не поддерживаются;
  • располагается только в корневом каталоге - https://site.com/robots.txt, в подкаталоге быть не может;
  • на сайте в единственном экземпляре;
  • имеет формат.txt;
  • весит до 32 КБ;
  • в ответ на запрос отдает HTTP-код со ;
  • каждый префикс URL на отдельной строке;
  • содержит только латиницу.

Если домен на кириллице, для robots.txt переведите все кириллические ссылки в Punycode с помощью любого Punycode-конвертера: "сайт.рф" - "xn--80aswg.xn--p1ai".

Robots.txt действует для HTTP, HTTPS и FTP, имеет кодировку UTF-8 или ASCII и направлен только в отношении хоста, протокола и номера порта, где находится.

Его можно добавлять к адресам с субдоменами - http://web.site.com/robots.txt или нестандартными портами - http://site.com:8181/robots.txt. Если у сайта несколько поддоменов, поместите файл в корневой каталог каждого из них.

Как исключить страницы из индексации с помощью robots.txt

В файле robots.txt можно запретить ботам индексацию некоторого контента.

User-agent: * Disallow: /about/

Запись формата "Disallow: /about" без закрывающего "/" запретит доступ и к разделу http://site.com/about/, к файлу http://site.com/about.php и к другим ссылкам, которые начинаются с "/about".

Если нужно запретить доступ к нескольким разделам или папкам, для каждого нужна отдельная строка с Disallow:

User-agent: * Disallow: /about Disallow: /info Disallow: /album1

Allow

Директива определяет те пути, которые доступны для указанных поисковых ботов. По сути, это Disallow-наоборот - директива, разрешающая сканирование. Для роботов действует правило: что не запрещено, то разрешено, но иногда нужно разрешить доступ к какому-то файлу и закрыть остальную информацию.

Разрешено сканировать все, что начинается с "/catalog", а все остальное запрещено:

User-agent: * Allow: /catalog Disallow: /

Сканировать файл "photo.html" разрешено, а всю остальную информацию в каталоге /album1/ запрещено:

User-agent: * Allow: /album1/photo.html Disallow: /album1/

Заблокировать доступ к каталогам "site.com/catalog1/" и "site.com/catalog2/" но разрешить к "catalog2/subcatalog1/":

User-agent: * Disallow: /catalog1/ Disallow: /catalog2/ Allow: /catalog2/subcatalog1/

Бывает, что для страницы оказываются справедливыми несколько правил. Тогда робот будет отсортирует список от меньшего к большему по длине префикса URL и будет следовать последнему правилу в списке.

Директивы, которые распознают боты Яндекса:

Clean-param

Некоторые страницы дублируются с разными GET-параметрами или UTM-метками, которые не влияют на содержимое. К примеру, если в каталоге товаров использовали сортировку или разные id.

Чтобы отследить, с какого ресурса делали запрос страницы с книгой book_id=123, используют ref:

"www.site. com/some_dir/get_book.pl?ref=site_1& book_id=123"
"www.site. com/some_dir/get_book.pl?ref=site_2& book_id=123"
"www.site. com/some_dir/get_book.pl?ref=site_3& book_id=123"

Страница с книгой одна и та же, содержимое не меняется. Чтобы бот не сканировал все варианты таких страниц с разными параметрами, используют правило Clean-param:

User-agent: Yandex Disallow: Clean-param: ref/some_dir/get_book.pl

Робот Яндекса сведет все адреса страницы к одному виду:

"www.example. com/some_dir/get_book.pl? book_id=123"

Для адресов вида:
"www.example2. com/index.php? page=1&sid=2564126ebdec301c607e5df"
"www.example2. com/index.php? page=1&sid=974017dcd170d6c4a5d76ae"

robots.txt будет содержать:

User-agent: Yandex Disallow: Clean-param: sid/index.php

Для адресов вида

"www.example1. com/forum/showthread.php? s=681498b9648949605&t=8243"
"www.example1. com/forum/showthread.php? s=1e71c4427317a117a&t=8243"

robots.txt будет содержать:

User-agent: Yandex Disallow: Clean-param: s/forum/showthread.php

Если переходных параметров несколько:
"www.example1.com/forum_old/showthread.php?s=681498605&t=8243&ref=1311"
"www.example1.com/forum_new/showthread.php?s=1e71c417a&t=8243&ref=9896"

robots.txt будет содержать:

User-agent: Yandex Disallow: Clean-param: s&ref/forum*/showthread.php


Host

Правило показывает, какое зеркало учитывать при индексации. URL нужно писать без "http://" и без закрывающего слэша "/".

User-agent: Yandex Disallow: /about Host: www.site.com

Сейчас эту директиву уже не используют , если в ваших robots.txt она есть, можно удалять. Вместо нее нужно на всех не главных зеркалах сайта поставить 301 редирект.

Crawl-delay

Раньше частая загрузка страниц нагружала сервер, поэтому для ботов устанавливали Crawl-delay - время ожидания робота в секундах между загрузками. Эту директиву можно не использовать, мощным серверам она не требуется.

Время ожидания - 4 секунды:

User-agent: * Allow: /album1 Disallow: / Crawl-delay: 4

Только латиница

Неправильно:

User-agent: Yandex Disallow: /каталог

Правильно:

User-agent: Yandex Disallow: /xn--/-8sbam6aiv3a

Пример robots.txt

Запись означает, что правило справедливо для всех роботов: запрещено сканировать ссылки из корзины, из встроенного поиска и админки, карта сайта находится по ссылке http://site.com/ sitemap, ref не меняет содержание страницы get_book:

User-agent: * Disallow: /bin/ Disallow: /search/ Disallow: /admin/ Sitemap: http://site.com/sitemap Clean-param: ref/some_dir/get_book.pl

Инструменты для составления и проверки robots.txt

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


Графы инструмента для заполнения

Для проверки файла robots.txt на ошибки у поисковиков есть собственные инструменты:

Инструмент проверки файла robots.txt от Google позволит проверить, как бот видит конкретный URL. В поле нужно ввести проверяемый URL, а инструмент покажет, доступна ли ссылка.

Инструмент проверки от Яндекса покажет, правильно ли заполнен файл. Нужно указать сайт, для которого создан robots.txt, и перенести его содержимое в поле.

Файл robots.txt не подходит для блокировки доступа к приватным файлам, но направляет краулеров к карте сайта и дает рекомендации для быстрого сканирования важных материалов ресурса.

В этой статье пример оптимального, на мой взгляд, кода для файла robots.txt под WordPress, который вы можете использовать в своих сайтах.

Для начала, вспомним зачем нужен robots.txt - файл robots.txt нужен исключительно для поисковых роботов, чтобы «сказать» им какие разделы/страницы сайта посещать, а какие посещать не нужно. Страницы, которые закрыты от посещения не будут попадать в индекс поисковиков (Yandex, Google и т.д.).

Вариант 1: оптимальный код robots.txt для WordPress

User-agent: * Disallow: /cgi-bin # классика... Disallow: /? # все параметры запроса на главной Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: *?s= # поиск Disallow: *&s= # поиск Disallow: /search # поиск Disallow: /author/ # архив автора Disallow: */embed # все встраивания Disallow: */page/ # все виды пагинации Allow: */uploads # открываем uploads Allow: /*/*.js # внутри /wp- (/*/ - для приоритета) Allow: /*/*.css # внутри /wp- (/*/ - для приоритета) Allow: /wp-*.png # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д. Allow: /wp-*.svg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.pdf # файлы в плагинах, cache папке и т.д. Allow: /wp-admin/admin-ajax.php #Disallow: /wp/ # когда WP установлен в подкаталог wp Sitemap: http://example.com/sitemap.xml Sitemap: http://example.com/sitemap2.xml # еще один файл #Sitemap: http://example.com/sitemap.xml.gz # сжатая версия (.gz) # Версия кода: 1.1 # Не забудьте поменять `site.ru` на ваш сайт.

Разбор кода:

    В строке User-agent: * мы указываем, что все нижеприведенные правила будут работать для всех поисковых роботов * . Если нужно, чтобы эти правила работали только для одного, конкретного робота, то вместо * указываем имя робота (User-agent: Yandex , User-agent: Googlebot).

    В строке Allow: */uploads мы намеренно разрешаем индексировать страницы, в которых встречается /uploads . Это правило обязательно, т.к. выше мы запрещаем индексировать страницы начинающихся с /wp- , а /wp- входит в /wp-content/uploads . Поэтому, чтобы перебить правило Disallow: /wp- нужна строчка Allow: */uploads , ведь по ссылкам типа /wp-content/uploads/... у нас могут лежать картинки, которые должны индексироваться, так же там могут лежать какие-то загруженные файлы, которые незачем скрывать. Allow: может быть "до" или "после" Disallow: .

    Остальные строчки запрещают роботам "ходить" по ссылкам, которые начинаются с:

    • Disallow: /cgi-bin - закрывает каталог скриптов на сервере
    • Disallow: /feed - закрывает RSS фид блога
    • Disallow: /trackback - закрывает уведомления
    • Disallow: ?s= или Disallow: *?s= - закрыавет страницы поиска
    • Disallow: */page/ - закрывает все виды пагинации
  1. Правило Sitemap: http://example.com/sitemap.xml указывает роботу на файл с картой сайта в формате XML. Если у вас на сайте есть такой файл, то пропишите полный путь к нему. Таких файлов может быть несколько, тогда указываем путь к каждому отдельно.

    В строке Host: site.ru мы указываем главное зеркало сайта. Если у сайта существуют зеркала (копии сайта на других доменах), то чтобы Яндекс индексировал всех их одинаково, нужно указывать главное зеркало. Директива Host: понимает только Яндекс, Google не понимает! Если сайт работает под https протоколом, то его обязательно нужно указать в Host: Host: http://example.com

    Из документации Яндекса: «Host - независимая директива и работает в любом месте файла (межсекционная)». Поэтому её ставим наверх или в самый конец файла, через пустую строку.

Потому что наличие открытых фидов требуется например для Яндекс Дзен, когда нужно подключить сайт к каналу (спасибо комментатору «Цифровой»). Возможно открытые фиды нужны где-то еще.

В тоже время, фиды имеют свой формат в заголовках ответа, благодаря которому поисковики понимают что это не HTML страница, а фид и, очевидно, обрабатывают его как-то иначе.

Директива Host для Яндекса больше не нужна

Яндекс полностью отказывается от директивы Host, её заменил 301 редирект. Host можно смело удалять из robots.txt . Однако важно, чтобы на всех зеркалах сайта стоял 301 редирект на главный сайт (главное зеркало).

Это важно: сортировка правил перед обработкой

Yandex и Google обрабатывает директивы Allow и Disallow не по порядку в котором они указаны, а сначала сортирует их от короткого правила к длинному, а затем обрабатывает последнее подходящее правило:

User-agent: * Allow: */uploads Disallow: /wp-

будет прочитана как:

User-agent: * Disallow: /wp- Allow: */uploads

Чтобы быстро понять и применять особенность сортировки, запомните такое правило: «чем длиннее правило в robots.txt, тем больший приоритет оно имеет. Если длина правил одинаковая, то приоритет отдается директиве Allow.»

Вариант 2: стандартный robots.txt для WordPress

Не знаю кто как, а я за первый вариант! Потому что он логичнее - не надо полностью дублировать секцию ради того, чтобы указать директиву Host для Яндекса, которая является межсекционной (понимается роботом в любом месте шаблона, без указания к какому роботу она относится). Что касается нестандартной директивы Allow , то она работает для Яндекса и Гугла и если она не откроет папку uploads для других роботов, которые её не понимают, то в 99% ничего опасного это за собой не повлечет. Я пока не заметил что первый robots работает не так как нужно.

Вышеприведенный код немного не корректный. Спасибо комментатору " " за указание на некорректность, правда в чем она заключалась пришлось разбираться самому. И вот к чему я пришел (могу ошибаться):

    Некоторые роботы (не Яндекса и Гугла) - не понимают более 2 директив: User-agent: и Disallow:

  1. Директиву Яндекса Host: нужно использовать после Disallow: , потому что некоторые роботы (не Яндекса и Гугла), могут не понять её и вообще забраковать robots.txt. Cамому же Яндексу, судя по документации , абсолютно все равно где и как использовать Host: , хоть вообще создавай robots.txt с одной только строчкой Host: www.site.ru , для того, чтобы склеить все зеркала сайта.

3. Sitemap: межсекционная директива для Яндекса и Google и видимо для многих других роботов тоже, поэтому её пишем в конце через пустую строку и она будет работать для всех роботов сразу.

На основе этих поправок, корректный код должен выглядеть так:

User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-json/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: */embed Disallow: */page/ Disallow: /cgi-bin Disallow: *?s= Allow: /wp-admin/admin-ajax.php Host: site.ru User-agent: * Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-json/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: */embed Disallow: */page/ Disallow: /cgi-bin Disallow: *?s= Allow: /wp-admin/admin-ajax.php Sitemap: http://example.com/sitemap.xml

Дописываем под себя

Если вам нужно запретить еще какие-либо страницы или группы страниц, можете внизу добавить правило (директиву) Disallow: . Например, нам нужно закрыть от индексации все записи в категории news , тогда перед Sitemap: добавляем правило:

Disallow: /news

Оно запретить роботам ходить по подобным ссылками:

  • http://example.com/news
  • http://example.com/news/drugoe-nazvanie/

Если нужно закрыть любые вхождения /news , то пишем:

Disallow: */news

  • http://example.com/news
  • http://example.com/my/news/drugoe-nazvanie/
  • http://example.com/category/newsletter-nazvanie.html

Подробнее изучить директивы robots.txt вы можете на странице помощи Яндекса (но имейте ввиду, что не все правила, которые описаны там, работают для Google).

Проверка robots.txt и документация

Проверить правильно ли работают прописанные правила можно по следующим ссылкам:

  • Яндекс: http://webmaster.yandex.ru/robots.xml .
  • В Google это делается в Search console . Нужна авторизация и наличия сайта в панели веб-мастера...
  • Сервис для создания файла robots.txt: http://pr-cy.ru/robots/
  • Сервис для создания и проверки robots.txt: https://seolib.ru/tools/generate/robots/

Я спросил у Яндекса...

Задал вопрос в тех. поддержку Яндекса насчет межсекционного использования директив Host и Sitemap:

Вопрос:

Здравствуйте!
Пишу статью насчет robots.txt на своем блоге. Хотелось бы получить ответ на такой вопрос (в документации я не нашел однозначного "да"):

Если мне нужно склеить все зеркала и для этого я использую директиву Host в самом начале фала robots.txt:

Host: site.ru User-agent: * Disallow: /asd

Будет ли в данном примере правильно работать Host: site.ru? Будет ли она указывать роботам что site.ru это основное зеркало. Т.е. эту директиву я использую не в секции, а отдельно (в начале файла) без указания к какому User-agent она относится.

Также хотел узнать, обязательно ли директиву Sitemap нужно использовать внутри секции или можно использовать за пределами: например, через пустую строчку, после секции?

User-agent: Yandex Disallow: /asd User-agent: * Disallow: /asd Sitemap: http://example.com/sitemap.xml

Поймет ли робот в данном примере директиву Sitemap?

Надеюсь получить от вас ответ, который поставит жирную точку в моих сомнениях.

Ответ:

Здравствуйте!

Директивы Host и Sitemap являются межсекционными, поэтому будут использоваться роботом вне зависимости от места в файле robots.txt, где они указаны.

--
С уважением, Платон Щукин
Служба поддержки Яндекса

Заключение

Важно помнить, что изменения в robots.txt на уже рабочем сайте будут заметны только спустя несколько месяцев (2-3 месяца).

Ходят слухи, что Google иногда может проигнорировать правила в robots.txt и взять страницу в индекс, если сочтет, что страница ну очень уникальная и полезная и она просто обязана быть в индексе. Однако другие слухи опровергают эту гипотезу тем, что неопытные оптимизаторы могут неправильно указать правила в robots.txt и так закрыть нужные страницы от индексации и оставить ненужные. Я больше склоняюсь ко второму предположению...

Динамический robots.txt

В WordPress запрос на файл robots.txt обрабатывается отдельно и совсем не обязательно физически создавать файл robots.txt в корне сайта, более того это не рекомендуется, потому что при таком подходе плагинам будет очень сложно изменить этот файл, а это иногда нужно.

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

Для этого добавьте следующий код в файл functions.php:

Add_action("do_robotstxt", "my_robotstxt"); function my_robotstxt(){ $lines = [ "User-agent: *", "Disallow: /wp-admin/", "Disallow: /wp-includes/", "", ]; echo implode("\r\n", $lines); die; // обрываем работу PHP }

User-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/

Crawl-delay - таймаут для сумасшедших роботов (с 2018 года не учитывается)

Яндекс

Проанализировав письма за последние два года в нашу поддержку по вопросам индексирования, мы выяснили, что одной из основных причин медленного скачивания документов является неправильно настроенная директива Crawl-delay в robots.txt […] Для того чтобы владельцам сайтов не пришлось больше об этом беспокоиться и чтобы все действительно нужные страницы сайтов появлялись и обновлялись в поиске быстро, мы решили отказаться от учёта директивы Crawl-delay.

Когда робот Яндекса сканирует сайт как сумасшедший и это создает излишнюю нагрузку на сервер. Робота можно попросить «поубавить обороты».

Для этого нужно использовать директиву Crawl-delay . Она указывает время в секундах, которое робот должен простаивать (ждать) для сканирования каждой следующей страницы сайта.

Для совместимости с роботами, которые плохо следуют стандарту robots.txt, Crawl-delay нужно указывать в группе (в секции User-Agent) сразу после Disallow и Allow

Робот Яндекса понимает дробные значения, например, 0.5 (пол секунды). Это не гарантирует, что поисковый робот будет заходить на ваш сайт каждые полсекунды, но позволяет ускорить обход сайта.

User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Crawl-delay: 1.5 # таймаут в 1.5 секунды User-agent: * Disallow: /wp-admin Disallow: /wp-includes Allow: /wp-*.gif Crawl-delay: 2 # таймаут в 2 секунды

Google

Робот Google не понимает директиву Crawl-delay . Таймаут его роботам можно указать в панели вебмастера.

На сервисе avi1.ru Вы можете уже сейчас приобрести продвижение SMM более чем в 7 самых популярных социальных сетях. При этом обратите внимание на достаточно низкую стоимость всех услуг сайта.

Поддержите проект — поделитесь ссылкой, спасибо!
Читайте также
Как сделать классный бриф на разработку Landing Page Как сделать классный бриф на разработку Landing Page Почта россии отследить посылку Почта россии отследить посылку Блокировка контактов в Skype Блокировка контактов в Skype