Транслитерация URL — важный аспект, если вы хотите, чтобы адреса страниц вашего сайта на WordPress были удобочитаемыми и SEO-дружелюбными, особенно если контент на русском языке. В этой статье подробно разберем, как настроить автоматическую транслитерацию URL, чтобы кириллические символы преобразовывались в латиницу, а структура ссылок оставалась чистой и понятной.
Почему важна автоматическая транслитерация URL в WordPress
По умолчанию WordPress при создании URL использует заголовок записи. Если ваш заголовок содержит кириллицу, WordPress сохраняет URL в таком виде, что может привести к длинным и неудобным ссылкам с процентным кодированием символов. Это плохо влияет на SEO и пользовательский опыт.
Автоматическая транслитерация решает эту проблему — кириллические символы преобразуются в латинские аналоги, например, «привет мир» станет «privet-mir». Это улучшает читаемость и индексирование ссылок поисковыми системами.
Настройка транслитерации может быть выполнена с помощью плагинов или кастомного кода. Рассмотрим оба варианта.
Использование плагинов для автоматической транслитерации URL
Плагин Cyr-to-Lat Enhanced
Один из самых популярных плагинов для транслитерации — Cyr-to-Lat Enhanced. Он автоматически преобразует заголовки на кириллице в латиницу при создании URL.
Преимущества плагина:
- Поддержка русского и украинского языков.
- Настраиваемые правила транслитерации.
- Автоматическая замена пробелов и спецсимволов на дефисы.
Установка и базовая настройка:
- Установите и активируйте плагин через админку WordPress.
- Перейдите в настройки плагина и проверьте, что включена автоматическая транслитерация URL.
- Сохраните настройки и создайте новую запись — URL будет транслитерирован автоматически.
Этот плагин отлично подходит для большинства проектов и не требует дополнительного кода.
Плагин Clearfy Pro для расширенной оптимизации URL
Если вы используете Clearfy Pro, то в нем есть встроенные функции для транслитерации и оптимизации URL. Преимущество — комплексный подход к SEO и оптимизации сайта.
Особенности:
- Автоматическая транслитерация заголовков.
- Удаление лишних слов и символов.
- Управление структурой permalink.
Настройка происходит в панели Clearfy, достаточно активировать нужные опции.
Кастомное решение: автоматическая транслитерация URL на PHP
Если вы хотите реализовать транслитерацию без плагинов, можно добавить собственный код в functions.php вашей темы или в отдельный плагин. Ниже пример функции для транслитерации кириллицы в латиницу и автоматической замены при сохранении записи.
function cyrtolat_translit($text) {
$converter = array(
'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd',
'е' => 'e', 'ё' => 'e', 'ж' => 'zh', 'з' => 'z', 'и' => 'i',
'й' => 'y', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n',
'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't',
'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c', 'ч' => 'ch',
'ш' => 'sh', 'щ' => 'sch', 'ь' => '', 'ы' => 'y', 'ъ' => '',
'э' => 'e', 'ю' => 'yu', 'я' => 'ya',
'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D',
'Е' => 'E', 'Ё' => 'E', 'Ж' => 'Zh', 'З' => 'Z', 'И' => 'I',
'Й' => 'Y', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N',
'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T',
'У' => 'U', 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C', 'Ч' => 'Ch',
'Ш' => 'Sh', 'Щ' => 'Sch', 'Ь' => '', 'Ы' => 'Y', 'Ъ' => '',
'Э' => 'E', 'Ю' => 'Yu', 'Я' => 'Ya',
);
$text = strtr($text, $converter);
$text = strtolower($text);
$text = preg_replace('~[^-a-z0-9_]+~u', '-', $text);
$text = trim($text, '-');
return $text;
}
function cyrtolat_custom_sanitize_title($title) {
return cyrtolat_translit($title);
}
add_filter('sanitize_title', 'cyrtolat_custom_sanitize_title', 10, 1);В этом коде функция cyrtolat_translit переводит кириллицу в латиницу, заменяет пробелы и спецсимволы на дефисы и формирует чистый URL. Фильтр sanitize_title применяет транслитерацию при создании ярлыка записи.
Этот подход гибкий и не требует сторонних плагинов, но требует базовых знаний PHP и тестирования, чтобы избежать конфликтов с другими плагинами.
Дополнительные рекомендации по транслитерации URL
Обработка дублей и уникальность URL
При автоматической транслитерации возможны ситуации, когда разные заголовки преобразуются в одинаковый URL. WordPress автоматически добавляет суффиксы, например «-2», но лучше контролировать этот процесс.
Для контроля можно использовать хук wp_unique_post_slug, чтобы реализовать логику формирования уникальных ярлыков в своем плагине или теме.
Кэширование и производительность
Если у вас большой сайт с частым созданием записей, транслитерация может немного влиять на производительность. Для оптимизации кода можно кэшировать результаты транслитерации, например, используя transient API WordPress.
Интеграция с SEO-плагинами
Если вы используете SEO-плагины, такие как Yoast SEO или Rank Math, убедитесь, что транслитерация URL не конфликтует с их функциями. Лучше всего сначала настроить транслитерацию, а затем проверить работу SEO-плагинов.
Заключение: что выбрать — плагин или кастомный код?
Для большинства пользователей и проектов рекомендуется использовать проверенные плагины, например, Cyr-to-Lat Enhanced или Clearfy Pro. Это экономит время и снижает риск ошибок.
Если же вы хотите кастомизировать логику транслитерации или минимизировать количество плагинов, можно реализовать собственную функцию, как описано выше.
В любом случае, автоматическая транслитерация URL значительно улучшит удобство ссылок и SEO вашего WordPress-сайта.