Как в CyrtoLat отключить редиректы и автоподмену кириллицы в латиницу для отдельных URL

У CyrtoLat обычно ждут одного: чтобы кириллические адреса и служебные URL не создавали хаос в индексации и внутренних ссылках. Но на практике часто всплывает обратная задача — часть адресов нужно оставить как есть, а часть продолжать нормализовать в латиницу. Это типичный сценарий для новостных разделов, старых посадочных страниц, ручных редиректов и контента, который уже живёт в поиске.

Если без разбора включить автоподмену и редиректы на всём сайте, можно получить лишние 301, дубли в аналитике, поломанные ссылки из внешних источников и неожиданные изменения URL в уже проиндексированных страницах. Ниже — как понять, что именно мешает, как точечно настроить CyrtoLat и как проверить, что всё работает без побочных эффектов.

Когда проблема действительно в редиректах CyrtoLat

Сначала стоит убедиться, что дело не в другом плагине, серверном редиректе или правилах .htaccess. В админке и в логах симптомы обычно похожи, но причины разные.

Типичные признаки

  • страница открывается по одному адресу, а в адресной строке быстро меняется на другой;
  • в поиске WordPress или в меню ссылка ведёт на кириллический URL, но после перехода браузер получает 301;
  • в отчётах аналитики появляются разные URL для одной и той же страницы;
  • внутренние ссылки в контенте ведут на старые адреса, а плагин их переписывает не там, где нужно;
  • после обновления записи меняется слаг, хотя вы этого не планировали.

Что проверить до настройки

  • нет ли правил редиректа в .htaccess или конфигурации nginx;
  • не стоит ли другой SEO-плагин с собственными canonical/redirect-механизмами;
  • не включена ли автоматическая транслитерация в редакторе или в плагине для слагов;
  • не создаёт ли тема свои ссылки через фильтры post_link или page_link.

Если редирект уже отрабатывает на уровне сервера, CyrtoLat может только добавить ещё один слой логики поверх проблемы. В таком случае сначала убирают конфликт, а уже потом настраивают сам плагин.

Какой сценарий выбрать: отключить всё или только часть правил

В CyrtoLat логика обычно строится вокруг двух задач: нормализация URL и защита от дублей. Для части сайтов достаточно оставить только одну из них. Если вам не нужна автоматическая подмена кириллицы в латиницу для конкретных типов контента, лучше отключать не весь плагин, а только проблемный участок.

ПодходКогда подходитМинус
Отключить редиректы целикомЕсли сайт уже использует собственные правила и нужен только транслит в редактореПоявляются дубли URL, если не настроить каноникализацию отдельно
Оставить редиректы только для записейЕсли страницы и так имеют стабильные URL, а записи нужно нормализоватьНужно проверить архивы, таксономии и вложения
Отключить автоподмену для отдельных шаблоновЕсли часть контента должна сохранять исходный слагТребуется аккуратная настройка фильтров и тестирование

На практике самый безопасный путь — не трогать глобальную логику, а ограничить её по типам записей или по конкретным URL-образцам.

Пошаговая настройка CyrtoLat без лишних редиректов

Ниже пример для случая, когда нужно сохранить кириллический адрес у одной страницы или у части контента, но оставить нормализацию для остального сайта. Точный набор фильтров зависит от версии CyrtoLat, поэтому перед внедрением проверьте документацию плагина и список доступных хуков в коде.

1. Сначала зафиксируйте проблемный URL

Возьмите конкретный адрес, который нельзя менять. Например, это может быть страница с внешними ссылками, старый лендинг или раздел, который уже сидит в выдаче. Важно не описывать проблему абстрактно, а привязаться к одному URL и проверить его поведение отдельно.

2. Добавьте исключение на уровне темы или мини-плагина

Если CyrtoLat предоставляет фильтр для исключения URL из транслитерации или редиректа, используйте его. Ниже пример того, как обычно выглядит точечное исключение по пути. Название фильтра в вашем проекте может отличаться, поэтому код нужно адаптировать под реальный хук плагина.

<?php
add_filter( 'cyrtolat_excluded_paths', function( $paths ) {
    $paths[] = '/kontakty/';
    $paths[] = '/o-kompanii/istoriya/';

    return array_unique( $paths );
} );

Если плагин работает через фильтрацию конкретных слагов, логика будет похожей: вы добавляете исключение для нужного слага и не даёте CyrtoLat переписывать его в латиницу.

<?php
add_filter( 'cyrtolat_transliterate_slug', function( $slug, $post_id ) {
    if ( in_array( $post_id, array( 123, 456 ), true ) ) {
        return $slug;
    }

    return $slug;
}, 10, 2 );

Смысл здесь простой: не пытаться отключить всё сразу, а оставить плагину только те URL, где он реально полезен.

3. Уберите конфликтующие редиректы

Если на сайте уже есть ручные 301-правила, проверьте, не дублируют ли они логику CyrtoLat. Два редиректа подряд часто выглядят как «плагин сломал URL», хотя на деле один редирект делает сервер, а второй — WordPress.

Для быстрой проверки откройте проблемный адрес через curl и посмотрите цепочку ответов:

curl -I -L https://example.com/старый-url/

Если видите несколько переходов подряд, сначала уберите лишний слой. Для WordPress-сайта это обычно означает: либо серверный редирект, либо редирект плагина, но не оба сразу без необходимости.

Как проверить, что CyrtoLat работает как нужно

После настройки важно не ограничиваться открытием страницы в браузере. Браузер может скрыть часть цепочки редиректов, а вам нужен именно технический результат.

  • проверьте ответ сервера через curl -I и убедитесь, что нет лишних 301;
  • сравните исходный URL и конечный URL в адресной строке;
  • посмотрите, не изменился ли canonical в исходном коде страницы;
  • проверьте внутренние ссылки в меню, хлебных крошках и контенте;
  • откройте страницу в режиме инкогнито, чтобы исключить кеш браузера;
  • если используется кеш-плагин, очистите кеш после изменения правил.

Полезно также проверить, как URL видит поисковый робот. Для этого достаточно открыть исходный код страницы и найти тег link rel="canonical". Если canonical указывает на один адрес, а фактически страница открывается по другому, это уже сигнал о конфликте настроек.

Частые ошибки и как их исправить

Редирект зацикливается

Обычно это происходит, когда CyrtoLat и сервер пытаются привести URL к разным вариантам. Например, один слой переводит кириллицу в латиницу, а второй возвращает пользователя на исходный путь. Решение — оставить только один источник истины для редиректов.

Слаг меняется после сохранения записи

Значит, автотранслитерация включена на уровне сохранения поста. Если для конкретного типа записи нужен ручной слаг, исключите его из правил плагина или отключите автогенерацию только для этого post type.

Меню и хлебные крошки ведут на разные URL

Это часто бывает, когда ссылки в шаблоне формируются через разные функции WordPress, а плагин фильтрует только часть из них. Проверьте, как тема получает permalink, и не переписывает ли она его вручную.

После настройки пропали старые страницы из поиска сайта

Если внутренний поиск строится по URL или по заголовкам с привязкой к слагу, изменение адреса может временно сломать выдачу. В таком случае нужно либо оставить старый URL как редирект, либо обновить индекс поиска и кеш.

Мини-чек-лист перед публикацией изменений

  • проверен конкретный URL, а не только главная страница;
  • убраны дублирующие редиректы на сервере;
  • исключения в CyrtoLat добавлены только для нужных адресов;
  • canonical совпадает с целевым URL;
  • кеш очищен на уровне плагина, сервера и CDN, если он есть;
  • внутренние ссылки в меню и контенте не ведут на старый адрес;
  • страница открывается без цепочки лишних 301.

Что делать, если нужен более тонкий контроль

Если сайт большой и ручные исключения уже неудобны, имеет смысл вынести правила в отдельный мини-плагин. Так вы не потеряете настройки при смене темы и сможете хранить логику рядом с проектом, а не в шаблоне.

<?php
/**
 * Plugin Name: CyrtoLat URL Exceptions
 */

add_filter( 'cyrtolat_excluded_paths', function( $paths ) {
    $paths[] = '/landing-2024/';
    $paths[] = '/press/';

    return array_values( array_unique( $paths ) );
} );

Такой подход удобнее, чем править functions.php: меньше риска потерять настройку после обновления темы, и проще отследить, что именно влияет на URL.

Практика безопасности и производительности

Редиректы и транслитерация сами по себе не тяжёлые, но на больших сайтах лишняя логика на каждом запросе заметна. Если CyrtoLat обрабатывает много исключений или проверяет длинные списки URL, держите правила короткими и не дублируйте их в нескольких местах.

С точки зрения безопасности важно не давать доступ к редактированию правил всем подряд. Если в плагине есть настройки исключений, ограничьте права только тем, кому действительно нужен доступ к SEO- и URL-настройкам. Ошибочный редирект на рабочем сайте часто ломает не только SEO, но и входящие ссылки из рассылок, CRM и внешних каталогов.

Если у вас уже используется Clearfy Pro для чистки дублей и технической оптимизации, не смешивайте его задачи с логикой CyrtoLat без проверки. Один плагин может отвечать за индексацию и архивы, другой — за URL и транслитерацию. Это нормально, пока у них нет пересекающихся правил.

В итоге рабочая схема выглядит так: сначала находите конкретный URL, который нельзя трогать, затем исключаете его из автоподмены или редиректа, потом проверяете цепочку ответов и canonical. Если всё сделано аккуратно, CyrtoLat продолжает решать свою задачу, но не вмешивается туда, где нужен ручной контроль.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как в CyrtoLat отключить редиректы и автоподмену кириллицы в латиницу для отдельных URL
26.08.2026
Как в CyrtoLat проверить и убрать дубли slug после миграции с кириллицы на латиницу
26.08.2026
Как в CyrtoLat проверить и отладить автоподмену слов в slug после массового импорта
26.08.2026
Как в CyrtoLat отключить автоподмену слов внутри slug и не ломать уже работающие URL
26.08.2026
×

Время действовать!

Суперцены на
WordPress!

-20%
на премиум темы

Не упусти шанс ⋙