Що таке robots.txt і для чого він потрібний

Що таке robots.txt і для чого він потрібний
Що таке robots.txt і для чого він потрібний

Файл robots.txt – це простий текстовий документ, в якому містяться рекомендації для пошукових роботів всіх типів щодо індексування вашого сайту – які сторінки та файли потрібно сканувати та додавати до індексу, а які ні. Зауважте, що саме рекомендації, а не конкретні вказівки.

Без файлу robots.txt пошукові роботи можуть проіндексувати всі доступні сторінки на ресурсі, через що в індексі можуть відобразитись дублі, службові сторінки, сторінки з результатами пошуку по сайту і т.д.

Оскільки це індексний файл (у краулерів прописано його розташування), то він повинен перебувати в чітко вказаному місці – у кореневій папці сайту. Відкриватися має за такою адресою – http(s)://site.com/robots.txt, де http або https використовується залежно від того, на якому протоколі працює ваш сайт, а замість site.com необхідно вставляти свій домен. Також обов’язковою умовою має бути кодування UTF-8, інакше його просто прочитають з помилками або зовсім проігнорують.

Порада: щоб переглянути свій robots.txt необхідно відкрити головну сторінку сайту та набрати в адресному рядку після неї «/robots.txt».

Примітка: пошукова система Google також регламентує розмір файлу robots – він не повинен бути більше 500 Кб.

За допомогою цього файлу можна виконати такі дії з вашим сайтом:

  1. Повністю закрити його в очах пошукача
  2. Відкрити всі папки та файли для індексування
  3. Обмежити сторінки для обходу роботом певними правилами.

Відповіді сервера під час сканування файлу robots.txt

  • 2xx – файл знайдено, та інформація отримана.
  • 3хх – пошуковий робот переадресований на іншу адресу. Так може відбуватися не більше 5 разів або доки він не отримає іншу відповідь сервера. В іншому випадку це вважається відповіддю 4ххх.
  • 4хх – за такої відповіді сервера робот вважає, що весь вміст сайту можна сканувати.
  • 5хх – цей код говорить про проблеми з боку сервера, тому сканування забороняється, і робот постійно звертатися на сайт поки не отримає відмінну від 5хх відповідь сервера.

Для чого використовується файл robots.txt

Основною його функцією є настроювання індексованості сайту пошуковими краулерами. Зазвичай його застосовують для закриття від індексації:

  • сторінок із обробкою замовлень, кошиків;
  • сторінок внутрішнього пошуку на сайті;
  • PDF, DOCX та інших документів, які не повинні брати участь у пошуку;
  • особистого кабінету, адмін-панелей;
  • конфіденційних файлів та сторінок;
  • службових сторінок без елементів навігації;
  • сторонніх скриптів чи сервісів.

У випадку, якщо необхідні сторінки не будуть закриті від індексації, можуть постраждати ваші клієнти (розкриються персональні дані) і Ви (в індекс потрапить купа дублів та сторінок для сміття, що понизить сайт при ранжируванні).

Примітка: сторінка, закрита в robots.txt, може також потрапити у видачу, оскільки він є рекомендаційним, а не обов’язковим до виконання (особливо це стосується Google. У деяких випадках, сторінки потрібно закривати за допомогою інших способів – тегами meta robots або x-robots.

Оформлення файлу robots.txt (синтаксис) та директиви

Примітка: команди, які використовуються у цьому файлі, називаються директивами.

Всі команди у файлі оформляються однаковим чином – спочатку слід назва директиви і двокрапка (між ними не потрібен пробіл), далі слідує пробіл і після нього пишеться сам параметр. Виглядає це так:

Директива: параметр

Для robots.txt обов’язковими є лише 2 команди – це User Agent та Disallow, якщо хоч одна з них відсутня, то вибиватиметься помилка при верифікації.

Директива User-agent – ​​привітання для робота

Це перше, що вказується у robots.txt. Ця команда показує, для якого робота пишеться даний блок команд. Знайшовши своє ім’я, робот зчитуватиме всі команди до наступної директиви user-agent.

User-agent: (далі пишеться ім’я того робота, для якого призначений даний блок директив).

Наприклад, у нас основний робот Google, тоді має виглядати так.

User-agent: Googlebot (читається лише ботами Google).

Якщо вам потрібно прописати команди для всіх роботів відразу, тоді використовуємо символ *

User-agent: * (читається усіма роботами).

На даний момент є безліч різних роботів. Нижче надано список найпопулярніших із них на просторах СНД.

  • Googlebot-News – здійснює пошук новин;
  • Mediapartners-Google – бот сервісу AdSense;
  • AdsBot-Google – перевіряє якість цільової сторінки;
  • AdsBot Google Mobile Apps – перевіряє якість цільової сторінки для додатків на Android, аналогічно AdsBot;
  • Googlebot-Image – для картинок;
  • Googlebot-Video – для відео;
  • Googlebot-Mobile – для мобільної версії.

Директива Disallow – заборона індексації

Ця директива забороняє індексувати файли та сторінки, які підпадають під дію вказаного параметра. Синтаксис написання такий самий, як і у user-agent.

Наприклад, на сайті є папка з ім’ям «users» c файлами з даними користувача, і її потрібно закрити від індексації, тоді пишемо так:

Disallow: /users/

Таким чином ми закрили від індексації та папку /users/, і весь вміст у ній.

Примітка: для вказівки параметрів не потрібно прописувати сам домен. Наприклад, пишемо не Disallow: site.ru/users/, а Disallow: /users/.

Директива Allow – дозвіл на індексацію

За допомогою цієї директиви ми можемо відкривати необхідні для індексації сторінки та файли.

Наприклад, у папці “users” (про неї ми писали вище) є папка “images”, в якій є зображення необхідні для індексації. Тому нам необхідно прописати наступний рядок:

Allow: /users/images/

У результаті ми отримуємо:

User-agent: * Команди вказані для всіх краулерів

Disallow: /users/ Закриває папку «users» та всі файли

Allow: /users/images/ Відкриває вкладену папку “images” і всі вкладені файли

Пріоретизація вказівок

Якщо є конфлікт між Disallow та Allow, до виконання буде обраний той, у якого довжина параметра після двокрапки більша.

Наприклад:

Disallow: /users/

Allow: /users/images/

По суті, перша команда Disallow має закрити і папку «images» теж, але оскільки після двокрапки у першої директиви 7 символів, а у другої 14 символів, то пріоритетною буде директива Allow.

У випадку, якщо директиви повністю однакові, то пріоритет буде відданий нижче. Наприклад, при використанні такої послідовності папка «users» буде відкрита:

Disallow: /users/

Allow: /users/

Директива Sitemap (вказівка ​​картки сайту) або які сторінки важливі для індексації

Ця директива показує, де знаходиться і як називається файл зі списком усіх URL сторінок сайтів, які необхідно додати в індекс. Також при правильній генерації картки сайту робот зможе чітко розуміти пріоритетність сторінок, дату їхнього останнього оновлення та додавання.

Директива Sitemap – міжсекційна. Вона може знаходитись у будь-якому місці файлу robots.txt і не відноситься до певної секції User-agent.

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

У цій директиві шлях до файлу картки сайту повинен вказуватися повністю разом із протоколом і при цьому не важливо – це http або https.

Якщо у файлі немає директиви Sitemap, краулінговий робот за замовчуванням шукає у кореневій папці сайту (корені) файл під назвою sitemap.xml, якщо його немає, то сторінки на сайті проходять рандомно, враховуючи директиви в роботсі.

Директива Host – вказівка ​​головного дзеркала

Найчастіше будь-який сайт відкриваєтьсяза двома URL-адресами. Перший – blog.ua. Другий – www.blog.ua. У подібних ситуаціях потрібно визначити основне дзеркало та повідомити про нього пошукові роботи.

Для цього використовується директива Host. Вказується вона наприкінці списку (перед директивою sitemap):

Host: blog.ua

У цьому випадку роботи бачать, що головне дзеркало – це URL-адреса без приставки www. І навіть якщо користувачі будуть вводити адресу з нею, то їх автоматично перекине на головне дзеркало.

Потрібно враховувати, що для Google (і деяких інших пошуковиків) директива не прописується – йому повідомляти про головне дзеркало необхідно в особистому кабінеті Google Search Console.

Crawl-delay – «ручник» для робота

За допомогою цієї директиви ми можемо обмежувати час між зверненнями робота на сайт протягом одного сеансу. Зроблено це спеціально для сайтів, які працюють на дуже слабких серверах, і при заході індексує робота ресурс починає зависати або віддає 5хх відповідь сервера.

Синтаксис написання виглядає так:

Crawl-delay: 3

де 3 – це час у секундах між зверненнями робота до сайту.

Самі пошукові системи рекомендують використовувати цю директиву лише у крайніх випадках.

Спеціальні символи *, $, #

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

Перший і найважливіший символ – це * (зірочка)

Вона означає, що замість неї можна підставити будь-яку кількість символів.

У загальному розумінні це виглядає так:

1 * 1 = 121, 1 * 1 = 1234567891 і т.д.

Як це застосувати у нашому випадку?

Наприклад, у нас є такі сторінки:

site.ua/catalog/123

site.ua/catalog/111

site.ua/catalog/12

site.ua/catalog/23

site.ua/catalog/231

site.ua/catalog/2789

І нам потрібно закрити від індексації site.ua/catalog/123, site.ua/catalog/111, site.ua/catalog/12, але при цьому не закрити site.ua/catalog/23, site.ua/catalog/231 , site.ua/catalog/2789.

Можна, звичайно, зробити так:

User-agent: *

Disallow: /catalog/123

Disallow: /catalog/111

Disallow: /catalog/12

Але в 2 рази коротше буде так:

User-agent: *

Disallow: /catalog/1*

Також це можна використовувати для відкриття всіх файлів однакового формату в одній папці.

Наприклад, у папці «catalog» лежать файли з розширенням php, rar, pdf та jpg і нам потрібно відкрити останні, а все закрити. Зробити це можна так.

Приклад:

User-agent: *

Disallow: /catalog/

Allow: /catalog/*.jpg

Важлива примітка: в кінці будь-якого параметра в директиві робот за промовчанням ставить зірочку. Наприклад, шматок з прикладу вище краулер бачить, як:

User-agent: *

Disallow: /catalog/*

Allow: /catalog/*.jpg*

Не забувайте про це.

Стоп рядок або знак “долара” – $

Символ $ означає закінчення рядка – він скасовує зірочку в кінці параметра. Як це розуміє робот? Ми маємо в папці «catalog» 2 типи файлів з розширенням jpg і jp, і нам потрібно відкрити до індексації другі, але заборонити перші. Зробити це можна так:

User-agent: *

Disallow: /catalog/

Allow: /catalog/*.jp$

Якби $ там не було, тоді індексувалися б усі файли, не лише з jp

Трохи поезії з #

Зазвичай знак “решітка” у файлі robots.txt використовується для додавання коментарів. Робот не читає символи, що стоять від цього символу праворуч і відразу переходить на наступний рядок.

User-agent: *

#Відкрив цей блок директив для всіх роботів

Disallow: /catalog/

#Закрив від індексації папку catalog

Allow: /catalog/*.jp$

#Відкрив для індексації файли з розширенням jp

Тому коментарі НЕ МОЖНА розміщувати ліворуч від директив в одному рядку.

#Відкрив для індексації файли з розширенням jpAllow: /catalog/*.jp$

Дозволяється коменти розміщувати праворуч від директиви та параметра.

Allow: /catalog/*.jp$ #Відкрив для індексації файли з розширенням jp

Ідеальний файл robots.txt

User-agent: *                                                 #Є обов’язкова директива

Disallow:                                                        #Є обов’язкова директива

Host: http://site.ua                                    #Вказано основне дзеркало сайту

Sitemap: http://site.ua/sitemap.xml    #Є посилання на файл з url усіх сторінок сайту

Як перевірити чи правильно написаний файл robots.txt

Після того, як файл залитий у кореневий каталог, потрібно про нього повідомити пошукові системи. Але перед цим обов’язково перевірити правильність його написання. Для кожного пошуковика інструкція своя. Ми розглянемо для Google:

  1. Увійти до особистого кабінету Google Search Console (заздалегідь додавши туди сайт);
  2. Зайти до розділу «Сканування»;
  3. Вибрати пункт “Інструмент перевірки файлу”;
  4. Вказати шлях до файлу (просто дописати “robots.txt”, оскільки URL-адреса веб-ресурсу там уже прописана і так).

Після перевірки пошуковик дасть знати, чи є помилки. Якщо є – потрібно виправити, якщо ні – натискаєте «Надіслати». Готово! Google знає, що у вас з’явився файл і незабаром його просканує.

Підведемо підсумки

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

Сергій Іванченко
CEO
комерційна пропозиція

    SEO-просуванняКопірайтингSMM-просуванняРозробкаКонтекстна рекламаДизайн
    Digital новини в нашому телеграм-каналі
    Інтернет-маркетинг
    простою мовою
    підписатись
    Інші статті автора
    17/05/2024
    Файл robots.txt – це спеціальний індексний файл, призначений для вказівки пошуковим роботам на те, що можна індексувати на сайті, а що не можна. Він потрібен для того, щоб побачити повну кількість сторінок та файлів на сайті. Також за його допомогою добре видно шляхи розташування тих чи інших файлів та наявності сторінок сортувань, фільтрів та сторінок з динамічними параметрами.

    25/11/2024
    Карта сайту або Sitemap – це файл, за допомогою якого є можливість повідомити пошукові системи, які сторінки і файли слід вважати важливими на сайті, а також надати цінну інформацію про них. Наприклад, коли було останнє оновлення сторінки, наявність зображень або відео, а також перелік всіх альтернативних мовних версій сторінки.

    Пошуковий маркетинг, він же SEM або Search Engine Marketing – це один із видів digital-маркетингу, який використовується для покращення позицій сайту у пошуковиках.

    Останні статті по #SEO
    Нові можливості інтернет-маркетингу постійно з’являються, змінюються та зникають. Проте є стратегії, які, незважаючи на свою суперечливість, продовжують користуватися популярністю. Одна з таких стратегій — CPA.

    Meta Ad Library або Бібліотека реклами Meta — це безкоштовний інструмент, який містить велику кількість вже існуючих рекламних креативів для соцмереж Facebook, Instagram, WhatsApp.

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

    WhatsApp Telegram Viber Почати розмову