Статті ·

robots.txt: помилки, що коштують усього трафіку

Disallow: / зі стейджингу, закритий CSS, спроба прибрати сторінку з індексу через robots — розбір помилок, які найчастіше коштують сайту видимості.

robots.txt — найкоротший файл на сайті і найшвидший спосіб втратити весь пошуковий трафік одним рядком. Причому мовчки: жодних попереджень, сайт працює, сторінки відкриваються, і лише через тиждень видно, що з видачі зникло все.

Помилка перша: Disallow: / приїхав зі стейджингу

User-agent: *
Disallow: /

Два рядки, які закривають сайт цілком. На тестовому сервері вони доречні — там саме так і треба. Проблема в тому, що при викочуванні на прод файл їде разом із рештою коду.

Ця помилка живе довго, бо ніхто не перевіряє robots.txt після релізу — перевіряють, що сторінки відкриваються. А вони відкриваються.

Помилка друга: robots.txt для видалення з індексу

Найпоширеніше непорозуміння. Disallow забороняє сканування, а не індексацію. Якщо на сторінку є зовнішні посилання, Google може лишити її у видачі — без опису, з рядком «інформація про цю сторінку недоступна».

Гірше: закривши сторінку в robots, ви позбавили бота можливості побачити на ній noindex. Виходить замкнене коло — сторінка в індексі, і ви не можете її звідти прибрати.

  • треба прибрати з видачі — noindex у мета-теґу, а доступ до сканування лишити відкритим;
  • треба зекономити краулінг-бюджет на службових розділах — тоді так, Disallow.

Помилка третя: закриті CSS і JavaScript

Спадок старих порад. Googlebot рендерить сторінку так само, як браузер: якщо стилі й скрипти закриті, він бачить її зламаною і не може оцінити мобільну зручність.

# так робити не треба
Disallow: /assets/
Disallow: /*.css$
Disallow: /*.js$

Помилка четверта: sitemap не оголошено

Один рядок, який часто забувають:

Sitemap: https://site.ua/sitemap.xml

Це найдешевший спосіб прискорити знаходження нових сторінок. Адреса має бути абсолютною — відносний шлях тут не працює.

Помилка п’ята: правила, що не спрацьовують

robots.txt чутливий до регістру шляхів. Disallow: /Admin/ не закриє /admin/. Ще одна тонкість: правила для конкретного User-agent повністю заміщують блок *, а не доповнюють його.

User-agent: *
Disallow: /admin/

User-agent: Googlebot
Disallow: /private/
# для Googlebot /admin/ ТЕПЕР ВІДКРИТИЙ — блок * до нього не застосовується

Що робити з AI-краулерами

Питання, якого п’ять років тому не існувало. GPTBot, ClaudeBot, PerplexityBot і Google-Extended можна закрити або відкрити — і це рішення бізнесове, а не технічне.

  • закрити є сенс, якщо ваш контент — сам продукт і ви не хочете, щоб його переказували без переходу;
  • відкрити — якщо вам важлива присутність у відповідях моделей. Закритий сайт туди не потрапляє взагалі.

Для більшості комерційних сайтів другий варіант вигідніший: згадка в AI-відповіді зараз коштує дорожче, ніж захист текстів опису товарів.

Робочий приклад

User-agent: *
Allow: /
Disallow: /admin/
Disallow: /cart/
Disallow: /*?filter=
Disallow: /*?sort=

Sitemap: https://site.ua/sitemap.xml

Тут закрито тільки те, що справді не має бути в індексі: адмінка, кошик і параметричні URL фільтрів, на які інакше йде левова частка краулінг-бюджету.

Перевірка

  1. Прогоніть сайт — інструмент покаже правила, знайде Disallow: / і перевірить, чи sitemap узагалі відкривається й скільки в ньому URL.
  2. Робіть це після кожного релізу, а не раз на рік.
  3. Якщо є Search Console — там є тестер robots.txt, який показує, чи закрита конкретна адреса.