Дублирующийся контент: где взялся и как убрать
Скопировали с конкурента, перепост со своего же сайта, фид-парсер. Алгоритм очистки.
Симптом
- На сайте появляются страницы с одинаковым или почти одинаковым текстом (копии, «дубликаты»).
- Внутренние ссылки указывают на несколько URL‑адресов, которые содержат один и тот же контент.
- Google Search Console сообщает о «Duplicate content» или «Duplicate title».
- Поисковый трафик падает, а позиции в SERP снижаются.
- На страницах с дублирующимся контентом видны разные мета‑теги, но основной текст совпадает.
Причина
- Копирование контента с конкурентов – скрипты, которые автоматически скачивают и публикуют чужие статьи, не меняя URL и заголовки.
- Переопубликование собственных статей – одинаковый материал размещён под разными адресами (например,
/blog/2024/05/10/пости/blog/пост). - Фид‑парсинг – импорт новостей из RSS/Atom, где каждый источник публикует один и тот же материал с разными URL.
- Неоптимальная генерация страниц – динамические параметры (
?utm_source=…,?ref=…) создают множество «видимых» копий. - Неправильная настройка канонических URL – отсутствие
rel="canonical"приводит к тому, что поисковые системы считают каждую страницу уникальной.
Как проверить
| Шаг | Инструмент / команда | Что искать |
|---|---|---|
| 1 | Google Search Console → Coverage | Статусы «Duplicate without user‑visible changes» |
| 2 | curl -I https://example.com/page |
Заголовок Link: <https://example.com/page>; rel="canonical" |
| 3 | wget -qO- https://example.com/page | grep -i canonical |
Наличие канонического тега |
| 4 | wget -qO- https://example.com/page | grep -i robots |
Disallow: /page |
| 5 | grep -R "дубликат" /var/www/html |
Файлы с одинаковым текстом |
| 6 | htaccess / nginx.conf |
Правила перенаправления (RewriteRule, return 301) |
| 7 | https://www.google.com/search?q=site:example.com+%22текст+из+поста%22 |
Показать все URL с одинаковым текстом |
Решение
1. Установить канонический URL
<link rel="canonical" href="https://example.com/blog/пост" />
Добавьте этот тег в <head> каждой страницы, указывая «правильный» URL. Если страница генерируется динамически, используйте серверный код:
<?php
$canonical = 'https://example.com' . $_SERVER['REQUEST_URI'];
echo '<link rel="canonical" href="' . $canonical . '">';
?>
2. Перенаправить дублирующие URL
Nginx
location /old-page/ {
return 301 https://example.com/new-page/;
}
Apache (.htaccess)
Redirect 301 /old-page/ https://example.com/new-page/
3. Удалить дублирующие страницы
- Удалите файлы из файловой системы.
- Если страницы находятся в CMS, удалите их через админку.
- После удаления добавьте 410 (Gone) вместо 404, чтобы поисковики знали, что страница удалена навсегда.
Redirect 410 /old-page/
4. Настроить robots.txt
User-agent: *
Disallow: /old-page/
5. Проверить и обновить внутренние ссылки
Проверьте, что все внутренние ссылки указывают на канонические URL. Вручную или с помощью скрипта:
grep -R "<a href=" /var/www/html | grep -v "https://example.com/new-page"
6. Устранить дублирование при фид‑парсинге
- Добавьте проверку уникальности по
slugилиhashконтента перед сохранением. - Храните
hashв базе и сравнивайте при каждом импорте. - Если дубликат найден, обновляйте только метаданные, но не создавайте новую страницу.
import hashlib
def is_duplicate(content):
h = hashlib.sha256(content.encode()).hexdigest()
return db.session.query(Page).filter_by(content_hash=h).first() is not None
7. Проверить после исправлений
- В Google Search Console нажмите «Validate Fix» после обновления страниц.
- Перезапустите индексацию:
https://www.google.com/webmasters/tools/inspect?siteUrl=example.com. - Убедитесь, что статус «Duplicate» исчезает.
Связанные
SEO КП · нужна помощь?
Не хотите разбираться сами?
Запустите технический аудит сайта за 5 минут — получите PDF-отчёт с разбором всех 64 параметров и конкретными точками роста. Или закажите комплексное SEO-продвижение сайта — починим всё это и возьмём на себя дальнейшую оптимизацию.