Прогон по 4 млн сайтов

Более 50% вебмастеров неправильно закрывают дубли страниц сайта. Как это делать правильно

Привет, друзья! По своей статистике я определил, что больше половины вебмастеров и оптимизаторов не совсем корректно закрывают от индексации дубли страниц. Итог — более долгое нахождение мусорных документов в выдаче. Как вариант — страницы в принципе остаются проиндексированными (не удается удалить).

Ниже я укажу, какие основные ошибки совершаются при попытке удаления дублей, а также разберу правильные методы запрета для популярных типов документов.

дубли не пройдут

Я не буду останавливаться на вопросах: "Почему дубли — это плохо?" и "Как их искать?". Ответы на них вы можете прочитать в посте "Последствия возникновения и поиск дублированного контента". Сегодня акцентируется внимание на корректности того или иного способа для определенных видов страниц.

Ошибки при составлении правил для запрета индексирования

Все мы люди и можем совершать ошибки. Благо в данной теме обычно они не является критичными :smile:. Я выделил 4 основные причины, по которым встречаются некорректности.

  1. Использование сразу несколько способов закрытия. Иногда встречается, что вебмастер закрыл страницу в robots.txt, добавил в head meta name="robots", а ниже, для пущей надежности rel="canonical". Когда документ запрещен в роботсе, то поисковый паук не сможет просканировать его содержимое.
  2. Использование только одного метода - robots.txt. Если лет 5-7 назад это был практически единственный способ для удаления дублей, то сейчас он не является самым эффективным и универсальным.
  3. Когда правила, по которым запрещаются страницы, являются более общими и затрагивают нормальные документы. На мой взгляд, лучше написать 2 частных правила для конкретных параметров, чем одно общее, которое потенциально может затронуть качественный контент.
  4. Использование некорректного метода, который не подходит для данного типа документов (например, редирект для сортировок).

Не могу сказать, что если ваш оптимизатор использует только robots, то его стоит сразу уволить. Многое зависит от ресурсов и особенностей их индексирования. Методы запрета необходимо выбирать, исходя непосредственно из нюансов проекта.

Перехожу непосредственно к корректным способам, которые позволят удалить из поиска дубли и "мусор". Методы расставлены в порядке приоритета (1 - самый приоритетный).

1. Удаление

Если это возможно, в первую очередь, нужно удалить ненужные документы. Нет материала, значит ничего не надо запрещать :smile:. Это могут быть:

  1. категории интернет-магазина без товаров, которые не будут возобновляться;
  2. система тегов. Исключение — страницы меток, оформленные должным образом: действительно, интересны посетителям, имеют качественный title, description, небольшое описание. Другими словами, не просто список связанных материалов, а по-настоящему полноценная страница.
  3. Бесконечно вложенные URL. Это когда в урл можно добавлять бесконечное (или конечное) количество вложений. Например, документ site.ru/post/ может быть доступен по site.ru/post/post/post/. Запрет создания подобной структуры необходимо решать на уровне сервера и/или CMS (они должны отдавать 404-ошибку).

перенаправление

2. 301-редирект

Весь "мусор", который нельзя удалить нужно перенаправлять на основные документы. Для этого необходимо использовать 301-редирект. Каким типам страниц подходит данный метод?

  1. www и без www;
  2. со слешем на конце или без;
  3. фиды от RSS;
  4. Урлы с параметрами, не меняющие контент;
  5. аттачи (прикрепленные файлы);
  6. товары, доступные по разным URL (обычно из-за того, что находятся в разных категориях);
  7. дубли главной: site.ru/index.php, domen.ru/home.html и так далее;
  8. версия для печати (если ссылка на нее есть только в коде);
  9. первая страница пагинации. Дело в том, некоторые CMS создают дубли по URL site.ru/category/ и site.ru/category/page/1/ . То есть контент первой страницы пагинации обычно соответствует содержанию категории, но URL у них получаются разные.

3. Мета-тег meta name="robots"

Когда документ нельзя удалить или перенаправить, в работу должен включаться именно мета-тег meta name="robots", а не столь популярный robots.txt :smile:. Эти слова подтверждаются на практике — мой эксперимент по скорости удаления сайтов из индекса, а также в теории (ниже скриншот из справки Google).

Google советует использовать meta name robots

Данный метод подходит для страниц:

  1. сортировки (по цене, популярности и так далее);
  2. пагинации;
  3. с параметрами (когда меняется контент);
  4. фильтров (в случае, когда они не оформлены "качественным" образом, по типу тегов: выше писал об этом);
  5. версии для печати;
  6. CMS и дополнений (плагинов, хуков);
  7. поиска;
  8. профилей пользователей;
  9. мобильной версии, расположенных на поддомене.

В общем, meta name="robots" должен использоваться во всех случаях, когда страницы не желательны для индекса поисковых систем, но желательны для посетителей. В данном пункте есть 2 уточнения:

1) Страницы, в которые добавлен этот мета-тег, не должны быть закрыты от индексации в robots.txt.

noindex и заблокированные страницы в robots.txt

2) На многих сайтах некоторые материалы доступны только по одному пути. Например, карточки товаров доступны только со страниц пагинаций в категориях (sitemap не в счет). Если использовать стандартный запрещающий код:

<meta name="robots" content="noindex, nofollow"/>

то поисковому роботу будет сложнее добраться до карточек. Здесь необходимо указывать атрибут follow:

<meta name="robots" content="noindex, follow"/>

В таком случае поисковый паук не будет включать документ в индекс, но будет ходить по внутренним ссылкам и индексировать контент, находящимся за ними.

4. Атрибут rel="canonical" элемента link

Если по каким-то причинам использование meta name robots невозможно, то на помощь приходит известный атрибут rel="canonical". Он помогает указать индексирующему роботу основную (каноническую) страницу. Для этого на неканонических документах в рамках тега head необходимо указать следующий код с указанием URL канонического документа.

<link rel="canonical" href="http://site.ru/url-osnovnogo-dokumenta/" />

Данный атрибут менее предпочтителен, так как поисковые алгоритмы берут его в расчет в качестве только лишь рекомендательного (поэтому meta name="robots" использовать приоритетнее). Именно поэтому, когда я тестировал AMP-страницы в блоге, они-то появлялись, то пропадали из индекса Яндекса.

из справки Яндекса

Атрибут может подойти для запрета индексирования следующих типов страниц:

  1. сортировки;
  2. AMP;
  3. имеющие параметры в URL;
  4. пагинации (в качестве канонической указывается первая или основная: например, категория);
  5. версии для печати.

robots.txt

5. Robots.txt

Ранее самый популярный способ запрета индексации оказался в моем рейтинге лишь на 5-й позиции :smile:. Он по-прежнему хорошо работает в Яндекс, но неважно в Google. В силу своей неуниверсальности он и оказался на данной позиции.

Что-либо запрещать в robots.txt стоит тогда, когда все предыдущие методики были реализованы, но остался "мусор", который запретить не получилось. Обычно на "закуску" остаются страницы:

  1. с параметрами;
  2. CMS и плагинов;
  3. AMP (только для робота Яндекса до момента его поддержки данного формата);
  4. мобильной версии на отдельном поддомене (полный запрет + указание host основного проекта).

6. Ajax

Иногда необходимо закрыть от индексации не всю страницу, а только ее часть. В этом и поможет Ajax. Например, я уже давно закрывал в блоге сайдбар и комментарии. Поисковые технологии не стоят на месте. Google заявлял, что он научился индексировать ajax, но мой сайдбар по-прежнему отсутствует в сохраненных копиях как Гугла, так и Яндекса. Можно считать эту технологию на данный момент вполне рабочей :smile:.

Использовать Ajax можно для больших сквозных элементов: меню, повторяющийся текст. Прежде чем применять данную технологию, необходимо взвесить все "за" и "против". Так, к примеру, удалив из индекса основное меню сайта, можно лишиться веса на категориях.

Отдельного внимания заслуживает связка Ajax+JQuery. Она отлично прячет от поисковиков ссылки (как внутренние, так и внешние). Для пользователей линки показываются как обычные, а в коде они оформляются в теге span (вместо a), то есть просто текстом.

<span class="hide" data-link="http://domen.ru">ссылка</span>

7. Noindex и rel="nofollow"

Данные теги также хорошо всем известны. Я их объединил в один пункт.

1) <noindex></noindex> (валидный вариант <!--noindex--><!--/noindex-->) понимает только Яндекс. Предназначение - закрытие служебных участков текста. Если в поисковой выдаче зеркала Рунета в сниппетах показывается контент, например, из участков меню, то их стоит "обернуть" в noindex.

Сейчас тег активно используют в борьбе с алгоритмом Баден-Баден. В большинстве других ситуациях он малопригоден и не универсален. Некоторые применяют noindex, чтобы закрыть внешние ссылки, но подобное, конечно, не совсем корректно. Для этого существует следующий тег.

2) Атрибут rel="nofollow" элемента a. Данный тег добавляется к ссылкам, чтобы они не учитывались поисковыми системами.

<a href="http:/domen.ru/" rel="nofollow">domen.ru</a>

Основная ошибка вебмастеров - применение nofollow для внутренних линков. Я рекомендую применять атрибут только для исходящих линков.

8. Параметры URL, X-Robots-Tag и rel="alternate"

Менее популярные варианты. Но раз у меня обзор всех методов, то я их решил включить :smile:.

1) Настройка индексирования параметров URL в Google Search Console. Если у вас проект с большим количеством параметров в урлах (интернет-магазин, форум), то "Гугл.Вебмастер" предоставляет возможность настройки их индексирования.

настройка параметров URL в Google Search Console

Новичкам я бы рекомендовал здесь ничего не трогать, а опытным вебмастерам и оптимизаторам, как минимум, проверить параметры и статус их индексирования.

2) X-Robots-Tag — своеобразный серверный аналог meta name="robots". Правила использования такие же, только тег является http-заголовком (отдается при ответе сервера).

3) rel="alternate" - данный тег рекомендует использовать Яндекс для мобильных страниц, которые расположены на поддомене. В нем необходимо указать URL полной версии документа. На самом деле, я бы не советовал использовать мобильную версию проекта на отдельном поддомене. На мой взгляд, с таким вариантом больше проблем. Адаптивный дизайн будет куда лучше :smile:.

На сегодня все! Теперь вы знаете, что к популярному robots.txt не нужно обращаться в первую очередь. Сначала нужно удалить мусорный контент, затем настроить 301-редиректы, указать для дублей meta name="robots" или rel="canonical", а уже потом прописывать директивы в robots.txt.

Необходимо уточнить, что в посте я описывал популярные случаи, хотя в оптимизации сайтов не редко встречаются и уникальные или редкие ситуации. Если вам попадались такие, то опишите их в комментариях - будем вместе разбираться, каким образом их корректнее закрыть от индексации :smile:.

Может быть, вы знаете другие методы удаления дублей и "мусора". Буду рад вашим отзывам и дополнениям!

P.S. Чуть не забыл про конкурс к предыдущему посту :smile:. Спасибо всем приславшим свои варианты! Победитель — Жека.

победитель

Жду номер R-кошелька на почту (можно найти в контактах) с e-mail, который был указан в комментарии.

1 звезда2 звезды3 звезды4 звезды5 звезд (9 голос., в среднем: 4,44 из 5)
Загрузка...

Поделиться
Плюсануть
Дата: 13.06.2017
Получайте актуальные статьи по SEO, блоггингу и заработку в Интернете
прямо на ваш почтовый ящик. Уже более 2000 подписчиков!
Отзывов уже 10:
  1. 1. seoonly | 13 июня 2017

    Спасибо!!

  2. 2. Ника | 15 июня 2017

    Спасибо! Сергей, может быть вы напишите как правильно настроить ошибку 301 и перенаправления, куда «лезть», что «писать». В интернете об это много примеров и не знаешь на каком остановиться.
    Я как то настроила редирект без www на www и у меня стало меняться зеркало.
    Спасибо за полезный блог.

  3. 3. Sosnovskij | 15 июня 2017

    Ника, 301 редирект — это не ошибка. Это ответ сервера, что страница была перенесена на другой URL.

    Описывать примеры я не стал, потому что много частных случаев. Настроить перенаправление с без www на www несложно (здесь есть пример devaka.ru/articles/redirect-301 ). Возможно, вы настроили обратный редирект или у вас до него было главным зеркалом «без www».

  4. 4. Жека | 15 июня 2017

    Участвовал в конкурсе Т.ЮКЕЙ
    Приз получил, все ОКЕЙ! )

  5. 5. Володя | 15 июня 2017

    Sosnovskij, подскажи, а стоит ли закрывать файлы pdf, excel, doc? Иногда выкладываю на своем сайте и видел их в выдаче. Если да, то как лучше?

    Поражаюсь сеоонли. Как всегда, тут как тут )))

  6. 6. Sosnovskij | 15 июня 2017

    Володя, если публикуете собственные файлы, то не стоит закрывать. Если чужие, то стоит закрыть в robots.txt:
    Disallow: /*.pdf
    Дополнительными строчками можно указать дополнительные форматы.

  7. 7. Econ Dude | 28 июня 2017

    Спасибо за статью. Вот как раз с этим маюсь сейчас и всё усложняется тем, что у меня blogger на своём домене да и еще https… 0_0

  8. 8. Михаил ATs | 3 июля 2017

    «»то поисковому роботу будет сложнее добраться до карточек. Здесь необходимо указывать атрибут follow: «»

    С этим бы примером поспорил: но потестирую ещё мальца.

    …за подробное описание и работу спасибо!

  9. 9. Sosnovskij | 4 июля 2017

    Михаил ATs, а почему поспорили? :) Если в сайтмап не будет ссылки на карточку, то робот на нее может и не попасть :)

  10. 10. Михаил ATs | 5 июля 2017

    Sosnovskij, протестирую мальца, а уж потом спорить))
    Я вообще говорил не конкретно о теории описанной в статье… а об исключительном использовании тегов noindex, follow в том или ином случае…
    Ну просто — цели у всех разные… а следовательно и подход к решению различен.
    А в комментариях, думается, неуместно (и длинно) спорить.
    Может быть намедни постик небольшой отпишу… Поспорю, так сказать))

* Нажимая на кнопку "Добавить комментарий" я соглашаюсь с политикой конфиденциальности.
css.php Подняться наверхПодняться наверх