1. Ссылки покупок

    Стратегия на турбо опционы

    Обучение по Бинарным Опционам.

    Бизнес по рецепту. продажа женских товаров

    Мануал по добыче бесплатного трафика с поисковика Bing (2016)

    От 6к уникальных посетителей на страницу ВК

    Facebook

    Стратегия Лайв Профит - ставки на футбол

    [Ирина Шмидт] - Церебро Таргет 2016

    Новый дорген.

    Стратегия на спорт.

    Двойной арбитражник по бесплатному трафику (2016)

    Подробная инструкция по Созданию интернет магазина чая с нуля (2016)

    Чертежи солнечного био-вегетария площадью 1200 кв.м. (СБВ-Профи)

    Адский стрим по копирайтингу: то чувство, когда подглядывать - хорошо!

    Видео-Курс - Tехнология быстрого старта в email рассылках (2016)

    Продвижение партнерских программ в одноклассниках (2016)

    Научу грести трафик. Только успевай сервера покупать!

    Трафик из ВК (Схема + Кейсы)

    Пассивный доход со стабильными выплатами.Схема добычи трафика.

    Секрет создания аккаунта яндекс директ без НДС

    Система ставок от проверенного каппера

    Государственный и банковский конфискат +VIP блок (2016)

    Как работать и зарабатывать деньги на продвижении своих проектов (2016)

    Секреты бесплатной рекламы от бывшего сотрудника Вконтакте

    Mobile Арбитраж - Арбитраж мобильного трафика (2016)

    BUSINESS MANUAL - Безопасные схемы заработка

    Как получать 1000-и заказов из CPA сетей (Дм.Ковпак)

    Как зарабатывать удаленно 100 тыс. руб на продвижении в Инстаграме без вложений и жить в Тайланде

    Самонаполняемые Видео-сайты!

    Прибыльная стратегия для бинарных опционов, первый доход через считанные дни + бонус!

    Траф с Вк за копейки

    Профит на онлайн теме от 30к до Неизвестно в месяц

    Легальный высокодоходный бизнес в реале

9 SEO.RU | Как удалить циклические ссылки?

  1. [9 SEO.RU]
    Задача любой ссылки на сайте – связывать два документа будь-то главная страница, рубрика, запись или файл. И это правильно, удобно и вполне логично. Однако есть вид ссылок, которые нарушают такую идиллию и называются они – циклическими.

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

    Многие темы для WordPress буквально «кишат» циклическими ссылками, тем самым ухудшая юзабилити и отношение ПС к сайту, поэтому срочно избавляемся от них.

    План статьи:
    1. Как удалить ссылку на саму себя из заголовка статьи
    2. Как удалить циклическую ссылку с логотипа
    3. Как удалить ссылку на текущую страницу в меню WordPress
    4. Применяем ссылку-якорь вместо обычной
    5. Как удалить ссылки-якоря из даты в комментариях
    6. Как избавиться от циклических ссылок в replytocom

    Как удалить ссылку на саму себя из заголовка статьи


    Прежде всего, необходимо найти эту циклическую ссылку. В WordPress она находится в шаблоне сайта, в одном из его файлов: чаще всего в «Одна запись (single.php)», реже в «content-single.php». В зависимости от шаблона – название может быть любым, но чаще всего этот файл называют так.

    Если не умеете пользоваться фтп и php-редактором, то отредактировать эти файлы можно из админки, перейдя по адресу:

    http://site.ru/wp-admin/theme-editor.php

    и открыв в нужный файл:


    [​IMG]

    [​IMG]


    Теперь наша задача найти код похожий на этот:

    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>

    И превратить его в подобный:

    <?php the_title(); ?>

    В итоге вместо ссылки, анкором которой был заголовок статьи, будет выводиться только текст заголовка.

    Как удалить циклическую ссылку с логотипа


    Ссылка лежит в файле шаблона «Заголовок (header.php)».
    Наша задача указать, что на главной странице сайта ссылка должна отсутствовать, а на остальных показываться. Для этого следует воспользоваться простым php-условием:

    <?php
    if ( is_home() && !is_paged() ) {
    echo('<p class="logo">Site.ru</p>'); // код, который будет выводится на главной странице
    } else {
    echo('<p><a class="logo" href="/">Site.ru</a></p>'); // действие для остальных страниц
    }
    ?>

    Внимание! Если ссылка и логотип имеет такой вид:

    <a href="<?php echo esc_url( home_url( '/' ) ); ?>" title='<?php bloginfo( 'name' ); ?>' rel="home"><?php bloginfo( 'name' ); ?></a>

    Тогда, прежде чем его «оборачивать» в php-условие, его следует упростить (заменить на простой html-код), иначе условие не сработает, и вместо сайта вы увидите белую страницу. Вот как его нужно переделать:

    <a href="/" title="Главная страница" rel="home">Имя сайта</a>

    То же самое касается и логотипа (если он задан картинкой):

    <img src="<?php header_image(); ?>" alt='<?php bloginfo( 'name' ); ?>' />

    Этот код нужно поменять на:

    <img src="/wp-content/themes/ВАША_ТЕМА/images/НАЗВАНЕ_КАРТИНКИ.jpg" alt="Главная страница" />

    А потом уже его помещать в php-условие.

    Как удалить ссылку на текущую страницу в меню WordPress


    Меню может выводиться разными способами, но в большинстве тем для Вордпресс оно выводится с помощью функции wp_nav_menu.

    Для начала найдём меню:
    • Если оно в верхней части сайта, значит открываем файл «Заголовок (header.php)»;
    • Если в нижней – «Подвал (footer.php)»;
    • Если в боковой – «Боковая колонка (sidebar.php)».

    Теперь нужно заменить wp_nav_menu() на wp_nav_menu_extended()

    Пример:

    <?php wp_nav_menu_extended( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu') ); ?>

    Теперь открываем файл «Функции (functions.php)»
    И перед:

    <?php

    С новой строки вставляем такой код:

    function wp_nav_menu_extended($args = array()) {
    $_echo = array_key_exists('echo', $args) ? $args['echo'] : true;
    $args['echo'] = false;

    $menu = wp_nav_menu($args);

    // Load menu as xml
    $menu = simplexml_load_string($menu);

    // Find current menu item with xpath selector
    if (array_key_exists('xpath', $args)) {
    $xpath = $args['xpath'];
    } else {
    $xpath = '//li[contains(@class, "current-menu-item") or contains(@class, "current_page_item")]';
    }

    $current = $menu->xpath($xpath);

    // If current item exists
    if (!empty($current)) {
    $text_node = (string) $current[0]->children();

    // Remove link
    unset($current[0]->a);

    // Create required element with text from link
    $element_name = $args['replace_a_by'] ? $args['replace_a_by'] : 'span';

    $dom = dom_import_simplexml($current[0]);
    $n = $dom->insertBefore(
    $dom->ownerDocument->createElement($element_name, $text_node),
    $dom->firstChild
    );

    $current[0] = simplexml_import_dom($n);
    }

    $xml_doc = new DOMDocument('1.0', 'utf-8');
    $menu_x = $xml_doc->importNode(dom_import_simplexml($menu), true);
    $xml_doc->appendChild($menu_x);

    $menu = $xml_doc->saveXML($xml_doc->documentElement);

    if ($_echo) {
    echo $menu;
    } else {
    return $menu;
    }
    }

    Теперь циклические ссылки в категориях исчезнут.

    Использование ссылки-якорь


    Для тех, кто не хочет лезть в программирование или у кого-то другой движок есть еще пара вариантов, как убрать эти нехорошие ссылки сами на себя. Сейчас распишу первый. Метод этот прост. Нужно в конец ссылки подставить хэш-тег (символ «решетка»).

    К примеру, было так:

    <a href="http://site.ru/kategoriya.html">Категория</a>

    Стало так:

    <a href="http://site.ru/kategoriya.html#2">Категория</a>

    Текст после # может быть любой (2, ssilka2, menu и т.п). Получится, по-сути, ссылка-якорь.

    Любая ссылка на сайте должна для чего-то служить, поэтому если вы таким методом избавляетесь от цикличных ссылок, чтобы все было логично, нужно сделать закладку (ту область, в которую ведет ссылка-якорь ). Для этого рядом со ссылкой (или в том месте, куда нужно перенести фокус посетителя) вставляем:

    <a name="2"></a>

    (где 2 – это текст, идущий после #)

    По итогу получится такой код:

    <a name="2"></a><a href="http://site.ru/kategoriya.html#2">Категория</a>

    Я считаю, что ссылки с хэш-тегом на конце (ссылка-якорь) не являются циклическими. Во-первых, эти ссылки не открываются в новом окне или вкладке, то есть не вводят пользователя в заблуждение. Во-вторых, они созданы специально для того, чтобы «перемещать посетителя» по текущей странице, а значит, в них не может быть чего-то плохого.

    Но те, кто так не считает, может удалять и такие ссылки. К примеру, такие ссылки выводятся в датах в комментариях WordPress’е.

    Как удалить ссылки-якоря из даты в комментариях


    Те, кто считает, что эти ссылки пользователям не нужны, могут от них избавиться. Можно, конечно, залезть в саму CMS WordPress, но тогда придётся после каждого обновления движка править код, что неудобно. Поэтому предлагаю альтернативу.

    Открываем файл «Функции (functions.php)» и перед:

    <?php[ /cc]
    Вставляем следующий код:
    [cc lang="php"]function mytheme_comment($comment, $args, $depth) {
    $GLOBALS['comment'] = $comment;
    extract($args, EXTR_SKIP);

    if ( 'div' == $args['style'] ) {
    $tag = 'div';
    $add_below = 'comment';
    } else {
    $tag = 'li';
    $add_below = 'div-comment';
    }
    ?>
    <<?php echo $tag ?> <?php comment_class( empty( $args['has_children'] ) ? '' : 'parent' ) ?> id="comment-<?php comment_ID() ?>">
    <?php if ( 'div' != $args['style'] ) : ?>
    <div id="div-comment-<?php comment_ID() ?>" class="comment-body">
    <?php endif; ?>
    <div class="comment-author vcard">
    <?php if ( $args['avatar_size'] != 0 ) echo get_avatar( $comment, $args['avatar_size'] ); ?>
    <?php printf( __( '<cite class="fn">%s</cite> <span class="says">says:</span>' ), get_comment_author_link() ); ?>
    </div>
    <?php if ( $comment->comment_approved == '0' ) : ?>
    <em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.' ); ?></em>
    <br />
    <?php endif; ?>

    <div class="comment-meta commentmetadata">
    <?php
    /* translators: 1: date, 2: time */
    printf( __('%1$s at %2$s'), get_comment_date(), get_comment_time() ); ?><?php edit_comment_link( __( '(Edit)' ), ' ', '' );
    ?>
    </div>

    <?php comment_text(); ?>

    <div class="reply">
    <?php comment_reply_link( array_merge( $args, array( 'add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
    </div>
    <?php if ( 'div' != $args['style'] ) : ?>
    </div>
    <?php endif; ?>
    <?php
    }

    Теперь открываем файл «Комментарии (comments.php)» и находим код:

    <?php wp_list_comments(); ?>

    И меняем его на:

    <?php wp_list_comments( 'type=comment&callback=mytheme_comment' ); ?>

    Вот и всё. Напоминаю, если при внесении правок изменился цвет или размер шрифта, вы сможете всё это подправить с помощью файла «Список стилей (style.css)».


    Как избавиться от циклических ссылок в replytocom


    Очень многие вордпресс-темы в комментариях содержат ссылки “Ответить”. Выглядят они следующим образом:

    http://site.ru/statya/?replytocom=52290#respond

    Такие ссылки не только являются циклическими, но и могут быть проиндексированы ПС (Гугл проиндексил).

    Если они не нужны вовсе можно их удалить. Для удаления в файл finction.php перед:

    <?php

    вставляем такой код:

    add_filter( 'cancel_comment_reply_link', '__return_false' );

    Если они нужны, то их можно переделать следующим способом.
    В файл functions.php вашего шаблона перед:

    <?php

    добавляем такой код:

    function add_comment_custom_reply_link($link, $args, $comment){
    $comment = get_comment( $comment );

    // If no comment author is blank, use 'Anonymous'
    if ( empty($comment->comment_author) ) {
    if (!empty($comment->user_id)){
    $user=get_userdata($comment->user_id);
    $author=$user->user_login;
    } else {
    $author = __('Anonymous');
    }
    } else {
    $author = $comment->comment_author;
    }

    // If the user provided more than a first name, use only first name
    if(strpos($author, ' ')){
    $author = substr($author, 0, strpos($author, ' '));
    }

    // Replace Reply Link with "Reply to &lt;Author First Name>"
    $reply_link_text = $args['reply_text'];
    $link = str_replace(array($reply_link_text, '<a', '/a>', 'href'), array('Ответ для '.$author, '<span', '/span>', 'rel'), $link);

    return $link;
    }
    add_filter('comment_reply_link', 'add_comment_custom_reply_link', 10, 3);

    После этого не забывайте в style.css подправить стили, как вам нравится. К примеру:

    .reply {
    margin-bottom:15px;
    }
    .comment-reply-link {
    color: #0c72a2;
    }
    .comment-reply-link:hover {
    text-decoration: underline;
    cursor: pointer;
    }

    Еще один вариант удалить цикличные ссылки – это скрыть их от ПС с помощью ajax, но об этом мы поговорим в следующей записи.

    Для составления этого поста помогли: раз, два, программист Игорь.

    Всем спасибо. Если есть вопросы или дополнения, пишите.


    © SEO блог - 9seo.ru

    Схожие по теме записи:
    [​IMG]
     

Поделиться этой страницей