К постам Опубликовано: 2016-12-23

Поради щодо коректного використання файлу robots.txt

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

Зрозуміло, що в robots.txt використовуються різні директиви. Серед них є багато корисних:

  • Host: для вказівки основного хоста для Яндекса
  • Sitemap: для вказівки адреси карти сайту
  • Crawl-Delay: для вказівки мінімальної затримки між індексацією сторінок (не для всіх пошуковиків).

Також є директива Disallow (Дозволити як протилежна). Саме про них і піде мова в даній статті.

З якими проблемами стикаються вебмастера, використовуючи robots.txt?

Перша і основна проблема, з якою стикаються вебмастера, це наявність в індексі Google сторінок, у закритих robots.txt. Вважається, що якщо закрити сторінку або розділ в robots.txt, то вона не потрапить в індекс або випаде з нього, якщо там була. Це поки що працює так для Яндекса, Google сприймає robots.txt по-іншому.

Приклад індексації у закритих robots.txt сторінок

Якщо звернутися до довідці Google, то можна бачити, що robots.txt — це не правило, а рекомендація. І вона означає "не перевіряти сторінку", а не "не додавати її в індекс". Сторінка за раніше може потрапити в індекс, якщо на неї була знайдена посилання всередині сайту або десь на зовнішньому ресурсі.

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

Для закриття дублів сторінок краще використовувати внутрішні засоби CMS, а не намагатися спростити собі життя файлом robots.txt. Тим більше, що файл може по якимось причинах недоступний (перенесли на інший сервер, забули, перейменували і так далі) і в такому випадку все закрите стає різко відкритим (напевно як у випадку з минулого витоком інформації з wiki.yandex-team.ru).

По-друге, закриваючи все підряд, можна випадково закрити важливі речі. Наприклад, закриваючи в Wordpress всю папку /wp-content/, можна залишитися без трафіку по зображеннях, які зберігаються в /wp-content/uploads/.

Приклад robots.txt із закритою папкою картинок

Тут зберігаються зображення, але в пошуку по картинках їх немає:

Тут зберігається багато картинок, але їх немає в пошуку по зображеннях

Так що, виходить краще зовсім не використовувати robots.txt? В деяких випадках він все ж корисний (особливо, коли ми прописуємо головне дзеркало для Яндекса).

Для чого я рекомендую використовувати robots.txt

  • Для закриття всього сайту при його розробці
    Щоб заздалегідь в індекс не потрапило нічого зайвого.
  • Для закриття сайту від лівих пошуковиків.
    Наприклад, Рунетовским сайтів немає сенсу показуватися в Yahoo! Якщо в цьому пошуковику немає цільової аудиторії, то можна сміливо закривати сайт, щоб не навантажувати додатково свої сервера.
  • Для закриття приватних розділів сайту від очей робота.
    Щоб приватні дані (типу номери кредитних карт :) паролі або смс-ки користувачів) не потрапляли в індекс. Хоча логічно ці розділи взагалі не мати відкритими на сайті.
  • Для зняття навантаження на сервер
    Якщо, приміром, на вашому дуже популярному сайті багато функціоналу за сотрировке товару, або якісь фільтри, які вимагають великих серверних ресурсів, можна не пускати робота до цих сторінок, щоб зняти навантаження. Хоча, знову ж таки, логино було б зробити функціонал сортування невидимим для робота в самій CMS, ніж перекладати відповідальність на файл robots.txt.

Для чого я б не рекомендував використовувати robots.txt

  • Для закриття індексації сторінок пейджинга, сортування, пошуку
    Від дублів слід позбавлятися засобами CMS, наприклад 301 перенаправленням тегом rel=canonical (який спеціально для цього був створений), 404 помилкою або мета тегом robots noindex.
  • Для видалення вже існуючих сторінок в індексі
    Часта помилка вебмайстрів, коли намагаються видалити сторінки з індексу роботсом. Пошуковий робот не зможе переіндексувати сторінку і видалити її, якщо ви закриєте доступ до неї через роботс.
  • Для закриття адмін-панелі
    Шлях до адмінки видно в роботс. Так на конференції Optimization.by ми з колегами зловмисно отримали доступ до однієї адмінці сайту про курсові роботи, шлях до якої дізналися через robots.txt, а паролі були стандартні admin:admin.
  • Для закриття інших сторінок, які ви не хочете бачити в індексі
    Використовуйте для цього будь-які інші методи