• Решено niroln

    (@niroln)


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

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

    Автор niroln

    (@niroln)

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

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

    Автор niroln

    (@niroln)

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

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

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

    Автор niroln

    (@niroln)

    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);
        }

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

    Автор niroln

    (@niroln)

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

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

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