Русификация WordPress сайта по 168-ФЗ: пошаговое руководство
WordPress остаётся самой популярной платформой для создания сайтов в России и во всём мире. По различным оценкам, более 40% всех веб-ресурсов работают именно на этом движке. С вступлением в силу Федерального закона 168-ФЗ о государственном языке Российской Федерации владельцы сайтов на WordPress столкнулись с необходимостью полной русификации своих ресурсов. В данном руководстве мы детально разберём каждый этап приведения WordPress-сайта в соответствие с требованиями законодательства.
Что требует 168-ФЗ от владельцев сайтов на WordPress
Федеральный закон 168-ФЗ устанавливает обязательное использование русского языка на сайтах, ориентированных на российскую аудиторию. Для владельцев сайтов на WordPress это означает необходимость проверки и исправления множества элементов: от основного контента страниц до технических надписей в шаблонах тем. Подробнее о требованиях закона читайте в нашей базе знаний о 168-ФЗ.
Особенность WordPress заключается в том, что платформа изначально разрабатывалась на английском языке. Несмотря на существование официальной русской локализации, множество элементов интерфейса, плагинов и тем могут содержать непереведённые англоязычные строки. Именно эти строки становятся потенциальными нарушениями 168-ФЗ.
Основные источники англоязычных элементов в WordPress
Перед началом работы важно понять, где именно в WordPress могут скрываться нерусифицированные элементы. Выделим ключевые области, требующие внимания.
Ядро WordPress
Само ядро WordPress при правильной установке с русской локализацией переведено достаточно хорошо. Однако некоторые строки могут оставаться непереведёнными после обновлений. Особенно это касается новых функций, добавленных в последних версиях платформы. Рекомендуется всегда проверять, установлена ли последняя версия языкового пакета.
Темы оформления
Темы — один из главных источников англоязычных надписей. Даже популярные темы с официальным переводом могут содержать непереведённые элементы в таких местах, как:
- Кнопки навигации (Read More, Previous, Next, Submit)
- Надписи в формах комментариев (Leave a Reply, Comment, Name, Email)
- Элементы поиска (Search, Search Results, Nothing Found)
- Подвал сайта (Powered by, Built with, Copyright)
- Страницы ошибок 404 (Page Not Found, Oops)
- Элементы пагинации и навигации по архивам
Плагины
Плагины представляют собой наиболее сложную область для русификации, поскольку их количество на типичном сайте может достигать десятков. Каждый плагин потенциально добавляет свои строки на фронтенд сайта, и далеко не все из них имеют качественный русский перевод.
Пользовательский контент
Не забывайте о самом контенте: статьях, описаниях категорий, мета-данных, названиях медиафайлов. Всё это должно быть на русском языке в соответствии с требованиями закона. Для проверки контента рекомендуем воспользоваться нашим автоматическим сканером.
Пошаговая русификация WordPress
Шаг 1. Проверка языковых настроек
Первым делом убедитесь, что в настройках WordPress установлен русский язык. Перейдите в панель управления: Настройки → Общие → Язык сайта. Выберите «Русский» из выпадающего списка. Это базовая настройка, которая определяет язык интерфейса администратора и подгружает файлы переводов для ядра.
Важно: смена языка в настройках WordPress затрагивает только ядро и те плагины/темы, которые имеют соответствующие файлы перевода. Большинство сторонних расширений потребуют отдельной русификации.
Шаг 2. Обновление переводов
WordPress позволяет обновлять переводы отдельно от основных обновлений. Перейдите в раздел Консоль → Обновления и проверьте наличие обновлений переводов. Зачастую свежие переводы добавляют русификацию для ранее непереведённых строк.
// Программное обновление переводов через WP-CLI
wp language core update
wp language plugin update --all
wp language theme update --all
Шаг 3. Аудит текущей темы
Проведите полный аудит вашей темы на предмет англоязычных строк. Откройте сайт в режиме инкогнито и внимательно пройдитесь по каждой странице. Обратите внимание на следующие элементы:
| Элемент темы | Типичная английская строка | Русский эквивалент |
|---|---|---|
| Кнопка «Читать далее» | Read More | Читать далее |
| Поле поиска | Search... | Поиск... |
| Комментарии | Leave a Reply | Оставить комментарий |
| Навигация | Previous / Next | Предыдущая / Следующая |
| Страница 404 | Page Not Found | Страница не найдена |
| Результаты поиска | No Results Found | Ничего не найдено |
| Форма обратной связи | Submit / Send | Отправить |
| Архив записей | Archives | Архив |
Шаг 4. Создание дочерней темы для локализации
Если ваша тема не полностью переведена, создайте дочернюю тему и добавьте собственные переводы. Это позволит сохранить изменения при обновлении родительской темы.
/* style.css дочерней темы */
/*
Theme Name: МояТема Child
Template: parent-theme-folder
Text Domain: mytheme-child
*/
/* functions.php дочерней темы */
<?php
function mytheme_child_setup() {
load_child_theme_textdomain(
'parent-theme-domain',
get_stylesheet_directory() . '/languages'
);
}
add_action('after_setup_theme', 'mytheme_child_setup');
?>
Шаг 5. Использование плагинов для перевода строк
Для перевода жёстко закодированных строк в темах и плагинах рекомендуем использовать специализированные плагины. Наиболее эффективные решения:
- Loco Translate — позволяет редактировать файлы переводов прямо из панели управления WordPress. Поддерживает PO/MO файлы и создание пользовательских переводов.
- TranslatePress — визуальный редактор переводов, позволяющий переводить строки прямо на фронтенде сайта, что существенно упрощает поиск непереведённых элементов.
- Say What? — лёгкий плагин для замены конкретных текстовых строк без редактирования файлов тем и плагинов.
- String Locator — инструмент для поиска конкретных строк в файлах тем и плагинов.
Шаг 6. Перевод с помощью Loco Translate
Установите и активируйте плагин Loco Translate. После активации перейдите в раздел Loco Translate → Темы (или Плагины). Выберите нужную тему или плагин, нажмите «Новый язык» и выберите русский. Система покажет все строки, доступные для перевода.
// Пример использования функции перевода в теме
// Было (английский):
echo 'Read More';
// Стало (с поддержкой перевода):
echo __('Читать далее', 'your-theme-textdomain');
// Для строк с HTML-разметкой:
echo wp_kses(
__('<strong>Внимание:</strong> поле обязательно для заполнения', 'your-theme-textdomain'),
array('strong' => array())
);
Шаг 7. Русификация популярных плагинов
Рассмотрим русификацию наиболее часто используемых плагинов WordPress, которые выводят текст на фронтенде.
WooCommerce
WooCommerce — самый популярный плагин для интернет-магазинов. Имеет официальный русский перевод, но некоторые строки могут оставаться на английском, особенно в шаблонах электронных писем и на странице оформления заказа. Проверьте разделы: страницу корзины, оформление заказа, личный кабинет покупателя и шаблоны уведомлений.
// Фильтр для замены строк WooCommerce
add_filter('gettext', 'custom_woo_translate', 20, 3);
function custom_woo_translate($translated, $text, $domain) {
if ($domain === 'woocommerce') {
switch ($text) {
case 'Add to cart':
$translated = 'В корзину';
break;
case 'Proceed to checkout':
$translated = 'Оформить заказ';
break;
case 'Place order':
$translated = 'Разместить заказ';
break;
case 'Return to shop':
$translated = 'Вернуться в магазин';
break;
}
}
return $translated;
}
Contact Form 7
Плагин контактных форм обычно хорошо переведён, но шаблоны форм по умолчанию создаются на английском языке. Не забудьте перевести тексты плейсхолдеров, кнопок отправки и сообщений об ошибках валидации. Перейдите в настройки каждой формы и замените все англоязычные строки.
Elementor и другие конструкторы страниц
Конструкторы страниц часто содержат англоязычные шаблоны виджетов. При использовании Elementor проверьте стандартные тексты в виджетах кнопок, форм, аккордеонов и табов. Все значения по умолчанию необходимо заменить на русскоязычные аналоги.
Автоматическая проверка русификации
После проведения ручной русификации рекомендуется запустить автоматическую проверку. Сервис КириллоСкан проанализирует ваш сайт и выявит все оставшиеся англоязычные элементы, включая скрытые строки в JavaScript, атрибуты alt и title изображений, placeholder-ы в формах и метаданные страниц.
Работа с файлами перевода вручную
Если вы предпочитаете работать с файлами перевода напрямую, используйте утилиту WP-CLI или программу Poedit. Файлы переводов WordPress имеют формат PO (текстовый) и MO (скомпилированный бинарный). Все файлы переводов располагаются в директории wp-content/languages/.
# Структура файлов переводов WordPress
wp-content/
languages/
ru_RU.po # Перевод ядра WordPress
ru_RU.mo
plugins/
woocommerce-ru_RU.po # Перевод плагина
woocommerce-ru_RU.mo
themes/
mytheme-ru_RU.po # Перевод темы
mytheme-ru_RU.mo
Создание файла перевода с помощью Poedit
Откройте Poedit и создайте новый каталог на основе POT-файла вашей темы или плагина. POT-файл — это шаблон перевода, содержащий все строки для перевода. Выберите русский язык, переведите все строки и сохраните файл с именем, соответствующим текстовому домену и локали (например, mytheme-ru_RU.po). Poedit автоматически создаст MO-файл.
Русификация атрибутов и метаданных
Закон 168-ФЗ распространяется не только на видимый текст, но и на метаданные. Убедитесь, что следующие элементы переведены на русский:
- Атрибуты alt у изображений — описания изображений должны быть на русском языке. Проверьте медиабиблиотеку WordPress и обновите все alt-тексты.
- Title страниц — заголовки страниц в тегах <title> формируются темой или SEO-плагином. Убедитесь, что шаблоны заголовков не содержат англоязычных разделителей и суффиксов.
- Meta description — описания страниц должны быть на русском. Если используется плагин Yoast SEO или Rank Math, проверьте шаблоны описаний.
- Атрибуты placeholder в формах — подсказки в полях ввода часто остаются на английском языке.
- Атрибуты aria-label — хотя они не видны обычным пользователям, закон может затрагивать и эти элементы.
// Фильтр для русификации шаблона заголовка в Yoast SEO
add_filter('wpseo_title', function($title) {
// Замена «Page» на «Страница» в title
$title = str_replace(' - Page ', ' - Страница ', $title);
return $title;
});
// Русификация alt-текстов для WooCommerce
add_filter('woocommerce_product_get_image', function($image, $product) {
if (strpos($image, 'alt=""') !== false) {
$name = $product->get_name();
$image = str_replace('alt=""', 'alt="' . esc_attr($name) . '"', $image);
}
return $image;
}, 10, 2);
Русификация JavaScript-компонентов
Многие темы и плагины используют JavaScript для вывода текстовых сообщений. Эти строки невозможно перевести стандартными средствами WordPress. Для их русификации необходимо использовать механизм wp_localize_script или подменять строки через фильтры.
// Передача русских строк в JavaScript
function mytheme_localize_scripts() {
wp_localize_script('mytheme-main', 'mythemeStrings', array(
'loading' => 'Загрузка...',
'error' => 'Произошла ошибка',
'success' => 'Успешно отправлено',
'confirm' => 'Вы уверены?',
'close' => 'Закрыть',
'share' => 'Поделиться',
'copy' => 'Копировать ссылку',
'copied' => 'Скопировано!',
'noResults' => 'Ничего не найдено',
'showMore' => 'Показать ещё',
));
}
add_action('wp_enqueue_scripts', 'mytheme_localize_scripts');
Особые случаи: что делать с техническими терминами
Закон 168-ФЗ предусматривает исключения для технических терминов, не имеющих общепринятых аналогов на русском языке. Однако интерпретация этих исключений может быть неоднозначной. Рекомендуем ознакомиться с перечнем исключений из закона и использовать словарь замен для поиска русских эквивалентов технических терминов.
Основные принципы при работе с техническими терминами в WordPress:
- Если существует устоявшийся русский аналог — используйте его (например, «электронная почта» вместо «email» в видимых надписях)
- Для кнопок и навигации всегда используйте русские варианты
- Технические названия в коде (CSS-классы, атрибуты data-*) не требуют перевода
- Названия брендов и продуктов могут оставаться на языке оригинала
Проверка шрифтов и кодировки
Убедитесь, что используемые на сайте шрифты корректно отображают кириллические символы. Многие Google Fonts по умолчанию подгружаются только с латинским набором символов. Добавьте кириллический подмножество при подключении шрифтов:
/* Подключение Google Font с кириллицей */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap&subset=cyrillic,cyrillic-ext');
/* Или в HTML */
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap&subset=cyrillic,cyrillic-ext" rel="stylesheet">
Также проверьте, что в настройках базы данных WordPress используется кодировка UTF-8 (utf8mb4). Это необходимо для корректного хранения и отображения всех кириллических символов, включая букву «ё» и специальные типографские знаки.
Чек-лист русификации WordPress по 168-ФЗ
Используйте этот список для систематической проверки всех элементов вашего сайта на WordPress:
- Язык сайта установлен как «Русский» в настройках WordPress
- Обновлены все файлы переводов (ядро, темы, плагины)
- Проверены все страницы на наличие англоязычных строк в теме
- Русифицированы кнопки, формы и навигационные элементы
- Переведены шаблоны WooCommerce (если используется)
- Проверены и обновлены alt-тексты всех изображений
- Русифицированы meta title и description для всех страниц
- Проверены placeholder-ы во всех формах
- Русифицированы строки в JavaScript-компонентах
- Шрифты поддерживают кириллицу
- Кодировка базы данных UTF-8
- Проверены страница 404 и страница результатов поиска
- Русифицированы виджеты боковой панели и подвала
- Проведено финальное автоматическое сканирование
Регулярное обслуживание и мониторинг
Русификация — это не разовая задача. Каждое обновление темы, плагина или самого WordPress может привнести новые непереведённые строки. Рекомендуем настроить регулярное сканирование сайта через КириллоСкан и подключить мониторинг для своевременного обнаружения новых нарушений. Подробнее о размерах штрафов за нарушение 168-ФЗ вы можете узнать в соответствующем разделе базы знаний.
Заключение
Русификация WordPress-сайта по 168-ФЗ — это комплексная задача, требующая внимания к деталям и систематического подхода. Основные сложности связаны с многообразием тем и плагинов, каждый из которых может содержать собственные непереведённые строки. Используйте описанные в данном руководстве инструменты и методы для поэтапной русификации, и не забывайте о регулярном мониторинге. Автоматизированные средства проверки, такие как КириллоСкан, помогут поддерживать сайт в соответствии с требованиями закона на постоянной основе.