Смена структуры постоянных ссылок WordPress

Решила немного улучшить структуру и внешний вид блога: переместить некоторые записи в другие рубрики, и удалить одну рубрику неиспользуемую рубрику совсем. Казалось бы, что может быть проще? Однако проблема возникла с используемой структурой постоянных ссылок. Когда я только создала блог, то выбрала структуру %category%/%postname%, которая сейчас и мешала переместить записи в другую рубрику, ведь изменились бы адреса записей, и при переходе из поисковика или по ссылкам на сайтах появлялась бы ошибка 404.

Поэтому я решила сменить структуру постоянных ссылок на блоге на более нетребовательную к тому, в какой рубрике находится запись, и остановилась на структуре %postname%. Почитав в других блогах советы по организации смены структуры ссылок, поняла, что нужно будет делать 301 редирект со старых ссылок на новые, и прописать его в .htaccess.

Так как моя новая структура ссылок достаточно широко распространена, то для перехода на нее даже создали специальные генераторы 301 редиректа. Итак, я сменила структуру ссылок через консоль, а затем воспользовалась одним из таких генераторов, и скопировала результат в .htaccess.

С первого взгляда, все стало работать, и при переходе по старой ссылке открывались нужная запись с новым адресом. Но проблема возникла при переходе на следующую страницу блога /page/2: срабатывал редирект, и меня перебрасывало на страницу /2, которая не существует.

В течение получаса я пыталась найти решение этой проблемы. И наткнулась на сообщение о том, что WordPress автоматически создает 301 редирект при изменении структуры постоянных ссылок.

Тогда я удалила редирект, который добавила в .htaccess, и попробовала перейти по старому адресу поста. И все стало работать!!!. То есть, редирект ссылок на записи в новых версиях WordPress добавиляется автоматически, без какого-либо вмешательства. Поэтому, если вы думаете о смене структуры постоянных ссылок, но боитесь это делать потому, что пропадет трафик из поисковиков, попробуйте! В большинстве случаев, если не используется какая-то экзотическая структура ссылок, 301 редирект на новые ссылки сработает без вашего вмешательства.




21 комментарий к “Смена структуры постоянных ссылок WordPress”

  1. Кристина

    Интересно. Я недавно думала изменить структуру ссылок на своем блоге, у меня ссылки с месяцем и годом (правда, я отказалась от этой идеи, мне с датами все же нравятся).
    Но суть в том, что я просто пробовала поменять структуру на %postname%. После этого старые статьи возвращали 404 ошибки. Я даже пробовала заходить на статьи с главной, нажимая на “Читать далее”, но снова – 404 ошибки. Так что я не уверена, что WP автоматически редиректит со старых адресов на новые.
    У меня стоит плагин для 301ых, и я пару редиректов настраивала через него.

    Ответить
  2. Pasagir

    У меня вот на одном ресурсе 2 первых категории имеют кириллистические ссылки (не заметил сначала). Вот теперь думаю, что лучше исправить пока в индексе <10 страниц….
    А структура эта самая оптимальная, я думаю и самая логичная.
    Не знал, что wp сам редиректы настраивает..

    Ответить
    • Ирина

      Наверное, лучше все-таки сейчас исправить, и на первое время, пока не переиндексируется, выставить редирект.

      У меня раньше рубрики были без префикса category, а сейчас я решила их добавить, но в этом случае редирект не сработал, пришлось его добавлять вручную.

      Ответить
  3. Denys

    сегодня проверил сие действие на локалке все работает-ошибки 404 нет. В .htaccess движок сам ничего не прописывает для редиректа. Остается выждать когда поисковики из кеша переиндексируют.
    Ирина, заметил у вас одну странность в браузере в адресной строке в конце адреса статьи после слеша стоит -#.UydTzIVc-M8 что это?

    Ответить
    • Ирина

      Вероятно, эти редиректы где-то в базе прописываются.

      Буквы после слеша – это трекинг от AddThis (видите иконки “Поделиться” после каждого поста?), который позволяет отследить, делился ли кто-то этой страницей не только по нажатию на социальные кнопки, но и просто копированием адреса. Пока не знаю, насколько эффективно это работает, установила только вчера.

      Ответить
  4. Анатолий

    Здравствуйте. У меня такая же ситуация. Хочу %postname%, а на сайте %category%/%postname%. Попробовал поменять перехожу на страницы по старым адресам и вижу ошибку 404. Как можно это исправить? Может файл htaccess у вас отличается чем то от моего?

    Ответить
    • Ирина

      .htaccess у меня стандартный, я его не меняла. Мне кажется, дело может быть в плагине SEO by Yoast, попробуйте его установить, и потом поменять структуру. Но однако я не уверена, почему так получилось, в общем, попробуйте.

      Ответить
  5. Анатолий

    Пробовал. Не получается. А какие настройки вы там вносили для переадресации?

    Ответить
  6. Ярослав

    Здравствуйте Ирина. С ЧПУ все понятно, отдельно спасибо за хорошую статью.
    Интересует следующий вопрос. Можно ли автоматически скрывать ссылки на другой сайт? Дело в том что я работаю с партнерками и постоянно приходится вручную делать редиректы через плагин. А на некоторых сайтах видел ссылки типа http://название_сайта/?href=внешняя_ссылка

    Подскажите пожалуйста вашему читателю. Спасибо

    Ответить
  7. Юрий

    Раньше страница находились в главной директории manskirtsru/odezhda_slavyan после присвоения родительской страницы в путь добавилась директория (стало manskirtsru/TYPES/odezhda_slavyan)
    Пожалуйста, подскажите как убрать /TYPES/ ?

    Ответить
    • Denis

      Юрий посмотрите может постоянные ссылки изменились? и как реализован вывод меню(структура) может там кроется types. Кстати как вариант может какие плагины используете для меню и они добавляют этот тег? Тут нужен более детальный анализ.

      Ответить
  8. Владимир

    Также задумался о смене структуры ссылок, потому я здесь – на Вашем блоге. О предусмотренной переадресации в WordPress, слышу впервые. У Вас на блоге установлен плагин Yoast WordPress SEO plugin. Может это он делает перенаправление, а не вордпресс? Тем не менее, пошел пробовать. Спасибо за подсказку. Подписываюсь на Ваш блог.

    Ответить
  9. Александр

    Ёлки палки))) Как хорошо, что я Ваш блог нашёл) статья отличная!

    Ответить
  10. Леонид

    Доброго времени суток! Проблема у меня с этими ссылками такая. Если зайти на страничку http://tetradion.ru/ и переходить по рубрикам, в url прописывается вот такой текст: http://tetradion.ru/#/ya-partner/xosting-beget.html . Если же перейти на страничку без/# http://tetradion.ru/ya-partner/xosting-beget.html , то будет открыто форма комментирования вконтакте, и похожие записи. Как мне убрать #/ эту беду? Помогите пожалуйста! Очень нужна мне форма комментирования от ВК.

    Ответить
  11. Алексей

    Здравствуйте!
    А подскажите, как сделать так, чтоб в ЧПУ сначала стояли цифры, а потом уже postname?

    Ответить
  12. kinogrant

    Попробовал все что в комментариях, не фига не работает!

    Ответить

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