Як розкрутити сайт самому

568
  • Чому так важливо управляти індексацією сайту
  • Як можна заборонити індексацію окремих частин сайту
  • Robots.txt — директива user-agent і боти пошукових систем
  • Приклади використання директив Disallow і Allow
  • Директиви Sitemap і Host (для Яндекса вже не потрібна)
  • Перевірка robots.txt в Яндексі і Гуглі, приклади помилок
  • Мета-тег Robots — допомагає закрити дублі при індексації сайту
  • Як створити правильний роботс.тхт?
  • При самостійному просуванні та розкрутці сайту важливо не тільки створення унікального контенту або підбір запитів в статистикою Яндекса, але і так само слід приділяти належну увагу такому показнику, як індексація ресурсу пошуковими системами, бо від цього теж залежить весь подальший успіх просування.

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

    Як розкрутити сайт самому

    А, по-друге, це, звичайно ж, файл robots.txt і схожий на нього за назвою мета-тег роботс, які допомагають нам заборонити індексування на сайті того, що не містить основного вмісту (виключити файли движка, заборонити індексацію дублів контенту), і саме про них і піде мова в цій статті…

    Індексація сайту

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

    Чому так важливо управляти індексацією сайту

    Треба дуже чітко розуміти, що при використанні CMS (двигуна) не весь вміст сайту повинно бути доступно роботів пошукових систем. Чому?

  • Ну, хоча б тому, що, витративши час на індексацію файлів движка вашого сайту (а їх може бути тисячі), робот пошукової системи до основного вмісту зможе дістатися тільки через багато часу. Справа в тому, що він не буде сидіти на вашому ресурсі до тих пір, поки його повністю не занесе в індекс. Є ліміти на кількість сторінок і вичерпавши їх він піде на інший сайт. Адьйос.
  • Якщо не прописати певні правила поведінки в роботсе для цих ботів, то в індекс пошуковиків потрапить безліч сторінок, що не мають відношення до значимого змісту ресурсу, а також може статися багаторазове дублювання контенту (за різними посиланнями буде доступний один і той же, або сильно перетинається контент), що пошукові системи не люблять.
  • Хорошим рішенням буде заборона всього зайвого в robots.txt (всі літери в назві повинні бути в нижньому регістрі — без заголовних букв). З його допомогою ми зможемо впливати на процес індексації сайту Яндексом і Google. Він являє собою звичайний текстовий файл, який ви зможете створити і надалі редагувати в будь-якому текстовому редакторі (наприклад, Notepad++).

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

    https:///robots.txt

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

    Однак, при цьому треба враховувати, що для різних движків цей файл буде виглядати по-різному (папки движка, які потрібно забороняти індексувати, будуть називатися по-різному в різних CMS). Тому, якщо ви хочете визначитися з кращим варіантом роботса, припустимо для Вордпресс, то і вивчати потрібно тільки блоги, побудовані на цьому движку (і бажано мають пристойний пошуковий трафік).

    Як можна заборонити індексацію окремих частин сайту і контенту?

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

  • Роботс.тхт — самий високорівневий спосіб, бо дозволяє задати правила індексації для всього сайту в цілому (як його окремий сторінок, так і цілих каталогів). Він є повністю валідним методом, підтримуваним всіма пошуковими та іншими ботами живуть в мережі. Але його директиви зовсім не є обов’язковими для виконання. Наприклад, Гугл не дуже дивиться на заборони в robots.tx — для нього авторитетніше однойменний мета-тег розглянутий нижче.
  • Мета-тег robots — має вплив тільки на сторінку, де він прописаний. В ньому можна заборонити індексацію і перехід робота по перебувають в цьому документі посиланнями (докладніше дивіться нижче). Він теж є повністю валідним і пошуковики будуть намагатися враховувати зазначені в ньому значення. Для Гугла, як я вже згадував, цей метод має більшу вагу, ніж файлик роботса в корені сайту.
  • Тег Noindex і атрибут rel=»nofollow» — самий низькорівневий спосіб впливу на індексацію. Вони дозволяють закрити від індексації окремі фрагменти тексту (noindex) і не враховувати вагу передається по посиланню. Вони не валідні (їх немає в стандартах). Як саме їх пошукачі враховують і враховують взагалі — велике питання і предмет довгих суперечок (хто знає напевно — той мовчить і користується).
  • Важливо розуміти, що навіть «стандарт» (валідні директиви robots.txt і однойменного мета-тега) є необов’язковим до виконання. Якщо робот «ввічливий», то він буде слідувати заданим вами правилами. Але навряд чи ви зможете за допомогою такого методу заборонити доступ до частини сайту роботам, крадуть у вас контент або скануючим сайт з інших причин.

    Взагалі, роботів (ботів, павуків, краулеров) існує безліч. Якісь з них індексують вміст (як наприклад, боти пошукових систем або злодюжок). Є боти перевіряючі посилання, оновлення, дзеркалювання, перевіряючі мікророзмітку і т. д. Дивіться скільки роботів є тільки у Яндекса.

    Більшість роботів добре спроектовані і не створюють жодних проблем для власників сайтів. Але якщо бот написаний дилетантом або «щось пішло не так», то він може створювати істотне навантаження на сайт, який він обходить. До речі, павуки зовсім на заходять на сервер подібно до вірусів — вони просто замовляють потрібні їм сторінки віддалено (по суті це аналоги браузерів, але без функції перегляду сторінок).

    Robots.txt — директива user-agent і боти пошукових систем

    Роботс.тхт має зовсім не складний синтаксис, який дуже докладно описаний, наприклад, у хелпе яндекса і хелпе Гугла. Зазвичай у ньому вказується, для якого пошукового бота призначені описані нижче директиви: ім’я бота (‘User-agent‘), що дозволяють (‘Allow‘) і заборонні (‘Disallow‘), а також ще активно використовується ‘Sitemap’ для вказівки пошуковикам, де саме знаходиться файл карти.

    Стандарт створювався досить давно і щось було додано вже пізніше. Є директиви і правила оформлення, які будуть зрозумілі тільки роботами певних пошукових систем. У рунеті інтерес представляють в основному тільки Яндекс і Гугл, а отже саме з їх хелпами щодо складання robots.txt слід ознайомитися особливо детально (посилання я навів у попередньому абзаці).

    Наприклад, раніше для пошукової системи Яндекс було корисним вказати, яке з дзеркал вашого вебпроекта є головним у спеціальній директиві ‘Host’, яку розуміє лише цей пошуковик (ну, ще й Майл.ру, бо у них пошук від Яндекса). Правда, на початку 2018 Яндекс все ж скасував Host і тепер її функції як і в інших пошукачів виконує 301-редирект.

    Навіть якщо у вашого ресурсу немає дзеркал, то корисно буде вказати, який з варіантів написання є головним — з www або без нього.

    Тепер поговоримо трохи про синтаксис цього файлу. Директиви robots.txt мають наступний вигляд:

    :
    :

    Правильний код повинен містити хоча б одну директиву «Disallow» після кожного запису «User-agent». Порожній файл передбачає дозвіл на індексування всього сайту.

    User-agent

    Директива «User-agent» повинна містити назву пошукового бота. За допомогою неї можна налаштувати правила поведінки для кожної конкретної пошукової системи (наприклад, створити заборона індексації окремої папки тільки для Яндекса). Приклад написання «User-agent», адресовану всім ботам зайшли на ваш ресурс, виглядає так:

    User-agent: *

    Якщо ви хочете в «User-agent» поставити певні умови тільки для якогось одного бота, наприклад, Яндекс, то потрібно написати так:

    User-agent: Yandex

    Назва роботів пошукових систем та їх роль у файлі robots.txt

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

    Google http://www.google.com Googlebot
    Яндекс http://www.ya.ru Yandex
    Бінг http://www.bing.com/ bingbot

    У великих пошукових систем іноді, крім основних ботів, є також окремі екземпляри для індексації блогів, новин, зображень і т. д. Багато інформації по різновидах ботів ви можете почерпнути тут (для Яндекса) і тут (для Google).

    Виды поисковых роботов ГуглаЯк розкрутити сайт самому

    Як бути в цьому випадку? Якщо потрібно написати правило заборони індексації, який повинні виконати всі типи роботів Гугла, то використовуйте назва Googlebot і всі інші павуки цього пошуковика теж послухаються. Однак, можна заборона давати тільки, наприклад, на індексацію картинок, вказавши в якості User-agent бота Googlebot-Image. Зараз це не дуже зрозуміло, але на прикладах, я думаю, буде простіше.

    Приклади використання директив Disallow і Allow в роботс.тхт

    Наведу кілька простих прикладів використання директив з поясненням його дій.

  • Наведений нижче код дозволяє ботам (на це вказує зірочка в User-agent) проводити індексацію всього вмісту без будь-яких винятків. Це задається порожній директивою Disallow.
    User-agent: *
    Disallow:
  • Наступний код, навпаки, повністю забороняє усім пошукачам додавати в індекс сторінки цього ресурсу. Встановлює це Disallow з «/» у полі значення.
    User-agent: *
    Disallow: /
  • У цьому випадку буде заборонятися всім ботам переглядати вміст каталогу /image/ (http://mysite.ru/image/ — абсолютний шлях до цього каталогу)
    User-agent: *
    Disallow: /image/
  • Щоб заблокувати один файл, достатньо буде прописати його абсолютний шлях до нього (читайте про абсолютні і відносні шляхи за посиланням):
    User-agent: *
    Disallow: /katalog1//katalog2/private_file.html

    Забігаючи трохи вперед скажу, що простіше використовувати символ зірочки (*), щоб не писати повний шлях:

    Disallow: /*private_file.html

  • У наведеному нижче прикладі будуть заборонені директорія «image», а також всі файли і директорії, що починаються з символів «image», тобто файли: «image.htm», «images.htm», каталоги: «image», «images1», «image34» і т. д.):
    User-agent: *
    Disallow: /імадеДело в тому, що за замовчуванням в кінці запису мається на увазі зірочка, яка замінює будь-які символи, у тому числі і їх відсутність. Про це Читайте нижче.
  • За допомогою директиви Allow ми дозволяємо доступ. Добре доповнює Disallow. Наприклад, ось таким умовою пошуковому роботу Яндекса ми забороняємо викачувати (індексувати) всі, крім вебсторінок, адреса яких починається з /cgi-bin:
    User-agent: Yandex
    Allow: /cgi-bin
    Disallow: /

    Ну, або ось такий очевидний приклад використання зв’язки Allow і Disallow:

    User-agent: *
    Disallow: /catalog
    Allow: /catalog/auto

  • При описі шляхів для директив Allow-Disallow можна використовувати символи ‘*’ і ‘$’, ставлячи, таким чином, певні логічні вирази.
  • Символ ‘*'(зірочка) означає будь-яку (у тому числі порожню) послідовність символів. Наступний приклад забороняє усім пошукачам індексацію файлів з розширенням «.php»:
    User-agent: *
    Disallow: *.php$
  • Навіщо потрібен на кінці знак $ (долара)? Справа в тому, що за логікою складання файлу robots.txt в кінці кожної директиви як би дописується умолчательная зірочка (її немає, але вона як би є). Наприклад, ми пишемо:
    Disallow: /images

    Маючи на увазі, що це те ж саме, що:

    Disallow: /images*

    Тобто це правило забороняє індексацію всіх файлів (вебсторінок, картинок та інших типів файлів) адреса яких починається з /images, а далі слід все що завгодно (див. приклад вище). Так от, символ $ просто скасовує цю умолчательную (непроставляемую) зірочку на кінці. Наприклад:

    Disallow: /images$

    Забороняє лише індексацію файлу /images, але не /images.html або /images/primer.html. Ну, а в першому прикладі ми заборонили індексацію лише для файлів закінчуються .php (мають таке розширення), щоб нічого зайвого не зачепити:

    Disallow: *.php$

  • У багатьох движках користувачі налаштовують так звані ЧПУ (людино-зрозумілі Урли), в той час як Урли, що генеруються системою, мають знак питання ‘?’ в адресі. Цим можна скористатися і написати таке правило в robots.txt:
    User-agent: *
    Disallow: /*?

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

  • Директиви Sitemap і Host (для Яндекса) в Robots.txt

    У уникнення виникнення неприємних проблем з дзеркалами сайту, раніше рекомендувалося додавати в robots.txt директиву Host, яка вказував боту Yandex на головне дзеркало.

    Однак, на початку 2018 рік це було скасовано і і тепер функції Host виконує 301-редирект.

    Директива Host — вказує головне дзеркало сайту для Яндекса

    Наприклад, раніше, якщо ви ще не перейшли на захищений протокол, вказувати в Host потрібно було не повний Url, а доменне ім’я (без http://, тобто , а не https://). Якщо ж вже перейшли на https, то вказувати потрібно буде повний Урл (типу https://myhost.ru).

    Зараз переїзд сайту після відмови від директиви Host дуже сильно спростили, бо тепер не потрібно чекати, поки відбудеться склеювання дзеркал по директиві Host для Яндекса, а можна відразу після налаштування на сайті Https робити посторінковий редирект з Http Https.

    Нагадаю як історичного екскурсу, що за стандартом написання роботс.тхт за будь директивою User-agent повинна відразу слідувати хоча б одна директива Disallow (нехай навіть і пуста, нічого не забороняє). Так само, напевно, є сенс прописувати Host для окремого блоку «User-agent: Yandex», а не для загального «User-agent: *», щоб не збивати з пантелику роботів інших пошукачів, які цю директиву не підтримують:

    User-agent: Yandex
    Disallow:
    Host: www.site.ru

    або

    User-agent: Yandex
    Disallow:
    Host: site.ru

    або

    User-agent: Yandex
    Disallow:
    Host: https://site.ru

    або

    User-agent: Yandex
    Disallow:
    Host: https://www.site.ru

    в залежності від того, що для вас оптимальніше (з www або без), а так само залежно від протоколу.

    Вказуємо або приховуємо шлях до карти сайту sitemap.xml у файлі robots

    Директива Sitemap вказує на місце розташування файлу карти сайту (зазвичай він називається Sitemap.xml але не завжди). В якості параметра вказується шлях до файлу, включаючи http:// (тобто його Урл).Завдяки цьому пошуковий робот зможете без праці його знайти. Наприклад:

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

    Раніше файл карти сайту зберігали в корені сайту, але зараз багато його ховають всередині інших директорій, щоб злодіям контенту не давати зручний інструмент у руки. В цьому випадку шлях до карти сайту краще в роботс.тхт не вказувати. Справа в тому, що це можна з тим же успіхом зробити через панелі пошукових систем (Я. Вебмастер, Google.Вебмастер, панель Майл.ру), тим самим «не палячи» його місцезнаходження.

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

    Перевірка robots.txt в Яндекс і Гугл вебмастере

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

  • Зайти в інструменти перевірки Яндекса і Гугла.
  • Переконатися, що в панель вебмастера завантажена версія файлу з внесеними вами змінами. В Яндекс вебмастере завантажити файл можна за допомогою показаної на скріншоті іконки:

    Проверка robots.txt в ЯндексtЯк розкрутити сайт самому

    В Гугл Вебмастере потрібно натиснути кнопку «Відправити» (праворуч під списком директив роботса), а потім у вікні, вибрати останній варіант натисканням знову ж на кнопку «Відправити»:

    Проверка роботс.тхт в ГуглЯк розкрутити сайт самому

  • Набрати список адрес сторінок свого сайту (з Урлом у рядку), які повинні індексуватися, і вставити їх скопом (в Яндексі), або по одному (в Гуглі) в розташовану знизу форму. Після чого натиснути на кнопку «Перевірити».

    Проверяем файл роботсЯк розкрутити сайт самому

    Якщо виникли розбіжності, то з’ясувати причини, внести зміни в robots.txt завантажити оновлений файл в панель вебмайстрів і повторити перевірку. Все ОК?

    Проверка запретов на индексации страницы в robots.txtЯк розкрутити сайт самому

    Тоді складайте список сторінок, які не повинні індексуватися, і проводите їх перевірку. При необхідності внесіть зміни і перевірку повторюйте. Природно, що перевіряти слід не всі сторінки сайту, а яскравих представників свого класу (сторінки статей, рубрики, службові сторінки, файли зображень, файли шаблону, файли движка і т. д.)

  • Причини помилок, що виявляються при перевірці файлу роботс.тхт

  • Файл повинен знаходитися в корені сайту, а не в якійсь папці (це не .htaccess, і його дії поширюються на весь сайт, а не на каталог, в якому його помістили), бо пошуковий робот його там шукати не буде.
  • Ім’я та розширення файлу robots.txt повинна бути набрана в нижньому регістрі (маленькими) латинськими літерами.
  • У назві файлу повинна бути буква S на кінці (не robot.txt як багато пишуть)
  • Часто в User-agent замість зірочки означає, що цей блок robots.txt адресований всім ботам) залишають порожнє поле. Це не правильно і * у цьому випадку обов’язкова
    User-agent: *
    Disallow: /
  • В одній директиві Disallow або Allow можна прописувати тільки одна умова на заборону індексації каталогу або файлу. Так не можна:
    Disallow: /feed/ /tag/ /trackback/

    Для кожної умови потрібно додати своє Disallow:

    Disallow: /feed/
    Disallow: /tag/
    Disallow: /trackback/

  • Досить часто плутають значення для директив і пишуть:
    User-agent: /
    Disallow: Yandex

    замість

    User-agent: Yandex
    Disallow: /

  • Порядок проходження Disallow (Allow) не важливий, головне, щоб була чітка логічна ланцюг
  • Порожня директива Disallow означає те ж, що «Allow: /»
  • Немає сенсу прописувати директиву sitemap під кожним User-agent, якщо будете вказувати шлях до карти сайту (про це читайте нижче), то робіть це один раз, наприклад, в самому кінці.
  • Директиву Host краще писати під окремим «User-agent: Yandex», щоб не бентежити ботів її не підтримують
  • Мета-тег Robots — допомагає закрити дублі контенту при індексації сайту

    Існує ще один спосіб налаштувати (дозволити або заборонити) індексацію окремих сторінок web-сайту, як для Яндекса, так і для Гугл. Причому для Google цей метод значно пріоритетніше описаного вище. Тому, якщо потрібно, напевно, закрити сторінку від індексації цією пошуковою системою, то цей мета-тег потрібно буде прописувати в обов’язковому порядку.

    Для цього всередині тега «HEAD» потрібної веб-сторінки дописується МЕТА-тег Robots з потрібними параметрами, і так повторюється для всіх документів, до яких потрібно застосувати те чи інше правило (заборона або дозвіл). Виглядати це може, наприклад, так:


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

    Існують тільки дві пари параметрів у метатега robots: [no]index і [no]follow:

  • Index — вказують, може робот проводити індексацію даного документа
  • Follow — може він слідувати по посиланнях, знайденим в цьому документі
  • Значення за замовчуванням (коли цей мета-тег для сторінки взагалі не прописаний) – «index» і «follow». Є також укорочений варіант написання з використанням «all» і «none», які позначають активність обох параметрів або, відповідно, навпаки: all=index,follow і none=noindex,nofollow.

    Більш докладні пояснення можна знайти, наприклад, в хелпе Яндекса:

    Як розкрутити сайт самомуЯк розкрутити сайт самому

    Для блогу на WordPress ви зможете налаштувати мета-тег Robots, наприклад, з допомогою плагін All in One SEO Pack. Якщо використовуєте інші плагіни або інші механізми сайту, то гуглите на тему прописування для потрібних сторінок meta name=»robots».

    Як створити правильний роботс.тхт?

    Ну все, з теорією покінчено і пора переходити до практики, а саме до складання оптимальних robots.txt. Як відомо, у проектів, створених на основі движка (Joomla, WordPress та ін), є безліч допоміжних об’єктів не несуть ніякої змістовне навантаження.

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

    Крім того, слід прагнути до унікальності контенту на своєму проекті і не слід допускати повного або навіть часткового дублювання контенту (вмісту). Дублювання може виникнути в тому випадку, якщо один і той же матеріал доступний за різними адресами (URL).

    Яндекс і Гугл, проводячи індексацію, виявлять дублі і, можливо, приймуть заходи до деякої пессимізації вашого ресурсу при їх великій кількості (машинні ресурси коштують дорого, а тому потрібно мінімізувати витрати). Так, є ще така штука, як мета-тег Canonical.

    Чудовий інструмент для боротьби з дублями контенту — пошуковик просто не буде індексувати сторінку, якщо в Canonical прописаний інший урл. Наприклад, для такої сторінки https:///page/2 мого блогу (сторінки з пагінація) Canonical вказує на https:// і ніяких проблем з дублюванням тайтлов виникнути не повинно.

    Але це я відволікся…

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

    Наприклад, у WordPress сторінки з дуже схожим вмістом можуть потрапити в індекс пошуковиків, якщо дозволена індексація і вмісту рубрик, та вмісту архіву тегів, і вмісту тимчасових архівів. Але якщо з допомогою описаного вище мета-тега Robots створити заборона для архіву тегів і тимчасового архіву (можна теги залишити, а заборонити індексацію вмісту рубрик), то дублювання контенту не виникне. Як це зробити описано за посиланням, наведеною трохи вище (на плагін ОлИнСеоПак)

    Підводячи підсумок скажу, що файл Роботс призначений для завдання глобальних правил заборони доступу в цілі директорії сайту, або файли і папки, в назві яких присутні задані символи (по масці). Приклади завдання таких заборон ви можете подивитися трохи вище.

    Тепер давайте розглянемо конкретні приклади роботса, призначеного для різних движків — Joomla, WordPress та SMF. Природно, що всі три варіанти, створені для різних CMS, будуть істотно (якщо не сказати кардинально) відрізнятися один від одного. Правда, у всіх у них буде один загальний момент, і цей момент пов’язаний з пошуковою системою Яндекс.

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

    Для неї радять використовувати окремий блог User-agent, призначений тільки для Яндекса (User-agent: Yandex). Це пов’язано з тим, що інші пошукові системи можуть не розуміти Host і, відповідно, її включення в запис User-agent, призначену для всіх пошуковиків (User-agent: *), може призвести до негативних наслідків і неправильної індексації.

    Як йде справа насправді — сказати важко, бо алгоритми пошуку роботи — це річ у собі, тому краще зробити так, як радять. Але в цьому випадку доведеться продублювати в директиві User-agent: Yandex всі ті правила, що ми поставили User-agent: *. Якщо ви залишите User-agent: Yandex з порожнім Disallow:, то таким чином ви дозволите Яндексу заходити куди завгодно і тягнути все підряд в індекс.

    Robots для WordPress

    Не буду наводити приклад файлу, який рекомендують розробники. Ви і самі можете його подивитися. Багато блогери взагалі не обмежують ботів Яндекса і Гугла їх прогулянках по вмісту движка WordPress. Найчастіше в блогах можна зустріти роботс, автоматично заповнений плагіном Google XML Sitemaps.

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

    Мій варіант цього файлу ви можете самі подивитися. Він старий, давно не змінювався, але я намагаюся дотримуватися принципу «не чини те, що не ламалося», а вам вже вирішувати: використовувати його, зробити свій чи ще у когось підглянути. У мене там ще заборона індексації сторінок з пагінація був прописаний до недавнього часу (Disallow: */page/), але недавно я його прибрав, понадеясь на Canonical, про який писав вище.

    А взагалі, єдино правильного файлу для WordPress, напевно, не існує. Можна, звичайно ж, реалізувати в ньому будь-які передумови, але хто сказав, що вони будуть правильними. Ідеальних варіантів robots.txt у мережі багато.

    Наведу дві крайності:

  • Тут можна знайти мегафайлище з докладними поясненнями (символом # відокремлюються коментарі, які в реальному файлі краще буде видалити):
    User-agent: * # загальні правила для роботів, крім Яндекса і Google,
    # т. к. для них правила нижче
    Disallow: /cgi-bin # папка на хостингу
    Disallow: /? # всі параметри запиту на головній
    Disallow: /wp- # всі файли WP: /wp-json/, /wp-includes, /wp-content/plugins
    Disallow: /wp/ # якщо є підкаталог /wp/, де встановлена CMS (якщо немає,
    # правило можна видалити)
    Disallow: *?s= # пошук
    Disallow: *&s= # пошук
    Disallow: /search/ # пошук
    Disallow: /author/ # архів автора
    Disallow: /users/ # архів авторів
    Disallow: */trackback # трекбеки, повідомлення в коментарях про появу відкритої
    # посилання на статтю
    Disallow: */feed # всі канали
    Disallow: */rss # rss фід
    Disallow: */embed # всі вбудовування
    Disallow: */wlwmanifest.xml # xml-файл маніфесту Windows Live Writer (якщо не використовуєте,
    # правило можна видалити)
    Disallow: /xmlrpc.php # файл API WordPress
    Disallow: *utm= # посилання з utm-мітками
    Disallow: *openstat= # посилання з мітками openstat
    Allow: */uploads # відкриваємо папку з файлами uploads
    User-agent: GoogleBot # правила для Google (коментарі не дублюю)
    Disallow: /cgi-bin
    Disallow: /?
    Disallow: /wp-
    Disallow: /wp/
    Disallow: *?s=
    Disallow: *&s=
    Disallow: /search/
    Disallow: /author/
    Disallow: /users/
    Disallow: */trackback
    Disallow: */feed
    Disallow: */rss
    Disallow: */embed
    Disallow: */wlwmanifest.xml
    Disallow: /xmlrpc.php
    Disallow: *utm=
    Disallow: *openstat=
    Allow: */uploads
    Allow: /*/*.js # відкриваємо js-скрипти всередині /wp- (/*/ — для пріоритету)
    Allow: /*/*.css # відкриваємо css-файли всередині /wp- (/*/ — для пріоритету)
    Allow: /wp-*.png # картинки в плагінах, cache папці і т. д.
    Allow: /wp-*.jpg # картинки в плагінах, cache папці і т. д.
    Allow: /wp-*.jpeg # картинки в плагінах, cache папці і т. д.
    Allow: /wp-*.gif # картинки в плагінах, cache папці і т. д.
    Allow: /wp-admin/admin-ajax.php # використовується плагінами, щоб не блокувати JS і CSS
    User-agent: Yandex # правила для Яндекса (коментарі не дублюю)
    Disallow: /cgi-bin
    Disallow: /?
    Disallow: /wp-
    Disallow: /wp/
    Disallow: *?s=
    Disallow: *&s=
    Disallow: /search/
    Disallow: /author/
    Disallow: /users/
    Disallow: */trackback
    Disallow: */feed
    Disallow: */rss
    Disallow: */embed
    Disallow: */wlwmanifest.xml
    Disallow: /xmlrpc.php
    Allow: */uploads
    Allow: /*/*.js
    Allow: /*/*.css
    Allow: /wp-*.png
    Allow: /wp-*.jpg
    Allow: /wp-*.jpeg
    Allow: /wp-*.gif
    Allow: /wp-admin/admin-ajax.php
    Clean-Param: utm_source&utm_medium&utm_campaign # Яндекс рекомендує не закривати
    # від індексування, а видаляти параметри міток,
    # Google такі правила не підтримує
    Clean-Param: openstat # аналогічно
    # Вкажіть один або декілька файлів Sitemap (дублювати для кожного User-agent
    # не потрібно). Google XML Sitemap створює 2 карти сайту, як в прикладі нижче.
    Sitemap: http://site.ru/sitemap.xml
    Sitemap: http://site.ru/sitemap.xml.gz
    # Вкажіть головне дзеркало сайту, як у прикладі нижче (з WWW / без WWW, якщо HTTPS
    # то пишемо протокол, якщо потрібно вказати порт, вказуємо). Команду Host розуміє
    # Яндекс і Mail.RU Google не враховує.
    Host: www.site.ru
  • А ось тут можна взяти на озброєння приклад мінімалізму:
    User-agent: *
    Disallow: /wp-admin/
    Allow: /wp-admin/admin-ajax.php
    Host: https://site.ru
    Sitemap: https://site.ru/sitemap.xml
  • Істина, напевно, лежить десь посередині. Ще не забудьте прописати мета-тег Robots для «зайвих» сторінок, наприклад, з допомогою чудесного плагіна — All in One SEO Pack. Він же допоможе і Canonical налаштувати.

    Правильний robots.txt для Joomla

    Рекомендований файл для Джумлы 3 виглядає так (живе він у файлі robots.txt.dist кореневої папки движка):

    User-agent: *
    Disallow: /administrator/
    Disallow: /bin/
    Disallow: /cache/
    Disallow: /cli/
    Disallow: /components/
    Disallow: /includes/
    Disallow: /installation/
    Disallow: /language/
    Disallow: /layouts/
    Disallow: /libraries/
    Disallow: /logs/
    Disallow: /modules/
    Disallow: /plugins/
    Disallow: /tmp/

    В принципі, тут практично все враховано і працює він добре. Єдине, в нього слід додати окреме правило User-agent: Yandex для вставки директиви Host, визначає головне дзеркало для Яндекса, а так само вказати шлях до файлу Sitemap.

    Тому в остаточному вигляді правильний robots для Joomla, на мою думку, повинен виглядати так:

    User-agent: Yandex
    Disallow: /administrator/
    Disallow: /cache/
    Disallow: /includes/
    Disallow: /installation/
    Disallow: /language/
    Disallow: /libraries/
    Disallow: /modules/
    Disallow: /plugins/
    Disallow: /tmp/
    Disallow: /layouts/
    Disallow: /cli/
    Disallow: /bin/
    Disallow: /logs/
    Disallow: /components/
    Disallow: /component/
    Disallow: /component/tags*
    Disallow: /*mailto/
    Disallow: /*.pdf
    Disallow: /*%
    Disallow: /index.php
    Host: vash_sait.ru (або www.vash_sait.ru)
    User-agent: *
    Allow: /*.css?*$
    Allow: /*.js?*$
    Allow: /*.jpg?*$
    Allow: /*.png?*$
    Disallow: /administrator/
    Disallow: /cache/
    Disallow: /includes/
    Disallow: /installation/
    Disallow: /language/
    Disallow: /libraries/
    Disallow: /modules/
    Disallow: /plugins/
    Disallow: /tmp/
    Disallow: /layouts/
    Disallow: /cli/
    Disallow: /bin/
    Disallow: /logs/
    Disallow: /components/
    Disallow: /component/
    Disallow: /*mailto/
    Disallow: /*.pdf
    Disallow: /*%
    Disallow: /index.php
    Sitemap: http://путь до вашої карті формату XML

    Так, ще зверніть увагу, що у другому варіанті є директиви Allow, що дозволяють індексацію стилів, скриптів і картинок. Написано це спеціально для Гугла, бо його Googlebot іноді лається, що в роботсе заборонена індексація цих файлів, наприклад, з папки з вашою темою оформлення. Навіть погрожує за це знижувати в ранжируванні.

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

    Удачі вам! До зустрічей на сторінках блогу