В WordPress довольно часто случается, что при создании ярлыка записи (который будет использоваться для URL), в конце добавляется цифра 2 (или 3, иногда даже и 4). Это бывает, когда пост с таким ярлыком уже существует, так как ярлыки, как URL должны быть уникальны.
Что делать, если:
- вам позарез нужно, чтобы URL был именно такой и без всяких циферок на конце,
- вы проверяете все старые записи и обнаруживаете, что с таким ярлыком больше никаких нет, в том числе и в корзине.
Так в чем же дело?
Смотрите, когда вы меняете ярлык любой статьи в WordPress, есть фишка в том, что какое-то время статья доступна и по старому URL (ставится 301 редирект), это нужно, чтобы после смены URL ваша статья не вылетела из индекса поисковиков.
Вы можете создать новую запись с таким же ярлыком, тогда редирект удалится, но изменить ярлык одной из существующих записей на такой увы не получится.
Старые ярлыки WP тоже хранятся в базе. Чтобы все их просмотреть, зайдите в phpMyAdmin и выполните запрос:
SELECT * FROM `wp_postmeta` WHERE `meta_key` = '_wp_old_slug' |
Окей, допустим сейчас статья, которая редиректила имела ярлык «wordpress-diplicate-post», я запустил этот запрос в базе, нашел среди результатов «wordpress-diplicate-post» и удалил — проблема решена.
Также можно запустить запрос напрямую:
DELETE FROM `wp_postmeta` WHERE `meta_key` = '_wp_old_slug' AND `meta_value` = 'wordpress-diplicate-post' |
Есть также плагин, который позволяет это сделать WordPress Remove Old Slugs (нашел первый попавшийся, сам я удалял вручную, если будете юзать, сначала резервную копию базы сделайте).
Источник: misha.blog