- Robots.txt: що це і навіщо він потрібен?
- Robots.txt для інтернет-магазинів: в чому відмінності від інших сайтів?
- Які сторінки закрити від індексації?
- Налаштування robots.txt для піддоменів
- Недоліки управління індексацією за допомогою robots.txt і доступні альтернативи
Наша команда-партнер Artmisto
Для коректного управління індексацією інтернет-магазину в пошукових системах використовується кілька інструментів, і один з них - robots.txt. Але в силу доступності і простоти інструменту багато вебмастера покладаються лише на нього, через що в індекс потрапляють небажані сторінки, які потім доводиться «вичищати». З'ясовуємо, що являє собою цей файл і що слід зробити для правильної індексації сайту ecommerce.
Robots.txt: що це і навіщо він потрібен?
Стандарт винятків для роботів (краулерів) - це файл у форматі .txt. Він завжди називається «robots» і розташовується в кореневій папці сайту. У файлі прописані обмеження доступу для краулерів до даних на сервері.
Цей стандарт затверджений консорціумом Всесвітньої Павутини W3C в 1994 році. Його використання є добровільним (як для власників сайтів, так і для пошукових систем).
За допомогою robots.txt власники сайтів вказують роботам, які файли, сторінки і каталоги сайту не повинні індексуватися.
Після того як пошуковий робот починає сесію обходу сайту, він на самому початку завантажує вміст robots.txt. Якщо файлу немає або при зверненні повертається код , Відмінний від 200 OK, то робот буде індексувати всі документи, розташовані в кореневій і вкладених папках (за умови, що не використано інші методи закриття від індексації). Це загрожує декількома проблемами:
- час робота на сайті обмежена, і якщо він почне сканувати всі підряд, то може так і не дістатися до основного контент;
- в індекс потрапляє багато «сміття» - файлів і сторінок, які не приносять користі для відвідувачів (це погіршує позиції сайту в пошуку);
- у відкритий доступ потрапляють внутрішні конфіденційні дані та особисті дані користувачів.
Інструкції пошуковикам передаються за допомогою директив. Повністю закрити сайт від індексації можна за допомогою двох рядків в robots.txt (зазвичай це роблять на етапі розробки сайту):
User-agent: *
Disallow: /
Символ * в рядку User-agent: вказує, що директиви поширюються на всіх роботів. Також можна прописати директиви для окремих роботів (замість * потрібно вказати назву робота): Googlebot - головний індексує робот Google; YandexBot - робот Яндекса; Bingbot - робот Bing; YandexImages - робот Яндекс.Зображень і т. Д.
Виконання директив підпорядковується ряду правил:
- все, що не закрита директивою Disallow, є для індексації;
- порядок розташування директив не впливає на правильність їх виконання;
- спочатку виконуються директиви з меншою кількістю символів в префікс URL;
- при наявності директив з префіксами те й тієї ж довжини спочатку виповнюється директива Allow.
Повний опис правил і синтаксису robots.txt є на сайті robotstxt.org . При цьому кожен пошуковик має свої особливості і внутрішні директиви. Наприклад, для Яндекса необхідно прописувати директиву із зазначенням на головне дзеркало сайту (інші роботи цю директиву ігнорують):
Host: https://www.yoursite.ru
або
Host: https://yoursite.ru
До недавнього часу в Яндексі була унікальна директива Crawl-delay, яка вказувала роботу на мінімальний період часу (в секундах) між завантаженнями сторінок. Але тепер вона неактуальна, так як в Яндекс.Вебмастере з'явився функціонал, що дозволяє вказати цей інтервал.
Повний опис технічних нюансів складання robots.txt для окремих роботів представлено в довідці Яндекса і Google .
Robots.txt для інтернет-магазинів: в чому відмінності від інших сайтів?
У випадку з інформаційними сайтами зазвичай не виникає проблем: скачали стандартний robots.txt з сайту постачальника CMS або форуму розробників, підкоригували відповідно до особливостей сайту, розмістили в кореневій папці і забули надовго або взагалі назавжди.
З інтернет-магазинами все складніше:
- тут більш розгалужена структура (у блогів структура лінійна: головна / розділ / означена стаття; у інтернет-магазинів маса службових сторінок: оформлення замовлення, оплати, порівняння та підбору товарів, фільтри, сортування, особисті кабінети, не кажучи вже про те, що один і той же товар може бути доступний з різних URL);
- у інтернет-магазинів можуть бути регіональні піддомени, для яких можна створити окремий robots.txt;
- структура інтернет-магазину більш динамічна, ніж блогу: постійно щось змінюється, допрацьовується, і важливо не забути вчасно внести зміни в налаштування індексації;
- інтернет-магазини повинні забезпечити високий рівень збереження особистих даних, і якщо сторінка з платіжною інформацією потрапить у відкритий доступ, це стане серйозним ударом по репутації і навіть приводом для судових позовів.
З формальної точки зору немає різниці, для якого сайту складати robots.txt: директиви та правила незмінні хоч для блогів, хоч для інтернет-магазинів. Але на увазі більшої різноманітності сторінок і специфіки роботи CMS складання robots.txt для інтернет-магазинів вимагає більшої уваги з боку вебмастера і в деяких випадках досвіду програмування на стороні сервера.
Які сторінки закрити від індексації?
Від індексації завжди закриваються системні файли і адмінпанель. Папки з особистою інформацією користувачів і адмінпанель необхідно додатково захистити паролем.
Кожна CMS має унікальну файлову структуру, тому директиви robots.txt для закриття службових файлів будуть відрізнятися. Наведемо приклади директив для закриття службових файлів:
WordPress:
User-agent: *
Disallow: / wp-admin # адмінпанель
Disallow: / wp-includes # файли движка
Disallow: / wp-content / plugins # встановлені плагіни
Disallow: / wp-content / cache # кешовані дані
Disallow: / wp-content / themes # теми
Opencart:
User-agent: *
Disallow: / admin # адмінпанель
Disallow: / catalog # дані інтерфейсу вітрини
Disallow: / system # системні файли
Disallow: / downloads # завантаження, пов'язані з товарами
Крім системних файлів необхідно закрити службові сторінки (директиви можуть відрізнятися в залежності від CMS і структури URL конкретного сайту):
- корзина: Disallow: / cart /
- оформлення замовлення: / checkout /
- сортування: / * sort = *
- порівняння товарів: / comparison /
- особистий кабінет: / my /
- реєстрація: / signup /
- вхід в особистий кабінет: / login /
- нагадування пароля: / remind /
- список бажань: / whishlist /
- сторінки особистого кабінету: / users /
- пошук по тегам: / tag /
- Результати пошуку: /*?*
- фіди: * / feed
- Лендінзі, створені спеціально під акції, розпродажі: / landing-pages /
Також закриваються URL, які включають ідентифікатори джерел переходів:
- з оголошень контекстної реклами Google: / * gclid = *
- з оголошень контекстної реклами Яндекс: / * yclid = *
- з партнерських програм: / *? ref =
- по посиланнях з мітками from: / * from =
- по посиланнях з мітками openstat: / * openstat =
Також іноді закривається доступ для роботів, які створюють додаткове навантаження на сервер (особливо актуально для великих інтернет-магазинів):
- робот сервісу аналізу посилань Ahrefs:
User-agent: AhrefsBot
Disallow: / - робот сервісу аналізу посилань Majestic:
User-agent: MJ12bot
Disallow: / - робот пошукової системи Yahoo (постійно сканує сайт, але трафіку в Рунеті з Yahoo не буде):
User-agent: Slurp
Disallow: /
В інтернеті можна знайти величезні списки з небажаними роботами, але перш ніж створювати для якихось із них забороняють директиви, переконайтеся, що ні втратите частину трафіку.
Після створення файлу з директивами обов'язково перевірте його валідність в Яндекс.Вебмастере і Google Search Console . Якщо помилок немає, розмістіть robots.txt в корінь сайту (паролем не захищає!).
Налаштування robots.txt для піддоменів
Якщо на вашому сайті кілька піддоменів виду msk.site.ru, то всі файли домену і піддоменів лежать в одній кореневій папці. А значить, за умовчанням пошуковий робот буде шукати і приймати до уваги директиви тільки в одному файлі з назвою «robots.txt».
А якщо потрібно віддавати різні директиви для домену верхнього рівня і піддоменів? Для цього створіть додатковий файл з назвою robots-subdomains.txt і розмістіть його в корені сайту.
Для веб-сервера Apache потрібно дописати такі рядки в файл .htaccess:
RewriteCond% {HTTP_HOST} ^ subdomain.site.ru $
RewriteRule ^ robots.txt $ /robots-subdomains.txt [L]
Тепер при зверненні до піддоменів роботам буде віддаватися вміст robots-subdomains.txt.
Недоліки управління індексацією за допомогою robots.txt і доступні альтернативи
Найбільший недолік robots.txt - його необов'язковий характер. Google пише , Що директиви мають рекомендаційний характер (настройки robots.txt є вказівками, а не прямими командами). Крім того, якщо на закриту сторінку ведуть посилання з зовнішніх джерел, роботи перейдуть по ним і проїндексируют сторінку.
Продемонструємо це на практиці. На сайті інтернет-магазину взуття є сторінка порівняння товарів. У файлі robots.txt вона закрита від індексації:
Але якщо пошукати цю сторінку в пошуку Google, то побачимо наступну картину:
Сторінка проіндексована, посилання на неї з пошуку працює, але опису немає. Така ситуація виникає якраз у випадках, коли робот індексує закриті в robots.txt сторінки.
Щоб видалити сторінку з індексу, доведеться спочатку відкрити доступ до неї роботу через robots.txt, дочекатися повноцінної індексації, а потім закрити за допомогою мета-тега robots зі значеннями "noindex, nofollow". Це більш надійний варіант.
Що характерно, цієї ж сторінки в пошуку Яндекса немає (вважається, що Яндекс більш строго слід директивам в robots.txt, ніж Google):
Для того щоб напевно приховати від роботів важливі сторінки (адмінпанель, службові папки і файли, де зберігаються особисті дані користувачів), обов'язково використовуйте захист паролем.
Також використовуйте можливості мета-тега robots - він дозволяє напевно закрити доступ пошукачам до сторінок. Крім того, з його допомогою можна дозволити роботам переходити за посиланнями без індексації вмісту сайту, або навпаки (значення "noindex, follow" і "index, nofollow" відповідно).
Отже, коректна індексація інтернет-магазину залежить не тільки від директив в robots.txt. Є маса нюансів, які варто враховувати, щоб в індекс потрапили правильні сторінки, а не «сміття» або конфіденційні дані. Для настройки індексації та перевірки інших важливих параметрів сайту підключіть в PromoPult оновлений модуль SEO - досвідчені фахівці системи проаналізують ваш ресурс і внесуть коригування, якщо в цьому буде необхідність.
Txt: що це і навіщо він потрібен?Txt для інтернет-магазинів: в чому відмінності від інших сайтів?
Які сторінки закрити від індексації?
Txt: що це і навіщо він потрібен?
Txt для інтернет-магазинів: в чому відмінності від інших сайтів?
Які сторінки закрити від індексації?
А якщо потрібно віддавати різні директиви для домену верхнього рівня і піддоменів?