12 февраля 9:55
Рубрика: Блоговедение 10 комментариев

Как удалить ссылку rel='shortlink', порождающую дубли страниц

Здравствуйте, уважаемые читатели блога er-krasnogorsk.ru. Сегодня расскажу вам как удалить из внутреннего кода страницы зловредную ссылку rel='shortlink', которая есть у всех, кто пользуется движком WordPress. Почему она зловредная и почему ее непременно нужно удалить? А вот послушайте.

 

 

Содержание

Что такое rel='shortlink'
Как удалить ссылку rel='shortlink'

 

Совсем недавно у себя в Яндекс.Вебмастере с удивлением обнаружил огромное количество дублей, с цифрами на конце, одной моей статьи. Подчеркиваю, Яндекс проиндексировал 55 дублей только одной моей статьи, с остальными все в порядке.

Это тем более удивительно, так как  у меня прописан rel="canonical", указывающий на основную страницу, которую нужно индексировать. К тому же после нашумевшей статьи Борисова о дублях replytocom, по его совету я внес изменения в .htaccess и function.php и до вчерашнего дня все было ОК.

Начал разбираться откуда ноги растут. Сначала грешил на обновление WordPress, вдруг что-то не так установилось, потом долго думал как бы закрыть индексацию подобных страниц в роботсе, но со временем все встало на свои места. Оказывается, во всем виноват тег rel='shortlink'.

 

Что такое rel='shortlink'

 

Вообще WordPress мне напоминает прижимистого хозяина, который все копит, кеширует, ничего не выбрасывает и не удаляет. Например, если вы публикуете фото или картинку, он тут же создает дубликаты этих изображений разного размера ( миниатюру, среднего размера и т.д. ). К слову, как эти изображения оптимизировать и уникализировать, можете почитать здесь и здесь.

Также когда мы создаем новую запись в редакторе, мы создаем удобочитаемый урл-адрес, так называемый ЧПУ, а движок паралельно с нами тут же формирует ссылку shortlink.

Найти ее совсем нетрудно, просто откройте любую страницу вашего сайта, щелкните правой кнопкой мыши и выберите «Исходный код страницы».

Если у вас наблюдается такая картина, во избежание ненужных проблем в будущем, лучше удалите ее. Потому что она создает, во-первых, ненужные дубли, которые могут стать серьезным препятствием в деле продвижения: наличие множества страниц с разным УРЛ, но одинаковым контентом, не приветствуется поисковыми системами.

Во-вторых, распыляется вес страницы, который тоже играет не самую последнюю роль в оптимизации. В статистике Liveinternet, на вкладке «Страницы», где показываются переходы на те или иные страницы, заметил любопытную деталь.

То есть одна и та же статья встречается два раза, потому что расположена по двум разным адресам. А это не есть хорошо.

 

Как удалить ссылку rel='shortlink'

 

Очень просто, как говорится, раз чихнуть. Всего лишь нужно добавить вот этот небольшой код в function.php вашей темы после открывающего тега <?php. Здесь нелишним будет напомнить вам сделать бэкап сайта.

remove_action ( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );

Посмотрите исходный код страницы, shortlink должен исчезнуть.

А теперь давайте проверим, видит ли его робот на нашей странице. Для этого идем в Вебмастер-Индексирование сайта-История-HTTP-коды-Проверка ответа сервера. Открываем любую свою статью ( не главную страницу ), копируем УРЛ, вставляем в специальное поле и жмем кнопочку «Проверить».

Как видите, зловредная ссылка присутствует. Чтобы окончательно с ней расправиться, открываем папку wp-includes, находим в ней файл link-template.php и удаляем генерирующую ссылку:

header ('Link: <' . $shortlink . '>; rel=shortlink', false);


Чтобы удобнее было искать, нажмите ctrl+f на клаиватуре, откроется поле поиска, введите слово shortlink и управляя кнопкой вверх-вниз, найдите нужное значение. У меня этот поиск частенько ничего не находит, поэтому приходится вручную все просматривать. Но дело того стоит.

Теперь проверим еще раз.

Все чисто. Робот Яндекса будет доволен. Если статья была полезна вам, подписывайтесь на обновления блога. Всего доброго.

С уважением Баяс Батуев

Хочешь получать статьи этого блога на почту?
10 комментариев
  • Василий

    У меня такое было с одной страницей в Яндексе. Для борьбы с этим, специально вставил в файл robots.txt запрещение индексации таких страниц.

    2015-02-13
  • Баяс Батуев

    Я тоже на всякий случай в роботсе закрыл: прописал УРЛ данной страницы, но только со слешем в конце ( Disallow: /kak-vyvesti-populyarnye-stati-v-sajdbar.html/ ). Поскольку исходная страница идет без слеша, она будет разрешена для индексации, а все остальные запрещены.

    2015-02-13
  • Иль

    Тоже решил посмотреть в Яндекс.Вебмастере свой блог. Оказалось всё нормально, дублей нет, но спасибо Вам за статью. Полезно.

    2015-02-13
  • Баяс Батуев

    Пожалуйста, Иль.

    2015-02-13
  • Рита

    Ой, Баяс! Вот это геморрой на мою голову! Посмотрела и ужаснулась! Есть присутствие этих shortlink.... А я и думаю откуда яндекс берет кучу дублей. Вроде по Борисову давно все сделала... А дубли продолжают плодиться. Я даже все прошлые комменты поудаляла. А толку не было. Спасибо, очень полезная статья!

    2015-02-13
  • Баяс Батуев

    Удачи, Рита.

    2015-02-13
  • Рита

    Баяс, и все таки я ее победила. Спасибо огромное. Долго искала поиск ничего не дал. Я ее нашла на 2386 строке в файле link-template.php благодарность моя безмерна. Я тоже думала, что с дублями в комментариях покончено. Так как все сделала по учению А. Борисова. Но не тут то было. А я и не понимала откуда ноги растут. :roll:

    2015-02-27
  • Рита

    Баяс, забыла спросить. В яндексе как их найти? Подскажи. Я вижу, что статей приндексировано в 3 раза больше, чем есть. Спасибо. :oops:

    2015-02-27
  • Баяс Батуев

    Рита, очень рад за вас, настойчивость и упорство всегда дают положительный результат.

    2015-02-28
  • Баяс Батуев

    Рита, на всякий случай запретите в роботсе индексирование подобных страниц вот так: Disallow: /*.html/*. Поскольку оригинальная страница у нас без слеша в конце, она не будет запрещена, а запрещены будут дубли, которые обычно идут со слешем. У меня все дубли в Яндексе уже исчезли, значит все работает.

    2015-02-28

Добавить комментарий