Поддержка Проблемы и решения Как закрыть ссылки в меню от индексирования?

  • Здравствуйте. Не секрет, что ссылки с главной на главную и подобные вредят сео, но не могу придумать как закрыть от индексирования все дублирующиеся ссылки на разных страницах сайта… Если закрыть ноиндексом ссылки в теме, то они закроются на всех страницах, что совершенно не нужно.
    Может есть какой нибудь плагин для подобного действия, или кто нибудь придумал решение?

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • есть ряд функций в WP is_home(), is_category(), is_single(), is_post(), is_tag()
    название говорит само за себя, если что в кодексе найдите описание
    вот и определяешь в шаблоне если главная is_home() страница выводишь ссылку нет — не выводиш

    Хм, либо я что-то не понял, либо вы невнимательно прочли. Допустим есть сайт из 5-ти страниц (главная, страница2, страница3, страница4, страница5), находясь на главной, мне нужно исключить из индекса только страницу «Главная», но находясь на «Странице2» «Главная должна индексироваться, а вот другие страницы уже нет.
    Т.е. кнопки должны оставаться и вести на свои страницы, просто должны быть закрыты <noindex>.

    А смысл таких манипуляций?
    Вариант, чтобы активная страница не была ссылкой вам не подойдет?

    Рекомендовали оставить только по одной не закрытой ссылке на каждую страницу на всем сайте. Вроде как остальное уже вредит, как и внутреняя перелинковка.
    А на счет варианта активной страницы, как воплотить?

    Вам, возможно, про внешние ссылки говорили? Внутренняя перелинкова вредит? — никогда не слышал такого, по-моему все стараются ее сделать как можно более масштабной. А насчет как воплотить — может не самый правильный способ (может кто лучше предложит, пока в голове ничего другого нет) составьте условие на php «if страница главная — то… иначе, если страница …» и т.д., в принципе выше вам писали про это (так можно и проставить ваши ноуфолоу или ноиндекс).

    есть еще один вариант, использовать для меню wp_nav_menu, но несколько хитрее чем описано в документации ) если еще актуально — отпишите.

    wicked_kiD, нет, говорили именно про внутреннюю перелинковку, вроде как с последними апдейтами яндекса это стало вредить. Но после ваших слов усомнился в этом и покопался в инете, даже в самых свежих статьях, никто про это не пишет, все также рекомендуют перелинковку. Почитаю еще на эту тему.

    Camarade, актуально, буду признателен, если разъясните чуть подробнее.

    1. в теме должно быть включена поддержка меню
    2. в админке сайта создаете само меню, можно названия создавать на русском, но при этом все файлы темы должны быть в utf-8 без бомов.
    3. далее в теме надо полечит элементы самого меню ( не через wp_nav_menu )
    $menu_items = wp_get_nav_menu_items('имя вашего меню');
    пропускаем через фильтр _wp_menu_item_classes_by_context
    _wp_menu_item_classes_by_context($menu_items);
    в итоге получаем массив элементов меню у которых активный пункт меню будет иметь соответствующий класс current-menu-item
    и вот тут начинаем самое интересное.

    foreach ( $menu_items as $item ) {
            $classes = $item->classes;
            // делаем проверку на текущий пункт
                if ( in_array('current-menu-item', $classes) ) {
                    $rel = 'rel="no-follow"';
                    echo '<noindex>';
                }
            // делаем вывод пункта меню
            echo '<li><a href="' . $item->url . '" class="' . implode( " ", $item->classes ) . '" ' . $rel . ' >' . $item->title . '</a>';
            // вставляем, если надо и окончание строки ноиндекса
               if ( in_array('current-menu-item', $classes) ) { echo '</noindex>'; }
            unset($rel);
        }

    вот, собственно и все

    Спасибо Camarade, буду разбираться.

    Поддерживаю, спасибо!

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Тема «Как закрыть ссылки в меню от индексирования?» закрыта для новых ответов.