Июл
05
2012

Убираем циклические ссылки в WordPress

Я люблю заниматься анализом собственных блогов, искать и исправлять изъяны. Под час одного такого аудита на блоге были выявлены циклические ссылки. В каждом блоге на WordPress они есть по умолчанию. Даже в платных премиум-темах имеются.


Циклические ссылки — это ссылки, направляющие пользователя на ту же страницу, где он находится. Они крайне нежелательны на сайте, поскольку вводят посетителя в заблуждение. Ссылочный вес по таким ссылкам не передаётся и для продвижения они бесполезны.

Циклическая ссылка в WordPress на главную страницу.

Главная циклическая ссылка на блоге находится на основной странице. Она может быть, как в названии или логотипе, в меню шаблона или в подвале.

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

В моем случае необходимо зайти в файл header.php текущей темы и вместо стандартного кода вывода названия блога со ссылкой прописать следующие:

< ?php
if(!is_front_page() || is_paged())
echo "Название собственного блога на CMS WordPress.";
else
echo "Название собственного блога на CMS WordPress.";
?>

Понятно, что вместо блог.ru — пишем url своего сайта.

Циклические ссылки в меню блога на WordPress.

Я тоже не понимаю логики активности ссылки в меню блога если посетитель уже на нее нажал и переместился на указанную страницу. В Интернете встречал массу извращенных решений данной проблемы. Многие просто советовали забить на это. Я нашел собственное решение, которое можно, при желании, доработать.
[important]Попрошу код не выставлять у себя в публикациях на сайте без указания активной ссылки на источник т.е. меня.
Я понимаю, что блоггеры-сеошнеги в основном только перепечатывают материал, но имейте совесть![/important]

Я сделал так, чтобы когда пользователь находится в текущей рубрике или на статической странице, в меню данная ссылка не работала. Тестировал на нескольких блогах с последней версией WordPress — все работает. Об ошибках пишите в комментариях.
Заходим в файл functions.php текущей темы и добавляем код:

function no_link_current_page( $p ) {
	return preg_replace( '%((current_page_item|current-cat)[^< ]+)[^>]+>([^< ]+)%', '$1$3', $p, 1 );
}

add_filter( 'wp_list_pages', 'no_link_current_page' );
add_filter( 'wp_list_categories', 'no_link_current_page' );

Динамические сайты можно создавать не только на php. Бывает, что создание сайта на perl станет оправданным и верным решением. Ресурс будет уникальным для посетителей и поисковых систем.

Дабы было меньше в комментариях вопросов почему у меня на этом блоге присутствуют циклические ссылки — отвечу сразу. Для начала я очень сильно не люблю что-то исправлять, когда все и без того работает. Также на все про все банально не хватает времени.



Метки: , ,


  • Владимир

    Спасибо за информацию. Если можно — поясните :  циклические ссылки убираются только если название рубрики или страницы состоит из одного слова(именно название а не урл адрес), но если есть больше одного слова(или разрыв в слове) — функция не срабатывает (О сайте — не уберает, а Осайте — убирает). Есть ли решение- буду очень благодарен.

  • Максим

    +1 к вопросу

  • У меня с этим проблем не было. Вот к примеру //opir.ru/o-chem-sajt.html

  • injnnak

    Привет. А может вы подскажете как убрать ссылки с названия статьи и с даты в комментариях. Или хотя бы подсказать в каких файлах все это нужно искать и какие теги?

  • ДенисКа

    пробел в третьей скобке убери
    ([^< ]+) замени на ([^<]+)

  • Андрей

    а для меню?

  • Андрей

    А для меню???

  • Слава Шевченко

    ссылки пропадают после вставки кода, но ломается стиль. для всех ссылок в меню кроме Главной. как исправить?

  • Валидатор ругается на Stray end tag a

  • Вячеслав Николаевич

    К сожалению не работает в подрубриках (

  • Людмила

    Странно, но все работает тогда, когда я в админке.. Стоит выйти из нее — не работает!

  • Попробуйте очистить куки в браузере или очистить плагин кеша если он установлен на Вордпресс.

  • Людмила

    Супер! Все получилось! Спасибо!

  • Fktrctq

    Второй способ Циклическая ссылка в рубриках при удалении вашим кодом остается в коде страницы закрывающий тег Как от него можно избавиться?

Читайте, не отвлекайтесь! =)

© Интернет дом ленивца - личный блог о сео, смо, сайтостроению. Построен на небольших заметках автора. Копирование материалов без активной ссылки на darmoid.ru запрещается и преследуется законом об авторском праве!
Вверх!