Есть ли плагин для WordPress для редиректов с кириллицы на латиницу?
Без лишних наворотов. Установил плагин "301 Redirects", он так не умеет.
РЕШЕНИЕ.
Короче, балбесы, решилось куском кода отсюда:
function wrongLinkRedirecting(){ $arRedirects = [ '/кривой/адрес' => '/правильный/адрес', '/кривойАдрес2/' => '/правильный/адрес/2/' ]; if(isset($arRedirects[$_SERVER['REQUEST_URI']])){ wp_redirect( $arRedirects[$_SERVER['REQUEST_URI']], 301 ); exit(); } } add_action( 'init', 'wrongLinkRedirecting' ); |
function wrongLinkRedirecting(){ $arRedirects = [ '/кривой/адрес' => '/правильный/адрес', '/кривойАдрес2/' => '/правильный/адрес/2/' ]; if(isset($arRedirects[$_SERVER['REQUEST_URI']])){ wp_redirect( $arRedirects[$_SERVER['REQUEST_URI']], 301 ); exit(); } } add_action( 'init', 'wrongLinkRedirecting' );
В файле functions.php активной темы вставляется в конец.
Спасибо всем неравнодушным!
Дополнительно:
Такие редиректы лучше в хтацес прописывать, а не нагружать ими движок
Ответы:
Привет. Этот плагин должен отвечать твоим требованиям:
https://wordpress.org/plugins/cyr2lat/
А почитать подробнее о нем тут:
https://www.wordpress-abc.ru/plaginy/kak-perevesti...
- Привет, про него читал, но хочется без создания такой конструкции, когда один плагин переделывает с кириллицы на латиницу, а потом другой редиректит. Боюсь, что что-нибудь да поломается. Там важно, чтоб с точки зрения СЕО ничего не испортилось. В общем, в идеале нужен плагин, в котором ты вписал ссылку на кириллице и все работает. Удивлен, что великий и ужасный Вордпресс так не умеет.
- rinatoptimus, надо было сразу использовать cyr2lat, тогда бы всё было нормально. А каким плагином ты поломал guid - ты не сказал.
Удивлен, что великий и ужасный Вордпресс так не умеет.
Вордпресс вообще тут не причём. Откуда ему знать сколько раз и как ты изменял слаги.
- Refguser, сайт не мой, попросили настроить.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для редиректов с кириллических URL на латинские универсального «магического» плагина обычно недостаточно: транслитерация и 301-редиректы — разные задачи. Плагин вроде Cyr-To-Lat поможет создавать новые латинские слаги, но уже существующие кириллические адреса нужно редиректить отдельно, чтобы не потерять SEO.
Если редиректов немного, нормальный вариант — явная карта редиректов в коде или в плагине Redirection. Кодовый вариант:
add_action('template_redirect', function () { $uri = rawurldecode(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)); $redirects = [ '/кривой/адрес/' => '/pravilnyy/adres/', '/старый-раздел/' => '/new-section/', ]; if (isset($redirects[$uri])) { wp_safe_redirect(home_url($redirects[$uri]), 301); exit; } });
Если редиректов много, лучше использовать серверный уровень или плагин Redirection с импортом CSV. Для Nginx/Apache это быстрее, но требует аккуратности и доступа к конфигам.
Перед массовой заменой URL сделайте таблицу соответствий «старый URL → новый URL», проверьте отсутствие цепочек редиректов и отдачу 301. Не делайте слепую замену кириллицы в базе: можно сломать сериализованные данные и внутренние ссылки.