Shortlink - не нужная ссылка, которую необходимо удалить | Сам Себе Вебмастер

Как удалить ссылку rel=’shortlink’ из кода сайта на WordPress

Shortlink-mini

У вас сайт на Вордпресс? Вы заменили стандартные URL’ы на ЧПУ? Но поисковики почему-то «кушают» оба урла, а это как ни как дубли. Для тех кто не знает, самое неприятное в дублях — это то, что их можно назвать внутренним плагиатом, дело в том, что CMS WordPress, как и другие популярные системы управления сайтами (например, Joomla), не редко производит дубликаты оригинальных страниц, то есть произвольно, без участия пользователя создается страница идентичная оригиналу, но доступная при этом по другому адресу.

В моем случае, я рассматривая вот такой вариант:

  1. https://samsebewebmaster.ru/?p=320
  2. https://samsebewebmaster.ru/samouchitel-wordpress/shortlink-wordpress.html

По двум эти адресам доступна эта самая статья, которую вы читаете. Но у меня настроен редирект и первый адрес не должен попадать ни в руки пользователей интернета, ни в «лапы» поисковых систем. Не должен, а каким-то не понятным способом и ЯндексВебмастер, и Инструменты для вебмастеров Google его обнаруживают.

Вот, скриншот из Я.Вебмастера по этому сайту:

Shortlink - ЯндексВебмастер

Как видно от недостатка дублей этот сайт не страдает. В чем может быть причина? Я немного недоумевал, но посидев, подумав, понял — рас редирект не спасает, значит WordPress где-то в HTML-коде страницы размещает ссылку именно с такими адресами — /?p=111, /?p=125 и т.д. И как оказалось я был прав. Это подтверждалось даже Я.Вебмастером:

Shortlink - ЯндексВебмастер 2

На скрине видно, что эти ссылки являются внутренними, то есть находятся в коде сайта. У меня возникло 3 вопроса:

  1. Что это за ссылка на не нужный мне дубликат?
  2. Как ее обнаружить?
  3. Как от нее избавится?

Ответ на 2-ой вопрос очевиден: необходимо просто провести поиск по ссылке  (например, samsebewebmaster.ru/?p=320) в коде сайта.

Ответ на первый вопрос 1: после того, как я провел поиск по коду сайта я обнаружил ссылку вот такого вида:

<link rel=’shortlinkhref=’samsebewebmaster.ru/?p=111′ />

Ответ № 3: здесь пришлось немного попотеть. Погуглив я нашел несколько сайтов, на которых было три разных совета. Следуя первому совету удалялось совсем не то, по крайней мере у меня ссылка shortlink в коде сайта сохранялась; второй совет реализовывался с помощью специальной функции, которую необходимо было вставить в файл functions.php сайта, почему-то он у меня не сработал. Следуя совету номер 3, я таки удалил эту ненавистную ссылку.

Именно этим советом я и поделюсь с вами.

Проверяем сайт на наличие ссылки rel=’shortlink‘ и удаляем ее

Небольшая инструкция для тех кто не знает, как найти нужные или не нужные ссылки в коде сайта? Вообще этим способом можно найти в структуре вашего или чужого сайта практически всё: ссылки, тэги, атрибуты, просто текст и т.д.

Инструкция по нахождению ссылки rel=’shortlink‘, за подопытного выступает весьма популярный блог на WP:

  1. откройте любую статью вашего блога, а именно страницу или запись, у главной страницы ссылки rel=’shortlink‘ не бывает.
  2. нажмите правую кнопку мышки и в появившемся меню выберите «Просмотр кода страницы»:Как найти ссылку в коде сайтаОткроется новая страница с исходным кодом статьи, которая называется так: view-sourse:адрес страницы. Обратите внимание, что я использую браузер Google Хром, в других браузерах данное меню будет выглядеть несколько по-другому.
  3. В исходном коде нам необходимо найти ссылку rel=’shortlink‘, для этого на странице view-sourse нажмите в сочетании две клавиши Ctrl+F. В появившемся окне справа наверху ведите слово shortlink:Shortlink - ПоискКак видите на скриншоте, с помощью кода найдена 1 ссылка shortlink.
  4. Переходим к коду сайта, искомую фразу браузеры обычно выделяют и окно перемещается к ней.Shortlink - Поиск 2 Итак, если вы обнаружили у себя такую ссылку, то ее необходимо удалить.

Как видите я нашел shortlink ссылки на блоге Ирины Зайцевой, а данный ресурс ежедневно посещают более 10 тысяч пользователей. Выходит, что дубли shortlink не так уж и сильно влияют на поисковое продвижение.

Лучший способ удалить rel=’shortlink‘ с сайта на WordPress

Чтобы удалить ненавистную ссылку shortlink необходимо поправить файл link-template.php. Он находится в папке wp-includes, которая в свою очередь находится в корневой папке сайта. Открыть файл link-template.php через админку WP не удастся, поэтому необходимо будет подключится по FTP клиенту (например, FileZilla) или через файловый менеджер хостинга.

После того, как открыли необходимый файл ищем в нем вот такую строку (используем клавиши Ctrl+F):

function wp_shortlink_header

Вот скриншот подсказка:

function-wp-shortlink-header

Красной скобочкой я отметил функцию, которая отвечает за вывод ссылки rel=’shortlink‘. Этот самый код и необходимо удалить. Вот привожу наглядный пример кода, который необходимо удалить:

/**
* Send a Link: rel=shortlink header if a shortlink is defined for the current page.
*
* Attached to the wp action.
*
* @since 3.0.0
*/
function wp_shortlink_header() {
if ( headers_sent() )
return;

$shortlink = wp_get_shortlink(0, ‘query’);

if ( empty($shortlink) )
return;

header(‘Link: <‘ . $shortlink . ‘>; rel=shortlink’, false);
}

Несмотря на всю простоту данный способ имеет один минус — при обновление WordPress, если новый патч затронет файл link-template.php, не нужная ссылка может восстановится. Например, я уже несколько раз обновлял свой сайт, но только в одном случае ссылка снова появилась в коде сайта. Если знаете какой-либо другой способ, то укажите пожалуйста в комментариях.

После удаления ссылки rel=’shortlink‘ из исключенных страниц в Яндекс.Вебмастере пропали все не угодные мне ссылки.

Обновление от 05.11.2015: проще всего удалить Shortlink ссылку с помощью плагина WordPress SEO by Yoast.

[Всего голосов: 0    Средний: 0/5]
Дата обновления: 31.05.2016 — 13:43

Один комментарий

Добавить комментарий
  1. Александр ТестируемВсё

    В 2016 году этот фокус уже не действует. Файл class-wp-hook.php использует эту функцию и ждет результата. В плагине эта настройка тоже пропала.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

SamSebeWebmaster.ru © 2019, все права защищены.