Отдаем robots.txt в WP правильно

0
(0)

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

Проблема в том, что при попытке открыть его по пути <domain>/robots.txt, браузер возвращает 404. Вроде бы все правильно, файла физически нет на диске в корневой директории веб-сервера, он генерируется средствами php, но видеть его мы все равно должны, иначе и yandex и google боты также получат 404 ошибку при попытке просканировать сайт.

Иногда можно встретить вот такой пример реализации отдачи robots.txt файла в конфигах nginx

Nginx
location = /robots.txt {
    allow all;
    log_not_found off;
    access_log off;
}

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

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

Nginx
location = /robots.txt {
    		try_files $uri $uri/ /index.php?$args;
    		access_log off;
    		log_not_found off;
}

Тут мы используем директиву try_files в который пытаемся найти запрашиваемый файл на диске из переменной $uri и $uri/ и если не находим отправляем fallback на index.php. Тут то и происходит вся магия php и динамически создаваемый robots.txt возвращается нам в браузер.

Этот нюанс позволит нам корректно отдавать генерируемый динамически robots.txt.

Насколько статья полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Оставить комментарий