Относительно того, что должно быть внутри файла robots.txt до сих пор возникает куча споров. Вообще, на мой взгляд, этот файл должен содержать две обязательные вещи:
- путь к карте сайта:
Sitemap: https://misha.blog/sitemap.xml
Некоторые плагины вставляют эту директиву автоматически.
- директиву host для Яндекса (нужна, если у вашего сайта есть зеркала, для того, чтобы показать главное зеркало):
Host: truemisha.ru
Скрывать в нём все функциональные PHP-файлы (как делают некоторые вебмастера) я не вижу смысла. А уж страницы сайта тем более. Я проводил эксперимент со скрытием страниц через robots.txt — они всё равно попали в индекс, но только без заголовка и без сниппета.
Для скрытия от индексации страниц сайта используйте метатег:
<meta name="robots" content="noindex, follow" /> |
Функция do_robots()
Выводит несколько директив для файла robots.txt, рекомендуемые для WordPress.
do_robots() |
Параметров не имеет, зато имеет 1 хук и 1 фильтр.
Рассмотрим по порядку, как работает функция:
- В первую очередь функция устанавливает
Content-Typeдокумента наtext/plain(с кодировкой UTF-8). - Затем запускается экшен
do_robotstxt(без параметров). - Третьим шагом идёт проверка, отмечена ли галочка «Попросить поисковые системы не индексировать сайт» в настройках чтения:
- Если отмечена, содержимое
robots.txtбудет:User-agent: * Disallow: /
Если не отмечена:
User-agent: * Disallow: /wp-admin/
- Непосредственно перед выводом срабатывает фильтр
robots_txt(WordPress 3.0+) с двумя параметрами —$output(то, что подготовлено для вывода вrobots.txt) и$public(отмечена ли галочка в пункте 3).
Готовый robots.txt
К результату функции do_robots() добавим еще то, о чем я говорил в начале поста и получим вот такой robots.txt для WordPress:
User-agent: * Disallow: /wp-admin/ User-agent: Yandex Disallow: /wp-admin/ Host: truemisha.ru Sitemap: https://misha.blog/sitemap.xml |
Создать его вы можете при помощи любого текстового редактора. Сохраните его там же, где находятся директории wp-admin и wp-content.
Источник: misha.blog
