Что делать, если в конце URL записи добавляется -2, хотя другой записи с таким URL (ярлыком) нету?

В WordPress довольно часто случается, что при создании ярлыка записи (который будет использоваться для URL), в конце добавляется цифра 2 (или 3, иногда даже и 4). Это бывает, когда пост с таким ярлыком уже существует, так как ярлыки, как URL должны быть уникальны.

Старые ярлыки WP

Что делать, если:

  • вам позарез нужно, чтобы 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 (нашел первый попавшийся, сам я удалял вручную, если будете юзать, сначала резервную копию базы сделайте).

Подпишитесь, чтобы раз в неделю получать свежие статьи с блога по email.

Смотрите также

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Комментарии закрыты.
  • Миша: Привет ещё раз, не поверишь, реально не сталкивался с этим вопросом. По теории можно сказать следующее: во-первых,...

  • Миша: Привет, вообще без проблем, делаешь всё через require(), require_once() - выбирай любую, какая больше нравится.

  • Виталий Моргунов: Привет! Не могу разобаться, как я могу контролировать порядок подключения стилей. В моем случае мне нужно чтобы стили...

  • Миша: Спасибо!

  • w0rmak: Это было просто. Нашел код в интернете. Добавьте и себе ymaps.load(function () { var input = document.getElem...