Как решить проблему canonical в All In One SEO Pack | Заметки вебмастера






Решаем проблему ссылок canonical в All In One SEO Pack

проблема ссылок canonicalПриветствую, уважаемые читатели моего блога!

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

Ну, ладно, хватит таинственности. В чем собственно дело. Итак, начну с того, что как-то блуждая по просторам сети Интернет, я зашел на блог уважаемого мной блогера Александра Борисова. Кто-нибудь знает его?

Думаю, многие скажут, что знают. Парень он толковый. Так вот. Попалась на его блоге мне одна статья, в которой Александр пишет про то, что им был найден существенный недостаток, «косяк» в плагине All In One SEO Pack.

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

Итак, начнем. Как вы уже поняли, косяк присутствует в плагине All In One SEO Pack. Вы его используете? Если да, то у вас тоже есть проблемы и их нужно немедленно устранять. Вообще, плагин All In One SEO Pack используют около 90% блогеров, у которых установлена система WordPress.

Проблема ссылок canonical и способы решения

Как я уже говорил, Саша Борисов понял эту проблему и осветил ее со всех сторон. Он бы, конечно, не знал о ней и по сегодняшний день, если бы ему не помогли недоброжелатели ее увидеть. Но он отлично справился, превратив эту проблему в возможность. В возможность рассказать о ней тысячам блогеров и создать ажиотаж вокруг этой темы. Что сказать? — Молодец!

Я не буду переписывать статью Александра. Просто не вижу в этом смысла. Вы просто можете зайти на его блог — isif-life.ru и прочитать статью про ссылки canonical и плагин All In One SEO Pack. Там все подробно написано.

Моя сегодняшняя статья имеет в себе другую функцию.

Дело в том, что пост Саши очень хороший и в нем действительно подробно описана серьезная проблема, которая есть у многих блогеров на их веб-ресурсах. Но вот решение этой проблемы для своего блога в его статье я просто не нашел!!! И вы тоже можете не найти.

Удалять плагин All In One SEO Pack и ставить вместо него Platinum, это не выход из ситуации, Александр. Есть и другие более рациональные методы.

Если почитать комментарии к статье Александра Борисова, то вы увидите, что многие просто слепо делают все, что он им говорит. Ребята, не нужно спешить с выводами и менять один плагин на другой. Не известно, какой сюрприз, завернутый в плагин Platinum SEO Pack, нам преподнесли разработчики.

Заметьте, я не говорю, что решение, которое всем предложил Саша не работает, а именно установить один плагин вместо другого. Оно работоспособно. И, кстати, для большинства новичков оно подойдет. Но те, кто хочет отремонтировать старый добрый All In One SEO Pack, прошу читать дальше мою статью, и вы узнаете, как я решил эту проблему и оставил старый плагин.

Мой способ решения проблемы ссылок canonical

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

Способ будет один, но решений будет несколько. Почему так? А из-за того, что у каждого блогера по-разному настроены постоянные ссылки. У некоторых они заканчиваются на .html, а у других слэшем (/) или вовсе без него. У меня, например, адрес каждой статьи как раз имеет на конце слэш (/):

постоянные ссылки c слэш

Если у вас также, то ловите решение проблемы.

Итак, давайте все по порядку. Вы согласились оставить на своем блоге плагин All In One SEO Pack, поэтому не прикасаетесь к нему. Естественно, у вас отмечен пункт No Pagination for Canonical URLs в настройках данного плагина:

настройки каноникал

Надеюсь, вы внимательно читали статью Саши и поняли суть проблемы ссылок canonical, но повторю еще раз. Если к ссылке любой статьи в адресной строке после слэша добавить любые цифры, например 123, то получится дубль этой статьи. То есть у вас будет две разные страницы, но с одинаковым содержанием.

Вы можете возразить: «Ну и что? Как эта статья попадёт в индекс?». Всё очень просто. У вас могут появиться недоброжелатели и добавить кучу таких страниц, например через аддурилку Яндекса (как раз ситуация Александра Борисова).

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

Итак, в том случае, если ваши постоянные ссылки оканчиваются на слэш, как у меня, решение будет следующим. Подключаемся к своему серверу, находим там файл .htaccess, открываем и добавляем вот этот код: (Внимание! Перед изменением файла .htaccess сделайте его резервную копию):

 RewriteRule (.*)\/([0-9]+/)$ /$1 [R=301,L]

Вот и все. После этих нововведений любые цифры, которые добавят злоумышленники после адреса любой статьи, будут скидываться. То есть будет осуществляться редирект на основную страницу. Этот способ работает, даже если после цифр недоброжелатель пропишет слеш на конце адреса (/).

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

http://ваш домен.ru/page/2/

Поэтому после установки редиректа эти страницы просто-напросто останутся без цифр и примут вот такой вид:

http:// ваш домен.ru/page/

При нажатии на ссылки навигации по страницам, вы будите попадать на страницу ошибки 404 (страница не найдена). Но это дело поправимое. Достаточно добавить в файл .htaccess вот такой фильтр:

 RewriteCond %{REQUEST_URI} !(/page*)

Внимание! В обязательном порядке прописать этот код необходимо перед кодом редиректа!

Теперь мы все настроили, поэтому можно проверить. У меня работает, а у вас? Если не работает, то есть на то причины:

  • Вы прописали коды с ошибкой;
  • Ваши постоянные ссылки настроены другим образом (через .html или вообще без знаков);
  • Конфликт правил в файле .htaccess.

Ну, а теперь я расскажу, как решить проблему ссылок canonical для блогеров, у которых постоянные ссылки на конце адреса статей прописываются без html и без слэша. Например, http://vashdomen.ru/content

Заходите в файл .htaccess и добавляете вот этот код:

RewriteCond %{REQUEST_URI} !(/page*)
RewriteRule (.*)\/([0-9]+) $1 [R=301,L]

Вот и все. Проблема решена.

Если у вас ссылки оканчиваются на .html, то вам нужно прописать другой код. Он написан в статье Александра Борисова. Добавьте его в файл .htaccess:

 RewriteRule (.*)\.html\/([0-9]+)$ $1.html [R=301,L]

Мы с вами разобрали все случаи и применили один лишь способ редиректа без удаления плагина All In One SEO Pack и установки Platinum SEO Pack.

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

Успехов Вам и Удачи
С Уважением,


Книга о заработке в интернете:
Книга о заработке в интернете

Комментариев к статье: 37

  1. Игорь Черноморец:

    Привет Сергей! Как я рад, что ты не переписал тупо статью Борисова!я уже не раз натыкался на статьи блогеров, которые переписаны с сайта Борисова один в один, это ужас!
    я тоже читал его статью с этой проблемой и с первой же секунды решил не следовать его совету (менять плагин) почему то был уверен в том, что есть более простое решение проблемы и…так и оказалось! Всего лишь нужно было сделать запрос в Гугле и решение проблемы не заставило себя ждать.
    Несмотря на то, что я не последовал советам Александра Борисова, я его очень уважаю и благодарю, за то что он публично и массивно открывает все блогерам глаза на разные проблемы, а так как его читает большое количество людей, то это становится эффективно!
    Сергей, спасибо тебе тоже за эту статью, в ней ты привёл примеры всех возможных способах решения проблемы с canonical!

    Ответить

    • Сергей Саранчин:

      Привет, Игорь!
      Спасибо за высокую оценку моего труда :-)

      Ответить

      • Alexandr:

        Присоединяюсь к Игорю! Вы реально профессионал, но в последнее время меньше статей по ВП пишете. Ударились в партнёрки.

        Ответить

        • Сергей Саранчин:

          Спасибо, Александр, да партнёрки меня поглотили, потому что прибыльно, деньги идут )))

          Ответить

          • Alexandr:

            В любом деле желание к делу нужны и способности. Удачи Вам в партёрках! Читаю с интересом статьи о них.

            Ответить

          • Сергей Саранчин:

            Спсаибо, удача мне пригодится :smile:

            Ответить

    • Наталья:

      Борисов не столько исследователь, сколько зарабатыватель денег, имхо

      Ответить

  2. Ирина:

    Статья понравилась. Все в оторопи от сюрприза, который преподнес один из самых важных плагинов. Спасибо за помощь.

    Ответить

  3. Артём:

    Я, отказался от All In One SEO Pack и пользуюсь wordpress plugin platinum seo

    Ответить

    • Саня Сабегатулин:

      А я уже не пользуюсь all in one seo pack. Решил заменить его другим плагином. wordpress by yoast вроде пока нормально.

      Ответить

  4. Виталий Охрименко:

    Черт побери, а я удалил нафиг такой хороший плагин из-за этих каноникалов. Правда сейчас нисколько не жалею, wordpress by yoast нравится больше

    Ответить

    • Сергей Саранчин:

      Ну, если Вы довольны новым плагином, то всё ок. Я так считаю! :oops:

      Ответить

      • Саня Сабегатулин:

        О, а как раз Витаха и подсадил меня на этот плагин. Уже впринципе много времени прошло, в начале даже трафик чуть подрос.

        Ответить

        • Alexandr:

          Способы перечисленные Сергеем для подготовленного новичка. Для самого зелёного не подойдут от их безграмотности и боязни лезть в код.

          Ответить

  5. Наталья:

    Здравствуйте, Сергей!

    Помогите спасти мой кулинарный сайт с уникальными рецептами и фото.

    У меня беда после установки этого плагина. Главная страница стала
    rel+canonical и все статьи тоже.

    Только category остались уникальными. Что мне делать, как правильно исправить проблему? Спасибо!

    Ответить

    • Сергей Саранчин:

      Здравствуйте, Наталья! Чтобы увидеть проблему нужно посмотреть веб-ресурс :smile:

      Ответить

  6. Наталья:

    Добрый день, Сергей. Я в предыдущем комментарии допустила ошибку.

    Согласно проверке, все URL категорий были уникальные, а URL статей — rel-neхt, неканонические и неуникальные. Соответственно 90 процентов контента проверка оценила как неуникальный. Именно так его видели поисковики. А на самом деле все тексты статей у меня на 100 процентов уникальные.

    Что я сделала. Буквально сегодня на свой страх и риск я удалила All In One SEO и установила Yoast.

    После установки проверила сайт — результат получился с точностью до наоборот. Контент стал полностью уникальным. То есть Yoast все исправил. Наверняка много ошибок еще придется исправлять, но теперь хоть есть надежда, что сайт начнет выздоравливать после длительной болезни. :)

    Ответить

    • Сергей Саранчин:

      Очень рад, что вы справились с этой проблемой, Наталья :oops:

      Ответить

  7. Алексей:

    Добрый день! От All in Seo не хочется отказываться, привык к нему) Но вот беда. У меня страницы имеют адрес: сайт.ру/страница/ ,а посты имею адрес: сайт.ру/пост.html
    Подскажите как быть в моем случае. Жду вашего ответа. Заранее спасибо!

    Ответить

    • Сергей Саранчин:

      Приветствую, Алексей. А Вы уверены в том, что это происходит из-за данного плагина? Попробуйте его деактивировать и ещё раз посмотреть как отображаюся адреса страниц и постов…

      Ответить

      • Алексей:

        Я немного не правильно описал суть проблемы! Естественно, All in Seo не влияет на ЧПУ. Просто изначально, не заметили этого момента, и теперь когда в индексе все статьи с html на конце, а страницы и рубрики просто имеют вид: сайт.ру/рубрика Как адаптировать ваш метод, описанный в данном посте выше, под нашу ситуацию, или никак?

        Ответить

        • Сергей Саранчин:

          Алексей, Вам нужно сначала решить то, как Вы хотите чтобы страницы и посты отображались: с html или без него на конце адреса, а потом просто использовать редирект для того, чтобы робот переиндексировал старые страницы на новые. Вот и всё в принципе.

          Ответить

  8. Сергей:

    Здравствуйте.
    Прописал в файле .htaccess код, как Вы посоветовали, но ничего не изменилось. Не существующая страница по прежнему открывается по адресу:
    provetri-dom.ru/page/1
    provetri-dom.ru/page/2

    Ответить

    • Сергей Саранчин:

      Сергей, Вы точтно всё сделали как описано у меня? Проверьте ещё раз.

      Ответить

  9. Сергей:

    Вот код файла, который я прописал в .htaccess после кода самого WordPress,находится в корневом каталоге сайта:

    # BEGIN WordPress

    ………………

    # END WordPress

    RewriteCond %{REQUEST_URI} !(/page*)
    RewriteRule (.*)\/([0-9]+) $1 [R=301,L]

    А саму ссылку я удалил в файле functions.php своей темы:

    add_filter(‘aioseop_prev_link’, ‘__return_empty_string’ );
    add_filter(‘aioseop_next_link’, ‘__return_empty_string’ );

    Ответить

    • Сергей Саранчин:

      Сергей, Вы не туда добавили код! Вставьте его до # END WordPress

      Ответить

  10. Сергей:

    Вроде как разобрался.
    Код работает, если его ставить не в конце, а в код, который формирует сам WordPress.
    Спасибо. Вопрос закрыт. Я немного ступил :cry: :oops:

    Ответить

    • Сергей Саранчин:

      Ну, да немного не туда вставили, это верно. Бывает… :smile:

      Ответить

  11. Sergey:

    Если в url присутствуют цифры, например

    Исходный: /2016/02/80-test-url/
    Дубль: /2016/02/80-test-url/80/

    То в таком случае обработка регулярки, что показана в примерах выше, начинается не с последней части URL, а с предпоследней части, то есть с 80-test-url

    Поэтому нужно исключить символы в регулярке что-то вроде:

    RewriteRule (.*)\/([^a-z][^A-Z][0-9]+) $1 [R=301,L]

    Ну по крайней мере мне на своем сайте пришлось такой велосипед делать, т.к. регулярка выше спотыкалась об URL с цифрами в алиасах.

    Ответить

  12. Sergey:

    И еще в исключения:
    RewriteCond %{REQUEST_URI} !(/page*)
    Я добавлял:
    RewriteCond %{REQUEST_URI} !(/upload*)

    Потому что пропали изображения. Не знаю с чем связано, но может у кого-то тоже так.

    Ответить

  13. Sergey:

    И на одном блоге вот эта регулярка не пошла

    RewriteRule (.*)\/([0-9]+/) /$1 [R=301,L]

    Пришлось модифицировать до:

    RewriteRule (.*)\/(.*)\/(.*)\/([^a-z][^A-Z][0-9]+/) /$1/$2/$3/ [R=301,L]

    Вероятно у всех разные конфигурации серверов. Поэтому так.

    Ответить

  14. Инна:

    Помогите пожалуйста!!!!! Если не сложно. У меня на сайте вконце строк не цыфры А вот такая ерунда /trade/vrp_3-15_img-html/?15_html:
    знак вопроса постоянно,
    цифры меняются,
    и еще добавляется html на всех дублях.

    Ответить

    • Сергей Саранчин:

      Инна, не совсем понял Вашу проблему. Опишите, пожалуйста точнее

      Ответить

  15. Инна:

    У меня появились страницы «/trade/vrp_3-15_img-html/?15_html» вот такие, а на самом деле страница «/trade/vrp_3-15_img-html/». Установила в плагине All In One SEO Pack «No Pagination for Canonical URLs», но яндекс прочитал уже много таких страниц. В файле .htaccess, я прописала код RewriteRule (.*)\-html\/([^0-9a-zA-Z]+)_html$ $1-html [R=301,L] (который Вы рекомендовали), но он не работает. Не получается вписать в код знак «?».

    Ответить

    • Сергей Саранчин:

      Инна, здесь, конечно, нужно видеть сам код, чтобы решить эту проблему. Так сразу ответить не представляется возможным. Я в настоящее время занят,попробуйте обратиться к моему знакомому специалисту: gorunk@yandex.ru (его е-мейл)

      Ответить

  16. Инна:

    Спасибо большое. Напишу что получилось.

    Ответить

    • Сергей Саранчин:

      Да, конечно, Инна, будет интересно узнать :oops:

      Ответить


НАПИШИТЕ СВОЙ ПЕРВЫЙ КОММЕНТАРИЙ НА ЭТОМ БЛОГЕ И ПОЛУЧИТЕ ПОДАРКИ!

Нажимая кнопку "ОТПРАВИТЬ" комментарий, Вы принимаете пользовательское соглашение и подтверждаете, что ознакомлены и согласны с политикой конфиденциальности этого сайта.

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: