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

Опубликовано: 01.09.2018

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

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

http://samsebewebmaster.ru/?p=320 http://samsebewebmaster.ru/samouchitel-wordpress/ shortlink-wordpress .html

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 .

Читайте также:

rss