/* Конец Nolix */

«

»

Июл 04 2016

All in One Seo Pack и проблемы

Маленький человек может сделать многое.

Плагин Оll in One Seo Pack и проблемыДоброго времени, друзья!

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

О том, что сам WordPress создает дубли страниц, при их редактировании и при публикации комментариев, я уже рассказывал. Но еще и появляются дубли изображений.

Все предосторожности появления дублирующих страниц я вроде бы предпринял. Но однажды вновь настал черный день. И снова начались поиски по предотвращению дублей.

Откуда проблема? Оказывается, их создает самый популярный плагин All in One Seo Pack. Как? Я сам опешил, узнав об этом. Но когда увидел воочию, как создаются дубли, я просто офигел.

Так в чем проблема? Дело в том, что All in One Seo Pack, при обработке канонических URL, создает копию страницы. Как это увидеть и определить?

  1. В новой вкладке поиска браузера вставьте URL страницы и добавьте к нему любые цифры или буквы через слеш. Слеш-это косая  «/» палочка.
  2. Выглядит это примерно так: http:// ваш сайт.ru/kak-sozdat-site/111/
  3. Нажмите Enter. Откроется копия вашей страницы.
  4. Чтобы посмотреть код страницы наберите на клавиатуре Ctrl+U.

Я приведу пример страницы чужого сайта, так как у себя я проблему канонических ссылок решил. Нажав сочетание клавиш Ctrl+U, посмотрим на код страницы этого сайта.

Код страницы

Находим тег <link rel=»canonical» и видим, что ссылка на страницу через слеш указывает не на каноническую, а с нашей цифровой припиской  /111/. Но такой страницы нет.

Я подчеркнул ссылку красной линией, а цифры выделил красным прямоугольником.

А если посмотреть выше канонической ссылки, там указан такой же URL страницы с цифрой 110. То есть  тег <link rel=»prev» указывает на несуществующую предыдущую страницу, но с той же ссылкой.

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

Представляете, что будет, если какой-нибудь ваш конкурент начнет в браузере к вашим оригинальным страницам, добавлять различные символы при просмотре, сколько у вас наберется дублей страниц.

Или, если вы указали ссылку на мой блог с ошибкой? Тогда все, кто на вашем сайте кликнет мою ссылку, создадут мне кучу дублей. А я об это знать не буду, но проблему заимею.

А Goole и Яндекс возьмет их и проиндексируют. Тогда ссылочный вес моих оригинальных страниц распределится на все дубли, и сайт упадет в выдаче поисковиков. Страшно?

Конечно, это не обязательно, но ведь возможно. Думаю, что каждый хочет обезопасить свой сайт от всяческих нападок, в том числе подобных.


Как быть и что делать? Отказаться от плагина All in One Seo Pack? Я не стал с этим спешить, а решил разобраться, чтобы закрыть этот пробел программистов при создании этого шедевра.

Неужели более миллиона блогеров, которые пользуются этим плагином, не знают об этом.

Огромное спасибо ребятам, Дмитрию (http://ideafox.ru/), Максиму Зайцеву (http://1zaicev.ru/), Виталию Кириллову (http://seo-mayak.com/). У них разные подходы, но цель одна, не дать плагину All in One Seo Pack образовывать дубли статей.

Решение проблемы:

  1. Откройте настройки плагина All in One Seo Pack и установите галочку на вкладке «Запретить пагинацию для канонических URL».

Пагинация       2. Заходим в консоль админки => «Внешний вид»=> «Редактор»

Редактор плагина Oll in One SEO Pack

В верхней правой части, в шаблоне темы найдите и откройте файл functions.php

Меню темы

Перед симолами <?php вставляете код фильтра:

/*фильтр для ссылок prev и next link*/

function mayak_remove_prev_link( $data ) {

return false;

}

add_filter( ‘aioseop_prev_link’, ‘mayak_remove_prev_link’ );

add_filter( ‘aioseop_next_link’, ‘mayak_remove_prev_link’ );

Перед изменениями файла functions.php сделайте его резервную копию. Ниже увидите куда конкретно устанавливать код.

Код фильтра ссылок

Эта функция препятствует образованию предыдущих (prev) и последующих(next) несуществующих страниц, перед и после  канонической.

Сохраняем изменения в файле, обновляем страницу и проверяем ее код. Ссылки на «prev» и «next» должны исчезнуть.

Но в этом случае могут возникнуть проблемы с постраничной навигацией. Чтобы их избежать, добавим в файл .htaccess следующий код:

RewriteCond %{REQUEST_URI} !(/page*)
А для того, чтобы посетителя направить на каноническую ссылку страницы, мы сделаем в этом же файле редирект. То есть добавим следующую строку:
RewriteRule (.*)\/([0-9]+) $1 [R=301,L]
В файле .htaccess должно выглядеть следующим образом:

Редирект в файле .htaccess

Не забывайте делать копию файла изменения и сохранять изменения.

Проверяйте код страницы  сайта на наличие подобных явлений и реагируйте немедленно.

Проблема All in One Seo Pack решена.

На этом все.

До встречи в статье «Вредоносный код на сайте».

С Вами был, Николай Иванов.

НЕ ЗАБУДЬТЕ ОСТАВИТЬ КОММЕНТАРИЙ ИЛИ ЗАДАТЬ ВОПРОС.
[jetpack_subscription_form = «Подписаться на блог» subscribe_text = «Введите свой E-mail и получайте новые статьи на почту.»]

Видео о маленьком человеке

12 комментариев

Перейти полю для комментария

  1. absavto-56.ru

    Как написал Максим, в конце страницы описания плагина MaxCache , проблема возможна из-за буферизации вывода. Думаю, так оно и есть, хотя более детально суть проблемы я не установил.

  2. Дмитрий

    Добрый день. Все сделал как вы рассказали. Все равно не работает. При деактивации all seo pac, все начинает работать.Может поможете? Сайт (не в качестве рекламы edaenergy.ru). Очень нужно решить эту проблему.

    1. Nikolay

      Доброго времени, Дмитрий!
      Что именно не работает? У вас не создаются дубли.
      Идет переадресация, но не соединяется.
      На сегодняшний день проблема программистами у All in one seo pack
      устранена. Настройте правильно плагин, удалите код и проверьте.

      1. Дмитрий

        Спасибо за ответ….
        Не работает постраничная навигация. При нажатии на следующую страницу, формата edaenergy.ru/page/2/ не происходит никаких действий. Если же отключить плагин, то открывается следующая страница.
        WordPress 4.7 с темой оформления Vigor. All in One SEO Pack 2.3.11.1

        1. Nikolay

          Попробуйте в All in one seo pack поставить галочку напротив «Запретить пагинацию для канонических URL»

          1. Дмитрий

            Пробую. Результат нулевой.
            Я готов внести разумную сумму, если поможете!))

          2. Nikolay

            При установке плагина PageNavi, редактируют файлы index.php, search.php и archive.php. которые находятся в папке Вашей темы — wp-content -> themes ->
            Ищем в файлах:

            и заменяем на:
            < ?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>

  3. Дмитрий

    у меня в теме нет подобных строк. НИГДЕ!!!!

    1. Nikolay

      Попробуй следующее:
      1.Открой в теме файл header.php и найди между тегами функцию < ?php wp_head(); ?>
      Если нет, то вставь и сохрани изменения. Но перед этим сделай копию файла, если что не так, закачаешь ее назад.
      2.Отключай по одному плагину, возможно виноват не All in one seo Pack, а другой.

      1. Дмитрий

        есть в header.php. Плагины пробовал отключать. ничего кроме all seo не мешает работе

  4. Ольга

    Меня перебрасывает на основную страницу, после того, как подставляю слеш и любые цифры. Мне не нужно значит вставлять код в functions?

    1. Nikolay

      Значит у вас все в порядке. Вам код не нужен.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>