Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Транслит для загранпаспорта ГОСТ 7.79 ISO 9 Блог Вопросы и ответы Создать URL
Разбор

Шаблоны текстов и риск дублей

Разберём, из чего строить шаблон, чтобы страницы оставались самостоятельными, и как проверять их похожесть.

Где проходит граница

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

ТекстстраницыОбщая частьшаблонДанныеподстановки из базыУникальноесобственные блоки
ТекстстраницыОбщая частьшаблонДанныеподстановки из базыУникальноесобственные блоки
Из чего состоит текст шаблонной страницы

Как строить шаблон

  1. Небольшая общая часть. Вступление и пояснения, одинаковые для всех страниц, не должны быть основным содержимым.
  2. Данные из базы. Характеристики, цены, списки, адреса, расстояния, наличие: то, что реально различается.
  3. Условные блоки. Фрагменты, которые появляются только при наличии данных: не пустые заголовки.
  4. Уникальные блоки. Собственные описания, отзывы, примеры, вопросы и ответы, отличающиеся для каждой страницы или группы.

Откуда брать уникальность

Как добавить уникальное содержание
ИсточникПримерЗамечание
Данные о товаре или услугеХарактеристики, цены, наличиеМеняются автоматически
Пользовательские материалыОтзывы, вопросы, оценкиТребуют модерации
Локальные сведенияАдреса, маршруты, особенности регионаНужны реальные данные
Редакционные вставкиСоветы, сравнения, примерыПишутся вручную для важных страниц
Связанные материалыСсылки на статьи и подборкиНе заменяют текст

Проверка похожести

from difflib import SequenceMatcher

def similarity(text_a, text_b):
    return SequenceMatcher(None, text_a, text_b).ratio()

ratio = similarity(page_a_text, page_b_text)
if ratio > 0.85:
    print("too similar:", round(ratio, 2))

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

ВыбратьгруппустраницИзвлечьосновнойтекстПосчитатьпохожестьИсправитьшаблон
ВыбратьгруппустраницИзвлечьосновнойтекстПосчитатьпохожестьИсправитьшаблон
Как проверять шаблонные страницы

Что делать при высокой похожести

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

Связанные материалы. Как писать тексты для страниц фильтров — в статье что писать на страницах фильтров, а как контролировать автоматическое создание — в статье автоматическое создание посадочных страниц.

Частые вопросы

Можно ли использовать шаблоны текстов на больших сайтах?

Можно, если основная часть содержимого страницы — данные и уникальные блоки, а общая часть шаблона невелика.

Как измерить похожесть страниц?

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

Что делать со страницами, которые слишком похожи?

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

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

Читайте также

4 мин чтения

Регламент публикации страниц

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

Читать статью →