
Содержание
Какие бывают дубли страниц
Я делю дубли страниц на 2-а вида. Первый вид так же делиться на несколько видов:
- это полное дублирование контента с метатегами (такое происходит по неосторожности, при работе нескольких людей над сайтом без согласования действий или в товарах )
- Дублирование контента на страницах пагинации. Когда текст на первой странице дублируется на остальные 2,3…12 и при этом не проставлен Canonical.
- Спойлер : Если вы обнаружили такую проблему на сайте, то необходимо оставить текст только на первой странице и автоматически проставить Canonical на страницу /page/ со страниц /page/2, /page/3 … /page/12
Как найти и исправить эти моменты
Данные дубли страниц можно найти с помощью парсера. Можно использовать
SiteAnalyzer ( он подойдет если у вас сайт до 500 страниц ) или Screaming Frog SEO ( можете воспользоваться этими доступом для использования полного функционала
Логин : telegramfreehvb
Ключ : 80589D2568-1691526830-C22640C478 )

Далее вам необходимо ввести домен вашего сайта и запустить парсер. Дождитесь пока он сделает всю работу и в правом меню найдите информацию про мета теги Title, Description, H1. Вы увидите такую картину.

Напротив Duplicate стоит количество найденных страниц с дублированным метатегом, часто такие страниц оказываются продублированы полностью. Нажмите на Duplicate и слева увидите данные страницы. Далее вы можете их проанализировать и решить как поступить . Если это страница пагинации — необходимо проставить каноникал, оставить текст только на первой странице, реализовать автоматическое добавление — page-2(номер страницы) в конце метатегов тайтл и дескрипшн. Закрывать страницы пагинации в robots.txt не нужно .
Второй вид дублирования
— это технический. Его сложнее заметить если не знать где искать. Это дублирование так называемых зеркал, то есть полной копии сайта. Можем разделить их на несколько подпунктов для удобства:
Первый:
- Сайт доступен по www.site.com и http.site.com и https.site.com. Для поисковых систем это разные адреса и поэтому он воспринимает эти сайты как дубли.
Что делать? Данный функционал обычно доступен на хостинге в разделе “перенаправления” или можно обратиться в поддержку хостинга. Есть и рабочий код который вы можете добавить в .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.site\.ua$ [NC]
RewriteRule ^(.*)$ https://site.ua/$1 [R=301,L]
Также, не забывайте, что после установки SSL сертификата необходимо установить код для того чтоб все страницы редиректили с http на https.
Вот код для редиректа с http на https:
( ставить после RewriteEngine On)
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Второй:
- Сайт доступен по https.site.com/ и https.site.com/// и так до бесконечного количества слешей. Поисковые системы так же воспринимают их как дубль. Проверьте на своем сайте доступность страницы с двумя и более слешами, если страница доступна — тогда переходим к решению.
Что делать? Для начала нужно определиться каких страниц у вас больше проиндексировано, со слешем или вообще без него в конце. Проверьте в Google Search Console отчет по индексации чтоб понять это. Обычно это видно сразу , но у меня был проект в котором равномерно индексировались страницы со слешем и без него и приходилось высчитывать соотношение чтоб понять какой редирект лучше сделать.
Не переживайте, страницы не потеряют позиций, они просто будут перенаправляться на указанную в редиректе. Мы убираем дубли и только улучшим показатели сайта.
После того как вы определились на какие страницы сделать редирект ( со слешем или без него) — можете добавить один из этих редиректов в файл .htaccess.
Убираем слеш в конце
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
Со слешем на конце
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
Редирект устанавливать таким образом :

Третий:
- Страницы доступны с большими буквами и маленькими https.Site.com/ и https.site.com/. В таком случае это так же дубли и довольно большое количество, так как вы можете видеть ту же самую страницу по https.Site.com/ и https.siTe.com/ и так далее. На многих CMS на таких страницах автоматически ставиться Canonical, но все же рекомендуем убрать заглавные буквы в урл.
Что делать? Необходимо сделать редирект с больших символов на маленькие. Вот готовые редиректы. Их 2-а варианта
Первый вариант. Устанавливается в 2-ух файлах, .htaccess и rewrite-strtolower.php. Вот он :
файл .htaccess
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} [A-Z]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule (.*) rewrite-strtolower.php?rewrite-strtolower-url=$1 [QSA,L]
файл rewrite-strtolower.php
<?
if(isset($_GET['rewrite-strtolower-url'])) {
$url = $_GET['rewrite-strtolower-url'];
unset($_GET['rewrite-strtolower-url']);
$params = strtolower(http_build_query($_GET));
if(strlen($params)) {
$params = '?' . $params;
}
header('Location: https://' . $_SERVER['HTTP_HOST'] . '/' . strtolower($url) . $params, true, 301);
exit;
}
header("HTTP/1.0 404 Not Found");
die('Unable to convert the URL to lowercase. You must supply a URL to work upon.');
?>
Второй вариант, если не можете найти файл rewrite-strtolower.php.
Его достаточно установить только в .htaccess
(ставить после
RewriteEngine On
RewriteBase / )
RewriteRule [A-Z] - [E=HASCAPS:TRUE,S=1]
RewriteRule ![A-Z] - [S=28]
RewriteRule ^([^A]*)A(.*)$ $1a$2
RewriteRule ^([^B]*)B(.*)$ $1b$2
RewriteRule ^([^C]*)C(.*)$ $1c$2
RewriteRule ^([^D]*)D(.*)$ $1d$2
RewriteRule ^([^E]*)E(.*)$ $1e$2
RewriteRule ^([^F]*)F(.*)$ $1f$2
RewriteRule ^([^G]*)G(.*)$ $1g$2
RewriteRule ^([^H]*)H(.*)$ $1h$2
RewriteRule ^([^I]*)I(.*)$ $1i$2
RewriteRule ^([^J]*)J(.*)$ $1j$2
RewriteRule ^([^K]*)K(.*)$ $1k$2
RewriteRule ^([^L]*)L(.*)$ $1l$2
RewriteRule ^([^M]*)M(.*)$ $1m$2
RewriteRule ^([^N]*)N(.*)$ $1n$2
RewriteRule ^([^O]*)O(.*)$ $1o$2
RewriteRule ^([^P]*)P(.*)$ $1p$2
RewriteRule ^([^Q]*)Q(.*)$ $1q$2
RewriteRule ^([^R]*)R(.*)$ $1r$2
RewriteRule ^([^S]*)S(.*)$ $1s$2
RewriteRule ^([^T]*)T(.*)$ $1t$2
RewriteRule ^([^U]*)U(.*)$ $1u$2
RewriteRule ^([^V]*)V(.*)$ $1v$2
RewriteRule ^([^W]*)W(.*)$ $1w$2
RewriteRule ^([^X]*)X(.*)$ $1x$2
RewriteRule ^([^Y]*)Y(.*)$ $1y$2
RewriteRule ^([^Z]*)Z(.*)$ $1z$2
RewriteRule [A-Z] - [N]
RewriteCond %{ENV:HASCAPS} TRUE
RewriteRule ^/?(.*) /$1 [R=301,L]
Вот и все, если вы проверили и исправили все эти пункты — на сайте не должно быть дублей.
Обращайтесь по указанным контактам на сайте если вам нужен технический анализ сайта. Сделаем все в лучшем виде