Лайфхак: как быстро найти дубли страниц

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

Материал в первую очередь будет полезен как практикующим SEO-специалистам, так и владельцам сайтов. Но для начала давайте совсем быстро пробежимся по теории.

Немного теории

Наверняка многие слышали, что дубли страниц — это плохо. Подробно останавливаться на данном вопросе не буду, так как тема популярная, и качественной информации в интернете, даже появившейся в последнее время, много. Отмечу только неприятности, которые могут появиться у сайта при наличии дублей:

  • проблемы с индексацией (особенно актуально для крупных сайтов);
  • размытие релевантности и ранжирование нецелевых страниц;
  • потеря естественных ссылок, которые могут появляться на страницах дублей;
  • общая пессимизация проекта и санкции поисковых систем.

Поэтому в процессе продвижения проектов этому вопросу должно уделяться особое внимание.

Также стоит вкратце остановится на двух разновидностях дублей:

  • Частичные дубли — когда страницы имеют общую семантику, решают одни и те же задачи пользователей и имеют похожий контент, но не являются полными дублями. Да, получилось достаточно запутанно, поэтому предлагаю рассмотреть пример: https://vc.ru/category/телеграм и https://vc.ru/category/telegram.

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

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

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

Чтобы никого не запутать, сейчас опустим момент с формированием нужных дублей (например, страниц с UTM-метками).

Выявление полных дублей

Обычно специалисты проверяют у продвигаемого проекта наличие следующих дублей:

1. Дубли страниц с разными протоколами: http и https.

Выше уже был указан пример такого дубля: http://www.foxtrot.com.ua/ и https://www.foxtrot.com.ua/.

2. С www и без www.

3. Со слешем на конце URL и без него.

При этом каждая страница содержит canonical на себя.

4. Строчные и прописные буквы во вложенностях URL.

При том, что страница https://www.mosokna.ru/PLASTIKOVYE-OKNA/ отдаёт 404-й код ответа сервера:

Это пример того, как на разных типах страниц один и тот же принцип формирования дублей обрабатывается по-разному.

5. Добавления в конце URL:

index.php

home.php

index.html

home.html

index.htm

home.htm

Как видно, оба URL проиндексированы в «Яндексе»:

А разве это все возможные дубли?

В своей практике я сталкивался с огромным количеством примеров формирования дублей, и самые популярные, которые встречались не единожды, я укажу ниже:

6. Множественное добавление ////////////////// в конце URL.

7. Множественное добавление ////////////////// между вложенностями.

Очень часто встречающаяся ошибка.

8. Добавление произвольных символов в конец URL, формируя новую вложенность.

9. Добавление произвольных символов в существующую вложенность.

10. Добавление вложенности с произвольными символами.

Не совсем дубль, но страница отдаёт 200-й код ответа сервера, что позволит ей попасть в индекс.

11. Добавление * в конце URL.

12. Замена нижнего подчеркивания на тире и наоборот.

13. Добавление произвольных цифр в конце URL, формируя новую вложенность.

Такие дубли часто формируются со страниц публикаций на WordPress.

14. Замена вложенностей местами.

15. Отсутствие внутренней вложенности.

Пункты 14 и 15 опять же не являются полными дублями, но аналогично пункту 10 отдают 200 код ответа сервера.

16. Копирование первой вложенности и добавление её в конец URL.

17. Дубли .html, .htm или .php для страниц, которые заканчиваются на один из этих расширений.

Например:

Все приведённые выше типы дублей были выявлены в индексе поисковых систем более чем у нескольких проектов. Хотите ли вы рисковать появлением такого огромного количества дублей? Думаю, нет. Поэтому и важно выявить те дубли, которые формируются и обезопасить себя от попадания их в индекс поисковых систем. А практика показывает, что рано или поздно они находят и индексируют такие страницы, хотя ни внутренних, ни внешних ссылок на данные страницы нет.

Проверять вручную все эти дубли очень долго. К тому же важно проверять каждый тип страниц на наличие дублей. Почему? Да потому, что страницы категории товаров и страница определённого товара могут иметь разные дубли. Пример уже был ранее рассмотрен.

Также в большинстве сайтов могут использоваться разные CMS для разного типа контента. Нормальная практика, когда, например, интернет-магазин на OpenCart подключает блог на WordPress. Соответственно и дубли страниц этих CMS будут кардинально отличаться.

Поэтому мы и разработали сервис, который формирует все возможные страницы дублей и указывает их ответ сервера. В первую очередь сервис делали для своих нужд, ведь он экономит огромное количество времени специалистов, но с радостью готовы с ним поделиться.

Как с ним работать и как читать его результаты — сейчас будем разбираться.

Онлайн-сервис поиска дублей страниц

1. Для начала перейдите по ссылке.

Сервис поиска дублей URL

2. Подготовьте разные типы страниц сайта, у которого хотите выявить возможные дубли.

Давайте рассмотрим на примере интернет-магазина http://www.foxtrot.com.ua/.

Рекомендуемые к анализу типы страниц и их примеры:

Для новостных и информационных ресурсов это могут быть:

3. Вбиваем данные страницы в форму ввода и нажимаем кнопку «Отправить запрос»:

4. Запускается процесс обработки скрипта:

Процесс обработки данных

Немного ожидаем и получаем результат его работы по всем внедрённым страницам:

Таблица с результатами

5. Анализируем результаты и подготавливаем рекомендации веб-программисту по устранению дублей.

Например, из вышеуказанного примера можно сделать следующие выводы:

  • наличие дублей страниц с протоколами http и https;
  • редирект со страницы без www на www происходит с помощью 302 редиректа (временный редирект);
  • наличие дублей с добавление множественных слешей.

Соответственно, необходимо подготовить следующие рекомендации веб-разработчику:

1. Определиться, какой протокол всё же основной, и на страницы с этим протоколом настроить 301 редирект.

Например, если основной протокол https, то страница http://www.foxtrot.com.ua/ должна перенаправлять с помощью 301-го редиректа на https://www.foxtrot.com.ua/.

2. Изменить 302 редирект на 301 при перенаправлении страниц без www на аналогичные с www.

3. Настроить 301 редирект страниц со множественным добавлением слешей в конце URL на целевые страницы.

Например, страница http://www.foxtrot.com.ua//////// должна с помощью 301 редиректа перенаправлять на http://www.foxtrot.com.ua/.

Важно понимать, что помимо шаблонных формирований дублей, указанных в данной статье, у вашего проекта могут формироваться уникальные дубли. Поэтому не забывайте мониторить страницы, которые попадают в индекс поисковых систем. Помогут в этом «Яндекс.Вебмастер» и Google Search Console.

Проиндексированные страницы в Google Search Console

Update

Сервис будет дорабатываться и дополняться полезными функциями. Так, выкатили обновление, позволяющее перед публикацией статьи определить изменения URL от исходного значения:

Функциональность отличия URL от исходного значения

Если материал вам был полезен, прошу оценить его стрелкой вверх.

До скорых встреч и берегите ваши проекты.

0
39 комментариев
Написать комментарий...
Артур Нойманн

Давно отлично справляются в облаках такие поиски, https://sonar.network
Искал там дубли и отсутсвующие канонические ссылки. Так же проверяет с www и без www.
Да вообще много что проверяет. Без танцев с бубном

Ответить
Развернуть ветку
Федор Белоусов

Ничего хорошего на этом сервисе не нашел. Они явно пытались скопировать отличный seoto.me, но получилось плохо. Часть ошибок – вообще вода и ни к чему, какая-то муть :) Сеото в этом плане более понятный, структурированный, гораздо больше функционала и полезной информации без всякой дичи вроде "отсутствует keywords" или "пустые или не содержащие параметра href ссылки".

Ответить
Развернуть ветку
Артур Нойманн

сеото что-то невнятное на коленке сделанное, без обид

Ответить
Развернуть ветку
Федор Белоусов

Невнятное и на коленке сделанное? Ужас какой, наверное в html-коде вы вообще безвозвратно заблудитесь. Давно занимаетесь SEO? Командная строка – тоже невнятная, но на коленке не сделанная – без обид. Мы же говорим о профессиональных инструментах, от которых должна быть практическая польза, не так ли?

Ответить
Развернуть ветку
Артур Нойманн
>Ужас какой, наверное в html-коде вы вообще безвозвратно заблудитесь.

Точно нет :)

>Мы же говорим о профессиональных инструментах, от которых должна быть практическая польза, не так ли?

О том и речь. Дело не в нравится или не нравится, а том, на сколько инструмент полезен.
И в плане количества ошибок, а в особенности того, что смог добиться за 6 лет seoto.me он просто не может идти в сравнение.
Как минимум тогда sonar.network стоит сравнивать с screamingfrog, netpeak

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

Ответить
Развернуть ветку
Федор Белоусов

От сравнения сонара и netpeak я чуть со стула не упал. Вы это сейчас серьезно? Открывали сервис хоть раз?

Это пустая дискуссия, такое ощущение, что вы просто засланный с сонара бот. Без обид :)

Ответить
Развернуть ветку
Артур Нойманн

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

Ответить
Развернуть ветку
Федор Белоусов

P.S. по-моему именно ваш вброс первично является откровенно рекламным посылом. Я лишь прокомментировал и дал сервис гораздо полезнее, на мой взгляд. Хотя, тут даже не надо быть трезвым, чтобы понять, что sonar это очередной водный, чуть более продвинутый pr-cy.

Ответить
Развернуть ветку
Serge Arsentiev

"Геологи нашли в Бурятии нефть, приехала бригада ставить буровую ... два местных жителя останавливают куда-то спешашего мужика в спецовке - и спрашивают - уважаемый, а что они там делают?
- Они - бурят!
- Эээ, нет, бурят не так делают, мы-то знаем!"
 
Я только вчера вспоминал, что такое было MailRu - простенький скрипт веб-почты, запущенный для клиентов Веб Плюса (провайдера в СПб) ... сделанный определенно на коленке. И ничего, прокачали со временем.

Ответить
Развернуть ветку
Раися Вперде

Зачем готовить типы страниц, если те же нетпик спайдер и скриминг фрог могут найти дубли без таких плясок?
а если на сайте есть какой-то тип страниц о котором я не знаю?

Ответить
Развернуть ветку
Олег Скрып
Автор

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

Да и просто проверить внедрение рекомендаций, как ведут себя несуществущие страницы и страницы дублей с помощью сервиса намного проще. Для пауков нужно генерить данные страницы ручками. Есть время - генерьте.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Serge Arsentiev

Поисковая страница ходит по ссылкам, а если запущена какая-то генерация скриптом то ССЫЛКИ могут иметь другой вид (синтаксис) - и так появляются ссылки на одну и ту же страницу, имеющие разный вид ... но я вот пробую выяснить у автора - что же это за генераторы контента такие, и в виде чего они существуют - в виде модулей к CMS?

Ответить
Развернуть ветку
Олег Скрып
Автор

Думаю это вопрос к веб-разработчикам. А не ко мне. Я со своей стороны борюсь с последствиями формирования дублей. Т.е. как написано в статье это примеры страниц, которые были обнаружены в индексе поисковых систем при том, что никаких ссылок на данные страниц не было. Соответственно это вызвало проблемы у проекта. Теперь же мы боремся с этим на ранней стадии, чтобы избежать тех самых негативных последствий.

Ответить
Развернуть ветку
Serge Arsentiev

Есть мнение, что анализ причин появления может дать больше, в виде курса по настройке модулей/плагинов для популярных CMS.
Удачи!

Ответить
Развернуть ветку
Андрей Федосеев

«Я со своей стороны борюсь с последствиями формирования дублей.» А должны, как seo'шник бороться с причиной. Дубли, вероятно, прилетают в метрику с вполне рабочих страниц на которых тусят юзеры. И потом улетают в очередь на индексацию. Как уж они туда попадают — ваша проблема.

Ответить
Развернуть ветку
Олег Скрып
Автор

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

Ответить
Развернуть ветку
Дмитрий Мрачковский
на практике очень часто встречается ситуация, когда ни внутренних, ни внешних ссылок на сайте на страницы дублей нет, а вот поисковые системы их индексируют. И тут никакой паук вам не поможет.

Если поисковик проиндексировал - нам же проще. Выгружаем проиндексированные страницы из вебмастера или парсим выдачу, прогоняем список пауком, находим дубликаты (полные дубли на ура в нем распознаются, плюс можно найти какие-то единичные некорректные страницы, которые не являются дубликатами, но являются ошибками). Настраиваем корректные коды ответов для неверных страниц (301 или 404), прогоняем еще раз пауком, чтобы убедиться, что все верно. Список страниц с кодом 404 отправляем на удаление из индекса, с кодом 301 - на переобход.
Сервис, как я понимаю, перебирает все указанные в примерах варианты дублей и смотрит на их поведение. Но проблем здесь 2, первая в статье уже была собственно озвучена, а вторая - в комментариях:
1) Могут быть варианты дубликатов, которые сервис не учитывает, допустим, если эти дубликаты могут быть связаны не с неверно настроенными кодами ответов. Например, он мог бы элементарно проверять добавление произвольного GET-параметра и смотреть, разрешена ли индексация такой страницы в robots.txt.
2) На сайте могут быть какие-либо неизвестные типы страниц - их можно банально пропустить и не добавить в сервис для проверки.
А так - лучше изначально продумывать структуру сайта, корректно настраивать коды ответов для всех типов страниц, настроить индексацию в robots, правильно формировать XML-карту и убрать в счетчике Метрике функцию отправки страниц на индексацию. Тогда проблем с дублями не будет. Актуально, конечно, для новых сайтов. Для сайтов с историей вариант проверки индекса с помощью паука кажется более очевидным и наглядным.

Ответить
Развернуть ветку
Сергей Πетров

1) В результатах не хватает колонки с наличием и значением rel=canonical.

2) Также неплохо было проверять robots.txt на закрытие "дубля" к индексации.

3) Стоит визуально выделять найденные дубли в результатах хоть как-то.

4) С index.php в конце иногда отрабатывает некорректно. Показывает сразу 200, хотя в Хроме(!) сначала видно 301, а потом уже 200 у конечной страницы без index.php.
Хотя посмотр другими тулзами тоже показывает только 200 у страницы с index.php. :)

Ответить
Развернуть ветку
Олег Скрып
Автор

Спасибо за коммент.

1. 2. В планах есть реализовать данные пункты + забыли про meta robots) Вообще много планов по его развитию. Так как реально сервис за небольшой период времени уже позволил сэкономить уйму времени.

3. Уточните, не совсем понятно о чем речь.

4. Да, есть такой момент. Думаем как его решить.

Ответить
Развернуть ветку
Сергей Πетров

Вам спасибо за сервис, проверил немного страничек.

3. Есть список результатов проверки "дублей". Некоторые из них отдают 200, вот эти строки надо бы выделять красным фоном, типа, варнинг, необходим фикс. А то легко пропустить среди остальных 301, 404 и т.д.

Ответить
Развернуть ветку
Олег Скрып
Автор

Ок, подумаем, чтобы не было еще сильно наляписто.

Ответить
Развернуть ветку
Олег Скрып
Автор
Ответить
Развернуть ветку
Димка Пантелеев

По поводу ламоды.
Недавно выкатили изменения с багами.
Но под ботами вы не зайдёте на страницу без последнего слеша)

Ответить
Развернуть ветку
Alexey Mokrushin

Надо было сразу и регэкспы дать по каждому пункту на удаление

Ответить
Развернуть ветку
Serge Arsentiev

Материал серьезный, правда остается непонятным - где именно создаются все эти варианты полных или частичных дублей - в какой конкретно CMS и как.
К тому же, есть проект в котором .html дублей (статики) предостаточно, и первые шаги по устранению, выявили необходимость писать и переписывать объемный php скрипт, анализирующий _контент_ - с кучей, как выше замечено, regexp и попутно исправлением ошибок в html коде ... дошли где-то до середины и сдались (на время), т.к. утонули в лабиринте ветвлений условий - вот приблизительно как у Вас с кучей пунктов и подпунктов.

Ответить
Развернуть ветку
Максим Федоров
остается непонятным - где именно создаются все эти варианты полных или частичных дублей
Ответить
Развернуть ветку
Serge Arsentiev

Я не о том - обратите внимание на слово _создаются_ - какие именно CMS генерят эти дубли, и как это происходит - грубо говоря, может надо в консерватории что-то исправить, в настройках CMS?

Ответить
Развернуть ветку
Олег Скрып
Автор

Это очень большая работа + с разными плагинами разные CMS генерят разные дубли. Уж очень много нюансов есть. Поэтому проще пробивать наличие дублей для проекта в данный момент и устранять данные ошибки, а не стараться по шаблону решать проблемы.

Ответить
Развернуть ветку
Serge Arsentiev

Так что толку - Вы как-то их прибьете, а плагины/модули нагенерят новых дублей ... тут вопрос скорее именно про ошибки работы с этими плагинами/модулями.
Вы предлагаете бороться с результатом, а наверное, дело-то все-таки в методах генерации контента, или нет?

Ответить
Развернуть ветку
Олег Скрып
Автор

Мы исходя из этих данных и гововим ТЗ для веб-разработчиков. Внедряя которые мы закрываем их от индексации. Каким способом закрывать? 301-м редиректом, отдавать 404-й код, закрывать с помощью robots.txt, canonical или meta robots уже определяем по самим страницам дублей. Т.е. сервис помогает выявить ошибки. После чего нужно составить ТЗ веб-программисту по устранению выявленных ошибок.

Ответить
Развернуть ветку
Олег Скрып
Автор

Все эти страницы в итоге могут появляться в индексе, если они отдают 200 код. Как их находят поисковые системы? Это другой вопрос. Как вариант проанализируйте проиндексированные страницы в Яндекс Вебмастере и Google Search Console - увидете много интересно. Почти у каждого проекта находятся дубли, указанные в статье. Поэтому на начальном этапе продвижения проекта лучше обезопасить себя от их индексирования.

Ответить
Развернуть ветку
Serge Arsentiev

Мы на другом этапе, Google-то съел всю базу и видит обновления, причем отсеял дубли сам, А Яндекс не смог осилить sitemap толком, я бы сказал, Яндекс сломался на индексации (правда в поддержке написали что все ок).
 
C дублями по доменам все тяжелее, но к сожалению не в моей власти. Уж сколько копий сломано было, да ладно, дело уже почти прошлое, поезд ушел :(

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Андрей Федосеев

Когда 5 топовых CMS в рунете решат свои seo проблемы, 99% сеошников лишаться работы.

Ответить
Развернуть ветку
Олег Скрып
Автор

Не слышали? SEO - уже давно умерло!

Ответить
Развернуть ветку
Илья Мишин

rel=canonical решает все проблемы, хоть //// хоть /index.php хоть с www или без. Если правильно прописан canonical то дело в шляпе!

Еще robots txt в котором можно clean param у указывать для фильтров и сортировки

Т.е достаточно прописать canonical для товара или статьи + clean param для категории где есть сортировка и всё

Ответить
Развернуть ветку
Sergei Gayduk

Ну и тут активное движение, много всего полезного по мимо дублей страниц.
Свой вклад и я внесу (может кому будет полезно), тут ребят читал, очень много полезного в управлению интернет-магазина, много лайфхаков: https://neoseo.com.ua/developing-e-shop

Ответить
Развернуть ветку
Игорь Кудрявцев

Вот это лайфхак! (нет). Как будто в 2008 вернулся

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Галина Кустова

Подскажите, пожалуйста, блондинке: где и как прописать,чтобы убрать дубли с добавлением: 1.цифр в конце ссылки после слеша, 2.заглавных букв вместо прописных, 3.вставкой между слешами произвольных английских букв до названия категории (рубрики)? Отдают код 200. Лучше- в htaccess какой-нибудь код (так проще, мне кажется). В Яндекс-вебмастере у меня таких ЧПУ нет, но возможно Гугл поэтому показывает большие сопли. Спасибо.

Ответить
Развернуть ветку
Mary Sweet

Многие предприниматели даже не понимают зачем нужен сайт и что с ним делать, вот именно для формирования общих понятий я оставлю здесь линк на статью https://ag.marketing/uk-ru/zachem-biznesu-nuzhen-sayt/

Ответить
Развернуть ветку
36 комментариев
Раскрывать всегда