{"id":14268,"url":"\/distributions\/14268\/click?bit=1&hash=1e3309842e8b07895e75261917827295839cd5d4d57d48f0ca524f3f535a7946","title":"\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u043c \u0438\u0433\u0440\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u043c\u0435\u0441\u0442\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f71e1caf-7964-5525-98be-104bb436cb54"}

Как массово проверить уникальность страниц между собой

Вопрос определения дубликатов страниц и уникальности текстов внутри сайта является одним из важнейших в списке работ по техническому аудиту.

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

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

Какие варианты проблем с не уникальным контентом могут быть на сайте?

1. Одинаковый контент по разным URL.

Обычно это страница с параметрами и та же самая страница, но в виде ЧПУ (человеко-понятный УРЛ).

Пример:

  • https://site.ru/index.php?page=contacts
  • https://site.ru/contacts/

Это достаточно распространенная проблема, когда после настройки ЧПУ, программист забывает настроить 301 редирект со страниц с параметрами на страницы с ЧПУ.

Данная проблема легко решается любым веб-краулером, которой сравнив все страницы сайта, обнаружит, что у двух из них одинаковые хеш-коды (MD5), и сообщит об этом оптимизатору, которому останется поставить задачу, все тому же программисту, на установку 301 редиректов на страницы с ЧПУ.

Однако не все бывает так однозначно.

2. Частично совпадающий контент.

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

Пример 1

На сайте по продаже пластиковых окон, в новостном разделе, копирайтер год назад написал поздравление с 8 марта на 500 знаков и дал скидку на установку пластиковых окон в 15%.

А в этом году контент-менеджер решил "схалтурить", и не мудрствуя лукаво, нашел ранее размещенную новость со скидками, скопировал ее, и заменил размер скидки с 15 на 12% + дописал от себя 50 знаков с дополнительными поздравлениями.

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

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

В итоге, какая из страниц будет ранжироваться лучше – большой вопрос...

Но новости они такие – имеют свойство быстро устаревать, поэтому возьмем пример поинтереснее.

Пример 2

У вас на сайте есть статейный раздел, либо вы ведете личную страничку по своему хобби / увлечению, например это "кулинарный блог".

И, к примеру, в вашем блоге набралось уже порядком статей за все время, более 100, а то и вовсе несколько сотен. И вот вы подобрали тему и написали новую статью, разместили, а впоследствии каким-то образом обнаружилось, что аналогичная статья уже была написана 3 года назад. Хотя, казалось бы, перед написанием контента вы пробежались по всем названиям, открыли Excel со списком размещенных тем, но не учли, что прошлое содержимое статьи "Как приготовить горячий шоколад в домашних условиях" сильно совпадает с только что написанным материалом. А при проверке этих двух статей в одном из онлайн-сервисов получается, что они уникальны между собой на 78%, что, конечно же, не хорошо, так как из-за частичного дублирования возникает канибализация поисковых запросов между этими страницами, а у поисковой системы возникают вопросы и сложности при ранжировании подобных дублей.

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

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

BatchUniqueChecker

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

Принцип работы BatchUniqueChecker прост: по заранее подготовленному списку URL программа скачивает их содержимое, получает PlainText (текстовое содержимое страницы без блока HEAD и без HTML-тегов), а затем при помощи алгоритма шинглов сравнивает их друг с другом.

Таким образом, при помощи шинглов мы определяем уникальность страниц и можем вычислить как полные дубли страниц с 0% уникальностью, так и частичные дубли с различными степенями уникальности текстового содержимого.

В настройках программы есть возможность ручной установки размера шингла (шингл – это количество слов в тексте, контрольная сумма которых попеременно сравнивается с последующими группами внахлест). Мы рекомендуем установить значение = 4. Для больших объемов текста от 5 и выше. Для относительно небольших объемов – 3-4.

Значимые тексты

Помимо полнотекстового сравнения контента, в программу заложен алгоритм "умного" вычленения так называемых "значимых" текстов.

То есть, из HTML-кода страницы мы получаем только лишь контент, содержащийся в тегах H1-H6, P, PRE и LI. За счет этого мы как бы отбрасываем все "не значимое", например, контент из меню навигации сайтов, текст из футера либо бокового меню.

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

Список страниц для их последующего анализа можно добавить несколькими способами: вставить из буфера обмена, загрузить из текстового файла, либо импортировать из Sitemap.xml с диска вашего компьютера.

Программа BatchUniqueChecker бесплатна, занимает всего 4 Мб в архиве и не требует установки.

Таким образом, благодаря многопоточной работе, проверка сотни и более URL может занять всего несколько минут, на что в ручном режиме, через онлайн-сервисы, мог бы уйти день или более.

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

0
36 комментариев
Написать комментарий...
Пётр Радищев

Полезно однако. Лайк.

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

Спасибо!

Ответить
Развернуть ветку
Анатолий Потапов

Благодарю за программу. Лайк статье)

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

Спасибо! На днях выпустим обновление - добавим пару дополнений.

Ответить
Развернуть ветку
Иван Сафонов

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

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

Наверное сперва вам нужно проверить % индексации ваших вакансий, а дальше уже принимать решение, нужно ли что-то с этим делать или нет.

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

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

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

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

Ответить
Развернуть ветку
Александр Жилин

Какой % уникальности должен быть у страниц? Понятно, что 100% - это в идеале. Но все-таки есть какой-то порог, наверное, который лучше не переступать.

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

Наверное, лучше не опускаться в красную зону. А в целом лучше держаться не ниже 20-30%.

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

У вас в любом случае будет сквозной контент, да и шинглы обычно типизируются. 100% - нереальная цифра.
Используйте классику жанра - tf*idf, облака релевантности и текстовый анализ. Обычный "мешок слов" всё ещё на коне.

Ответить
Развернуть ветку
Александр Жилин

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

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

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

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

Спасибо, буду тестировать.
До этого для проверки на уник в рамках сайта использовал Screaming Frog и сервис siteliner.com - но у обоих есть ограничения ("Сайтлайнер", например, платный, на бесплатном тарифе обойдёт только 200 страниц).
А проблемка с неуникальным контентом всё актуальнее, притом речь даже больше о сквозном контенте и недостатком уникального-полезного в рамках сайта.
Из примеров: есть у меня клиент, памятниками торгует. Медленно стартовал, динамика была слабая. После подробного аудита я понял, что у него под самые жирные запросы (типа "гранитный памятник купить") практически все страницы релевантны примерно одинаково. Причина - перегруженное меню и скрытый сквозной контент в шаблоне. После правок трав вырос в три раза, и никаких больше переклеек запроса на нецелевые страницы

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

Спасибо, фидбек бы не помешал, т.к. первые версии чего-либо обычно требуют хотя бы минимальных допилов )

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

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

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

Это как раз для коммерческих категорий и полезнее, чем для информационки. Просто там работать надо не с SEO-текстами, а с интерфейсом. Если, конечно, вы категории продвигаете, а не именно карточки товаров.

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

Полагаю что в 90% обычно ничего не делают, если это например Айфон, описание которого на всех ИМ +- везде одинаково.
Поисковики это понимают.
Если же товар сам по себе уникальный и редкий, то и описание должно быть соответственно уникальным.

Ответить
Развернуть ветку
Александр Герасимов

Спасибо, будем тестировать! Лайк) Есть некоторые опасения насчет канибализации на паре своих проектов, будем проверять))

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

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

Ответить
Развернуть ветку
Артем Соболевский

Полезная статья. Спасибо за советы!

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

Спасибо!

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

Спасибо, будем тестировать.
А для случая #1 разве canonical не поможет?

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

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

Ответить
Развернуть ветку
Дмитрий Хохлов

Отличная софтина!

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

Спасибо!

Ответить
Развернуть ветку
Евгений Молдовану

Однозначно полезный софт особенно для больших порталов.

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

Женя, спасибо!

Ответить
Развернуть ветку
Слава Вареня

Очень медленно работает. Лимит в 10К URL.

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

Для средних сайтов и ИМ 10к страниц вполне должно хватать. А скорость, ну руками то все дольше делать )

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

Очень хорошая идея программы. Подкину вам еще один вариант автоалгоритма поиска каннибализации в текстах - парсинг google webmaster по ключевым словам url, которые ранжируются в поиске по каждому слову и их сопоставление. К сожалению, я вижу, что "умный алгоритм", который должен выбирать только текст поста со страницы не работает на нашем сайте.
Если поправите, буду очень благодарен и смогу полноценно протестировать софт. Сайт который проверял - компания Topodin.

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

Видимо у вас стоит защита, тк сервер отдает ошибку 403. Когда позже встроим данную функцию в SiteAnalyzer думаю эта проблема разрешится.

Ответить
Развернуть ветку
Павел Яньшин

круто, молодцы

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

По данный VirusTotal программа содержит Trojan.Malware.300983.susgen от 12.08.2021, скачана с официального сайта по ссылке в этой статье.

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

1 из 60 антивирусов? Вы смеетесь? )

Ответить
Развернуть ветку
Александра Помещенко

спасибо большое!

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