Постранничная навигация в статьях на Wordpress

AlexStep
На сайте с 23.03.2009
Offline
353
506

Здравствуйте.

Возникла проблема с постраничной навигацией для статей. Дело в том, что я НЕ использую разбивку статей при помощи тега nextpage, но в индекс ПС начали попадать вот такие страницы:

сайт.ру/название-статьи/1000/
сайт.ру/название-статьи/999/
и т.д.

Где 1000 и 999 это номер страницы. Все эти страницы отдают код 200 и полностью копируют страницу оригинальную страницу по адресу сайт.ру/название-статьи/.

Что можно сделать, чтобы эти дубли редиректились на основную страницу или отдавали 404? Может есть какой нибудь плагин? Буду рад любому совету.

PS. rel=canonical не поможет. Он ссылается на дубль, а не на оригинальную страницу.

SeVlad
На сайте с 03.11.2008
Offline
1609
#1
AlexStep:
rel=canonical не поможет. Он ссылается на дубль, а не на оригинальную страницу

Это не правильное поведение. Ищи причину в сео-плагах. Или теме.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
AlexStep
На сайте с 23.03.2009
Offline
353
#2
SeVlad:
Это не правильное поведение. Ищи причину в сео-плагах. Или теме.

Похоже, что canonical ведет себя правильно. Проверил на чистой WP.

А вот сама WP действительно ведет себя не так как должна. Удалось выяснить, что если на странице есть тег nextpage, то с несуществующих страниц идет редирект и дубли не появляются. А если тега нет, то и редирект не срабатывает. Л - логика.

Вот пример https://ru.wordpress.org/news/2015/07/wordcamp-russia-2015/999/

Страница отдает код 200 и rel="canonical" указывает на эту 999-ю страницу 😒

SeVlad
На сайте с 03.11.2008
Offline
1609
#3
AlexStep:
Страница отдает код 200 и rel="canonical" указывает на эту 999-ю страницу

Хм. действительно. В последней версии ВП с каноникалом непорядок. Проверил в старой (4,0) - там как я говорил.

Ну тогда.. если вообще нет нигде постранички - в хатцессе можно сделать правило редиректа. Костылёк конечно, но допустимый.

AlexStep
На сайте с 23.03.2009
Offline
353
#4

Вроде нашел решение, может кому будет полезно. Запилил вот это в начало .htaccess

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

и кажется все работает. Хотя нужно еще тестить, вдруг оно редиректит еще что-то лишнее...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий