Найти в Дзене
Честное SEO

Директивы Disallow и allow robots.txt

Основными директивами robots.txt являются Disallow и allow они соответственно запрещают позволяют роботу индексировать соответствующие страницы.
Кратко в видео за пару минут:
Важно.
robots.txt является лишь рекомендацией, а не жестким правилом для робота поисковой системы. Всегда обращайте на соответствие файла sitemap.xml и robots.txt
Оглавление

Основными директивами robots.txt являются Disallow и allow они соответственно запрещают позволяют роботу индексировать соответствующие страницы.

Тема техническая, картинок красивых найти не легко:(
Тема техническая, картинок красивых найти не легко:(

Важно.

robots.txt является лишь рекомендацией, а не жестким правилом для робота поисковой системы. Всегда обращайте на соответствие файла sitemap.xml и robots.txt

Кратко в видео за пару минут:

Disallow robots.txt

Директива Disallow запрещает индексацию указанной страницы или раздела, однако с этим связано много заблуждений. Например:

  • Страницы с данными пользователей;
  • Разделы с результатами поиска по сайту;
  • дубликаты страниц(проверьте чтобы их не было в sitemap.xml);
  • разнообразные логи, скрипты;
  • Страницы корзины, заказов и т.д.
  • UTM-метки
  • Сгенерированные страницы

Allow - директива

Данная директива разрешает индексирование разделов или страниц сайта. Является более приоритетной по отношению к Disallow

Пример:

User-agent: Yandex

Allow: /photo

Disallow: /

# запрещает скачивать все, кроме страниц

# начинающихся с '/photo'

Clean-Param

Директива работает только для роботов яндекса. Googlebot ее не воспринимает. Вот что сказано в официальном руководстве яндекса по этому поводу

При выборе директивы для страниц, которые не должны участвовать в поиске, если их адреса содержат GET-параметры, лучше использовать директиву Clean-Param, а не Disallow. При использовании Disallow может не получиться выявить дублирование адреса ссылки без параметра и передать некоторые показатели запрещенных страниц, например ссылочные.

Простыми словами яндекс рекомендует использовать нам данную директиву для идентификаторов сессий, например UTM-метки.

Использование специальных символов: *, $, #

Далее я предлагаю разобраться с использованием специальных символов *,$,# .

Спецсимол *

Данный спецсимвол означает любую последовательность символов, включая пустую. Данный символ по умолачанию ставится после каждой строчки указания, то есть:
User-agent: Yandex

Disallow: /antena/

По сути является

User-agent: Yandex

Disallow: /antena/*

Например:

User-agent: Yandex

Disallow: *.php

Запретит боту яндекса индексировать страницы с расширением php по всему сайту

Спецсивол $

Данный символ запрещает автоматическую подстановку * в конце строки.

User-agent: Yandex

Disallow: /ananas$ # запрещает только '/ananas'

Disallow: /ananas*$ # так же, как 'Disallow: /ananas'

# запрещает и /ananas.phpl и /ananas

Спецсимвол #

Показывает поисковой системе, что далее располагается комментарий до конца строки.

Как открыть или закрыть подкатегории robots.txt(подразделы)

Как правильно закрыть от индексации подраздел в robots.txt, не закрывая внутренние разделы этого подраздела?

Например:
https://progress-club.ru/catalog
/natyazhnye-potolki/v-zal/
но не должен закрываться подраздел /v-zal/

Disallow: /natyazhnye-potolki/

так не работает

Правильным решением будет:

Disallow: /natyazhnye-potolki/
Allow: /natyazhnye-potolki/v-zal/
Allow: /natyazhnye-potolki/*/

Таким образом мы разрешаем /v-zal/ и все подразделы /natyazhnye-potolki/

Поскольку Allow является приоритетной директивой

Примеры директив

Важно:

  • Недопустимо наличие пустых строчных переводов(Enter, shift+Enter) между директивами User-agent, Disallow и Allow
  • В случае когда странице подходит несколько директив, то выбирается последняя в списке robots.txt
  • При конфликте между Disallow и Allow приоритет отдается Allow.