При самостійному просуванні та розкрутці сайту важливо не тільки створення унікального контенту або підбір запитів в статистикою Яндекса, але і так само слід приділяти належну увагу такому показнику, як індексація ресурсу пошуковими системами, бо від цього теж залежить весь подальший успіх просування.
У нас з вами є в розпорядженні два набору інструментів, за допомогою яких ми можемо керувати цим процесом як би з двох сторін. По-перше, існує такий важливий інструмент, як карта сайту (Sitemap xml). Вона каже пошуковцям про те, які сторінки сайту підлягають індексації і як давно вони оновлювалися.
А, по-друге, це, звичайно ж, файл robots.txt і схожий на нього за назвою мета-тег роботс, які допомагають нам заборонити індексування на сайті того, що не містить основного вмісту (виключити файли движка, заборонити індексацію дублів контенту), і саме про них і піде мова в цій статті…
Індексація сайту
Згадані вище інструменти дуже важливі для успішного розвитку вашого проекту, і це зовсім не голослівне твердження. У статті про Sitemap xml (див. посилання вище) я наводив приклад результати дуже важливого дослідження з найбільш частих технічних помилок початківців вебмайстрів, там на другому і третьому місці (після не унікального контенту) знаходяться як раз відсутність цих файлів роботс і сайтмап, або їх неправильне складання і використання.
Чому так важливо управляти індексацією сайту
Треба дуже чітко розуміти, що при використанні CMS (двигуна) не весь вміст сайту повинно бути доступно роботів пошукових систем. Чому?
Хорошим рішенням буде заборона всього зайвого в robots.txt (всі літери в назві повинні бути в нижньому регістрі — без заголовних букв). З його допомогою ми зможемо впливати на процес індексації сайту Яндексом і Google. Він являє собою звичайний текстовий файл, який ви зможете створити і надалі редагувати в будь-якому текстовому редакторі (наприклад, Notepad++).
Пошуковий бот буде шукати цей файл в кореневому каталозі вашого ресурсу і якщо не знайде, то буде заганяти в індекс все, до чого можуть дотягнутися. Тому після написання необхідного роботса, його потрібно зберегти в кореневу папку, наприклад, з допомогою Ftp-клієнта Filezilla так, щоб він був доступний наприклад, за такою адресою:
https:///robots.txt
До речі, якщо ви хочете дізнатися як виглядає цей файл у того чи іншого проекту в мережі, то досить буде дописати до Урлу його головної сторінки закінчення виду /robots.txt. Це може бути корисно для розуміння того, що в ньому повинно бути.
Однак, при цьому треба враховувати, що для різних движків цей файл буде виглядати по-різному (папки движка, які потрібно забороняти індексувати, будуть називатися по-різному в різних CMS). Тому, якщо ви хочете визначитися з кращим варіантом роботса, припустимо для Вордпресс, то і вивчати потрібно тільки блоги, побудовані на цьому движку (і бажано мають пристойний пошуковий трафік).
Як можна заборонити індексацію окремих частин сайту і контенту?
Перш ніж заглиблюватися в деталі написання правильного файлу robots.txt для вашого сайту, забіжу трохи наперед і скажу, що це лише один із способів заборони індексації тих або інших сторінок або розділів сайту. Взагалі їх три:
Важливо розуміти, що навіть «стандарт» (валідні директиви 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: /
User-agent: *
Disallow: /image/
User-agent: *
Disallow: /katalog1//katalog2/private_file.html
Забігаючи трохи вперед скажу, що простіше використовувати символ зірочки (*), щоб не писати повний шлях:
Disallow: /*private_file.html
User-agent: *
Disallow: /імадеДело в тому, що за замовчуванням в кінці запису мається на увазі зірочка, яка замінює будь-які символи, у тому числі і їх відсутність. Про це Читайте нижче.
User-agent: Yandex
Allow: /cgi-bin
Disallow: /
Ну, або ось такий очевидний приклад використання зв’язки Allow і Disallow:
User-agent: *
Disallow: /catalog
Allow: /catalog/auto
User-agent: *
Disallow: *.php$
Disallow: /images
Маючи на увазі, що це те ж саме, що:
Disallow: /images*
Тобто це правило забороняє індексацію всіх файлів (вебсторінок, картинок та інших типів файлів) адреса яких починається з /images, а далі слід все що завгодно (див. приклад вище). Так от, символ $ просто скасовує цю умолчательную (непроставляемую) зірочку на кінці. Наприклад:
Disallow: /images$
Забороняє лише індексацію файлу /images, але не /images.html або /images/primer.html. Ну, а в першому прикладі ми заборонили індексацію лише для файлів закінчуються .php (мають таке розширення), щоб нічого зайвого не зачепити:
Disallow: *.php$
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 завантажити оновлений файл в панель вебмайстрів і повторити перевірку. Все ОК?
Тоді складайте список сторінок, які не повинні індексуватися, і проводите їх перевірку. При необхідності внесіть зміни і перевірку повторюйте. Природно, що перевіряти слід не всі сторінки сайту, а яскравих представників свого класу (сторінки статей, рубрики, службові сторінки, файли зображень, файли шаблону, файли движка і т. д.)
Причини помилок, що виявляються при перевірці файлу роботс.тхт
User-agent: *
Disallow: /
Disallow: /feed/ /tag/ /trackback/
Для кожної умови потрібно додати своє Disallow:
Disallow: /feed/
Disallow: /tag/
Disallow: /trackback/
User-agent: /
Disallow: Yandex
замість
User-agent: Yandex
Disallow: /
Мета-тег Robots — допомагає закрити дублі контенту при індексації сайту
Існує ще один спосіб налаштувати (дозволити або заборонити) індексацію окремих сторінок web-сайту, як для Яндекса, так і для Гугл. Причому для Google цей метод значно пріоритетніше описаного вище. Тому, якщо потрібно, напевно, закрити сторінку від індексації цією пошуковою системою, то цей мета-тег потрібно буде прописувати в обов’язковому порядку.
Для цього всередині тега «HEAD» потрібної веб-сторінки дописується МЕТА-тег Robots з потрібними параметрами, і так повторюється для всіх документів, до яких потрібно застосувати те чи інше правило (заборона або дозвіл). Виглядати це може, наприклад, так:
…
…
У цьому випадку, боти всіх пошукових систем повинні будуть забути про індексацію цієї вебсторінки (про це говорить присутність noindex в даному мета-тегу) і аналізі розміщених на ній посилань (про це говорить присутність nofollow — боту забороняється переходити по посиланнях, які він знайде в цьому документі).
Існують тільки дві пари параметрів у метатега robots: [no]index і [no]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. Те ж саме, до речі, і в прикладі файлу для Вордпресс було.
Удачі вам! До зустрічей на сторінках блогу