wplang.ru wordpress WP Lang

Как удалить неиспользуемые языковые файлы WordPress и оптимизировать сайт

WordPress по умолчанию загружает множество языковых файлов (.mo и .po), многие из которых могут быть не нужны вашему сайту. Это не только занимает место на сервере, но и влияет на скорость загрузки и производительность. В этом материале подробно разберём, как безопасно удалить неиспользуемые языковые файлы, а также как предотвратить их повторное появление.

Почему важно удалять неиспользуемые языковые файлы

Каждая тема и плагин WordPress могут содержать переводы на разные языки. При обновлении эти файлы подгружаются и сохраняются в папках wp-content/languages и внутри папок плагинов и тем. Если вы ведёте сайт на одном языке, большинство этих файлов просто занимают место, а иногда могут влиять на производительность из-за лишних запросов.

Удаление неиспользуемых языковых файлов способствует:

  • Уменьшению размера бэкапов и копий сайта;
  • Снижению нагрузки на файловую систему;
  • Оптимизации загрузки сайта;
  • Упрощению управления переводами.

Однако важно делать это правильно, чтобы не удалить нужные переводы.

Как определить, какие языковые файлы можно удалить

Прежде чем удалять что-то, нужно понимать, какие языки используются на сайте. Самый простой способ — проверить текущую локаль WordPress, которая задаётся в wp-config.php в константе WPLANG или в настройках административной панели.

Для определения активной локали можно использовать функцию:

function wplang_get_current_locale() {
    return get_locale();
}

Зная локаль, например, ru_RU, можно оставить только файлы с таким именем и удалить остальные.

Удаление языковых файлов вручную и через код

Удаление через FTP или файловый менеджер

Самый прямой метод — подключиться к серверу через FTP или использовать встроенный файловый менеджер в панели хостинга и удалить лишние файлы из папок:

  • wp-content/languages
  • wp-content/languages/plugins
  • wp-content/languages/themes

Для примера, если сайт только на русском, можно удалить файлы с расширением .mo и .po для всех языков, кроме ru_RU.

Автоматизация удаления через код

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

function wplang_remove_unused_language_files() {
    $current_locale = get_locale();
    $language_paths = [
        WP_LANG_DIR . '/',
        WP_LANG_DIR . '/plugins/',
        WP_LANG_DIR . '/themes/'
    ];

    foreach ($language_paths as $path) {
        if (!is_dir($path)) continue;
        $files = scandir($path);
        foreach ($files as $file) {
            if (preg_match('/\.mo$/', $file) || preg_match('/\.po$/', $file)) {
                if (strpos($file, $current_locale) === false) {
                    @unlink($path . $file);
                }
            }
        }
    }
}
// Запускаем удаление при запуске админки (только один раз или по необходимости)
add_action('admin_init', 'wplang_remove_unused_language_files');

Эта функция проверяет стандартные пути локалей и удаляет файлы, не совпадающие с текущей локалью. Используйте с осторожностью и лучше сделайте резервную копию сайта перед использованием.

Как предотвратить повторное появление неиспользуемых языковых файлов

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

Отключение загрузки переводов плагинов и тем

Для этого добавим фильтр в functions.php вашей темы или в собственный плагин:

add_filter('auto_update_translation', function($update, $translation) {
    $current_locale = get_locale();
    if ($translation->language !== $current_locale) {
        return false; // Отключаем обновление переводов для других языков
    }
    return $update;
}, 10, 2);

Это предотвратит загрузку переводов, не относящихся к активной локали.

Использование плагинов для управления языками

Для более гибкого управления языковыми файлами можно использовать плагин Clearfy Pro, который позволяет отключать ненужные локали и оптимизировать загрузку ресурсов.

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

Как проверить, что языковые файлы удалены и сайт работает корректно

После удаления файлов важно проверить корректность работы сайта и отображение текста. Для этого:

  • Очистите кэш сайта и браузера;
  • Проверьте страницы на предмет отсутствия странных меток или непереведённых строк;
  • Отслеживайте ошибки в консоли браузера и логах сервера;
  • При необходимости восстановите удалённые файлы из резервной копии.

Также можно использовать функцию WordPress:

load_textdomain('default', WP_LANG_DIR . '/ru_RU.mo');

чтобы принудительно загрузить нужный языковой файл и проверить, что перевод работает.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее