Если кто-то думает, что без Robots.txt можно обойтись — ошибается. Я тоже так думал, пока в поиске не обнаружил «левые» страницы своего сайта. В этой заметке я расскажу как создать правильный Robots.txt для WordPress.
Зачем нужен Robots.txt?
Он нужен в основном для того, чтобы исключить из поиска служебные страницы и конфиденциальные файлы, системные файлы и папки, различные документы, закрытые от посторонних лиц, страницы заказов, личная информация и т.д. По умолчанию, если нет Robots.txt — поисковик парсит все, что найдет, все скрытые закутки вашего сайта и выводит это все «добро» в результатах поисковой выдачи. Robots.txt как раз помогает этого избежать, чтобы лишние данные не просочились в поиск, а для этого в файле указываются специальные директивы, которые закрывают от индексации определенные разделы и страницы веб-сайта.
WordPress не создает Robots.txt автоматически?
Cразу после установки, WordPress создает виртуальный robots.txt с базовыми директивами. Выглядит он так:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.phpSitemap: https://mywebsite.com/sitemap.xml
Он хотя и универсальный, но не исключает из поиска системные страницы. Используется для определенных модулей, таких как Google Sitemap Generator, Yoast SEO или WP-Security, которые требуют наличия robots.txt
Для ленивых написали специальный плагин Virtual Robots.txt, который работает через functions.php
Но все это «ходули». Пока у вас маленький сайт вы не сильно что-то замечаете, но когда наберется достаточное количество трафика, вы сразу же увидите статистику, сколько посетителей попадают на левые, админские страницы вашего сайта и поймете, что «дом» был построен не правильно. Нужно все переделывать. Виртуальный роботс и другие «ходули» не справляются, нужно создавать обычный, нормальный robots.
Ниже представлю работающий пример.
Пример работающего Robots.txt для WordPress
Файл создаете в формате .txt, желательно в редакторе Notepad ++, или другом подобном, в стандартной кодировке UTF-8. Помещается в корневую директорию сайта:
User-agent: * # правила для всех роботов Disallow: /cgi-bin # скрипты на сервере Disallow: /? # все параметры URL со знаком ? Disallow: /wp- # все сис. папки и файлы WP Disallow: *?s= # параметры URL со спецсимволом Disallow: *&s= # см. выше Disallow: /search/ # поиск Disallow: /author/ # архив автора Disallow: */trackback # уведомления в комментариях Disallow: */feed # все фиды Disallow: */rss # rss фид Disallow: */embed # все встраивания Disallow: /xmlrpc.php # файл WordPress API Disallow: *utm*= # ссылки с utm-метками Disallow: *openstat= # ссылки с метками openstat Allow: */uploads # открываем папку с картинками Allow: /*/*.js # открываем js-скрипты Allow: /*/*.css # открываем css-файлы Allow: /wp-*.png # изображения в плагинах Allow: /wp-*.jpg # картинки в плагинах Allow: /wp-*.jpeg # изображения в плагинах Allow: /wp-*.gif # картинки в плагинах Allow: /wp-*.svg # изображения в плагинах Allow: /wp-*.pdf # файлы в плагинах Allow: /wp-admin/admin-ajax.php # используется плагинами Sitemap: http://example.com/sitemap.xml # путь к карте сайта
Как проверить Robots.txt на ошибки?
В Панелях Вебмастера в Яндекс и Google есть специальные инструменты для тестирования роботса: