Как удалить дублирующие ссылки ведущие в одну и туже категорию
Приветствую! Нужна помощь знающих людей. Тимур ты в вордпрессе как рыба в воде, подсоби.
Сталкнулся с такой проблемой на одном из сайтов.
Категории имею вид:
домен/cat/komplektuyushhie
Подкатегории:
домен/cat/komplektuyushhie/videokarty
в robots.txt dissalow: /cat/
Но!
Обнаружил в Яндекс Вебмастер проиндексированными кучу ссылок такого вида:
домен/komplektuyushhie/videokarty
домен/category/komplektuyushhie/videokarty
домен/kompyuternaya-texnika/komplektuyushhie/videokarty
домен/category/kompyuternaya-texnika/komplektuyushhie/videokarty
Все они выводят одинаковые анонсы постов. То есть одна страница доступна по 5 ссылкам. Как такое может быть, ведь категория на самом деле одна с постоянным адресом.
Дело в том, что последних два варианта постоянных ссылок имели место быть, но это было ранее, затем я заменил структуру URL, однако старые варианты не удалились, а сохранились и почему-то склеиваются с текущими.
Это касаемо всех категорий(подкатегорий) сайта, там такой бедлам в Вебмастере, что пока наложил на категории noindex и nofollow в метатэгах до разрешения проблемы.
-
Чистил БД плагинами: WP Clean Up и Plugins Garbage Collector, проблема остаётся.
- Замена темы ничего не меняяет.
Подскажи, где находится исходники генерирующие эти дублирующие ссылки, буду весьма благодарен. На других блогах такой картины не замечал, там всегда срабатывает ошибка 404. Да и как добавить rel="canonical" в категории "Вордпресс" без плагинов?
С ув. Дмитрий
Каким образом? Неграмотно заменили значит... В ЧПУ остались правила перезаписи для:
/category/komplektuyushhie/videokarty
/kompyuternaya-texnika/komplektuyushhie/videokarty
/category/kompyuternaya-texnika/komplektuyushhie/videokarty
Вообще вот эти игры с удалением category, выставление в настройках ЧПУ %catygory%, а затем удаление вложенных рубрик из URL - все это ненормальные вещи и там много мелочей, которые нужно учитывать. Поэтому для этого рекомендую использовать плагины и не простые а хорошие, если они есть конечно...
Все это в правилах перезаписи находится там в виде регулярок, разобраться будет не просто. Смотри
global $wp_rewrite;
В качестве костыля, можно сделать надстройку на хук template_redirect и там проверять регуляркой URL, если неподходящий, то отдавать 404 страницу или ставить 301 редирект на правильный URL
Тимур, хуки точать для меня сложно пока, пытаюсь учиться. Может если для тебя не сложный код, выложи готовый, буду благодарен, дальше копать глобал начну. А пока нашел код для простановки rel="canonical" в категории и метки, теперь в «запоротых» ссылках проставляется нормальный, требуемый (текущий) URL, может поисковики, постепенно выкинут «левак», по аналогии с комментариями плодящих дубли, но сильно уповать не стоит, тут случай же другой.
Аналогичная проблема:
Имеем рубрики
example.com/first
example.com/second
Добавляем любые символы перед рубрикой
example.com/ehrfads/first - итог отдает содержимое рубрики example.com/first
Как это побороть?