Поддержка Проблемы и решения Баг с permalinks и canonical

  • Не нашел, куда кинуть баг, но он достаточно серьезный с точки зрения поисковых систем.
    Итак, берем, например,
    вот этот блог
    и добавляем в ссылку числа, например, так
    вот этот блог в кривом виде
    как видим, WordPress считает, что это две разные статьи. Более того, эти ссылки появляются в canonical (в блоге примера я, наверное, сейчас сделаю какой-нибудь костыль). Ошибка повторяется и на блогах wordpress.com, если добавлять буквы, то работает нормально.
    В итоге получаем ворох ссылок с одной статьей. Очень плохо 🙁

Просмотр 15 ответов — с 1 по 15 (всего 19)
  • Сделал временное решение с правкой canonical.

    этому багу сто лет в обед.
    исправить можно с помощью плагина After Last Page Fix.

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

    1. ВП так не считает. См п2.
    2. Если не ломать каноникал, то он указывает на правильную страницу.

    Это не баг, а «особенность». Такие ссылки сами по себе рождаться не могут, а дефолтнно рабочий каноникал призван как раз показать ПСам где правильная страница.
    ЗЫ. Хотя лично я считаю каноникал костылём в данном случае. Лучше уж редирект.

    исправить можно с помощью плагина After Last Page Fix.

    Хорошо бы давать ссылку не только на свой сайт, но и на оригинал (если нет в репо): http://blog.portal.kharkov.ua/2014/06/13/nextpage-correction/

    Ошибка повторяется и на блогах wordpress.com

    А вот это нежданчик. Действительно, и в каноникале неправильно. Раньше такого вроде не было. Сейчас перепроверил — это наблюдается и в 4.7. То, что сказано выше — было раньше, поэтому может быть неактуально. Однако… надо будет поразбираться плотнее.

    мне кажется, что вы не понимаете в чем проблема.
    баг существует только один — это открытие страницы с урлом /post/цифры/ даже если ее не существует. а вот каноникл прописывается абсолютно и совершенно правильно — для каждой под-страницы свой собственный каноникл. как раз баг раньше заключался в том, что для под-страниц движок указывал каноникл главной страницы.

    а вот каноникл прописывается абсолютно и совершенно правильно — для каждой под-страницы свой собственный каноникл.

    Раньше для /post/цифры/ каноникал указывал на /post/. В 4.7 (а может и чуть раньше) уже указывает на /post/цифры/. Я говорю про дефолтное поведение. Оно изменилось. И это уже неожиданная неприятность.

    И я не говорю правильно это или нет — куда должен показывать каноникал (правильно будет 404 или 301). Я говорю что это такая особенность.

    В общем же, раз уж так исторически сложилось, то ТАКАЯ смена поведения каноникала не есть хорошо и правильно. Но неправильно — только из-за истории ВП.

    Раньше для /post/цифры/ каноникал указывал на /post/. В 4.7 (а может и чуть раньше) уже указывает на /post/цифры/. Я говорю про дефолтное поведение. Оно изменилось. И это уже неожиданная неприятность.

    как минимум в 4.5 было также.
    дальше проверять не стал.

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

    • Ответ изменён 7 лет, 3 месяца назад пользователем Flector.

    как минимум в 4.5 было также.

    как?

    из двух багов они поправили один — с канониклом, а на второй забили.

    Каких багов? Что поправили?
    Я что-то вообще не понимаю…

    Как по мне — поломали нормальное. устоявшееся поведение.
    «Поправить баг» если уж на то пошло — это вместо подставок разных костылей с каноникалом сделать 404 или 301 на «цифры в конце адреса». Каноникал как раньше работал — в нек. роде и был заменой 301. А теперь… теперь и СЕО плагины будут в шоке (я только что поигрался с AiOS).

    Каких багов? Что поправили?
    Я что-то вообще не понимаю…

    было 2 бага. первый — для под-страниц указывался каноникл главной страницы. что делало использование <!—nextpage—> бесполезным (так как под-страницы из-за каноникла не индексировались). и второй баг — когда движок отдает последнюю под-страницу при запросе любой цифры после урла записи аля post/number/.

    так вот первый баг они исправили — и теперь у под-страниц свой собственный каноникл. но второй баг не исправили и отсюда проблемы, которые описал ТС. и без плагина Юрия тут не обойтись.

    первый — для под-страниц указывался каноникл главной страницы. что делало использование <!—nextpage—> бесполезным

    Согласен. Но это мало того, что ограничивалось использованием nextpage, но решалось СЕО плагинами. Так что проблема… ну не такая глобальная, что ли..
    (хотя я именно поэтому и не рекомендовал использовать nextpage)

    но второй баг не исправили и отсюда проблемы,

    Второй баг не был багом — каноникал работал правильно (хотя повторюсь: правильно — это 301 или 404). Но стал действительно багом, усугубился с версии 4,4 (Сергей подсказал когда это началось 😉 ). Если до этого в каноникал не лезли цифры, то с 4,4 полезли.
    Это всё вне зависимости от наличия nextpage. Т.е. сейчас это актуально абсолютно для всех сайтов.

    Сейчас это можно решить СЕО плагинам, но тоже не всё гладко, как я пока вижу, экспериментируя с ними.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    первый баг они исправили — и теперь у под-страниц свой собственный каноникл.

    Всё верно, исправлено в 4.4.

    но второй баг не исправили и отсюда проблемы, которые описал ТС.

    Постараюсь исправить в 4.8 🙂

    ЗЫ. Хотя лично я считаю каноникал костылём в данном случае. Лучше уж редирект.

    Да, с несуществующих подстраниц должен быть редирект (тоже с версии 4.4). Проблема в том, что текущее исправление неполное — редирект срабатывает, только если в тексте записи есть хотя бы один тег <!--nextpage-->.

    Второй баг не был багом

    ну почему не баг то? самый натуральный баг. не должен движок отдавать код 200 при запросе несуществующей страницы. тоже самое было с главной и рубриками, когда site.ru/page/number/ отдавал код 200, хотя страницы могло не существовать. и судя по форуму и своему собственному опыту, в индекс подобные пустые страницы залетали на ура (достаточно было сменить в настройках сайта вывод числа записей на большее количество — образовывались лишние пустые страницы). вот последнее разработчики исправили, теперь там отдается 404 ошибка, а на под-страницы они забили — более того, вообще выпилили из редактору кнопочку nextpage, чтобы этим функционалом пользовались только те, кто о нем знает и никто больше.

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

    Да, с несуществующих подстраниц

    Я на всякий случай хочу обратить внимание, что проблема отсутствия редиректов и дописывания цифр в каноникал актуальна и для записей (post).

    ну почему не баг то? самый натуральный баг. не должен движок отдавать код 200

    Фухх… 🙂 Всё верно, должен не 200, а 404. С этой точки зрения — поведение неправильное, баг. НО!! 301 в данном случае будет лучше и логичней, не так ли? Так что, это будет баг? Нет же. И вот каноникал как костыль для ПС вместо 301 такой точно «небаг», а «особенность», решающая проблему дублирования. И уж если решает — какой же это баг? Не баг 🙂

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

    и рубриками,

    Кстати да, и с архивными страницами тоже отдельные приключения…

    ну, в общем, уже неважно — раз Сергей этим занялся, то баг исправят.
    кто бы еще баг с комментами исправил..

Просмотр 15 ответов — с 1 по 15 (всего 19)
  • Тема «Баг с permalinks и canonical» закрыта для новых ответов.