Убираем дубли страниц
Поисковые системы (ПС) очень не любят дублированные страницы и наказывают сайт за это понижением в выдаче. А под дублями поисковые системы понимают страницы, которые доступны по разным адресам. Рассмотрим самые распространённые причины появления дублей.
- Страница открывается с www и без.
- Одна и та же страница открывается со слэшем (/) в конце и без.
- Страница с разными параметрами считается поисковыми системами дублем — site.ru/articles/?page=1(2,3,4), site.ru/search.html?name=modx и т.д.
Почему это плохо?
- Ухудшается индексация сайта — объем сайта существенно разрастается из-за дублей.
- Изменение релевантной страницы в поисковой выдаче — поисковая система может посчитать дублирующую страницу более релевантной чем основная. И в дальнейшем вообще может удалить главную страницу из индекса как ненужную.
- Неправильно распределяется внутренний ссылочный вес — при неправильных внутренних ссылках пользователь может попасть на дублирующую страницу, из-за чего её вес повышается.
- Потеря внешнего ссылочного веса — если внешняя ссылка ведёт на дубль, то можно сказать, что её нет, что также отражается на рейтинге сайта.
Выявление и ликвидация (склейка) дублированых страниц сайта — это одна из основных задач при разработке сайта. Сделать это можно несколькими способами.
Способ 1. Настроить переадресацию
Для веб-сервера Apache правила переадресации настраиваются в файле .htaccess. Он должен располагаться в корневой папке сайта. В MODX уже есть такой файл с настроенной инструкцией для переадресации, её просто нужно раскомментировать.
# Переадресация с www.site.ru на site.ru RewriteCond %{HTTP_HOST} . RewriteCond %{HTTP_HOST} !^site\.ru [NC] RewriteRule (.*) http://site.ru/$1 [R=301,L] # Добавляем слеш к адресам - site.ru -> site.ru/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !\..{1,10}$ RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ http://site.ru/$1/ [L,R=301]
Если используется веб-сервер Nginx, то это правило будет выглядеть так
# Редирект с www.site.ru на site.ru server { server_name www.site.ru; return 301 $scheme://site.ru$request_uri; } # Добавляем слеш к адресам - site.ru -> site.ru/ server { if ($request_uri !~* "(?:\?)|(?:\.\w+$)|(?:\/$)") { return 301 $request_uri/; } }
Способ 2. Запретить индексацию роботам в файле robots.txt
В этом файле написать инструкции для поисковых роботов, чтобы они исключили из индексации ненужные страницы. Например, страницы с параметрами не должны попадать в индекс.
Disallow: /*? # Указываем главное зеркало сайта без www Host: my-site.ru
Более тонкую настройку можно сделать с помощью директивы clean-param.
Способ 3. Использовать канонические ссылки
Для страниц, доступных по нескольким URL, поисковые системы рекомендуют использовать канонические ссылки, указывающие адрес основной страницы, предпочтительный для индексации.
Задаются они с помощью тега link
с атрибутом rel=«canonical»
в секции head страницы и поддерживается всеми известными поисковыми машинами, в том числе Яндексом и Google. Атрибут rel=«canonical»
помогает не только исключить из выдачи все дубликаты страницы, но и правильно сконцентрировать ценный ссылочный вес. Разместить такую ссылку нужно в секции head сайта. Для MODX она будет выглядеть так
<link rel="canonical" href="[[~[[*id]]? &scheme=`full`]]" />
Заключение
Данные рекомендации подойдут для большинства сайтов и помогут повысить его позиции в поисковой выдаче и уменьшить расходы на его продвижение. Но периодически нужно заниматься проверкой числа страниц в выдаче ПС. И ещё будет полезно освоить панели инструментов для web-мастеров Яндекса или Google.
Вы должны авторизоваться, чтобы оставлять комментарии.
Комментарии ()