При изменении адреса страницы, WordPress сохраняет старый адрес и делает с него редирект на новый
Собственно, в этом и вся суть, что, если вы измените постоянную ссылку записи, то WordPress сохранит старый url и создаст 301 редирект со старого на новый url.
Вот по этой ссылке я нашел немного информации по этому поводу — link.
Ниже мой вольный перевод сообщений из топика по ссылке выше.
Вопрос от mikkelbreum
Я только что изменил URl одного из своих постов с
http://site.org/session/theme-frameworks-trends-og-standardisering/
на
http://site.org/session/wordpress-themes-mere-end-design/
И сейчас при при переходе по старому URl, меня редиректит на новый. Это, конечно круто! Но это фича WordPress или баг?
Отслеживает ли WP историю URL-адресов, создавая редиректы для старых адресов? Глядя на заголовки ответов, я вижу, что WP использует SEO friendly 301 редирект. Я думал, что мне придется настроить редиректы в своем файле htaccess, поэтому мне интересно знать, как так происходит, что WP сам создает редиректы со старых урлов на новые.
Буду благодарен за любую информацию, о том, как WP это делает.
Ответ от Johannes Pille
Отслеживает ли WP историю URL-адресов, создавая редиректы для старых адресов?
Да, отслеживает. Если вы измените slug записи, WordPress создаст 301 редирект со старого адреса на новый (если сервер позволяет).
Буду благодарен за любую информацию, о том, как WP это делает.
К сожалению, не видел эту функцию должным образом задокументированную в Кодексе, поэтому не могу сказать, какие функции в ядре WP содержат ее и где в ядре она расположена.
Что я могу сказать: предыдущие версии используемых урлов расположены в базе данных в таблице wp_postmeta. Посмотрите _wp_old_slug в колонке meta_key, значение урла будет храниться в колонке meta_value. И если вы не хотите получать редирект при переходе по старой ссылке, то просто удалите значение в колонке meta_value.
Ситуации, когда эта фича WP может оказаться багом — это, когда вы изменили урл записи А или переименовали саму запись А, а потом создаете запись Б с таким же названием какое было ранее у записи А, и тогда при переходе по ссылке записи Б, вас будет редиректить на запись А, потому что в базе данных сохранился редирект старого урла А, который сейчас совпадает с урлом Б, на урл А, если вы понимаете о чем я.

Задача такая — сделать открытие картинок из карусели Owl-Carousel в pop-up окне по типу light…
Если не загружаются автоматически демо-данные для шаблона Avada нужно увеличить WP Memory Limit и прописать…
Добавляем к товару новый таб ‘Основной ингредиент’ Данный код добавляем в файл functions.php: *** Чтобы…
Как сделать скачивание pdf-файла после отправки формы с помощью плагина Contact Form 7. Открываем pdf-файл…
14 комментариев
Ответить
У меня вопрос по случаю, когда как раз «Ситуации, когда эта фича WP может оказаться багом — это, когда вы изменили урл записи А или переименовали саму запись А, а потом создаете запись Б»..
Что можно сделать в этом случае??
Методом проб определила, что достаточно просто изменить адрес постов, например вместо «-» поставить «_», но.. страниц, созданных «поверх» старых очень много, ок. 200 (( Есть ли какой-то способ попроще исправить мою проблему??
Заранее признательна!
«И если вы не хотите получать редирект при переходе по старой ссылке, то просто удалите значение в колонке
meta_value.»в статье было такое предложение решения проблемы, должно помочь.
Спасибо за ответ и за перевод — по крайней мере помогло понять с чем связана проблема с неработающими ссылками..
Но я не могу найти в _wp_old_slug те meta_value, которые нужно удалять.. т.е. там почему-то несколько сотен раз указан один и тот же meta_value с разными meta_id и post_id.. только один из 200, которые не работают.
Прошу прощения за банальность пояснений, я вообще-то с базой не умею работать, начиталась вот решила попробовать разобраться..
В любом случае спасибо за дельную статью!
Здравствуйте! У меня таких редиректов накопилось за 5 лет, 800 штук, если я массово их удалю, сайт не «пошатнется»?
Если на старые урлы покупались ссылки, то можете в панели Google Search Console обнаружить 404 ошибки, то есть поисковик будет пытаться по старым ссылкам проиндексировать страницы с измененными адресами.
Вариант 1 — вручную потом с этих 404 сделать редирект на нужные страницы плагином
Вариант 2 — если не жалко веса ссылок, который уйдет на несуществующие адреса, или если таковых ссылок не было, то просто забить на эти старые адреса.
Ну это мое мнение.
А если не удалять, это как то негативно влияет в целом на сайт?
Уверен, что нет.
Денис, благодарю за ответ!
Дружище столкнулся с подобной проблемой. Только редирект на неверную страницу.
Речь именно о страницах, а не о постах.
Была страница с адресом /подбор-авто/
Я изменил её URL на /podbor-avto/
Я не удалял/создавал страницу, я просто поменял адрес.
Спустя пару дней обнаружил, что /подбор-авто/ отдаёт код 301, и переадресует на…
внимание на /подбор-авто-окупается/ — это другая страница, созданная давно.
То есть, вместо того, чтобы установить 301 на новый URL /podbor-avto/, WP установил редирект на страницу с похожим адресом? Как так?
Я стал гуглить тему. Нашел информацию про таблице «wp_postmeta», значении «_wp_old_slug» в столбце «meta_key». Думаю, пойду да поменяю руками. Но там не оказалось данных об этих страницах. Там есть две строки данных о ЗАПИСЯХ, не имеющих отношения к искомым страницам.
Поиском перерыл всю БД: И по id всех участвующих страниц, и по названию — ничего толкового найти не могу.
В htaccess тоже не появилось записей о редиректе.
Помоги!
Стоят плагины.
Simple Lightbox
Google XML Sitemaps
Contact Form 7
All In One WP Security
All In One SEO Pack
Akismet Anti-Spam
В данном случае рекомендую поставить плагин Simple 301 Redirects.
И проставить руками 301 редиректы на нужные страницы.
Здравствуйте,
есть две страницы, к примеру:
denis.net/help редирект на denis.net/help/
Обе индексируются. Как грохнуть первую в WP, чтобы поисковик перестал её видеть? Ну и я тоже…
Попробуйте зайти в Настройки — Постоянные ссылки и просто нажать «Сохранить изменения».
В WordPress должен быть настроен редирект автоматически, но бывают сбои после переноса сайта или обновления движка.
В настройках Постоянных ссылок оптимальный вариант такой:

Есть какой-то штатный способ отключить создание редиректов? На новостном сайте журналисты часто меняют заголовки статей, которые экспортируются в Дзен.Новости, после изменения заголовка они меняют и URL, но так как старый URL уже успевает проиндексироваться Дзеном, то Дзен продолжает считать что старая версия новости со старым заголовком и старым URL всё ещё существует, но на самом деле работает редирект со старого URL на новый URL где уже новый заголовок, что приводит к появлению в Дзене двух копий одной и той же новости с разными заголовками и ведущими на один и тот же URL, получается что одна новость с исходным заголовком заблокирована, а вторая считается дубликатом первой из-за полной идентичности текста (за исключением заголовка).