Хостинг Fozzy
Главная » Блоггинг » Вы здесь =)

Осторожно! WordPress создает много дублей!

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

Напугал? Не переживайте =) . Баг, действительно, серьезный, но исправить его можно достаточно просто. Ниже я расскажу, что это за зверь и как от него избавиться.

wordpress создает дубли

В связи с недавними баден-баденовскими событиями начал плотно изучать информацию в Яндекс.Вебмастере. Анализировал сводку по индексированию ("Страницы в поиске"). Искал связь между пометками "Некачественная страница" и наложением фильтра за переоптимизацию.

пример некачественного документа

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

дубли страниц

идентичные документы

Оказывается, если к любому посту в блоге добавить любые цифры, то WordPress создаст такую страницу — она будет идентична основной записи. Баг с постраничной навигацией отдельных постов — сотни или тысячи вероятных дублей.

На таких страницах нет мета-тега robots и есть canonical, который в качестве канонического документа указывает именно дубль.

canonical

Проверьте, у вас также?

Усугубляет ситуацию связь с плагином All in one SEO pack, который дополнительно дает ссылку на предыдущую запись: поисковый робот не только заходит, по сути, на несуществующую страницу, но и начинает ходить по другим таким же. Добавлялось и удалялось сотни подобных "постов".

добавлено/удалено

Я начал копать глубже и создал топик на wordpress.org. Оказалось, что еще в 2014 был баг при создании многостраничных постов с помощью тега <!--nextpage-->. Тогда также создавались несуществующие документы, но canonical для 2-й, 3-й или последующих страниц, наоборот, указывали всегда на первую, то есть не индексировались.

Начиная с WordPress 4.4 баг с canonical убрали (у каждой "пагинированной" страницы поста появился свой каноникал), а вот ошибку с созданием несуществующих документов не убрали. Поэтому сейчас индексируется больше, чем нужно :smile:.

Что делать и как убрать дубли?

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

ошибку уберут в вордпресс 4.8

Пока же нам придется убирать его, так называемыми, "костылями" :smile:. Существует 2 варианта.

1) Плагин After Last Page Fix от Белотицкого Юрия. Скачать можно здесь. Установка в один клик, настроек нет. Скрипт вместо создания множества дублированных документов отдает 404-ошибку. На мой взгляд, самый удачный вариант. Недостатки:

  • плагин добавляет дубль rel="canonical";
  • и shortlink.

2) Дополнительная настройка All in One SEO Pack. Разработчики этого плагина, скорее всего, оказались в курсе данного бага и в новых версиях появились дополнительные чекбоксы.

noindex и nofollow для постов с пагинацией

Несуществующие записи будут создаваться, но в них будет указан мета-тег robots, запрещающий их индексирование.

meta name=robots noindex и nofollow

В других SEO-плагинах для wordpress не смотрел. Вероятно, в Yoast SEO или подобных будут такие же настройки. UPD. Да, действительно, в плагине от Yoast прописывается каноникал на основную запись.

Вот и все :smile:! Баг достаточно серьезный, но исправляется, можно сказать, в один клик. Вам остается проверить, создаются ли у вас подобные страницы. Если да, то выбрать один из вариантов решения проблемы.

Получается, что, обновляясь на новую версию wordpress, не только устраняешь старые ошибки CMS, но можешь и получить новые. Интересно, какая у вас версия движка и создаются ли такие несуществующие посты? Поделитесь статистикой в комментариях ;-).

1 звезда2 звезды3 звезды4 звезды5 звезд (10 голос., в среднем: 4,70 из 5)
Загрузка...

в VK
Плюсануть
Дата: 11.04.2017
Получайте актуальные статьи по SEO, блоггингу и заработку в Интернете
прямо на ваш почтовый ящик. Уже более 2000 подписчиков!
Отзывов уже 39:
  1. 1. Marian | 11 апреля 2017

    Баг присутствует (WP 4.7.3), но в SEO Yoast каноникал по умолчанию указывает на корректный урл.

  2. 2. Имя | 11 апреля 2017

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

  3. 3. Sosnovskij | 11 апреля 2017

    Marian, Имя, подтверждаю, Yoast SEO ставит корректный каноникал.

  4. 4. Дмитрий | 11 апреля 2017

    Sosnovskij, то стоит что-то менять?

  5. 5. Sosnovskij | 11 апреля 2017

    Дмитрий, не понял Ваш вопрос :)

  6. 6. Алексей | 11 апреля 2017

    Вы что, серьёзно? Проблеме сто лет в обед.
    Код для htaccess
    # 301 for canonical /2/
    RewriteCond %{REQUEST_URI} !(/page*)
    RewriteRule (.*)\/([0-9]+/)$ /$1/ [R=301,L]

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

  7. 7. Kanapiya | 11 апреля 2017

    А как найти эти страницы у себя на сайте?

  8. 8. Sosnovskij | 11 апреля 2017

    Алексей, если внимательно прочитать пост, то я написал, что проблема еще с 2014 года. Она была другого рода. Она выявлялась, когда почему-то многостраничные посты не индексировались. Так как записи практически никто не разбивал, то и проблемы как таковой не было (документы /213213/ создавались, но имели canonical на основной пост).

    С 4.4 (не так уж и давно) стали не только создаваться, но и индексироваться подобные страницы, которые, на самом деле, не существует. Это более серьезно.

    Kanapiya, добавьте к URL записи любую цифру и закройте слэш. Проиндексированные такие документы можно поискать в Яндекс.Вебмастер. Но лучше просто их закрыть от индексации (canonical на основной пост, noindex), отдавать 404 ошибку или настроить 301-редирект.

  9. 9. Алексей | 11 апреля 2017

    Sosnovskij,
    не, именно эта проблема в 15 или 16-м году муссировалась

  10. 10. Sosnovskij | 11 апреля 2017

    Алексей, 4.4 вышел в декабре 2015. Мне такая информация, к сожалению, не попадалась. Пока сам с проблемой не столкнулся, не узнал. Полагаю, что еще очень многие не сталкивались с багом.

  11. 11. seoonly | 11 апреля 2017

    подожду обнову)) спасибо.

  12. 12. jkeks | 11 апреля 2017

    А у меня другая проблема, в индекс залезали comment-pages-.. И основные вылетали из индекса почему-то. Пока в роботе не прописал костыль, творилась такая фигня. Но самое тупое в этой истории то, что как только прописал робота и дубли commant-pages стали вылетать, на сайте стал падать трафик. Так что тут какая-то каша происходит с Яндексом и WordPress. Делаешь как можно лучше, а оно хуже и хуже.

  13. 13. Павел | 12 апреля 2017

    Сергей спасибо! Месяц назад установил вордпресс на новый сайт, дней через пять проверил через Xenu на исходящие, так вот там столько оказалось дублей! С предыдущими версиями таких проблем не замечал….

  14. 14. Наталья | 12 апреля 2017

    А если у меня в статье уже стоит тег canonical, нужно ли еще в СЕО-плагине ставить галочку «Canonical URLs:»?

  15. 15. Sosnovskij | 12 апреля 2017

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

  16. 16. Дмитрий | 12 апреля 2017

    Привет, Сергей!

    Поддержу некоторых комментаторов по поводу недоумения по новым мотивам этой проблемы. Вроде она именно в данном плагине и кроется и его же настройками решается.

    Мне она на глаза в 2015 попалась (http://ktonanovenkogo.ru/wordpress/wordpress_osnovi/problema-all-in-one-seo-pack-ubiraem-relprev-relcanonical-ubrat-indeksa-dubli.html). Сделанные тогда настойки и сейчас вроде все правильно отрабатывают — правильный каноникал и корректный запрет на индексацию в мета-теге роботс.

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

  17. 17. Александр | 13 апреля 2017

    Спасибо за информацию. У меня блоге тоже стоит All in One SEO Pack, первый пункт у меня был отмечен, а второй не был. Сейчас вот изменил настройки, посмотрим какие будут изменения.

  18. 18. Надежда | 13 апреля 2017

    Прочитав статью, пошла в Вебмастер и обнаружила, что AMP-страницы там помечены как неканонические.
    Сергей, это надо как-то исправлять или в угоду Яндексу лучше их совсем отключить? Правда, Гугл для сайта тоже имеет значение.

  19. 19. Наталья Краснова | 13 апреля 2017

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

  20. 20. Nobody0 | 14 апреля 2017

    Будьте внимательны с предлагаемым вами плагином!!!

    Он добавляет шортлинк (Зачем?) и каноникал принудительно, если стоит сео плагин то их становиться по 2.

    Одни дубли убирает — другие создает, чтоб не обидно было =)

  21. 21. Sosnovskij | 14 апреля 2017

    Дмитрий, привет! Не говорил, что новая проблема в принципе. Новая для меня и тех, кто не замечал ее :) Да, это именно wordpress генерирует такие страницы. Они попадают в индексе, то удаляются из него. Это не хорошо.
    Надежда, все правильно. Им каноническими быть нельзя, так как они являются дублями :)
    Nobody0, посмотрел. Действительно, есть такое. На мой взгляд, менее критично, но, да, недоработка (или переработка). Добавил информацию в пост.

  22. 22. Ольга | 15 апреля 2017

    Получается, если у меня не стоит плагин All in One SEO Pack, я должна поставить для решения проблемы плагин After Last Page Fix? А к чему приводят его недостатки ( дубль rel=canonical и shortlink)?

  23. 23. Sosnovskij | 17 апреля 2017

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

  24. 24. Ignab | 20 апреля 2017

    У меня все в порядке, пока дублей не обнаружил (хотя и сайт молодой), стоит yoast. Заметил опечаточку: «Добавлялось и удалось сотни подобных «постов».»

  25. 25. Sosnovskij | 23 апреля 2017

    Ignab, спасибо, поправил :)

  26. 26. Ольга | 26 апреля 2017

    Sosnovskij, подскажите, как понять, открыты ли они для индексации? Какая должна быть строчка в robots, которая их закрывает?

  27. 27. Светлана | 28 апреля 2017

    Не поняла. «Постраничная навигация отдельных постов» — это про многостраничные посты речь? Что правда, у кого то есть такие? Ну тогда писатели, ну тогда глыбы! )))

    У меня сейчас свежий WordPress 4.7.4 плюс SEO by Yoas — никаких дублей в никаких ПС нет.

  28. 28. Sosnovskij | 28 апреля 2017

    Светлана, да, только эти многостраничные посты, а точнее сами страницы навигации, создаются автоматически.

  29. 29. В Клике от Тебя | 21 декабря 2017

    Баг уже исправлен, ни разу не сталкивался

  30. 30. Ольга | 19 января 2018

    А можно по подробнее про дубли с шортлинками, у меня они в поиске не мелькают, но сам факт существования дублированых статей, которые вордпресс( обновленный) создает путем добавления номера поста к адресу главной через /p?=номер. Еще заметила, что некоторые сайты-копипастеры ссылаются на такие страницы.

  31. 31. Sosnovskij | 24 января 2018

    Ольга, дубли в коде, на сайте их нет, так как с них стоит редирект на основной материал.

  32. 32. Олег Пхукетов | 27 января 2018

    4.9.2 — баг НЕ ИСПРАВЛЕН!!! приходится хардкодить
    имею ввиду несуществующие страницы типа /page/88888
    Тут выше указывали про смешное решение через каноникалы!!)) хахаха. пожалейте свой сервер! если конкуренты пронюхают. то вам насоздают миллиард страниц. Сервер усрется от Яшиных ботов… Такие страницы надо искоренять кардинально, только ответ 404!

  33. 33. Sosnovskij | 29 января 2018

    Олег Пхукетов, не знаю почему не могут его исправить. Ошибка серьезная, а исправление не займет много времени.

  34. 34. Сергей | 30 июля 2018

    А не подскажите, откуда могут браться дубли такого типа
    site.ru/?url=https%3A%2F%2Fsite.ru%2Fnazvanie-stranicy%2F

  35. 35. Sosnovskij | 30 июля 2018

    Сергей, к сожалению, не подскажу.

  36. 36. Сергей | 30 июля 2018

    Sosnovskij,
    У Вас кстати тоже есть такие ссылки
    sosnovskij.ru/?url=https%3A%2F%2https://sosnovskij.ru%2Fwordpress-sozdaet-dubli%2F

  37. 37. Sosnovskij | 30 июля 2018

    Сергей, на примере стоит rel=»canonical» на главную страницу блога.

  38. 38. Сергей | 30 июля 2018

    Sosnovskij,
    Получается, если rel=»canonical» указан на главную страницу, то это никак не навредит сайту в плане SEO?

  39. 39. Sosnovskij | 30 июля 2018

    Сергей, если поисковые системы правильно отработают тег, то да — ничего страшного :)

* Нажимая на кнопку "Добавить комментарий" я соглашаюсь с политикой конфиденциальности.
css.php Подняться наверхПодняться наверх