wplang.ru wordpress WP Lang

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

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

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

Языковые файлы в WordPress (файлы с расширениями .mo и .po) содержат переводы текстов темы, плагинов и самого ядра. По умолчанию WordPress загружает переводы, которые соответствуют активному языку сайта. Остальные языковые файлы просто лежат в папках и занимают место. Причины удалить их:

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

Где хранятся языковые файлы WordPress

Основные места, где находятся языковые файлы:

  • wp-content/languages/ — здесь лежат переводы ядра, плагинов и тем, загруженные через репозиторий WordPress.
  • wp-content/plugins/имя-плагина/languages/ — языковые файлы конкретных плагинов.
  • wp-content/themes/имя-темы/languages/ — языковые файлы тем.

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

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

Для начала нужно понять, какие языки реально используются на сайте. Это можно сделать так:

  1. Посмотреть в админке WordPress в разделе Настройки → Общие → Язык сайта, какой язык установлен по умолчанию.
  2. Если установлен плагин мультиязычности (например, Polylang, WPML), посмотреть, какие языки активны.
  3. Проверить языки, которые вы на самом деле не используете, но для которых есть файлы в wp-content/languages.

Если языки не используются, их файлы можно удалить.

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

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

Обратите внимание, что удалять можно только файлы с расширениями .mo и .po, относящиеся к неиспользуемым языкам. Например, если вы используете только русский (ru_RU.mo) и английский (en_US.mo), то файлы fr_FR.mo, de_DE.mo и другие можно смело удалить.

Автоматизация удаления с помощью PHP-скрипта

Если хотите автоматизировать процесс, можно написать простой PHP-скрипт, который удалит неиспользуемые языковые файлы из wp-content/languages. Пример функции с префиксом wplang_:

function wplang_delete_unused_language_files($used_languages = array()) {
    $lang_dir = WP_CONTENT_DIR . '/languages';
    if (!is_dir($lang_dir)) {
        return;
    }
    $files = scandir($lang_dir);
    foreach ($files as $file) {
        if (preg_match('/^([a-z]{2}_[A-Z]{2})\.(mo|po)$/', $file, $matches)) {
            $lang_code = $matches[1];
            if (!in_array($lang_code, $used_languages)) {
                @unlink($lang_dir . '/' . $file);
            }
        }
    }
}

Пример вызова функции, если используются только русский и английский языки:

wplang_delete_unused_language_files(array('ru_RU', 'en_US'));

Этот код можно разместить в отдельном плагине или в функции темы и запускать разово для очистки.

Удаление языков плагинов и тем

Для удаления языков отдельных плагинов и тем процедура аналогична, но нужно аккуратно проверять, не используются ли они:

  • Откройте папку wp-content/plugins/имя-плагина/languages/ и удалите языки, которые не нужны.
  • То же для тем: wp-content/themes/имя-темы/languages/.

Если вы не уверены, лучше сделать резервную копию перед удалением.

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

Если вы хотите упростить работу с переводами, есть несколько полезных плагинов:

  • Clearfy Pro — позволяет оптимизировать WordPress и может помочь в управлении ненужными файлами, включая языки.
  • Loco Translate — удобный плагин для работы с переводами прямо в админке, можно увидеть, какие языки используются.
  • WP-Optimize — комплексный плагин для очистки базы данных и файлов, в том числе можно вручную удалить лишние языковые файлы.

Советы по безопасности и бэкапу перед удалением

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

Рекомендуется удалять языковые файлы только для тех языков, которые вы точно не используете. Если сайт планируется к расширению на новые языки, храните файлы заранее.

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

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

  • Отключите автоматические обновления переводов с помощью фильтра wplang_disable_auto_update_translations (пример ниже).
  • Используйте профессиональные плагины оптимизации, например, Clearfy Pro, для контроля обновлений.
add_filter('auto_update_translation', function($update, $item) {
    // Отключаем обновление переводов
    return false;
}, 10, 2);

Этот фильтр нужно добавить в functions.php темы или в плагин.

Итоги

Удаление неиспользуемых языковых файлов — важный шаг для оптимизации WordPress-сайта, особенно если вы работаете с мультиязычностью или часто меняете языки. Вручную или с помощью кода можно быстро очистить папки от мусора, освободить место и ускорить сайт. Для удобства используйте плагины, которые помогут контролировать и управлять языками.

×
Оптимизируй свой сайт!

Скидка -15% на премиум плагин Clearfy Pro

Купить плагин сейчас ⋙