Файл robots.txt — это текстовый файл, который сообщает поисковым роботам (ботам), какие страницы сайта они могут, а какие не могут посещать и индексировать.
Основные причины использования файла robots.txt:
- Закрыть для индексации конфиденциальные или служебные страницы, например панель администратора, корзину интернет-магазина и т.д. Это повышает безопасность сайта.
- Оптимизировать работу поисковых роботов, указав какие страницы им нужно индексировать в первую очередь.
- Уменьшить нагрузку на сервер, ограничив сканирование больших каталогов изображений, архивов и т.д.
- Избежать дублирования контента, закрыв для индексации зеркальные или дублирующие страницы.
- Предотвратить переиндексацию сайта после перезапуска или миграции на новый домен.
Таким образом грамотно настроенный robots.txt помогает оптимизировать работу поисковых роботов с сайтом и улучшить индексацию нужных страниц.
Вариант файла robots.txt с разрешениями для различных bot’ов и AI:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap_index.xml
User-agent: Googlebot # Это поисковый робот Google. Он обнаруживает новые и обновленные страницы для добавления в индекс поиска Google.
Allow: /
User-agent: Bingbot # Это поисковый робот Microsoft Bing. Он отвечает за поиск и индексирование контента для поиска Bing.
Allow: /
User-agent: YandexBot # Это поисковый робот для Yandex, популярного поискового движка в России. Он индексирует контент для поиска Yandex.
Allow: /
User-agent: DuckDuckBot # Это поисковый робот для DuckDuckGo, поискового движка, ориентированного на конфиденциальность. Он индексирует контент для поиска DuckDuckGo.
Allow: /
User-agent: Applebot # Это поисковый робот Apple, используемый для услуг Apple, таких как Siri и Spotlight Suggestions.
Allow: /
User-agent: Facebot # Это поисковый робот Facebook. Он используется для индексации и совместного использования контента на платформе Facebook.
Allow: /
User-agent: Googlebot-Image # Это специальная версия Googlebot, которая сосредоточена на поиске и индексировании изображений.
Allow: /
User-agent: Google Favicon # Этот бот извлекает favicon для веб-сайтов, которые отображаются в результатах поиска Google.
Allow: /
User-agent: Google-StructuredDataTestingTool # Этот бот связан с инструментом Google для тестирования структурированных данных, используемым для тестирования меток структурированных данных.
Allow: /
User-agent: Mediapartners-Google # Этот бот используется Google AdSense для оценки качества контента и рекламы.
Allow: /
User-agent: Twitterbot # Это поисковый робот Twitter. Он используется для индексирования контента для Twitter Cards.
Allow: /
User-agent: ChatGPT # Это не поисковый робот, а скорее конверсационная модель искусственного интеллекта, разработанная OpenAI. Он не индексирует веб-контент.
Allow: /
User-agent: Anthropic # Anthropic - это организация, занимающаяся исследованиями в области искусственного интеллекта, но у них нет известного поискового робота.
Allow: /
User-agent: Claude # Организация, занимающаяся исследованиями в области искусственного интеллекта.
Allow: /
Пример настройки для robots.txt, чтобы уменьшить нагрузку на сервер
Основные моменты:
- Закрыть папки кэша, бекапов, временные папки
- Ограничить сканирование медиафайлов и больших каталогов
- Запретить индексацию архивов, пагинации, фидов
- Закрыть трекбеки
Это позволит сократить время индексации и снизить нагрузку на сервер. Но при этом важно не переборщить и не закрыть полезные страницы.
User-agent: *
Allow: /
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /tmp/
Disallow: /cache/
Disallow: /backups/
Disallow: /downloads/
Disallow: /images/uploads/
Disallow: /videos/
Disallow: /audio/
Disallow: /category/*archive*/
Disallow: /*?*page=*
Disallow: /*?*paged=*
Disallow: /author/*/feed
Disallow: /trackback/
Disallow: */trackback/
Disallow: */*/trackback/
Disallow: /feed
Disallow: /*/feed
Disallow: /*/*/feed
Disallow: /*?*attachment_id=*
Несколько советов по использованию файла robots.txt, чтобы предотвратить переиндексацию сайта после перезапуска или переезда на новый домен:
- На старом домене полностью закройте сайт от индексации:
User-agent: *
Disallow: /
Это не даст поисковым роботам проиндексировать устаревшие страницы.
- На новом домене также сначала полностью закройте сайт:
User-agent: *
Disallow: /
- По мере готовности разделов, постепенно добавляйте правила разрешения в robots.txt.
Например:
Allow: /
Disallow: /category/
Disallow: /tag/
- Как только весь сайт будет готов, уберите ограничение Disallow: /, чтобы открыть полный доступ.
- Используйте параметр Crawl-delay в robots.txt, чтобы замедлить скорость индексации.
- Настройте переадресацию со старого домена на новый.
- Указывайте канонические теги на страницах нового сайта.
- Добавьте новый сайт в Search Console и запросите переиндексацию.
Это поможет избежать дублирования контента и провести переезд максимально плавно для поисковых роботов.
Несколько правил User-agent: * является критической ошибков?
Несколько правил User-agent: * в файле robots.txt не является ошибкой, но это избыточно и может быть сокращено до одного правила.
Звездочка (*) в User-agent означает, что правило применимо для всех роботов (поисковых ботов, краулеров и т.д.). Если вы используете несколько таких правил, они будут применены ко всем роботам, и это не приведет к ошибке. Однако, лучше использовать одно правило User-agent: * для ясности и упрощения файла robots.txt.
Например, вместо:
User-agent: *
Disallow: /private/
User-agent: *
Disallow: /cgi-bin/
Лучше объединить в одно правило:
User-agent: *
Disallow: /private/
Disallow: /cgi-bin/
Это поможет избежать путаницы и облегчит управление файлом robots.txt.
Для Google и других ПС такое работает?
Нет, для других поисковых систем это не будет работать. Каждая поисковая система интерпретирует robots.txt по-своему, и параметры, неизвестные или неиспользуемые ими, будут проигнорированы.
Если вам нужно скрыть определенные параметры от всех поисковых систем, включая Google, Яндекс и другие, вы можете использовать следующий синтаксис в вашем файле robots.txt:
User-agent: *
Disallow: /*lightbox
Disallow: /*elementor-preview
Disallow: /*elementor_library
Disallow: /*attribute_pa_razmery
Disallow: /*add-to-cart
Disallow: /*remove_item
Как правильно указывать clean-param в robots.txt
Clean-param
— это директива, используемая в файле robots.txt для указания поисковым роботам, какие параметры URL следует игнорировать при индексации страницы. Она позволяет веб-мастерам указывать поисковым системам, что определенные параметры URL не влияют на содержимое страницы и могут быть проигнорированы.
Как указывать Clean-param если ссылка такая: /cart/?remove_item
Правильно указывать параметр для User-agent: Yandex
, чтобы сообщить, что следующие правила применяются только к роботам Яндекса. Однако, вы указали некоторые параметры для удаления (clean-param), но не указали, что нужно удалить. Если вы хотите, чтобы эти параметры были удалены из ссылки /cart/?remove_item
, то ваш файл robots.txt должен выглядеть так:
User-agent: Yandex
Clean-param: lightbox
Clean-param: elementor-preview
Clean-param: elementor_library
Clean-param: attribute_pa_razmery
Clean-param: add-to-cart
Clean-param: remove_item
Теперь робот Яндекса будет игнорировать эти параметры при сканировании и индексации страницы с ссылкой /cart/?remove_item
.