Поисковые системы (ПС) очень не любят дублированные страницы и наказывают сайт за это понижением в выдаче. А под дублями поисковые системы понимают страницы, которые доступны по разным адресам. Рассмотрим самые распространённые причины появления дублей.

  1. Страница открывается с www и без.
  2. Одна и та же страница открывается со слэшем (/) в конце и без.
  3. Страница с разными параметрами считается поисковыми системами дублем — 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.

    Нужно понимать, что robots.txt не гарантирует 100% защиту от индексации. Если на страницу есть хоть одна ссылка, то она попадет в индекс независимо от того, запрещена она в robots.txt или нет.

    Способ 3. Использовать канонические ссылки

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

    Задаются они с помощью тега link с атрибутом rel=«canonical» в секции head страницы и поддерживается всеми известными поисковыми машинами, в том числе Яндексом и Google. Атрибут rel=«canonical» помогает не только исключить из выдачи все дубликаты страницы, но и правильно сконцентрировать ценный ссылочный вес. Разместить такую ссылку нужно в секции head сайта. Для MODX она будет выглядеть так

    <link rel="canonical" href="[[~[[*id]]? &scheme=`full`]]" />
    

    Заключение

    Данные рекомендации подойдут для большинства сайтов и помогут повысить его позиции в поисковой выдаче и уменьшить расходы на его продвижение. Но периодически нужно заниматься проверкой числа страниц в выдаче ПС. И ещё будет полезно освоить панели инструментов для web-мастеров Яндекса или Google.

    28 декабря 2015, 11:26   3503     0

    Комментарии ()

      Вы должны авторизоваться, чтобы оставлять комментарии.

      Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.