Лайфхак: как быстро найти дубли страниц
Я расскажу, как быстро найти дубли страниц и обезопасить себя от негативных последствий, к которым они могут привести.
Материал в первую очередь будет полезен как практикующим SEO-специалистам, так и владельцам сайтов. Но для начала давайте совсем быстро пробежимся по теории.
Немного теории
Наверняка многие слышали, что дубли страниц — это плохо. Подробно останавливаться на данном вопросе не буду, так как тема популярная, и качественной информации в интернете, даже появившейся в последнее время, много. Отмечу только неприятности, которые могут появиться у сайта при наличии дублей:
- проблемы с индексацией (особенно актуально для крупных сайтов);
- размытие релевантности и ранжирование нецелевых страниц;
- потеря естественных ссылок, которые могут появляться на страницах дублей;
- общая пессимизация проекта и санкции поисковых систем.
Поэтому в процессе продвижения проектов этому вопросу должно уделяться особое внимание.
Также стоит вкратце остановится на двух разновидностях дублей:
- Полные дубли — это когда один и тот же контент доступен по разным URL. Например: http://www.foxtrot.com.ua/ и https://www.foxtrot.com.ua/.
- Частичные дубли — когда страницы имеют общую семантику, решают одни и те же задачи пользователей и имеют похожий контент, но не являются полными дублями. Да, получилось достаточно запутанно, поэтому предлагаю рассмотреть пример: 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.
Например: http://oknadeshevo.ru/ и http://www.oknadeshevo.ru/.
3. Со слешем на конце URL и без него.
Например: https://www.1tv.ru/live и https://www.1tv.ru/live/.
Еще пример: https://www.lamoda.ru/p/wa007ewbhbj9/clothes-wallis-bryuki и https://www.lamoda.ru/p/wa007ewbhbj9/clothes-wallis-bryuki/.
При этом каждая страница содержит canonical на себя.
4. Строчные и прописные буквы во вложенностях URL.
Например: https://www.mosokna.ru/info/osteklenie-detskikh-sadov/ и https://www.mosokna.ru/info/OSTEKLENIE-DETSKIKH-SADOV/.
При том, что страница https://www.mosokna.ru/PLASTIKOVYE-OKNA/ отдаёт 404-й код ответа сервера:
Это пример того, как на разных типах страниц один и тот же принцип формирования дублей обрабатывается по-разному.
5. Добавления в конце URL:
index.php
home.php
index.html
home.html
index.htm
home.htm
Например: https://www.eldorado.ru/cat/378830466/ и https://www.eldorado.ru/cat/378830466/index.html/.
Как видно, оба URL проиндексированы в «Яндексе»:
А разве это все возможные дубли?
В своей практике я сталкивался с огромным количеством примеров формирования дублей, и самые популярные, которые встречались не единожды, я укажу ниже:
6. Множественное добавление ////////////////// в конце URL.
Например, http://www.banki.ru/ и http://www.banki.ru////////.
7. Множественное добавление ////////////////// между вложенностями.
Например, https://moskva.beeline.ru/customers/products/mobile/services/details/nomer-na-vybor/krasivie-nomera/ и https://moskva.beeline.ru/customers///////products///////mobile///////services///////details///////nomer-na-vybor///////krasivie-nomera/.
Ещё пример: https://f.ua/hewlett-packard/15-bs006ur-1zj72ea.html и https://f.ua/hewlett-packard///////15-bs006ur-1zj72ea.html.
Очень часто встречающаяся ошибка.
8. Добавление произвольных символов в конец URL, формируя новую вложенность.
Например, https://apteka.ru/moskva/apteki/doktor-stoletov_16/ и https://apteka.ru/moskva/apteki/doktor-stoletov_16/Lfz/.
9. Добавление произвольных символов в существующую вложенность.
Например, https://www.dochkisinochki.ru/brands/nutrilon/ и https://www.dochkisinochki.ru/brands/nutrilonbY5I/.
10. Добавление вложенности с произвольными символами.
Не совсем дубль, но страница отдаёт 200-й код ответа сервера, что позволит ей попасть в индекс.
11. Добавление * в конце URL.
Например, https://www.sportmaster.ru/product/10137329/ и https://www.sportmaster.ru/product/10137329/*/.
Ещё пример: https://docdoc.ru/clinic/set-evropeyskiy-medicinskiy-centr и https://docdoc.ru/clinic/set-evropeyskiy-medicinskiy-centr/*.
12. Замена нижнего подчеркивания на тире и наоборот.
Например, https://mamsy.ru/filter/zhenshinam_tovary_bolshie_razmery/ и https://mamsy.ru/filter/zhenshinam-tovary-bolshie-razmery/.
13. Добавление произвольных цифр в конце URL, формируя новую вложенность.
Например, https://apteka.ru/moskva/apteki/doktor-stoletov_16/ и https://apteka.ru/moskva/apteki/doktor-stoletov_16/2488/.
Такие дубли часто формируются со страниц публикаций на WordPress.
14. Замена вложенностей местами.
Например https://www.toy.ru/catalog/producers/BARBIE-Mattel/ и https://www.toy.ru/producers/catalog/BARBIE-Mattel/.
15. Отсутствие внутренней вложенности.
Например, https://www.toy.ru/catalog/producers/BARBIE-Mattel/ и https://www.toy.ru/producers/BARBIE-Mattel/.
Пункты 14 и 15 опять же не являются полными дублями, но аналогично пункту 10 отдают 200 код ответа сервера.
16. Копирование первой вложенности и добавление её в конец URL.
Например, https://www.dochkisinochki.ru/brands/nutrilon/ и https://www.dochkisinochki.ru/brands/nutrilon/brands/.
17. Дубли .html, .htm или .php для страниц, которые заканчиваются на один из этих расширений.
Например:
Все приведённые выше типы дублей были выявлены в индексе поисковых систем более чем у нескольких проектов. Хотите ли вы рисковать появлением такого огромного количества дублей? Думаю, нет. Поэтому и важно выявить те дубли, которые формируются и обезопасить себя от попадания их в индекс поисковых систем. А практика показывает, что рано или поздно они находят и индексируют такие страницы, хотя ни внутренних, ни внешних ссылок на данные страницы нет.
Проверять вручную все эти дубли очень долго. К тому же важно проверять каждый тип страниц на наличие дублей. Почему? Да потому, что страницы категории товаров и страница определённого товара могут иметь разные дубли. Пример уже был ранее рассмотрен.
Также в большинстве сайтов могут использоваться разные CMS для разного типа контента. Нормальная практика, когда, например, интернет-магазин на OpenCart подключает блог на WordPress. Соответственно и дубли страниц этих CMS будут кардинально отличаться.
Поэтому мы и разработали сервис, который формирует все возможные страницы дублей и указывает их ответ сервера. В первую очередь сервис делали для своих нужд, ведь он экономит огромное количество времени специалистов, но с радостью готовы с ним поделиться.
Как с ним работать и как читать его результаты — сейчас будем разбираться.
Онлайн-сервис поиска дублей страниц
1. Для начала перейдите по ссылке.
2. Подготовьте разные типы страниц сайта, у которого хотите выявить возможные дубли.
Давайте рассмотрим на примере интернет-магазина http://www.foxtrot.com.ua/.
Рекомендуемые к анализу типы страниц и их примеры:
- главная страница: http://www.foxtrot.com.ua/;
- страница категории: http://www.foxtrot.com.ua/ru/shop/noutbuki.html;
- целевая страница: http://www.foxtrot.com.ua/ru/shop/noutbuki_asus.html;
- страница товаров: http://www.foxtrot.com.ua/ru/shop/noutbuki_asus_f541nc-go054t.html;
- служебная страница: http://www.foxtrot.com.ua/ru/stores.
Для новостных и информационных ресурсов это могут быть:
- главная страница: https://www.maximonline.ru/;
- страница раздела: https://www.maximonline.ru/skills/lifehacking/;
- страница публикации или новости: https://www.maximonline.ru/guide/maximir/_article/myi-byili-v-55-sekundah-ot-strashnogo-pozora-ne-o/;
- страница тегов: https://www.maximonline.ru/tags/luchshie-lajfxaki-nedeli/;
- служебная страница: https://www.maximonline.ru/zhurnal/reklamnyj-otdel/_article/reklama-vmaxim/.
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.
Update
Сервис будет дорабатываться и дополняться полезными функциями. Так, выкатили обновление, позволяющее перед публикацией статьи определить изменения URL от исходного значения:
Если материал вам был полезен, прошу оценить его стрелкой вверх.
До скорых встреч и берегите ваши проекты.
Давно отлично справляются в облаках такие поиски, https://sonar.network
Искал там дубли и отсутсвующие канонические ссылки. Так же проверяет с www и без www.
Да вообще много что проверяет. Без танцев с бубном
Ничего хорошего на этом сервисе не нашел. Они явно пытались скопировать отличный seoto.me, но получилось плохо. Часть ошибок – вообще вода и ни к чему, какая-то муть :) Сеото в этом плане более понятный, структурированный, гораздо больше функционала и полезной информации без всякой дичи вроде "отсутствует keywords" или "пустые или не содержащие параметра href ссылки".
сеото что-то невнятное на коленке сделанное, без обид
Невнятное и на коленке сделанное? Ужас какой, наверное в html-коде вы вообще безвозвратно заблудитесь. Давно занимаетесь SEO? Командная строка – тоже невнятная, но на коленке не сделанная – без обид. Мы же говорим о профессиональных инструментах, от которых должна быть практическая польза, не так ли?
Точно нет :)
>Мы же говорим о профессиональных инструментах, от которых должна быть практическая польза, не так ли?О том и речь. Дело не в нравится или не нравится, а том, на сколько инструмент полезен.
И в плане количества ошибок, а в особенности того, что смог добиться за 6 лет seoto.me он просто не может идти в сравнение.
Как минимум тогда sonar.network стоит сравнивать с screamingfrog, netpeak
В любом случае, в отличии от вас, я не собирался превращать поиск дублей и попыткой поделиться качественным сервисом в дискуссию, мериться найденными сервисами не люблю
От сравнения сонара и netpeak я чуть со стула не упал. Вы это сейчас серьезно? Открывали сервис хоть раз?
Это пустая дискуссия, такое ощущение, что вы просто засланный с сонара бот. Без обид :)
Ну тогда предлагаю вам вернуться к пользованию сеото и закрыть дискуссию.
Всего хорошего
P.S. по-моему именно ваш вброс первично является откровенно рекламным посылом. Я лишь прокомментировал и дал сервис гораздо полезнее, на мой взгляд. Хотя, тут даже не надо быть трезвым, чтобы понять, что sonar это очередной водный, чуть более продвинутый pr-cy.
"Геологи нашли в Бурятии нефть, приехала бригада ставить буровую ... два местных жителя останавливают куда-то спешашего мужика в спецовке - и спрашивают - уважаемый, а что они там делают?
- Они - бурят!
- Эээ, нет, бурят не так делают, мы-то знаем!"
Я только вчера вспоминал, что такое было MailRu - простенький скрипт веб-почты, запущенный для клиентов Веб Плюса (провайдера в СПб) ... сделанный определенно на коленке. И ничего, прокачали со временем.
Зачем готовить типы страниц, если те же нетпик спайдер и скриминг фрог могут найти дубли без таких плясок?
а если на сайте есть какой-то тип страниц о котором я не знаю?
Почитайте внимательно статью. Там четко указано: что на практике очень часто встречается ситуация, когда ни внутренних, ни внешних ссылок на сайте на страницы дублей нет, а вот поисковые системы их индексируют. И тут никакой паук вам не поможет.
Да и просто проверить внедрение рекомендаций, как ведут себя несуществущие страницы и страницы дублей с помощью сервиса намного проще. Для пауков нужно генерить данные страницы ручками. Есть время - генерьте.
Комментарий удален модератором
Поисковая страница ходит по ссылкам, а если запущена какая-то генерация скриптом то ССЫЛКИ могут иметь другой вид (синтаксис) - и так появляются ссылки на одну и ту же страницу, имеющие разный вид ... но я вот пробую выяснить у автора - что же это за генераторы контента такие, и в виде чего они существуют - в виде модулей к CMS?
Думаю это вопрос к веб-разработчикам. А не ко мне. Я со своей стороны борюсь с последствиями формирования дублей. Т.е. как написано в статье это примеры страниц, которые были обнаружены в индексе поисковых систем при том, что никаких ссылок на данные страниц не было. Соответственно это вызвало проблемы у проекта. Теперь же мы боремся с этим на ранней стадии, чтобы избежать тех самых негативных последствий.
Есть мнение, что анализ причин появления может дать больше, в виде курса по настройке модулей/плагинов для популярных 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 и т.д.
Ок, подумаем, чтобы не было еще сильно наляписто.
Доработали: https://apollon.guru/image/ZLE6NY.jpg
По поводу ламоды.
Недавно выкатили изменения с багами.
Но под ботами вы не зайдёте на страницу без последнего слеша)
Надо было сразу и регэкспы дать по каждому пункту на удаление
Материал серьезный, правда остается непонятным - где именно создаются все эти варианты полных или частичных дублей - в какой конкретно CMS и как.
К тому же, есть проект в котором .html дублей (статики) предостаточно, и первые шаги по устранению, выявили необходимость писать и переписывать объемный php скрипт, анализирующий _контент_ - с кучей, как выше замечено, regexp и попутно исправлением ошибок в html коде ... дошли где-то до середины и сдались (на время), т.к. утонули в лабиринте ветвлений условий - вот приблизительно как у Вас с кучей пунктов и подпунктов.
Я не о том - обратите внимание на слово _создаются_ - какие именно CMS генерят эти дубли, и как это происходит - грубо говоря, может надо в консерватории что-то исправить, в настройках CMS?
Это очень большая работа + с разными плагинами разные CMS генерят разные дубли. Уж очень много нюансов есть. Поэтому проще пробивать наличие дублей для проекта в данный момент и устранять данные ошибки, а не стараться по шаблону решать проблемы.
Так что толку - Вы как-то их прибьете, а плагины/модули нагенерят новых дублей ... тут вопрос скорее именно про ошибки работы с этими плагинами/модулями.
Вы предлагаете бороться с результатом, а наверное, дело-то все-таки в методах генерации контента, или нет?
Мы исходя из этих данных и гововим ТЗ для веб-разработчиков. Внедряя которые мы закрываем их от индексации. Каким способом закрывать? 301-м редиректом, отдавать 404-й код, закрывать с помощью robots.txt, canonical или meta robots уже определяем по самим страницам дублей. Т.е. сервис помогает выявить ошибки. После чего нужно составить ТЗ веб-программисту по устранению выявленных ошибок.
Все эти страницы в итоге могут появляться в индексе, если они отдают 200 код. Как их находят поисковые системы? Это другой вопрос. Как вариант проанализируйте проиндексированные страницы в Яндекс Вебмастере и Google Search Console - увидете много интересно. Почти у каждого проекта находятся дубли, указанные в статье. Поэтому на начальном этапе продвижения проекта лучше обезопасить себя от их индексирования.
Мы на другом этапе, Google-то съел всю базу и видит обновления, причем отсеял дубли сам, А Яндекс не смог осилить sitemap толком, я бы сказал, Яндекс сломался на индексации (правда в поддержке написали что все ок).
C дублями по доменам все тяжелее, но к сожалению не в моей власти. Уж сколько копий сломано было, да ладно, дело уже почти прошлое, поезд ушел :(
Комментарий удален модератором
Когда 5 топовых CMS в рунете решат свои seo проблемы, 99% сеошников лишаться работы.
Не слышали? SEO - уже давно умерло!
rel=canonical решает все проблемы, хоть //// хоть /index.php хоть с www или без. Если правильно прописан canonical то дело в шляпе!
Еще robots txt в котором можно clean param у указывать для фильтров и сортировки
Т.е достаточно прописать canonical для товара или статьи + clean param для категории где есть сортировка и всё
Ну и тут активное движение, много всего полезного по мимо дублей страниц.
Свой вклад и я внесу (может кому будет полезно), тут ребят читал, очень много полезного в управлению интернет-магазина, много лайфхаков: https://neoseo.com.ua/developing-e-shop
Вот это лайфхак! (нет). Как будто в 2008 вернулся
Комментарий удален модератором
Подскажите, пожалуйста, блондинке: где и как прописать,чтобы убрать дубли с добавлением: 1.цифр в конце ссылки после слеша, 2.заглавных букв вместо прописных, 3.вставкой между слешами произвольных английских букв до названия категории (рубрики)? Отдают код 200. Лучше- в htaccess какой-нибудь код (так проще, мне кажется). В Яндекс-вебмастере у меня таких ЧПУ нет, но возможно Гугл поэтому показывает большие сопли. Спасибо.
Многие предприниматели даже не понимают зачем нужен сайт и что с ним делать, вот именно для формирования общих понятий я оставлю здесь линк на статью https://ag.marketing/uk-ru/zachem-biznesu-nuzhen-sayt/