Привет всем! Сегодня тема очень важная это — robots.txt для WordPress сайта / блога. Поисковые роботы заходя на сайт или блог первым делом ищут . Файл robots.txt сообщает поисковой системе, куда разрешено заходить на вашем сайте. Что такое robots.txt?
Robots.txt — служебный файл, который находится в корневом каталоге сайта и содержит набор директив, позволяющих управлять индексацией сайта.
Он позволяет указывать поисковым системам, какие страницы сайта или файлы должны присутствовать в поиске, а какие — нет. Когда краулер приходит на хостинг, файл robots.txt является одним из первых документов, к которому он обращается.
Robots.txt в большинстве случаев используется для исключения дубликатов, служебных страниц, удаленных страниц и других ненужных страниц из индекса поисковых систем. Кроме того, именно через robots.txt можно указать ПС адрес карты сайта.
Воспользуйтесь любым текстовым редактором (например, блокнотом), создайте файл с именем robots.txt и заполните его как показано ниже. Файл должен называться robots.txt, а не так — Robots.txt или ROBOTS. TXT.
После этого необходимо загрузить файл в корневой каталог вашего сайта.
Файл robots.txt должен располагаться строго в корне сайта и он должен быть единственным.
Оптимальный, правильный robots.txt для сайта WordPress. Общий для Google
и Яндекс . Такой robots.txt у меня стоял на всех сайтах:
User-agent: *
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: /core/
Disallow: */feed
Disallow: *?s=
Disallow: *&s=
Disallow: /search
Disallow: */embed
Disallow: *?attachment_id=
Disallow: /id_date
Disallow: */page/
Disallow: *?stats_author
Disallow: *?all_comments
Disallow: *?post_type=func
Disallow: /filecode
Disallow: /profile
Disallow: /qtag/
Disallow: /articles/
Disallow: /artictag/
Allow: */uploads
Allow: /*/*.js
Allow: /*/*.css
Allow: /wp-*.png
Allow: /wp-*.jpg
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /*ajax
Sitemap: http://example.com/sitemap.xml
- Стандартный robots.txt WordPress
- В заключение
- Оптимальный код robots.txtдля WordPress
- Версия 1 (не строгая)
- Версия 2 (строгая)
- Директивы (разбор кода)
- robots.txtв WordPress
- do_robotstxt
- Нельзя закрывать /wp-includes/
- Не закрывайте фиды: */feed
- Нестандартные Директивы
- Clean-param
- Crawl-delay (устарела)
- Host (устарела)
- Заключение
- Оптимальный код файла для WordPress
- Сортировка правил перед обработкой
- Стандартный файл robots для WordPress
- Доработка файла под свои цели
- Проверка файла и документация
- Для чего нужен файл robots. txt?
- Где находится robots. txt WordPress?
- Настройка robots. txt WordPress
- Как редактировать robots. txt на WordPress?
- Проверка работы файла robots. txt
- Где лежит файл robots в WordPress
- Как создать правильный robots txt
- Настройка команд
- Рабочий пример инструкций для WordPress
- Как проверить работу robots. txt
- Плагин–генератор Virtual Robots. txt
- Добавить с помощью Yoast SEO
- Изменить модулем в All in One SEO
- Правильная настройка для плагина WooCommerce
- Итог
- Зачем Robots. txt нужен для SEO?
- Ручное создание robots.txt
- Кириллица в файле Robots
- Как проверить Robots. txt?
- Проверка на сайте
- Проверка на ошибки
Стандартный robots.txt WordPress
Раздельный для Google и Yandex:
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://сайт.ру/sitemap.xml
Замените сайт.ру на ваш URL адрес блога. Смело можете скормить данным файлом поисковые системы Яндекс и Google.
А теперь, прочитав статью от Yoast SEO
я стал использовать вот такой robots.txt. WordPress robots.txt: лучший пример для SEO:
User-agent: *
Sitemap: https://wordpressmania.ru/sitemap_index.xml
Для большинства сайтов WordPress рекомендуется robots.txt:
User-agent: *
Все поисковые роботы могут свободно сканировать этот сайт без ограничений.
Стандарт robots.txt поддерживает добавление в файл ссылки на ваши XML-карты сайта. Это помогает поисковым системам обнаруживать местонахождение и содержание вашего сайта.
Yoast SEO всегда считали это излишним. Вы уже должны это сделать, добавив карту сайта в Google Search Console, Яндекс Вебмастер и Bing для веб-мастеров, чтобы получить доступ к аналитике и данным о производительности. Если вы это сделали, вам не нужна ссылка в файле robots.txt.
Обратите внимание, что для Яндекса и Google правила составления robots.txt немного различаются. Вот ещё полезный ресурс для изучения . Вот и всё.
Теперь остаётся загрузить созданный файл в корневой каталог вашего блога. Корень блога это — папка public_html, где находятся файл config.php, index.php и так далее.
В заключение
Создание и тщательная подготовка robots.txt крайне важны. При его отсутствии поисковые роботы собирают всю информацию, относящуюся к сайту. В поиске могут появиться незаполненные страницы, служебная информация или тестовая версия сайта.
Вот на этом позвольте с вами не надолго попрощаться. Удачи. До новых встреч на страницах блога.
В этой статье пример оптимального, на мой взгляд, кода для файла robots.txt
под WordPress, который вы можете использовать в своих сайтах.
Для начала, вспомним зачем нужен robots.txt — файл robots.txt нужен исключительно для поисковых роботов, чтобы «сказать» им какие разделы/страницы сайта посещать, а какие посещать не нужно. Страницы, которые закрыты от посещения не будут попадать в индекс поисковиков (Yandex, Google и т.д.).
Закрыть страницу от робота можно также через мета-тег robots или в HTTP-заголовке ответа X-Robots-Tag
. Преимущество файла robots.txt в том, что робот при посещении сайта сначала загружает все правила из файла robots.txt и опираясь на них ходит по страницам сайта исключая из посещения страницы, URL которых не подходит под правила.
Таким образом, если мы закрыли страницу в robots.txt, робот просто пропустит её не сделав никаких запросов на сервер. А если мы закрыли страницу в заголовке X-Robots-Tag
или мета-теге, роботу нужно сначала сделать запрос к серверу, получить ответ, посмотреть что находится в заголовке или метатеге и только потом принять решения индексировать страницу или нет.
Таким образом, файл robots.txt объясняет роботу какие страницы (URL) сайта нужно просто пропускать не делая никаких запросов. Это экономит время обхода роботом всех страниц сайта и экономит ресурсы сервера.
Рассмотрим на примере. Допустим, у нас есть сайт на котором всего 10 000 страниц (не 404 URL). Из них полезных страниц с уникальным контентом всего 3000, остальное это архивы по датам, авторам, страницы пагинации и другие страницы контент на которых дублируется (например фильтры с GET параметрами). Допустим, мы хотим закрыть от индексации эти 7000 неуникальных страниц:
- если сделать это через robots.txt, то роботу для индексации всего сайта нужно будет посетить всего 3000 страниц остальное будет отсеяно сразу же на уровне URL.
- если сделать это через мета-тег robots, то роботу для индексации всего сайта нужно будет посетить все 10 000 страниц сайта. Потому что нужно получить контент страницы, чтобы узнать что находится в мета-теге (в котором указано что страницу индексировать не нужно).
Несложно догадаться, что в этом случае первый вариант гораздо предпочтительнее потому что на обход сайта робот будет тратить гораздо меньше времени, а сервер будет генерировать гораздо меньше страниц.
Оптимальный код robots.txt для WordPress
Важно понимать, что ниже приведен универсальный пример кода для файла robots.txt. Для каждого конкретного сайта его нужно расширять или вносить корректировки. И лучше не трогайте ничего если не понимаете что делаете — обращайтесь к знающим людям.
Версия 1 (не строгая)
Эта версия, пожалуй, более предпочтительна по сравнению со второй, потому что тут нет опасности запретить индексацию каких либо файлов внутри ядра WordPress или папки wp-content
.
User-agent: * # Создаем секцию правил для роботов. * значит для всех # роботов. Чтобы указать секцию правил для отдельного # робота, вместо * укажите его имя: GoogleBot, Yandex. Disallow: /cgi-bin # Стандартная папка на хостинге. Disallow: /wp-admin/ # Закрываем админку. Allow: /wp-admin/admin-ajax.php # Откроем аякс. Disallow: /? # Все параметры запроса на главной. Disallow: *?s= # Поиск. Disallow: *&s= # Поиск. Disallow: /search # Поиск. Disallow: /author/ # Архив автора. Disallow: */embed$ # Все встраивания. Disallow: */xmlrpc.php # Файл WordPress API Disallow: *utm*= # Ссылки с utm-метками Disallow: *openstat= # Ссылки с метками openstat # Одина или несколько ссылок на карту сайта (файл Sitemap). Это независимая # директива и дублировать её для каждого User-agent не нужно. Так например # Google XML Sitemap создает 2 карты сайта: Sitemap: http://example.com/sitemap.xml Sitemap: http://example.com/sitemap.xml.gz # Версия кода: 2.0 # Не забудьте поменять `example.com` на ваш сайт.
Версия 2 (строгая)
В этом варианте мы контролируем все доступы. Сначала глобально запрещаем доступ к почти всему от WP ( Disallow: /wp-
), а затем открываем, там где нужно.
Этот код я пожалуй не рекомендовал бы, потому что тут закрывается все от wp-
и нужно будет описать все что разрешено. Так в будущем, когда WP введет что-то новое, это новое может стать недоступно для роботов. Так например получилось с картой сайта WP.
User-agent: * # Создаем секцию правил для роботов. * значит для всех # роботов. Чтобы указать секцию правил для отдельного # робота, вместо * укажите его имя: GoogleBot, Yandex. Disallow: /cgi-bin # Стандартная папка на хостинге. Disallow: /wp- # Все связанное с WP - это: /wp-content /wp-admin # /wp-includes /wp-json wp-login.php wp-register.php. Disallow: /wp/ # Каталог куда установлено ядро WP (если ядро установлено # в подкаталог). Если WP установлен стандартно, то # правило можно удалить. Disallow: /? # Все параметры запроса на главной. Disallow: *?s= # Поиск. Disallow: *&s= # Поиск. Disallow: /search # Поиск. Disallow: /author/ # Архив автора. Disallow: */embed$ # Все встраивания. Disallow: */xmlrpc.php # Файл WordPress API Disallow: *utm*= # Ссылки с utm-метками Disallow: *openstat= # Ссылки с метками openstat Allow: */wp-*/*ajax*.php # AJAX запросы: */admin-ajax.php */front-ajaxs.php Allow: */wp-sitemap # карта сайта (главная и вложенные) Allow: */uploads # открываем uploads Allow: */wp-*/*.js # внутри /wp- (/*/ - для приоритета) Allow: */wp-*/*.css # внутри /wp- (/*/ - для приоритета) Allow: */wp-*/*.png # картинки в плагинах, cache папке и т.д. Allow: */wp-*/*.jpg # картинки в плагинах, cache папке и т.д. Allow: */wp-*/*.jpeg # картинки в плагинах, cache папке и т.д. Allow: */wp-*/*.gif # картинки в плагинах, cache папке и т.д. Allow: */wp-*/*.svg # картинки в плагинах, cache папке и т.д. Allow: */wp-*/*.webp # файлы в плагинах, cache папке и т.д. Allow: */wp-*/*.swf # файлы в плагинах, cache папке и т.д. Allow: */wp-*/*.pdf # файлы в плагинах, cache папке и т.д. # Секция правил закончена # Одна или несколько ссылок на карту сайта (файл Sitemap). Это независимая # директива и дублировать её для каждого User-agent не нужно. Так например # Google XML Sitemap создает 2 карты сайта: Sitemap: http://example.com/wp-sitemap.xml Sitemap: http://example.com/wp-sitemap.xml.gz # Версия кода: 2.0 # Не забудьте поменять `example.com` на ваш сайт.
В правилах Allow:
вы можете видеть дополнительные, казалось бы ненужные, знаки *
— они нужны для увеличения приоритета правила. Зачем это нужно смотрите в сортировке правил.
Директивы (разбор кода)
- User-agent:
- Определяет для какого робота будет работать блок правил, который написан после этой строки. Тут возможны два варианта:
User-agent: ИМЯ_РОБОТА
— указывает конкретного робота, для которого будет работать блок правил. Например:User-agent: Yandex
,User-agent: Googlebot
.
Googlebot
— основной индексирующий робот.Googlebot-Image
— индексирует изображения.Mediapartners-Google
— робот отвечающий за размещение рекламы на сайте. Важен для тех, у кого крутится реклама от AdSense. Благодаря этому user-agent вы можете управлять размещение рекламы запрещая или разрешая её на тех или иных страницах.- Полный список роботов Google.
- Disallow:
- Запрещает роботам «ходить» по ссылкам, в которых встречается указанная подстрока:
Disallow: /cgi-bin
— закрывает каталог скриптов на сервере.Disallow: *?s=
— закрывает страницы поиска.Disallow: */page/
— закрывает все виды пагинации.Disallow: */embed$
— закрывает все URL заканчивающиеся на/embe
.
Пример добавления нового правила. Допустим нам нужно закрыть от индексации все записи в категории news. Для этого добавляем правило:
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 в WordPress
В WordPress запрос /robots.txt
обрабатывается нестандартно. Для него «налету» создается контент файла robots.txt
(через PHP). Динамическое создание контента /robots.txt
позволит удобно изменять его через админку, хуки или SEO плагины.
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Sitemap: http://example.com/wp-sitemap.xml
Смотрите do_robots()— как работает динамическое создание файла robots.txt.
Этот хук позволяет дополнить уже имеющиеся данные файла robots.txt. Код можно вставить в файл темы functions.php.
// Дополним базовый robots.txt // -1 before wp-sitemap.xml add_action( 'robots_txt', 'wp_kama_robots_txt_append', -1 ); function wp_kama_robots_txt_append( $output ){ $str = ' Disallow: /cgi-bin # Стандартная папка на хостинге. Disallow: /? # Все параметры запроса на главной. Disallow: *?s= # Поиск. Disallow: *&s= # Поиск. Disallow: /search # Поиск. Disallow: /author/ # Архив автора. Disallow: */embed # Все встраивания. Disallow: */page/ # Все виды пагинации. Disallow: */xmlrpc.php # Файл WordPress API Disallow: *utm*= # Ссылки с utm-метками Disallow: *openstat= # Ссылки с метками openstat '; $str = trim( $str ); $str = preg_replace( '/^[\t ]+(?!#)/mU', '', $str ); $output .= "$str\n"; return $output; }
В результате перейдем на страницу /robots.txt
и видим:
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Disallow: /cgi-bin # Стандартная папка на хостинге. Disallow: /? # Все параметры запроса на главной. Disallow: *?s= # Поиск. Disallow: *&s= # Поиск. Disallow: /search # Поиск. Disallow: /author/ # Архив автора. Disallow: */embed # Все встраивания. Disallow: */page/ # Все виды пагинации. Disallow: */xmlrpc.php # Файл WordPress API Disallow: *utm*= # Ссылки с utm-метками Disallow: *openstat= # Ссылки с метками openstat Sitemap: http://example.com/wp-sitemap.xml
do_robotstxt
Этот хук позволяет полностью заменить контент страницы /robots.txt
.
add_action( 'do_robotstxt', 'wp_kama_robots_txt' ); function wp_kama_robots_txt(){ $lines = [ 'User-agent: *', 'Disallow: /wp-admin/', 'Disallow: /wp-includes/', '', ]; echo implode( "\r\n", $lines ); die; // обрываем работу PHP }
Теперь, пройдя по ссылке http://site.com/robots.txt
увидим:
User-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/
- Закрывать страницы тегов и категорий
Если ваш сайт действительно имеет такую структуру, что на этих страницах контент дублируется и в них нет особой ценности, то лучше закрыть. Однако нередко продвижение ресурса осуществляется в том числе за счет страниц категорий и тегирования. В этом случае можно потерять часть трафика
- Прописать Crawl-Delay
Модное правило. Однако его нужно указывать только тогда, когда действительно есть необходимость ограничить посещение роботами вашего сайта. Если сайт небольшой и посещения не создают значительной нагрузки на сервер, то ограничивать время «чтобы было» будет не самой разумной затеей.
- Ляпы
Некоторые правила я могу отнести только к категории «блогер не подумал». Например: Disallow: /20 — по такому правилу не только закроете все архивы, но и заодно все статьи о 20 способах или 200 советах, как сделать мир лучше - Закрывать от индексации страницы пагинации
/page/
Это делать не нужно. Для таких страниц настраивается тег
rel="canonical"
, таким образом, такие страницы тоже посещаются роботом и на них учитываются расположенные товары/статьи, а также учитывается внутренняя ссылочная масса. - Открыть папку uploads только для Googlebot-Image и YandexImages
User-agent: Googlebot-Image Allow: /wp-content/uploads/ User-agent: YandexImages Allow: /wp-content/uploads/
Совет достаточно сомнительный, т.к. для ранжирования страницы необходима информация о том, какие изображения и файлы на ней размещены.
- Нельзя закрывать /wp-admin/admin-ajax.php
Роботы анализируют структуру сайта — из чего он состоит, включая файлы CSS, JS и ajax запросы.
Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php
Нельзя закрывать /wp-includes/
Disallow: /wp-includes/
C приходом алгоритма Panda 4, Google стал видеть сайты так же как пользователи, вместе с CSS и JavaScript.
На многих сайтах используются старые приёмы, которые блокируют индексацию /wp-includes/
. А тут хранятся файлы стилей и скриптов, которые часто подлючаются на фронте. Например, файлы:
/wp-includes/css/dist/block-library/style.min.css /wp-includes/js/wp-embed.min.js
Эти файлы, необходимые для работы сайта. А это значит, Google увидит сайт уже не таким, как его видят посетители.
Не закрывайте фиды: */feed
Disallow: */feed
Потому что наличие открытых фидов требуется, например, для Яндекс Дзен, когда нужно подключить сайт к каналу (спасибо комментатору «Цифровой»). Возможно открытые фиды нужны где-то еще.
Фиды имеют свой формат в заголовках ответа, благодаря которому поисковики понимают что это не HTML страница, а фид и, очевидно, обрабатывают его иначе.
Нестандартные Директивы
Clean-param
Google не понимаю эту директиву. Указывает роботу, что URL страницы содержит GET-параметры, которые не нужно учитывать при индексировании. Такими параметрами могут быть идентификаторы сессий, пользователей, метки UTM, т.е. все то что не влияет на содержимое страницы.
Заполняйте директиву Clean-param максимально полно и поддерживайте ее актуальность. Новый параметр, не влияющий на контент страницы, может привести к появлению страниц-дублей, которые не должны попасть в поиск. Из-за большого количества таких страниц робот медленнее обходит сайт. А значит, важные изменения дольше не попадут в результаты поиска. Робот Яндекса, используя эту директиву, не будет многократно перезагружать дублирующуюся информацию. Таким образом, увеличится эффективность обхода вашего сайта, снизится нагрузка на сервер.
Например, на сайте есть страницы, в которых параметр ref
используется только для того, чтобы отследить с какого ресурса был сделан запрос и не меняет содержимое, по всем трем адресам будет показана одна и та же страница:
example.com/dir/bookname?ref=site_1 example.com/dir/bookname?ref=site_2 example.com/dir/bookname?ref=site_3
Если указать директиву следующим образом:
User-agent: Yandex Clean-param: ref /dir/bookname
то робот Яндекса сведет все адреса страницы к одному:
example.com/dir/bookname
Пример очистки нескольких параметров сразу: ref
и sort
:
Clean-param: ref&sort /dir/bookname
Clean-Param является межсекционной, поэтому может быть указана в любом месте файла robots.txt. Если директив указано несколько, все они будут учтены роботом.
Crawl-delay (устарела)
User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Crawl-delay: 1.5 User-agent: * Disallow: /wp-admin Disallow: /wp-includes Allow: /wp-*.gif
Host (устарела)
Google Директиву Host никогда не поддерживал, а Яндекс полностью отказывается от неё. Host можно смело удалять из robots.txt. Вместо Host нужно настраивать 301 редирект со всех зеркал сайта на главный сайт (главное зеркало).
Заключение
Важно помнить, что изменения в robots.txt на уже рабочем сайте будут заметны только спустя несколько месяцев (2-3 месяца).
Ходят слухи, что Google иногда может проигнорировать правила в robots.txt и взять страницу в индекс, если сочтет, что страница ну очень уникальная и полезная и она просто обязана быть в индексе. Однако другие слухи опровергают эту гипотезу, ссылаясь на неправильный код robots.txt. Я больше склоняюсь ко второму.
Файл robots.txt необходим роботам поисковых систем, чтобы они могли понять, какие страницы и разделы сайта следует посещать и включать в индекс, а какие – не нужно. Запрещенные для посещения поисковыми ботами страницы не будут индексироваться и появляться в выдаче Яндекса, Google и прочих поисковиков.
Вот наглядный пример того, в чем разница между веб-ресурсом, у которого настроен файл robots, и сайтом без него:
В данной статье я расскажу о нескольких способах правильной настройки robots.txt для популярного движка WordPress.
Оптимальный код файла для WordPress
User-agent: *
Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: /? # все параметры запроса с ?
Disallow: /*? # поиск
Disallow: /& # поиск
Disallow: /*& # поиск
Disallow: /author/ # архив автора
Disallow: /embed # все встраивания
Disallow: /page/ # все виды пагинации
Disallow: /trackback # уведомление о ссылках-трекбэках
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
Sitemap: https://domain.ru/sitemap.xml
Важно!
Не забудьте поменять “https://domain.ru/sitemap.xml” на свой пусть к файлу sitemap.
Теперь разберем, какие директивы в коде что означают:
- User-agent: Googlebot
– для главного робота Гугла. - User-agent: Yandex
– для главного бота Яндекса.
2. Строка Allow: /uploads
указывается, чтобы разрешить ботам вносить в индекс страницы, где присутствует /uploads. Нужно обязательно указать данное правило, потому что выше запрещены к индексированию страницы, которые начинаются с /wp-, а проблема в том, что /uploads присутствует в /wp-content/uploads.
Команда Allow: /uploads нужна для перебивания правила Disallow: /wp-, так как по ссылкам типа /wp-content/uploads/ могут располагаться изображения, важные для индексации. Помимо картинок есть вероятность присутствия прочих файлов, которые нет нужды запрещать включать в поиск. Строчку Allow допускается прописывать и до, и после Disallow.
3. Директивы Disallow:
запрещают ботам переходить по ссылкам, начинающимся с:
- Disallow: /trackback
— закрывает уведомления - Disallow: /s или Disallow: /*?
— закрывает страницы поиска - Disallow: /page/
— закрывает все виды пагинации
4. Строчка Sitemap: http://domain.ru/sitemap.xml сообщает поисковому боту о XML файле с картой сайта. Если на вашем ресурсе присутствует данный файл, укажите к нему полный путь. Если их несколько, нужно прописать путь отдельно к каждому из них.
Это связано с тем, что доступ к фидам нужен, к примеру, для подключения сайта к каналу Яндекс Дзен, Турбо страниц. Могут быть еще некоторые случаи, где нужны открытые фиды. Через feed передается контент в формате .rss. Если вы не знаете что это такое, то читайте более подробную статью — что такое RSS.
У фидов собственный формат в заголовках ответа, что позволяет поисковым системам понять, что это фид, а не HTML документ, и обрабатывать его по-другому.
А если вы не хотите передавать RSS, чтобы например у вас не воровали через него контент, то тогда надежнее отключить его с помощью специальных плагинов, например Disable Feeds.
Сортировка правил перед обработкой
Google и Яндекс обрабатывают правила Disallow и Allow без соблюдения порядка, в котором они прописаны в robots.txt. Поисковики сортируют директивы от коротких к длинным, после чего обрабатывают последнюю подходящую директиву.
Например, данная инструкция:
User-agent: *
Allow: /uploads
Disallow: /wp-
Поисковые системы обработают следующим образом:
User-agent: *
Disallow: /wp-
Allow: /uploads
В случае проверки ссылки типа /wp-content/uploads/file.jpg, директива Disallow сначала запретит ссылку с /wp-, а затем Allow разрешит ее индексировать, поэтому ссылка будет доступна для
роботов.
Стандартный файл robots для WordPress
Хотя первый метод является более современным и логичным, но я все же пользуюсь вторым файлом robots.txt. Потому что мне так спокойнее, что с помощью директивы Dissalow: /wp- я не запрещу что то нужное, поэтому я прописываю каждую папку отдельно.
Исходя из вышеперечисленных правок, у меня получается вот такой robots.txt:
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: /trackback
Disallow: /page/
Disallow: /search
Disallow: /&
Disallow: /?
Disallow: /*?
Allow: /wp-admin/admin-ajax.php
Sitemap: http://domain.ru/sitemap.xml
Доработка файла под свои цели
Если потребуется заблокировать еще какие-то страницы или разделы веб-ресурса, добавьте директиву Disallow. К примеру, желая скрыть от роботов все публикации в рубрике News, пропишите правило:
Disallow: /news
Так вы запретите ботам переходить по ссылкам типа http://domain.ru/news и закроете от индексации такие страницы:
- http://domain.ru/news;
- http://domain.ru/my/news/nazvanie/;
- http://domain.ru/category/newsletter-nazvanie.html.
Постоянно проверяйте, какие страницы проиндексированы поисковыми системами и находятся в выдаче. Сделать это можно с помощью оператора site:domain.ru.
И если заметили мусорные, ненужные страницы, то блокируйте их в robots.txt.
Проверка файла и документация
Проверить корректность директив, прописанных в robots.txt, вы можете по ссылкам:
В CMS Вордпресс обработка запроса на файл robots производится отдельно. Вебмастеру нет нужды самостоятельно создавать в корневом каталоге сайта файл robots. Это не то что можно не делать, но и нужно, иначе плагины не смогут изменять
созданный вебмастером файл, когда в этом появится необходимость.
Для изменения содержания динамического robots налету, через хук do_robotstxt, добавьте данный код в файл funtcions.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
}
При переходе по ссылке http://example.com/robots.txt вы увидите следующий код:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Обязательно следите за актуальностью своего robots.txt. Проверяйте страницы на индексацию, чтобы там не было мусорных, не нужных страниц. Если такие заметили, то блокируйте их. При внесении изменений в файл robots.txt для уже рабочего веб-сайта результат будет видно не раньше, чем через 2-3 месяца.
Я всегда стараюсь следить за актуальностью информации на сайте, но могу пропустить ошибки, поэтому буду благодарен, если вы на них укажете. Если вы нашли ошибку или опечатку в тексте, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Для чего нужен файл robots. txt?
Для того чтобы сайт начал отображаться в Яндекс, Google, Yahoo и других поисковых системах (ПС), они должны внести его страницы в свои каталоги. Этот процесс называется индексацией.
Чтобы проиндексировать тот или иной веб-ресурс, поисковые системы посылают на сайты поисковых роботов
(иногда их называют ботами). Они методично сканируют и обрабатывают содержимое каждой страницы сайта. После окончания индексации начинается «социальная жизнь» ресурса: его контент попадается пользователям в результатах поиска по запросам.
Многие сайты создаются на готовых движках и CMS (системах управления контентом) WordPress, Joomla, Drupal и других. Как правило, такие системы содержат страницы, которые не должны попадать в поисковую выдачу:
- временные файлы (tmp);
- личные данные посетителей (private);
- служебные страницы (admin);
- результаты поиска по сайту и т. д.
Чтобы внутренняя информация не попала в результаты поиска, ее нужно закрыть от индексации. В этом помогает файл robots.txt. Он служит для того, чтобы сообщить поисковым роботам, какие страницы сайта нужно индексировать, а какие — нет. Иными словами, robots.txt — это файл, состоящий из текстовых команд (правил), которыми поисковые роботы руководствуются при индексации сайта.
Наличие robots.txt значительно ускоряет процесс индексации. Благодаря нему в поисковую выдачу не попадают лишние страницы, а нужные индексируются быстрее.
Где находится robots. txt WordPress?
Файл robots.txt находится в корневой папке сайта. Если сайт создавался на WordPress, скорее всего, robots.txt присутствует в нем по умолчанию. Чтобы найти robots.txt на WordPress, введите в адресной строке браузера:
https://www.домен-вашего-сайта/robots.txt
- Если же файл robots.txt по какой-то причине отсутствует, вы можете создать его вручную на своем компьютере и загрузить на хостинг или воспользоваться готовыми решениями (плагинами WordPress).
Создание robots.txt вручную
- Откройте программу «Блокнот».
-
-
Введите название robots.txt и нажмите Сохранить.
-
Откройте корневую папку сайта и загрузите в нее созданный файл по инструкции.
- Откройте административную панель WordPress по инструкции.
-
Перейдите в раздел «Плагины» и нажмите Добавить новый:
Введите в строке поиска справа название Yoast SEO и нажмите Enter
Настройка robots. txt WordPress
После создания файла вам предстоит настроить robots.txt для своего сайта. Рассмотрим основы синтаксиса (структуры) этого файла:
Файл может состоять из одной и более групп директив (правил). 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: /trackback
Disallow: /page/
Disallow: /search
Disallow: /&
Disallow: /?
Disallow: /*?
Allow: /wp-admin/admin-ajax.php
Sitemap: http://domain.ru/sitemap.xml
В каждой группе должно указываться, для какого поискового робота предназначены правила, к каким разделам/файлам у него нет доступа, а к какому — есть.
Как редактировать robots. txt на WordPress?
Чтобы внести изменения в файл robots.txt, откройте его в панели управления хостингом. Используйте плагин Yoast SEO (или аналогичное решение в WordPress) для редактирования файлов:
Проверка работы файла robots. txt
Чтобы убедиться в корректности составленного файла, используйте стандартный инструмент Яндекс. Вебмастер:
- Содержимое robots.txt обновится автоматически. Нажмите Проверить:
Robots.txt создан для регулирования поведения поисковых роботов на сайтах, а именно куда им заходить можно и брать в поиск, а куда нельзя. Лет 10 назад сила данного файла была велика, по его правилам работали все поисковые системы, но сейчас он скорее как рекомендация, чем правило.
Но пока не отменили, вебмастера должны делать его и настраивать правильно исходя из структуры и иерархии сайтов. Отдельная тема это WordPress, потому что CMS содержит множество элементов, которые не нужно сканировать и отдавать в индекс. Разберемся как правильно составить robots.txt
Где лежит файл robots в WordPress
Расположение на сервере
Если не создавался и не загружался администратором сайта, то по умолчанию на сервере не найти. Стандартная сборка WordPress не предусматривает наличие такого объекта.
Как создать правильный robots txt
Создать правильный robots txt задача не трудная, сложнее прописать в нем правильные директивы. Сначала создадим документ, открываем программу блокнот и нажимаем сохранить как.
Сохраняем документ
В следующем окне задаем название robots, оставляем расширение txt, кодировку ANSI и нажимаем сохранить. Объект появится в папке куда произошло сохранение. Пока документ пустой и ничего не содержит в себе, давайте разберемся какие именно директивы он может поддерживать.
Настройка команд
Выделю четыре основные команды:
- User-agent: показывает правила для разных поисковых роботов, либо для всех, либо для отдельных
- Disalow: запрещает доступ
- Allow: разрешаем доступ
- Sitemap: адрес до XML карты
Устаревшие и ненужные конфигурации:
- Host: указывает главное зеркало, стало не нужным, потому что поиск сам определит правильный вариант
- Crawl-delay: ограничивает время на пребывание робота на странице, сейчас сервера мощные и беспокоится о производительности не нужно
- Clean-param: ограничивает загрузку дублирующегося контента, прописать можно, но толку не будет, поисковик проиндексирует все, что есть на сайте и возьмет по–максимому страниц
Рабочий пример инструкций для WordPress
Дело в том что поисковой робот не любит запрещающие директивы, и все равно возьмет в оборот, что ему нужно. Запрет на индексацию должен быть объектов, которые 100% не должны быть в поиске и в базе Яндекса и Гугла. Данный рабочий пример кода помещаем в robots txt.
User-agent: *
Disallow: /wp-
Disallow: /tag/
Disallow: */trackback
Disallow: */page
Disallow: /author/*
Disallow: /template.html
Disallow: /readme.html
Disallow: *?replytocom
Allow: */uploads
Allow: *.js
Allow: *.css
Allow: *.png
Allow: *.gif
Allow: *.jpg
Sitemap: https://ваш домен/sitemap.xml
Разберемся с текстом и посмотрим что именно мы разрешили, а что запретили:
- User-agent, поставили знак *, тем самым сообщив что все поисковые машины должны подчиняться правилам
- Блок с Disallow запрещает к индексу все технические страницы и дубли. обратите внимание что я заблокировал папки начинающиеся на wp-
- Блок Allow разрешает сканировать скрипты, картинки и css файлы, это необходимо для правильного представления проекта в поиске иначе вы получите портянку без оформления
- Sitemap: показывает путь до XML карты сайта, обязательно нужно ее сделать, а так же заменить надпись»ваш домен»
Остальные директивы рекомендую не вносить, после сохранения и внесения правок, загружаем стандартный robots txt в корень WordPress. Для проверки наличия открываем такой адрес https://your-domain/robots.txt, заменяем домен на свой, должно отобразится так.
Адрес в строке запроса
Как проверить работу robots. txt
Стандартный способ проверить через сервис . Для лучшего анализа нужно зарегистрировать и установить на сайт сервис. Вверху видим загрузившийся robots, нажимаем проверить.
Проверка документа в yandex
Ниже появится блок с ошибками, если их нет то переходим к следующему шагу, если неверно отображается команда, то исправляем и снова проверяем.
Проверим правильно ли Яндекс обрабатывает команды, спускаемся чуть ниже, введем два запрещенных и разрешенных адреса, не забываем нажать проверить. На снимке видим что инструкция сработала, красным помечено что вход запрещен, а зеленой галочкой, что индексирование записей разрешена.
Плагин–генератор Virtual Robots. txt
Если не хочется связываться с FTP подключением, то приходит на помощь один отличный WordPress плагин–генератор называется. Устанавливаем стандартно из админки вордпресс поиском или загрузкой архива, выглядит так.
Переходим в админку Настройки > Virtual Robots.txt, видим знакомую конфигурацию, но нам нужно ее заменить, на нашу из статьи. Копируем и вставляем, не забываем сохранять.
Роботс автоматически создастся и станет доступен по тому же адресу. При желании проверить есть он в файлах WordPress – ничего не увидим, потому что документ виртуальный и редактировать можно только из плагина, но Yandex и Google он будет виден.
Добавить с помощью Yoast SEO
Знаменитый плагин Yoast SEO предоставляет возможность добавить и изменить robots.txt из панели WordPress. Причем созданный файл появляется на сервере (а не виртуально) и находится в корне сайта, то есть после удаления или деактивации роботс остается. Переходим в Инструменты > Редактор.
Если robots есть, то отобразится на странице, если нет есть кнопка «создать», нажимаем на нее.
Выйдет текстовая область, записываем, имеющийся текст из универсальной конфигурации и сохраняем. Можно проверить по FTP соединению документ появится.
Изменить модулем в All in One SEO
Старый плагин All in One SEO умеет изменять robots txt, чтобы активировать возможность переходим в раздел модули и находим одноименный пункт, нажимаем Activate.
В меню All in One SEO появится новый раздел, заходим, видим функционал конструктора.
- Записываем имя агента, в нашем случае * или оставляем пустым
- Разрешаем или запрещаем индексацию
- Директория или страница куда не нужно идти
- Результат
Модуль не удобный, создать по такому принципу валидный и корректный robots.txt трудно. Лучше используйте другие инструменты.
Правильная настройка для плагина WooCommerce
Чтобы сделать правильную настройку для плагина интернет магазина на WordPress WooCommerce, добавьте эти строки к остальным:
Disallow: /cart/
Disallow: /checkout/
Disallow: /*add-to-cart=*
Disallow: /my-account/
Делаем аналогичные действия и загружаем на сервер через FTP или плагином.
Итог
Подведем итог что нужно сделать чтобы на сайте WordPress был корректный файл для поисковиков:
- Создаем вручную или с помощью плагина файл
- Записываем в него инструкции из статьи
- Загружаем на сервер
- Проверяем в валидаторе Yandex
- Не пользуйтесь генераторами robots txt в интернете, пошевелите немного руками
Совершенствуйте свои блоги на WordPress, продвигайтесь и правильно настраивайте все параметры, а мы в этом поможем, успехов!
Файл Robots.txt– это обычный текстовый файл в формате .txt, содержащий инструкции и директивы для поисковых роботов, запрещающие индексировать определенные файлы сайта, его документы и папки. То есть, данный файл ограничивает ботам поисковых систем доступ к содержимому сайта.
Robots.txt является стандартом исключений для роботов, принятым консорциумом W3C 30 января 1994 года. Его использует большая часть современных поисковиков, как рекомендацию к индексированию проекта.
Зачем Robots. txt нужен для SEO?
Robots играет одну из важнейших ролей для поисковой оптимизации.
- Поисковые системы при каждом сканировании сайта изначально обращаются именно к этому файлу, чтобы узнать, можно ли индексировать страницы и у этого сайта.
- В Robots находятся все основные инструкции, которым должен следовать робот.
В нем ненужные страницы, не содержащие полезной для пользователей информации, исключаются из поиска, указывается путь к Sitemap.
Если допустить ошибку в инструкциях и директивах, сайт может полностью пропасть из поискового индекса. Важно уметь корректно настраивать данный файл, так как от этого зависит видимость вашего сайта в поисковых системах и дальнейший рост объема трафика на проекте.
Ручное создание robots.txt
Для самостоятельного создания файла достаточно воспользоваться любым текстовым редактором:
- Блокнот;
- Microsoft Word;
- NotePad++;
- SublimeText и т.д.
В документе прописываете инструкции в зависимости от ваших целей и сохраняете файл в формате .txt, назвав его “robots”.
Затем загружаете файл в корневой каталог сайта – папку с названием вашего ресурса, где также располагаются индексный файл index.html и файлы движка, на базе которого сделан сайт. Для загрузки robots.txt на сервер используют:
- панель управления сервером, к примеру, Cpanel или ISPmanager;
- консоль, админку в CMS;
- FTP-клиент, например, TotalCommander или FileZilla.
Есть движки управления сайтами, у которых есть встроенная функция, позволяющая создать файл роботс в администраторской панели сайта. Если же ее нет, можно установить специальные модули или плагины.
Вообще нет разницы, каким из вышеперечисленных методов создавать данный текстовый файл.
Вариант для ленивых – онлайн сервисы, генерирующие роботс автоматически. В интернете можно найти множество подобных инструментов, к примеру, на сайте CY-PR.
Такой вариант хорошо подходит владельцам огромного количества сайтов, потому что для всех них будет сложно вручную прописать практически одни и те же инструкции.
Автоматически сгенерированные файлы robots.txt могут потребовать самостоятельной корректировки, поэтому иметь базовые знания синтаксиса и правил написания файла все равно нужно.
В Сети нет проблем отыскать шаблоны готового robots.txt для популярных движков по типу WordPress, Joomla, Drupal и так далее. В шаблон лишь избавляет от многократного написания стандартных директив и учитывает нюансы определенного движка сайта. Но и тут нужны знания, потому что сам по себе шаблон не предоставит корректно настроенный файл и каждый проект может быть индивидуален.
После создания файла Robots вы можете его редактировать в ходе оптимизации ресурса. Делается это непосредственно в текстовом файле robots.txt с соблюдением правил и синтаксиса файла. После редактирования robots.txt выгружайте на сайт обновленную версию файла. Так же для определенных CMS существуют плагины и дополнения, которые позволяют редактировать данный файл прям в админ панели.
В Robots.txt прописываются директивы для роботов поисковых систем, тем самым помогая им понять, какие страницы/разделы индексировать, а какие – нет.
2. Disallow.
Самая распространенная директива, запрещающая индексировать отдельные страницы или целые разделы веб-сайта. Здесь зачастую указывают:
- страницы пагинации;
- страницы с личными данными пользователей;
- страницы с результатами поиска внутри ресурса;
- дублирующиеся страницы;
- логи;
- служебные/технические страницы.
3. Allow.
Противоположная Disallow директива, разрешающая поисковому роботу обход конкретных страниц или разделов сайта. Здесь, как и в Disallow, допускается применение спецсимволов.
4. Sitemap.
Данная директива сообщает ботам расположение XML карты сайта. Нужно указывать полный URL. Она важна для поисковых машин Google и Яндекс, так как при обходе сайта в первую очередь они обращаются именно к Sitemap, где показана структура ресурса со внутренними ссылками, приоритетами индексации страниц и датами их создания или изменения.
5. Clean-param.
Запрещает ботам обходить страницы с динамическими параметрами, которые полностью дублируют контент основных страниц. В основном проблема динамических параметров встречается на сайтах интернет-магазинов, а именно в URL-адресах для передачи данных по источникам сессий, персональных идентификаторов посетителей.
6. Crawl-delay
Инструкция ограничивает частоту посещений одного бота в интервал времени. То есть, он задает в секундах минимальный промежуток времени между окончанием загрузки одного документа и началом загрузки следующего. Благодаря данной директиве снижается нагрузка на сервер, чтобы роботы не посещали сайт слишком часто. Проблема актуальна на крупных сайтах с большим количеством страниц.
7. Host
Раньше это была межсекционная инструкция чисто для Яндекса, никакие другие поисковики ее не понимали. Она служила для указания главному роботу Яндекса главного зеркала сайта, если есть доступ к сайту по нескольким доменам. Но с марта месяца 2018 года Яндекс больше не использует директиву Host. Ее функции взял на себя раздел “Переезд сайта в Вебмастере” и 301 редирект.
1. В первую очередь роботам следует запретить включать в индекс любые дубли страниц.
Доступ к странице должен осуществляться только по одному URL. Обращаясь к сайту, поисковый бот по каждому УРЛу должен получать в ответ страницу с уникальным содержанием. Дубли часто появляются у CMS в процессе создания страниц. Так, один и тот же документ можно найти по техническому УРЛ http://site.ru/?p=391&preview=true и ЧПУ http://site.ru/chto-takoe-seo. Нередко дубли появляются и из-за динамических ссылок. Нужно их всех скрывать от индекса с помощью масок:
Disallow: /*?*
Disallow: /*%
Disallow: /index.php
Disallow: /*?page=
Disallow: /*&page=
2. Все страницы с неуникальным контентом.
Такие документы рекомендуется скрыть от поисковых машин до того, как они попадут в индекс.
3. Все страницы, применяемые при работе сценариев.
К таким страницам относят такие, где есть подобные сообщения: “Спасибо за ваш отзыв!”.
4. Страницы, включающие индикаторы сессий.
Для подобных страниц тоже рекомендуется использовать директиву Disallow:
Disallow: *PHPSESSID=
Disallow: *session_id=
5. Все файлы движка управления сайтом.
К ним относятся файлы шаблонов, администраторской панели, тем, баз и прочие:
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
6. Бесполезные для пользователей страницы и разделы.
Без какого-либо содержания, с неуникальным контентом, результаты поиска, несуществующие и так далее.
Держите файл robots.txt в чистоте, и тогда ваш сайт будет индексироваться быстрее и лучше, а ранжироваться выше.
Так выглядит стандартный шаблон структуры файла robots обычного веб-сайта:
User-agent: Yandex
Disallow: /admin
Disallow: *?s=
Disallow: *?p=
User-agent: Googlebot
Disallow: /admin
Disallow: *?s=
Disallow: *?p=
User-agent: *
Disallow: /admin
Disallow: *?s=
Disallow: *?p=
Sitemap: https://site.ru/sitemap.xml
# Для всех поисковых ботов
User-agent: *
# Для всех роботов Яндекса
User-agent: Yandex
# Для основного индексирующего робота Google
User-agent: Googlebot
Оптимизаторы в robots.txt эти три директивы используют чаще всего. Это общие роботы поисковиков, но есть также и инструкции, описываемые для ботов, индексирующих, например, только новостные разделы:
- YandexNews;
- Googlebot-News.
В них тоже допускается прописывать определенные директории.
Таким образом мы разрешаем обходить сайт только роботам Яндекса и Google:
#Разрешаем роботу Яндекса индексацию всего сайта
User-agent: Yandex
Allow: /
#Разрешаем роботу Google индексацию всего сайта
User-agent: Googlebot
Allow: /
#Запрещаем индексацию сайта всем остальным роботам
User-agent: *
Disallow: /
Кириллица в файле Robots
Писать кириллические символы в директориях robots.txt, а также HTTP-заголовках сервера запрещено.
Чтобы указывать названия кириллических доменов, воспользуйтесь Punycode. U RL-адреса указывайте в кодировке, которая соответствует структуре ресурса.
#Неправильно:
User-agent: Yandex
Disallow: /корзина
Sitemap: сайт.рф/sitemap.xml
# Правильно:
User-agent: Yandex
Disallow: /%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0
Sitemap: http://xn--80aswg.xn--p1ai/sitemap.xml
Как проверить Robots. txt?
После загрузки файла на сервер нужно обязательно проверить, доступен ли он, корректно ли написан и нет ли ошибок.
Проверка на сайте
Сделав все верно и загрузив файл в корневой каталог сайта, он станет доступным по ссылке типа site.ru/robots.txt (вместо site.ru указывается URL вашего ресурса).
Это общедоступный файл и его можно посмотреть и изучить у любого сайта.
Проверка на ошибки
Сделать это можно двумя способами: