Итоговый результат
В конфиге (например config.toml
) убеждаемся, что baseURL
и enableRobotsTXT
установлены верно. Например:
baseURL = 'https://brualan.ru/'
enableRobotsTXT = true
Создаём файл layouts/robots.txt
User-agent: *
Sitemap: {{ .Sitemap.Filename | absURL }}
Готово!
О проблеме
Проверяя свой сайт на соответствие требованиям поисковиков столкнулся с разницей в восприятии robots.txt
разными системами.
В частности инструмент от Яндекса принимал файл без ошибок.
А вот Google’овский Lighthouse выдал ошибку robots.txt is not valid
.
Подробнее о проблеме можно прочитать тут.
Но если коротко, то в последнем абзаце описывается проблема и её решение:
# Don't
sitemap: /sitemap-file.xml
# Do
sitemap: https://example.com/sitemap-file.xml
Как решить проблему
Проблема возникла при добавлении Sitemap в robots.txt
.
Как оказалось Яндекс умеет работать с путями без явного указания домена (т.е. /sitemap.xml
), а для Google требуется абсолютный с указанием домена.
Поэтому в рамках нашей конфигурации мы и указываем, что хотим получать абсолютный путь от .Sitemap.Filename
. Т.е. используем конструкцию {{ .Sitemap.Filename | absURL }}
Что такое Sitemap и зачем он нужен?
Файл Sitemap несёт в себе:
- ссылки и структуру сайта
- что, когда обновлялось и как часто будет обновляться в будущем
- o языках содержимого
- приоритеты (важность/ценность) контента для пользователя (как вес от 0.0 до 1.0)
Основную пользу Sitemap несёт для крупных ресурсов со сложной структурой контента. Когда поисковым роботом сложно полностью проиндексировать весь ресурс. Для небольшого ресурса (как этот блог), такой файл не несёт особой пользы т.к. структура сайта простая, а страниц не так много. Об этом же пишут и сами Google.
Однако я всё же решил добавить его к себе на ресурс, потом что:
- Hugo, как генератор сайта, уже автоматом генерит
sitemap.xml
в корне результирующей структуры сайта - Я уверен, что если мы можем помочь поисковику в индексации — надо это сделать для того, что бы наш контент с большей вероятностью попал на глаза читателям
- Углубление знаний устройства интернета, для меня это важный аспект каждодневного профессионального роста