Идеальный robot.txt

Добрый день!
От Simtech robots/txt нормально будет?
User-agent: *
Disallow: /app/
Disallow: /design/
Disallow: /js/
Disallow: /var/
Disallow: /images/
Disallow: /images/thumbnails/
Disallow: /store_closed.html
Disallow: /comparers
Disallow: /items_per_page
Disallow: /dispatch=products.search
Disallow: /dispatch=products.newest
Disallow: /dispatch=searchanise.async
Disallow: /dispatch=profiles.update
Disallow: /dispatch=auth.recover_password
Disallow: /dispatch=products.quick_view
Disallow: /dispatch=orders.search
Disallow: /dispatch=auth
Disallow: /dispatch=wishlist
Disallow: /dispatch=profiles
Disallow: /dispatch=checkout
Disallow: /dispatch=debugger

Sitemap: https://[EXAMPLE.COM]/sitemap.xml
Host: https://[EXAMPLE.COM]

Crawl-delay: 1

некоторые строчки вызывают вопросы

image ?

вот это сочетание символов :thinking:

Спасибо! Очень крутой полезный совет

1 лайк

Цель файла robots.txt - попросить поисковые системы краулить то, что надо. А что не надо - не краулить.
Краулить - это обойти, то есть исследовать.
Решение об индексации или неиндексации будет принимать поисковая система.

  1. Что надо краулить?
    Да всё надо краулить.
    Для начала все JAVA-скрипты, стили, шрифты и картинки.
    Иначе бывает, что Google недоразбирает страницу и в кеше хранится какая-то дичь из кусков кода

User-Agent: *

Allow: /.js
Allow: /
.css
Allow: /.woff
Allow: /
.png
Allow: /*.jpg

У Битриксов есть поверье, что внутрях тоже обязательно надо всё-всё индексировать

Allow: /bitrix/components/
Allow: /bitrix/cache/
Allow: /bitrix/js/
Allow: /bitrix/templates/
Allow: /local/components/
Allow: /local/cache/
Allow: /local/js/
Allow: /local/templates/

Дело хозяйское, я тоже так делаю, чтобы не быть особенным.

  1. Что не краулить?
    То, что переменное и не уникальное.

Disallow: /cart/
Disallow: /checkout/
Disallow: /login/
Disallow: /profiles-add/
Disallow: /orders/
Disallow: /compare/
Disallow: /wishlist/
Disallow: /store_closed.html
Disallow: /payment/
Disallow: /app/
Disallow: /admin_panel
Disallow: /profiles-update/
Disallow: /app/
Disallow: /error/

Далее идёт интересная тема про GET-параметры.
Определение такое:
Это динамические аргументы в ссылке.
Они представляют собой набор пар «ключ=значение», передаются в URL-адресе после символа вопроса (?)

К примеру страница, на которую происходит переход из поиска Яндекса по домену SITE.ru будет выглядеть так
https://SITE.ru/?ysclid=[значение, то есть набор цифр и букв].
2025-03-03_09-18-07

ysclid - это и есть GET-параметр.

Страница с GET-параметром является дублем материнской страницы.
При частых посещениях страниц с одинаковыми GET-параметрами и их значениями (например, кто-то выложил ссылку с GET-параметром в соцсети, и все ломанулись) эта страница может попасть в индекс и начать конкурировать с материнской за ранжирование запросов, то есть каннибаллить её.

Для всех поисковых систем, кроме Яндекса, все эти противные GET-параметры надо закрывать от краулинга с помощью директивы Disallow:
Можно попробовать просто добавить одну директиву

Disallow: /?

Но она закрывает от краулинга только первый GET-параметр, а они, твари, часто любят ходить паровозиком по два-три друг за другом.
Надо их закрывать индивидуально.
Для этого надо собрать их все.

Идём в Метрику - Отчеты - По параметрам URL и выгружаем таблицу за год.


Из столбца Параметр URL удаляем дубли, добавляем в начало Disallow: ? а в конец =

Disallow: *?*auth=
Disallow: *?*back_url=
Disallow: *?*back_url_admin=
Disallow: *?*back_url_settings=
Disallow: *?*backurl=

То есть конструкция ? закрывает краулинг любых url, содержащих вопросительный знак.
А знак равенства указывает, что это именно GET-параметр.

Но директиву Disallow: надо делать в секции User-Agent: *
Это для всех, кроме Яндекса.

У Яндекса есть замечательная директива Clean-param:
Она как бы очищает url от GET-параметров.
Это нужно для аккумулирования поведенческих факторов пользователей на матерингской странице без GET-параметров.
Для Яндекса ПФ - важнейший фактор ранжирования.
Поэтому все GET-параметры перечисляем через & в строке после директивы Clean-param:
Длина строки - не более 500 знаков

Clean-Param: dispatch&search_performed&match

Может быть и 5, и 10 строк, сколько параметров соберёте.
Для Яндекса это критически важно, так как есть большое влияние хороших поведенческих от посетителей с Директа (если он есть, и если они оставляют хорошие поведенческие).
Чем больше хороших ПФ от посетителей с Директа - тем лучше ранжируется страница.
При условии, что ПФ аккумулируются именно на ней, а не распыляются по копиям с GET-параметрами.

Можно закрыть для краулинга от всех любых других ботов

User-Agent: SemrushBot
Disallow: /

User-Agent: MJ12bot
Disallow: /

User-Agent: AhrefsBot
Disallow: /

User-Agent: gigabot
Disallow: /

User-Agent: Gigabot/2.0
Disallow: /

Можно добавить Sitemap
Sitemap: https://SITE.ru/sitemap.xml

Можно ограничить скорость краулинга
Crawl-delay: 30

В общем, всё просто.

5 лайков

Всем привет.

С чем может быть вызвана данная проблема? скрин

Если запросить индексирование так https://site.ru/ выдает что на скрине.
А если сделать https://site.ru/robots.txt видит через раз, то есть надо раз 6-7 отправлять и то не всегда принимает.

Проблема появилась после того как сменили домен. Раньше этот домен был на другой платформе, старую платформу закрыли а домен присобачили сюда на cs-cart )
robots.txt есть, вроде нормальный, он был и раньше но такой проблемы не было, в фале роботс тхт просто указал домен.

Буду рад любым рекомендациям. Спасибо.

Так вы домен изменили или перенесли сайт на другую платформу? Яндекс как обрабатывает?

вот идеальный robots.txt

User-agent: *
Allow: /
Disallow: /index.php
Disallow: */?
Clean-param: items_per_page&sort_by&sort_order&layout&features_hash
Sitemap: https://domain.ru/sitemap.xml
Host: https://domain.ru

не а не идеальный. 4 и 7 строчки вызывают вопросы.

А как 7-ую строчку лучше записать?

ИМХО 7 строчка вообще не нужна. Гугл никогда не использовал эту директиву, а яндекс отказался еще в 18 году.

насчет 4 строчки, посмотрите как гугул видет вашу страницу с таким роботсом … возможно я ошибаюсь, но вряд ли.

идеальный.
4 строчка закрывает мне весь мусор в яндексе.
а 7 строчка на ваше усмотрение.

она же, 4 строчка закрывает корректность отображения страницы в гугле да и в яндексе наверняка.
7 да я не возражаю, просто какой толк в этой строчке если она ни на, что не влияет?

а можете выложить скриншот проверенной страницы в гугуле?

толк в этой строчке чтобы не было сканирования мусорных ссылок такого вида:
domain_ru/категория/товар/?все_что_угодно
domain_ru/?все_что_угодно

в итоге в индексе яндекса и гугла у меня только товары, категории, и обычные страницы. индекс пагинации закрыт в коде страниц.
так что 4 строчка самая полезная.

Что? Сайт на платформу? :slightly_smiling_face:

Проблема решена, добавил новый ресурс с префиксом url и все сразу пошло на переобход.

хорошо. ваше право.

У меня такой robots.txt возможно, дадите рекомендации? ))

User-agent: *
Disallow: ?selected_section
Disallow: ?show_not_found_notification
Disallow: /*collection_product
Disallow: /search/
Disallow: /variant
Disallow: /*wishlist.delete
Disallow: /*attachment
Disallow: /*items_per_page
Disallow: /app/
Disallow: /store_closed.html
Disallow: /*?subcats*
Disallow: /index.php*
Disallow: product_id
Disallow: /*?match*
Disallow: features_hash

User-agent: Yandex
Clean-param: &object_type&object_id&obj_prefix&route&tag_id&limit&path&variation_id&sl&product_review_id&variant_id&manufacturer_id&category_id&post_id&order&abt_in_popup&cookies_accepted&page_id&template&frmgrably

Host: https://site.ru
Sitemap: https://site.ru/sitemap.xml

ИМХО несколько сумбурно.
есть хорошая инструкция Идеальный robot.txt - #49 от пользователя LaserToner