Всем привет! Сегодня на seo-mayak.com мы будем говорить о циклических ссылках.
Циклические ссылки встречаются довольно часто, и на WordPress блогах, и на других CMS, как говориться, чтобы найти «живой» пример такой ссылки, далеко ходить не надо. Велика вероятность, что и у Вас на сайте есть хоть одна циклическая ссылка.
Буду откровенным, у себя на блоге я решил данную проблему совсем недавно, наконец-то дошли руки, хотя о циклических ссылках я конечно знал давно.
Итак, определение для тех, кто не в курсе.
Так проблема это, или нет? Вот об этом и пойдет сегодня речь. Поехали!
Как найти циклическую ссылку
На 100% уверен, что у начинающих мастеров веб-индустрии циклические ссылки есть: в меню страниц, в меню рубрик, в заголовке сайта (в некоторых случаях в логотипе) или в заголовке статьи, нередко циклические ссылки можно встретить в подвале.
Определить просто. Практически на всех сайтах есть страница «Контакты». Так вот, находясь на странице «Контакты», нажмите опять на «Контакты» и если страница обновится, т.е. подгрузится заново, то можете себя поздравить — вы только что нашли циклическую ссылку.
На самом деле радоваться тут особо нечему, так как вы обнаружили проблему. Не скажу, что проблема первостепенная, но каждый уважающий себя веб-мастер, обязательно должен с ней разобраться и сейчас объясню почему.
Ссылка на саму себя — проблема или нет
Как я уже сказал выше, по моему мнению ссылка на саму себя не относится к такому типу проблем, которые требуют первостепенного решения. Если взять в качестве примера мой блог, то он неплохо развивался при наличии циклических ссылок.
Но почему же тогда интернет полон кричащих статей, в которых авторы советуют обязательно избавляться от ссылок на самих себя?
Известный блогер Devaka, еще в 2010 году, провел эксперимент с циклическими ссылками, по завершению которого сделал интересный вывод:
Как видим, ни один из проверочных способов не дал результатов, другими словами, ссылки со страницы на саму себя не работают (не участвуют в ссылочном графе). Удаление подобных ссылок со страницы будет своего рода оптимизацией, так как другие страницы сайта недополучают статический вес из-за присутствия неработающих линков.
Выходит, недополучение статического веса важными страницам и есть основная проблема циклических ссылок.
Может быть статический вес не так важен для рубрик, которые зачастую закрыты от индексации или для статических страниц, но недополучение статического веса главной страницей, наводит на мысли.
Известно, что на главной сосредотачивается основной вес сайта и если теряется даже небольшая его часть, то это отрицательно сказывается на всем проекте.
Тем более в 90% случаев на главной располагаются минимум две (бывает и больше) циклические ссылки — это ссылка в заголовке с анкором «Названия сайта» и ссылка в меню с анкором «Главная». Такие дела!
Кроме того, считаю, что циклические ссылки оказывают негативное влияние на поведенческий фактор.
Из всего вышесказанного можно сделать вывод — бороться с циклическими ссылками все же надо, этим мы сейчас и займемся. Приступим!
Как убрать циклические ссылки с главной страницы
Для начала, давайте уберем ссылку на саму себя из заголовка сайта. Открываем файл header.php и ищем строчку, отвечающую за вывод заголовка. Например, что похожее на это:
<h1><a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php bloginfo( 'name' ); ?></a></h1>
Или на это:
<h1 itemprop="headline"><a href="<?php bloginfo('url');?>"><?php bloginfo('name');?></a></h1>
Шаблоны все разные, поэтому могут быть и другие варианты.
Что нам надо сделать? Нам надо создать сценарий-условие, которое будет заключаться в следующем. Если открыта главная страница, то ссылка с заголовка будет превращаться в постой текст.
<?php if (is_front_page() || is_home()) : ?> <h1>SEO Маяк</h1> <?php else : ?> <h1><a href="/">SEO Маяк</a></h1> <?php endif; ?>
В примере я заменил php функции, выводящие URL и название сайта, на их текстовый вариант. Подробней об этом здесь.
Давайте я поясню, как работает данный сценарий. Здесь применяется конструкция if/else, создающее условие. Другими словами, если (if) открыта главная страница (is_home), выводим заголовок сайта без ссылки, иначе (else) выводим заголовок с атрибутами ссылки и завершаем сценарий (endif;).
Конечно придется подправить стили, без этого никак, ведь неактивный заголовок превратится в простой текст, а в style.css или другом css файле, стили прописаны для ссылки.
В силу разнообразия WordPress-тем, я не могу привести какой-либо стандартный пример стилевого оформления, понятно, что у каждого сайта свой дизайн и свои стили, так что новичкам будет еще один повод вникнуть в CSS.
Теперь давайте разберемся с логотипом. Опять же, в разных шаблонах код вывода логотипа может отличатся. Для примера, приведу код из стандартной темы WordPress — Twentyfourteen:
<a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"> <img src="<?php header_image(); ?>" width="<?php echo get_custom_header()->width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>"></a>
Применим знакомую нам конструкцию if/else. В итоге должно получится так:
<?php if (is_front_page() || is_home() ) : ?> <img src="<?php header_image(); ?>" width="<?php echo get_custom_header()->width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>"> <?php else : ?> <a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><img src="<?php header_image(); ?>" width="<?php echo get_custom_header()->width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>"> </a> <?php endif; ?>
Как видите, ничего сложного!
Есть еще одна часто встречающиеся циклическая ссылка на главную, которая находится в меню страниц, но об этом мы уже поговорим в следующем разделе.
Как убрать циклические ссылки из меню страниц
Здесь многое зависит от функции, которая выводит данное меню. В wordPress заложено три функции:
1.wp_list_pages()
2.wp_page_menu()
3.wp_nav_menu()
У данных функций есть определенная структура взаимедействий. Базовой функцией является wp_list_pages(). На ее основе работает функция wp_page_menu(), которая отличается от своего родителя лишь возможностью выводить ссылку на главную страницу.
Функция wp_nav_menu волне самостоятельная и отвечает за вывод произвольного меню. Но, в случаи, если функция не найдет ни одного произвольного меню, то следуя параметрам заложенным по умолчанию, передаст все свои полномочия функции wp_page_menu(), которая сформирует меню из имеющихся страниц.
Теперь надо выяснить, какая из функций отвечает за вывод меню страниц в вашей теме. Искать одну из вышеперечисленных функций, надо в том же файле header.php.
В первую очередь давайте рассмотрим функцию wp_list_pages(), которая выводит в меню все существующие страницы, кроме главной. Поэтому ссылка на главную в коде прописывается отдельно.
<ul id="nav"> <li><a href="<?php echo esc_url( home_url( '/' ) ); ?>">Главная</a></li> <?php wp_list_pages('sort_column=menu_order&title_li=&depth=1'); ?> </ul>
Здесь просто надо добавить уже знакомый нам сценарий. В итоге должно получится так:
<ul id="nav"> <?php if ( is_home() ) : ?> <li>Главная</li> <?php else : ?> <li><a href="/">Главная</a></li> <?php endif; ?> <?php wp_list_pages('sort_column=menu_order&title_li=&depth=1'); ?> </ul>
Пришло время обезвредить циклические ссылки во всех оставшихся пунктах меню, выводимого функцией wp_list_pages().
Разработчики WordPress предусмотрели специальный CSS-класс, который автоматически подставляется к активному пункту меню:
Раз у нас есть уникальный класс current_page_item, за который можно зацепиться, значит стоит попробовать составить регулярное выражение.
Вот что у меня получилось:
function mayak_list_page_no_link($no_link){ $gg_mk = '!<li class="(.*?)current_page_item"><a(.*?)>(.*?)</a>!si'; $dd_mk = '<li class="$1current_page_item">$3'; return preg_replace($gg_mk, $dd_mk, $no_link ); } add_filter('wp_list_pages', 'mayak_list_page_no_link');
Теперь все названия активных пунктов меню будут выводится в виде простого текста, останется лишь подправить слили. Напомню, что стили надо прописывать для класса current_page_item. Например:
.current_page_item{ font-size: 16px // размер шрифта color: #fffff // цвет текста background:#F0F0F0; //цвет фона }
Если в вашей теме, формированием меню страниц занимается функция wp_page_menu(), то ссылка на главную может отдельно не прописывается, а задаваться в параметрах. Например:
<?php wp_page_menu('show_home=Главная'); ?>
В этом случаи, можно справится с циклическими ссылками одной функцией:
function mayak_page_menu_no_link($no_link){ $gg_mk = '!<li class="(.*?)current_page_item"><a(.*?)>(.*?)</a>!si'; $dd_mk = '<li class="$1current_page_item">$3'; return preg_replace($gg_mk, $dd_mk, $no_link ); } add_filter('wp_page_menu', 'mayak_page_menu_no_link');
Осталась последняя функция, которая может использоваться разработчиками тем WordPress для построения меню страниц.
Функция wp_nav_menu() появилась с версии WordPress 3.0 и используется большинстве современных шаблонов.
Как я уже говорил выше, данная функция выодит произвольного меню, если таковое было создано. Но если ни одного произвольного меню не было найдено, то согласно настройкам по умолчанию, за вывод списка страниц будет отвечать знакомая нам функция wp_page_menu().
Получается, если на сайте нет активных собственных менюшек, то для борьбы с циклическими ссылками можно использовать функцию-фильтр mayak_page_menu_no_link(), которую я привел выше..
Но если произвольное меню было создано и находится в активном состоянии, то в работу вступает функция wp_nav_menu(), для которой требуется уже другое лекарство .
Придется немного подкорректировать функцию:
function mayak_nav_menu_no_link($no_link){ $gg_mk = '!<li(.*?)class="(.*?)current_page_item(.*?)"><a(.*?)>(.*?)</a>!si'; $dd_mk = '<li$1class="\\2current_page_item\\3">$5'; return preg_replace($gg_mk, $dd_mk, $no_link ); } add_filter('wp_nav_menu', 'mayak_nav_menu_no_link');
Теперь должно быть все в порядке. Пришло время разобраться с ссылками в меню категорий.
Как удалить циклические ссылки из меню категорий
Меню категорий на WoirdPress в 90% случаях формирует функция wp_list_categories() (бывают редкие исключения). Если в вашем шаблоне применяться другая функция, то пишите в комментариях, что-нибудь придумаем.
Для извлечения циклических ссылок из wp_list_categories() применим следующий фильтр:
function mayak_category_no_link($no_link){ $gg_mk = '!<li class="cat-item (.*?) current-cat"><a (.*?)>(.*?)</a>!si'; $dd_mk = '<li class="cat-item \\1 current-cat">\\3'; return preg_replace($gg_mk, $dd_mk, $no_link ); } add_filter('wp_list_categories', 'mayak_category_no_link');
Роботу функции вы можете наблюдать на моем блоге. Фильтр работает, как для категорий первого уровня вложенности, так и для всех других уровней.
Ссылка на саму себя в заголовке статьи
В некоторых темах, непонятно зачем, заголовок записи в файле single php или в одном из прикрепленных к нему файлов, заключен в ссылку. Например так:
<h2><a href="<?php the_get_permalink() ?>"><?php the_title(); ?></a></h2>
Или так:
<?php the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' ); ?>
Могут быть и другие варианты. Получается ссылка на туже страницу, т.е пресловутая ссылка на саму себя.
Для удаление циклической ссылки из заголовка записи, достаточно просто убрать из кода атрибуты ссылки.
Возможно в природе WordPress есть другие виды циклических ссылок, которые я не описал. Вы сильно поможете, если приведете в комментариях соответствующие примеры.
До встречи!
С уважением, Виталий Кириллов
Спасибо, Виталий, за урок. Тоже давно хотел разобраться с циклическими ссылками. Только что сходу удалил ссылку с логотипа, теперь буду разбираться дальше.
И снова всеобъемлюющая доходчивая статья!)) Спасибо, Виталий!
Поспорила бы, как лингвист, насчет названия «циклические ссылки», но это не к Вам, раз уж все их так называют)
Как оказалось, у меня на старой версии сайта такие ссылки отсутствуют в большей степени, нашла вот у себя такой код, давно вставляла:
функционал такой же, как Вы предлагаете, но регулярка попроще.
А вот в новой версии сайта, как оказалось, этот код не работает (из-за стилей наверное), так что придется дорабатывать.
Так что спасибо за полезную информацию!
Здравствуйте Наталья! Да я знаком с представленными Вами регулярными выражениями. Но мне показалось, что в таком виде они плохо поддаются доработке. В выводе менющек довольно много нюансов, с одним из них вы и столкнулись в своей новой теме. На самом деле не важно, как составлено регулярное выражение, самое главное, чтобы оно работало!
Это точно — если работает, лучше ничего не трогать)) Кстати, заработало у меня почти все, до остального позже доберусь)
Заработал данный вариант, даже стили не пришлось перебирать.
Столкнулся с проблемой данного варианта, валидатор микроразметки начал ругаться, что пустые </a>, пришлось переделывать на вариант, который в статье.
С логотипом никаких проблем не возникло, но вот ссылки в меню и меню категорий не удалось убрать. Меню у меня выводится при помощи функции wp_nav_menu(), но вставка кода в functions.php ни к чему не приводит. Виталий! Если это не сложно, не могли бы Вы посмотреть в чем может быть дело?
Артем, Вы используете произвольное меню или страницы выводятся по умолчанию?
использую произвольное меню.
Артем, в функции wp_nav_menu может быть задан другой класс для активного пункта. У вас задан класс current-menu-item, замените его в функции. Должно получиться так:
заменил, но, к сожалению, не срабатывает у меня функция ((
Не правильно класс в примере прописал, надо через тире. Попробуйте:
Виталий, спасибо огромное, теперь работает. Осталось стили подправить.
Виталий, огромное спасибо, всё получилось и со стилями разобрался. Всё работает, как часы. 🙂
Виталий, добрый день еще раз. Рано я начал радоваться, но выпилить циклические ссылки из меню рубрик и нижнего меню (в футере) не выходит. перепробовал уже и так и эдак. посмотрите, пожалуйста, в чем может быть дело, если не затруднит.
Здравствуйте Артем! У вас для активного пункта меню вообще не выводиться класс, хотя должен. Вы как выводите рубрики, через виджет «Рубрики»?
Та же ситуация с меню страниц в подвале.
Да, в настоящее время в сайдбаре рубрики выводятся с помощью виджета. В футере меню выводится посредством настроек темы, а не через админку wp.
Артем, темы все разные, по видимому у Вас просто отключен вывод класса для активного пункта меню. Попробуйте вывести рубрики с напрямую с помощью функции wp_list_categories(). В статье подробно описано, как это сделать и какие параметры передать в функцию для корректной работы. Когда разберемся с рубриками, посмотрим, что у Вас в подвале.
рубрики с помощью wp_list_categories() в сайдбаре вывести получилось, код работает.
фильтр mayak_category_no_link($no_link) применил, но циклические ссылки по-прежнему в рубриках не исчезают.((
Тогда надо смотреть код, что-то блокирует вывод класса по умолчанию.
Добрый день, Виталий. Отказался я в конечном итоге от выпиливания циклических ссылок из меню рубрик. И даже не из-за того, что блокировался вывод класса. просто после внедрения кодов для вывода рубрик с помощью wp_list_categories() и выполнения PHP-кода в виджетах, время генерации главной и других страниц сайта возросло в разы!!! например, главная стала грузиться 6,5 секунд! хотя до манипуляция составляло 0,4 сек. поэтому, все вернул на круги своя…оставляю свой выбор в пользу скорости загрузки сайта. да и по сути наличие рубрик в сайдбаре не достаточно оправдано, если все они выводятся в главном меню. и, кстати, еще такой вопрос, как Вы относитесь к дублирующим ссылкам — т.е., когда, например, с главной страницы в анонсе статьи на нее ссылаются заголовок, картинка и кнопка «далее»?
Здравствуйте Артем. Жаль, что у Вас не получилось.
По поводу дублирующих ссылок. Конечно дублирующие ссылки — это плохо. Но здесь вот что важно понимать. Простая ссылки и ссылка картинка не одно и тоже. Ссылка кнопка «далее» не относится к дублирующей, если она добавляет якорь #more в конец URL (посмотрите, как у меня работает).
Спасибо вам за ваши эксперименты и доходчивый язык
Спасибо за статью. Отправляюсь на поиски циклических ссылок и улучшаю сайт!
Подскажите пожалуйста, а как настроить стили для меню? Все получилось, ссылка на страницу больше не активна, но не могу прописать для нее стили(
Здравствуйте Виталий. Спасибо большое, все сделал, все работает, правда со стилями пришлось возиться.
У меня вопрос: Категории у меня скрыты от индексации с использованием вашего ajax метода, я так понимаю мне не нужно избавляться от циклических ссылок? И тут немного подумав, я пришел к тому, что не сработает ваш код, ведь ссылка уже подменяется на span data-link=.
Поэтому хотел бы добавить для тех, кто все же хочет заморочиться :), что бы код сработал нужно в нём заменить a-ссылку на span. Вдруг кому пригодится.
Спасибо еще раз!
Добрый день.
У меня выводится функцией wp_nav_menu(). А как прописать стили для нее, если она выводится в основном меню и в сайдбаре и имеет соответственно разное оформление? Спасибо.
Обошелся малой кровью, вставив функцию 2-го комментатора
Александр, учитесь работать с браузным расширением Firebug.
Спасибо, надо было подольше посидеть, разобрался)
Не проще ли через JS ? И активное меню раскрасили и атрибут href удалили.
var link = window.location.href;
$(‘.sub-menu li a[href=»‘+link+'»]’).addClass(‘act’).removeAttr(«href»);
или так
var link = window.location.href;
$(‘.sub-menu li a[href=»‘+link+'»],.menu-item a[href=»‘+link+'»] ‘).addClass(‘act’).removeAttr(«href»);
Подскажите, а можно прицепить функцию допустим к определенному классу (textwidget напр.), если в данном классе так же выводится ссылка на страницу и получается, что она тоже цикличная. Благодарю)
Для этого мне надо видеть всю картину целиком.
В футере располагается текстовый виджет с ссылками на страницы.
Можно как-то прицепить данную функцию к определенному div-у или классу?
Надо составлять регулярное выражение под конкретную ситуацию.
Так просто?? Взял на заметку))
Что добавить в класс .current_page_item, чтобы фон текста стал такого же размера, как при наведении на остальные пункты меню? Сейчас у меня фон стоит точно по размеру текста. Не айс, однако.
Чтобы добавить стили при наведении надо прописать псевдокласс «:hover»
Я не про это. Если убрать вашу функцию, то размер фона текущего пункта меню равен фону пункта при наведении. При включенной функции, этот пункт уже не ссылка. Хотелось бы, чтобы фон сразу был больше текста. а то ерунда получается. Наводишь на другие пункты меню — фон увеличивается, а текущий пункт с маленьким фоном.
Сделайте внутренние отступы и поставьте приоритет «!important»:
Все получилось. Благодарю.
Виталий привет! Функция wp_nav_menu срабатывает, но стили почему то нет, не знаешь в чем может быть проблема?
Евгений, темы все разные и не всегда даже мне сходу удается определить причину. Как правило каждый случай уникален.
Виталий! у меня меню произвольное, выводится current-menu-item, функцию я в комментах нашел и вставил, все заработало, но вот стили..за стили этого класса отвечает следующий код: .current-menu-item #featured-area{background:url(images/featured.png) no-repeat;position:relative;margin:0 auto;width:1001px;text-align:left;min-height:424px}#feat-content{height:300px}#feat-content и если я прописываю код стиля что ты привел в статье, то у меня ничего не меняется, ужас в меню остается! не знаешь как исправить стиль?
Да вроде нормальный вид у меню.
Здравствуйте. Читаю Ваш блог уже давно. Много что для меня полезного нашел. Вот сейчас хочу убрать циклические страницы, но что-то не выходит. При вставке вашей функции wp_nav_menu() в functions.php циклическая страница исчезает когда находишься на главной, но надпись «Главная» видоизменяется (стает совсем мелкая) и опускается немного ниже. Возможно я конечно что-то делаю не так, так как я новичок в этих делах. И функцию wp_nav_menu() нужно редактировать, либо же просто вставить ваш код?
Здравствуйте Сергей! Вы правильно вставили функцию, просто теперь надо править стили для класса current_page_item, о чем я и писал в статье.
в style.css?
Да, он самый, хотя в разных шаблонах, к нему могут быть подключены и другие css файлы.
Спасибо Виталий. Но у меня это класса current_page_item нигде нету…(
Ну так правильно, его добавить надо. Это класс у Вас добавляется в исходный код для неактивной ссылки.
Здесь я наверное вряд ли разберусь, для это в данный момент «темный лес».
Здравствуйте Виталий,подскажите как разобраться с этой задачей. У меня два меню на блоге одно вверху второе в сайтбаре выводятся одной функцией nav_menu. как сделать чтобы стили у каждого меню были разные.Тот клас что вы указале в функции, он меняет стили в обоих меню хотелось бы сделать чтобы у каждого меню были свои стили.
Найдите в исходном коде вывод рубрик, и посмотрите какой там класс применяется для активной ссылки.
Спасибо большое за познавательный материал, даже и не задумывался никогда о таких ссылках. Теперь все поправил у себя;)
Будем Вас чаще читать)
Может кому пригодиться, как я убрал ссылку из заголовка статьи.
До
<?php the_title( sprintf( '’, esc_url( get_permalink() ) ), » ); ?>
После
Здравствуйте! Подскажите пожалуйста, как вот в этом случае удалить циклическую ссылку с логотипа? Тема наворочаная и не могу разобраться, помогите пожалуйста!
Здравствуйте Виктор!
Весь код я публиковать не стал, хотел обратить ваше внимание на следующий участок:
Надо работать с этим куском:
Т.е, должно получиться следующее:
Здравствуйте. Как исправить мой код, так чтобы ссылки категорий перестали быть цикличными?
Код в файле functions.php отвечающий за wp_list_categories() следующий:
add_filter( ‘get_archives_link’, ‘avada_cat_count_span’ );
add_filter( ‘wp_list_categories’, ‘avada_cat_count_span’ );
function avada_cat_count_span( $no_links ) {
preg_match_all( ‘#\((.*?)\)#’, $links, $matches );
if ( ! empty( $matches ) ) {
$i = 0;
foreach ( $matches[0] as $val ) {
$links = str_replace( ‘ ‘ . $val, ‘ ‘ . $val . », $links );
$links = str_replace( ‘ ‘ . $val, ‘ ‘ . $val . », $links );
$i++;
}
}
return $links;
}
К меня на странице категория выводится вот таким способом.
<div class="article__additional">
<?php
$categories = get_the_category();
if($categories){
foreach($categories as $category) {
$output .= '<a data-link="'.get_category_link($category->term_id ).'">' . $category->name . '</a>, ';
}
$output = trim($output, ', ');
}
?>
<div class="rubric"><div class="rub">Рубрика:</div><strong><span itemprop="articleSection"><?php echo $output; ?></span></strong>
В рубиках удалось убрать цекличность, а как убрать тут?
Тут надо функцию переписывать, фильтр тут не поможет.
Добрый вечер! Удобно сделали закрепленный блок «Содержание статьи».
По поводу циклических ссылок, как быть с блоком как у вас «Популярное на блоге» или если есть блок «СВЕЖИЕ ЗАПИСИ». С одной стороны можно их убрать, но могут быть хуже поведенческие и меньше ссылочного веса будет на этих страницах, с другой если оставить так — то циклические ссылки на эти статьи. И не понятно как лучше.
Как сделать чтобы в момент нахождения в статье с этих блоков не было циклических ссылок на себя же?
Заметил у вас логотип в H1, а заголовок блога в H2. В основном встречаю что логотип без мета тегагов H, а заголовок блога в H1. Для чего вы сделали так?
Илья, вы что-то попутали. Логотип у Меня без тегов заголовка.
Что касается циклических ссылок в популярных записях. Можно подумать, как исключить вывод циклических ссылок. Может и дойдут когда-нибудь руки до этого.
Я об мета теге H1 в котором обернут логотип, и H2 в котором обернут Title блога. Скриншот imger.ru/jpg/zkclkbUYv6HlRagU
Даже на вашем скриншоте видно, что в H1 обернут заголовок блога:
А в H2 заголовок статьи:
Где Вы здесь логотип, и тем более title увидели, мне не понятно.
Привет. Очень полезная статья, как раз убирал циклические ссылки Вашими способами и столкнулся с одной проблемой. У меня есть прописанные вручную ссылки . Например, Текст ссылки. Их тоже нужно избавить «цикличности».
Это я так понял нужно этим способом убрать: . Только ничего не получается, дело скорее всего в идентификаторах is_front_page() || is_home, я пробовал просто is_front_page() и is_home, и даже !is_front_page(), но работает некорректно. Что посоветуете сделать?
Добрый день! Подскажите пожалуйста, хочу убрать циклические ссылки из рубрик в сайд баре, который реализовал через виджет Advanced Category, но ничего не получается, не понимаю какая функция вызывает их. Помогите плз
А как вообще убрать пункт «Главная»?
Все зависит от шаблона!
У меня тоже, как у вас. Со страниц на главную ведут 3 ссылки (с меню, в лого, хлебные крошки). Разве это нормально в плане сео? Если сотни новостей на сайте, то и 3 сотни ссылок на главную.
Кроме seo, есть еще понятие юзабилити, т.е. удобство для пользователя.
Сделать то все можно.
Для начала скажите, какой функцией у Вас меню выводится?
Вот так выводится github.com/kusold/graphene/blob/master/includes/theme-menu.php#L11
Начиная с 63 строки. Убрал между (то есть код с 64 до 68), но почему-то взвыло ошибку и теме перестала открываться.
Помогите пожалуйста советом. Заранее спасибо.
Попробуйте удалить кусок с 62 по 71 строчку
В общем тут надо экспериментировать, к сожалению сегодня больше вам времени уделить не могу.
Спасибо за помощь. Помогло удаление с 64 до 69.
Я так и с самого начала делал, но через редактор вордпресса и выводило каждый раз ошибку.
Через файрзилла ошибки больше не выдает и главной больше нет.
Здравствуйте… а что можно сделать с метками и категориями(рубриками)?… Они же в поиске не участвуют?
Не совсем понял о чем вы, но можно избавится от сквозных ссылок в меню категорий или меток.
Спасибо, помогли избавиться от некоторых циклических ссылок. Но вот от ссылок в рубриках никак не могу избавиться. В файле category несколько строк кода. Как эти ссылки убрать не подскажете? s018.radikal.ru/i524/1708/ae/2a913f6861e5.jpg
Шаблоны все разные, поэтому так с ходу подсказать не могу, надо смотреть.
Там может одной функцией выводится все элементы определенной области, ищите по названию функции в других файлах шаблона.
Для этого надо хоть немного разбираться в файлах.
Добрый вечер! Спасибо Вам за сайт , Спасибо за статью
Подскажите как убрать ссылки в плагине WP Category Post List Widget
Там стоит класс wp-cpl. Я и так и этак вставлял этот класс, не срабатывает. Помогите
Добрый день. Спасибо за подробный и доходчивый материал. Сделал по вашей инструкции, всё работает. Но получилось так что у меня два h1 на всех страницах, кроме главной)) Пришлось убрать h1 из лого вообще. Но всё же для чего вообще h1 в лого ? Это же тег для разметки текста
Здравствуйте, Александр!
Есть шаблоны, в которых есть возможность приписать текстовый заголовок или вывести логотип, на выбор.
Но горе-мастера делают общие h1 и для текстового заголовка, и для логотипа.
Виталий добрый день, у меня логотип добавлен не через функцию. Те когда вставляю ваш скрипт то ссылка логотипа без картинки. Подскажите как добавить картинку логотипу?
<span class="hidden-link" data-link="»
title=»expert» rel=»home»>
Здравствуйте, Павел!
Приведите код вывода логотипа целиком. В слепую мне сложно что-либо советовать.
Статья актуальна во все времена. И у меня сходу вопрос. Об необходимости исключить циклические ссылки я узнал немного раньше, чем прочитал эту статью. И в тот момент, так как я не силен в ПХП, я решил убрать эти все ссылки прям с кода в ручную. Скажи, как будет лучше в плане оптимизации сайта, удалить код из шаблона на прямую или писать такие скрипты? Я просто создал дочернюю тему и в ней делал все правки. Как будет лучше по ощущениям блогу, обработать сторонние скрипты или обработать файлы дочерней темы? Очень волнует меня этот вопрос.
Фалы дочерней темы обрабатываются даже раньше, чем файлы основной.
Т.е, если Вы создали в дочерней теме файл functions.php, первым обработан будет именно он, а потом уже файл functions.php основной темы.
Все файлы, которые подключаются отдельно к основной теме, срабатывают позже.
День добрый. На старой теме прекрасно удалились циклические ссылки в рубриках и верхнем меню.
Сменил шаблон. Рубрики работают, а в произвольном меню нет.
Если не трудно, посмотрите плз. Может подкорректировать что надо?
dendrblog.ru
P.S. Код срабатывает для ссылок на страницы в меню и ссылки на главную. А для ссылок на рубрики нет.
В новом шаблоне у Вас сменился html.
Чтобы все работало надо привить регулярку в функции.
Каждый случай индивидуален.
Ребят, а у меня не то, чтобы она цикличная, а просто трэш какой-то. Ссылки некоторые на сайте выглядят так
https://working-mama.ru/https-working-mama-ru-гороскопы
То есть ссылка ещё и саму себя вкрячила через дефис. Объясните, плз, нубу. Что это? И как это лечится.
Виталий, спасибо за статью, но всё это по большей части второстепенно. А вот где первостепенно, так это в сайдбаре или в «похожих материалах». Это не то что даже с точки зрения Seo, это даже визуально выглядит нелепо, когда находясь на какой-то странице, тебе предлагают, причём замечу, в ущерб остальным статьям, перейти на неё же. А ведь в этих блоках могла бы быть другая статья вместо повтора текущей. Вот об этом почему-то никто не писал из блогеров и рецептов кроме Морковина не предлагал, да и у него через плагин, некрасивое решение. А ведь именно в этих местах цикличные ссылки первичны как проблема, а вовсе не в хэдере или футере.