Рішення проблеми з порожніми сторінками або дублями можна знайти, заборонивши індексацію сторінки.
Засоби для блокування індексації включають:
- файл robots.txt;
- тег <meta name=”robots” content=”noindex,nofollow”/>;
- rel=”canonical”.
Файл robots.txt
Файл robots.txt – це звичайний текстовий документ, який повинен бути присутній на кожному сайті за адресою: https://domain.com/robots.txt
(тобто в кореневому каталозі сайту).
Файл robots.txt створюється індивідуально для кожного сайту.
У файлі robots.txt містяться директиви для ботів усіх пошукових систем, які вказують, що можна сканувати на сайті, а що ні.
Коли боти пошукових систем потрапляють на сайт, вони спочатку шукають файл robots.txt в кореневому каталозі, а потім аналізують доступ до сторінок і переходять до карти сайту – sitemap.xml (щоб скоротити час сканування, уникнувши закритих посилань). Після огляду файлу robots.txt боти формують чергу сканування, починаючи з першої сторінки, яка стала відомою пошуковій системі.
Вимоги до файлу robots.txt:
- Назва файлу – robots.txt.
- Розташовується виключно в кореневому каталозі.
- Має формат .txt.
- У відповідь на запит повертає HTTP-код зі статусом 200 ОК.
- Кожна команда в robots.txt записується з нового рядка.
- Містить тільки символи латинського алфавіту.
Якщо домен використовує кирилицю, всі кириличні посилання для robots.txt повинні бути переведені в Punycode за допомогою будь-якого конвертера.
Приклад неправильного використання:http://web.site.com/robots.txt
User-agent: Googlebot
Disallow: /каталог
Copy
Приклад правильного використання:
User-agent: Googlebot
Disallow: /xn--/-8sbam6aiv3a
Copy
Файл robots.txt працює для протоколів HTTP, HTTPS і FTP, має кодування UTF-8 або ASCII та застосовується лише до хоста, протоколу і номера порта, де він розташований.
Ви можете додавати його до адрес з піддоменами – web.site.com/robots.txt
, або до нестандартних портів – site.com:8181/robots.txt
. Якщо у сайта є декілька піддоменів, помістіть файл в кореневий каталог кожного з них.
Директиви robots.txt
Правила robots.txt – це вказівки для пошукових роботів щодо обробки контенту на веб-сайті. Ось приклади основних директив:
User-agent – визначає, які роботи повинні дотримуватися інструкцій у файлі robots.txt.
Disallow – вказує, які частини сайту не повинні скануватися ботами.
Приклади:
Заборонити сканування всього сайту (для всіх пошукових систем):
User-agent: *
Disallow: /
Дозволити всім ботам сканувати весь сайт:
User-agent: *
Disallow:
Заборонити сканування сайту тільки для бота Google:
User-agent: Googlebot
Disallow: /
Дозволити сканування для бота Google, але заборонити іншим:
User-agent: Googlebot
Disallow:
User-agent: *
Disallow: /
Заборонити сканування конкретної сторінки:
User-agent: *
Disallow: /page.html
Заборонити сканування конкретної теки:
User-agent: *
Disallow: /name/
Заборонити сканування розділу та всіх його підрозділів:
User-agent: *
Disallow: /name
Copy
Символ `*` в файлі robots.txt означає “будь-яке значення”. Його можна використовувати для створення шаблонів заборон. Наприклад, правило Disallow: /catalog/*12*.html
закриє сканування всіх сторінок у теки /catalog/
, які містять у адресі цифру 12.
Allow – вказує, які шляхи доступні для вказаних пошукових ботів. Це протилежність директиві Disallow
.
Приклади:
Дозволити сканувати все, що починається з /catalog, і заборонити решту:
User-agent: *
Allow: /catalog
Disallow: /
Дозволити сканування файлу photo.html,
але заборонити решту інформації в каталозі /album1/:
User-agent: *
Allow: /album1/photo.html
Disallow: /album1/
Заборонити доступ до каталогів site.com/catalog1/ і site.com/catalog2/,
але дозволити до catalog2/subcatalog1/:
User-agent: *
Disallow: /catalog1/
Disallow: /catalog2/
Allow: /catalog2/subcatalog1/
Copy
Sitemap – вказує посилання на файл карти сайту, в якому перераховані сторінки для індексації.
Приклад:
User-agent: *
Sitemap: http://site.com/sitemap.xml
Copy
Перевірка файлу robots.txt
Для перевірки вашого файлу robots.txt рекомендується використовувати інструмент “Аналіз robots.txt” (в розробці) . Цей інструмент має зручну можливість редагування вмісту файлу, дозволяючи вам перевірити зміни безпосередньо тут. Важливо відзначити, що весь процес відбувається в тестовому режимі, тому немає потреби хвилюватися про випадкові зміни у вашому файлі robots.txt.
Які розділи слід виключити з індексації в файлі robots.txt (приблизний перелік):
- Адміністративна панель ресурсу.
- Сторінки пошуку по сайту.
- Сторінки з непотрібними фільтрами (наприклад, фільтр за діапазоном цін).
- Сторінки авторизації.
- Сторінки реєстрації.
- Сторінки внутрішніх або особистих кабінетів.
- Сторінки “версія для друку”.
- Сторінка нагадати пароль.
Для таких розділів, як:
- “Кошик”.
- Порівняти товари.
- Недавно переглянуті товари.
- Список обраних товарів.
Рекомендується не показувати порожню версію сторінки. Наприклад, порожній кошик або порожній список вибраних.
Також слід перевірити доступність сканування файлів css та js. Це особливо важливо для сайтів, які просуваються в пошуковій системі Google. Рекомендується провести цю перевірку за допомогою сервісу Google Mobile-Friendly.
Якщо ви виявите закриті файли css та js, рекомендується дозволити їх для індексації, додавши відповідну директиву в Allow.
Також слід перевірити, чи містить ваш файл robots.txt посилання на карту сайту sitemap.xml. Приклад:
User-agent: *
Sitemap: http://site.com/sitemap.xml
Copy
Тег мета robots
Коли йдеться про тег <meta name="robots">
, іноді стається так, що пошукові системи нехтуватимуть вказівками у файлі robots.txt і індексуватимуть сторінки, всупереч його заборонам. У таких випадках у Google Search Console з’являється повідомлення “Проіндексовано, незважаючи на блокування у файлі robots.txt”.
Для запобігання індексації таких сторінок можна використовувати тег <meta name=”robots”>. Наприклад: <meta name=”robots” content=”noindex,nofollow”/>. Перевага цього тегу перед забороною індексації в robots.txt полягає в тому, що він завжди має пріоритет.
Цей тег має кілька застосувань і працює майже однаково для багатьох ПС.
Мета тег robots може мати атрибут “content”, який приймає різні значення для індексації сторінки, основні з них:
- index – сторінка відкрита для індексації;
- noindex – сторінка забороняється для індексації;
- follow – ботам дозволяється слідувати по посиланнях;
- nofollow – ботам забороняється слідувати по посиланню;
Якщо даного тега на сторінці немає, це означає, що сторінка дозволена для індексації та сканування ( якщо правило в robots.txt також це дозволяє).
Види правил для атрибута content
для мета тега robots:
- index, follow;
- index, nofollow;
- noindex , follow;
- noindex , nofollow;
Атрибут name
в тегу дозволяє задавати правила для конкретного пошукового бота. Наприклад для Google це буде Googlebot, якщо в name
прописати robots
, тоді правило буде дійсне для всіх ПС.
Сторінка не буде індексуватися, але бот може сканувати посилання
<meta name="robots" content="noindex, follow" />
Забороняється індексація і сканування сторінки
<meta name="robots" content="noindex, nofollow" />
Copy
Переваги даного тега:
- Мета robots не ігноруються пошуковими системами;
- Можна управляти індексацією (index, noindex) і скануванням сторінок (follow, nofollow).
Недоліки:
- Складне використання ( потрібно мати навички програмування та html). Нівелюється за допомогою модулів, плагінів (yoast та інші);
Важливо розуміти, що файл robots.txt і тег <meta name=”robots”> – це ніби “два замки на одній двері”. Тобто, якщо хоча б один з “замків” закритий, “двері” або “сторінка” залишаться закритими.
Управління налаштуваннями тегу <meta name=”robots”> можна здійснювати через CMS за допомогою плагінів або інших методів.
Канонічні адреси (rel=canonical)
Канонічний адрес вказує пошуковим системам основну адресу сторінки для індексації, навіть якщо ми не можемо видалити або налаштувати перенаправлення для дублюючої сторінки.
Допустимо, у нас є основна сторінка і її дубль, який неможливо видалити або перенаправити. Щоб запобігти індексації дублю, потрібно додати тег rel=”canonical” і вказати посилання на основну сторінку.
Наприклад, на дублюючих сторінках додаємо наступний код.
<link rel="canonical" content="вказуємо адресу основної (канонічної сторінки)">
Copy
Таким метод в SEO називається “злиття сторінок через канонічний тег”.
Важливо розуміти, що “злиття сторінок” бажано, ніж просто закриття дублю від індексації. Тег rel=”canonical” дозволяє об’єднати рейтинг сторінки, що означає, що канонічна сторінка в кінцевому підсумку отримає більший рейтинг.
Проте “злиття” можливе тільки для повних або майже повних дублів. В іншому випадку пошукові системи можуть ігнорувати тег rel=”canonical”.
Також існує ще одне застосування rel="canonical"
– на самого себе. Тобто на сторінках, які повинні бути індексовані, слід вказувати rel=”canonical” з посиланням на себе. Це гарантовано запобігає появі потенційних дублів цієї сторінки.
Проставляти canonical
самого на себе – це хороша практика, оскільки може запобігти великій кількості дублів. Наприклад, якщо в url сайту ввести значення specarchiv.lviv.ua/?dhfjdfhjdfh
можна побачити, що дубль сторінки при такому звертанні не буде, через те, що canonical
всеодно вказує на себе. Це одна з причин чому варто ставити на кожній сторінці rel="canonical"
.