Налаштування robots.txt для вашого сайту
robots.txt контролює доступ для пошукових роботів до сторінок вебсайту. Правильна конфігурація запобігає індексуванню технічних сторінок, дублікатів та закритих розділів.
Базова структура
User-agent: *
Disallow: /admin/
Disallow: /area51/
Disallow: /api/
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Disallow: /search?
Disallow: /*?sort=
Disallow: /*?page=
Allow: /
Sitemap: https://example.ru/sitemap.xml
Що блокувати
Обов'язково:
- Панелі адміністрування (
/admin/,/wp-admin/) - API-точки входу (
/api/) - Кошик, оформлення замовлення, особистий кабінет
- Сторінки результатів пошуку за сайтом
- Технічні сторінки (login, register, password-reset)
Рекомендовано:
- URL з параметрами фільтрування та сортування (дублікати контенту)
- Сторінки паджинації (або дозволити їх, якщо немає canonical)
-
/print/,/pdf/версії сторінок
Не блокувати:
- CSS та JS файли — Google повинен їх бачити для рендеринга
- Зображення (якщо ви хочете індексації в Google Images)
Директиви для Яндекса
Яндекс підтримує розширений синтаксис:
User-agent: Yandex
Disallow: /search?
Disallow: /*?utm_
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term
Clean-param повідомляє Яндексу, які GET-параметри не створюють унікальний контент — запобігає появі дублікатів.
Динамічний robots.txt у Laravel
Route::get('/robots.txt', function () {
$content = view('robots')->render();
return response($content, 200, ['Content-Type' => 'text/plain']);
});
User-agent: *
@if (app()->environment('production'))
Disallow: /admin/
Disallow: /api/
Allow: /
Sitemap: {{ url('/sitemap.xml') }}
@else
Disallow: /
@endif
На staging/dev-середовищі блокуйте все — щоб пошукові машини не індексували тестовий сайт.
Перевірка
- Google Search Console → robots.txt Tester Tool
-
curl https://example.ru/robots.txt— переконайтесь, що файл відповідає правильно - Переконайтесь, що файл розташований строго в корені домену (не в
/en/robots.txt)
Час налаштування: кілька годин.







