Вопрос или проблема
На каждом установке WordPress есть стандартный виртуальный файл robots.txt
со следующим содержимым:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
но в моих двух последних проектах /robots.txt
выдает 404 вместо этого.
- Я попробовал отключить все плагины
- Я попробовал переключить тему на пустую
- Попробовал посмотреть на другой более старый проект, который я обновил на прошлой неделе, и
robots.txt работает
Это не связано с сервером, потому что это работает в моей локальной среде со старым проектом
Какие-нибудь идеи почему?
Не важно. Просто не работает, когда WordPress находится в подкаталоге.
(robots.txt должен быть в корне сайта, поэтому просто создайте собственный, если WordPress находится в подкаталоге)
Ответ или решение
Проблема отсутствия виртуального файла robots.txt
на вашем сайте WordPress может вызвать некоторые затруднения в работе с поисковыми системами. Давайте разберемся в деталях данной ситуации и найдём оптимальное решение.
Проблема
По умолчанию в любой установке WordPress существует "виртуальный" файл robots.txt
, который автоматически генерируется и предоставляет поисковым роботам настройки доступа к вашему сайту. Обычно этот файл содержит следующие строки:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Однако в вашем случае, обращение к /robots.txt
на последних двух проектах возвращает ошибку 404. Вы уже предприняли ряд шагов для диагностики проблемы:
- Отключили все плагины.
- Переключились на пустой шаблон.
- Проверили более старый проект, где файл
robots.txt
работает корректно.
Вы также отметили, что это не проблема с сервером, так как на локальной среде с более старым проектом данный файл работает.
Анализ
Из вашего последнего комментария следует, что проблема проявляется только в случаях, когда WordPress установлен в подкаталоге (subfolder) сайта. Действительно, виртуальный файл robots.txt
генерируется в корне домена. Если WordPress находится в подкаталоге, например, http://example.com/blog/
, то виртуальный файл robots.txt
будет недоступен по стандартному адресу http://example.com/robots.txt
, и это приведет к ошибке 404.
Решение
-
Создание физического файла
robots.txt
: В данном случае оптимальным решением будет создать физический файлrobots.txt
в корневом каталоге вашего домена. Скопируйте в него стандартное содержимое или добавьте те правила, которые важны для вашего сайта. -
Настройка доступа сервером: Убедитесь, что ваш сервер настроен отдавать этот файл в качестве ответа на запросы по пути
/robots.txt
. -
Проверка конфигурации сервера: Проверьте, нет ли конфликтов в настройках файла конфигурации вашего сервера (например, Apache или Nginx), которые могут препятствовать доступу к физическому файлу
robots.txt
.
Эти шаги помогут вам решить возникшую проблему и обеспечить корректное взаимодействие поисковых систем с вашим сайтом.
Если вам потребуется дополнительная помощь, обратитесь к документации вашего хостинг-провайдера или проконсультируйтесь с системным администратором. Настройка правильных доступов для поисковых роботов важна для SEO и индексации вашего контента.