Почему возникает 301 редирект на /удалить и как его отключить
Вы столкнулись с ситуацией, когда на вашем сайте WordPress некоторые ссылки, например /product-category/напольные-покрытия/ламинат/ideal-ламинат/collection-choice/, автоматически перенаправляются на /удалить. При этом вы не находите ни плагинов для редиректов, ни записей в файле .htaccess. Дополнительно работает перенаправление с русских символов на английские (например, с /напольные-покрытия/ламинат/ на /napolnye-pokrytiya/laminat/). Разберёмся, в чём причина и как это исправить.
Основные причины 301 редиректа на /удалить
Перенаправление на страницу /удалить часто связано с работой плагинов кэширования, оптимизации базы данных или систем управления ссылками. Даже если вы не устанавливали специальные плагины для редиректов, некоторые решения (например, Redirection, Yoast SEO, Rank Math или All in One SEO) могут создавать скрытые правила перенаправления при удалении или изменении URL.
Скрытые редиректы в плагинах SEO
Плагины SEO часто автоматически генерируют 301 редиректы для старых URL после изменения структуры постоянных ссылок. Проверьте настройки вашего SEO-плагина: в Yoast SEO перейдите в «Инструменты» → «Редиректы», в Rank Math - в «Модули» → «Редиректы». Если там присутствует правило, ведущее на /удалить, удалите его.
Редиректы из базы данных
Некоторые плагины (например, Redirection или Safe Redirect Manager) хранят правила редиректов в таблицах базы данных WordPress (wp_redirection_items или wp_options). Даже после деактивации плагина записи могут остаться. Используйте плагин WP-Optimize или phpMyAdmin для поиска и удаления таких записей.
Почему работает редирект с русских символов на английские
Перенаправление с кириллических URL на латиницу (например, /напольные-покрытия/ламинат/ → /napolnye-pokrytiya/laminat/) - стандартное поведение WordPress при включённой опции транслитерации. Эта функция может быть активирована в настройках постоянных ссылок или через плагины (например, RusToLat, Cyr to Lat или Polylang).
Как отключить транслитерацию URL
- Перейдите в «Настройки» → «Постоянные ссылки» и убедитесь, что выбран стандартный формат (например, «День и имя»). Если там стоит «Произвольно» с кодом, отключите транслитерацию.
- Проверьте активные плагины: деактивируйте любые плагины для транслитерации (например, RusToLat). Если редирект исчез, проблема решена.
- Очистите кэш сайта и браузера после изменений.
Пошаговая инструкция по отключению скрытых редиректов
Чтобы полностью избавиться от 301 редиректа на /удалить, выполните следующие шаги:
- Проверьте файл .htaccess - откройте его через FTP или cPanel. Ищите строки с
Redirect 301илиRewriteRule. - Проверьте плагины - отключите все плагины, кроме необходимых, и проверьте, исчез ли редирект.
- Очистите базу данных - используйте плагин WP-Sweep или Advanced Database Cleaner для удаления мусорных записей.
- Проверьте консоль разработчика - откройте инструменты разработчика в браузере (F12), перейдите на вкладку «Сеть» и посмотрите заголовки ответа. Если видите
Location: /удалить, значит редирект задан на уровне PHP или базы данных.
Профилактика проблемы
Чтобы избежать появления скрытых редиректов в будущем: используйте минимальное количество плагинов для управления ссылками; регулярно очищайте базу данных; перед удалением или изменением URL проверяйте, не создаёт ли плагин автоматические перенаправления. Если редирект на /удалить появляется снова, проверьте логи сервера - возможно, это результат работы системного плагина безопасности или кэширования.