WordPress, Яндекс и FastCGI

Недавно столкнулся с разными траблами WordPress и Яндекса.

Яндекс проиндексировал кучу статей по несуществующим урл-ам. Откуда он их взял — непонятно.

Пример — есть сайт site.ru
у него есть статья по адресу site.ru/statya
есть метки (теги) с адресами site.ru/tag/metka


Странность в том, что Яндекс выдаёт по тексту из статьи — адрес статьи с урл-ом site.ru/tags/statya

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

Т.к. сайт на движке WordPress, то он выдаёт редирект при переходе из ПС по урлу в выдаче. Но редирект оказывается стоял 302 вместо 301, т.е. посетитель то перенаправлялся, а вот поисковик верный урл не индексировал.

В результате всяких метаний, гуглений и прочего, выяснилось, что это старый баг WordPress, когда хостинг FastCGI (именно как у меня). Нужно залезть в код и закомментировать строчку, слава богу, есть же ещё люди, которые могут подсказать.

Если PHP работает в режиме FastCGI, то все редиректы с кодом 301 (Permanent Redirect) превращаются в редиректы с кодом 302 (Temporary Redirect), поэтому Яндекс не ходил по этим редиректам и не индексировал правильные урл-ы.

Сейчас везде где у меня стоит WP сменил редирект с 302 на 301 путём исправления кода, но вот когда Яндекс проиндексирует все эти статьи заново — сложно даже предполагать.

В предыдущем моём эксперименте, когда я случайно исправил не подумав префикс сайта, убрав без www, сайт с несколькими тысячами страниц полностью вылетел из индекса и входил обратно 1,5 до почти 3-х месяцев. (а там были платные обзоры с GGL, вот жесть была), а вот в Google как-то быстро всё перендексировалось вроде.

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

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