Есть ли плагин для WordPress для редиректов с кириллицы на латиницу?

Ссылка скопирована
1 ответ

Без лишних наворотов. Установил плагин "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, сайт не мой, попросили настроить.
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Елена Вебер Ответ

Для редиректов с кириллических 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;
    }
});

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. Не делайте слепую замену кириллицы в базе: можно сломать сериализованные данные и внутренние ссылки.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно