При работе с WordPress на мобильных устройствах часто возникает проблема с загромождением пространства и замедлением загрузки сайта из-за накопления старых версий файлов, например, скриптов, стилей и медиафайлов. В отличие от десктопных версий, мобильные устройства имеют ограниченные ресурсы, поэтому важно своевременно удалять устаревшие версии файлов, чтобы улучшить производительность и UX.
Почему важно удалять старые версии файлов в WordPress для мобильных пользователей
Каждый раз, когда вы обновляете тему, плагин или загружаете новые версии скриптов и стилей, старые файлы остаются в кэше или на сервере. Мобильные браузеры могут загружать устаревшие файлы, что приводит к неправильному отображению сайта или увеличенному времени загрузки.
Кроме того, если вы используете плагины кеширования и оптимизации, например, Clearfy Pro, они могут создавать версии файлов с хэшами или временными метками, которые со временем накапливаются и занимают место на сервере, что особенно критично для мобильных сайтов с ограниченным хостингом.
Удаление старых версий файлов помогает:
- Снизить нагрузку на сервер и улучшить скорость загрузки
- Избежать конфликтов между разными версиями скриптов и стилей
- Обеспечить корректное отображение сайта на мобильных устройствах
Как определить и удалить старые версии файлов вручную
Первый шаг — понять, где хранятся версии файлов. Как правило, это:
- Папка
wp-content/cacheилиwp-content/uploads/cache - Папка плагинов, например,
wp-content/plugins/plugin-name/cache - Версии файлов с хэшами в URL, например,
style.12345.css
Удалять файлы вручную через FTP или через файловый менеджер хостинга неудобно и рискованно. Лучше автоматизировать процесс с помощью кода.
Пример кода для удаления старых файлов с определенным префиксом или суффиксом
function wpmobile_delete_old_versions($dir, $pattern) {
if (!is_dir($dir)) return;
$files = scandir($dir);
foreach ($files as $file) {
if (preg_match($pattern, $file)) {
@unlink($dir . '/' . $file);
}
}
}
// Пример использования: удаляем все файлы с префиксом style и хэшем
wpmobile_delete_old_versions(WP_CONTENT_DIR . '/cache', '/^style\.\d+\.css$/');
Этот код можно добавить в файл functions.php вашей темы или в отдельный плагин. Он удалит все файлы, имена которых соответствуют регулярному выражению, в указанной директории.
Использование плагинов для автоматической очистки кэша и старых версий
Если вы предпочитаете готовые решения, можно использовать плагины, которые помогут управлять версиями файлов и очищать устаревший кэш:
- Clearfy Pro — расширенный инструмент для оптимизации, включая управление кэшем и удаление старых файлов. На сайте подробнее о Clearfy Pro.
- WP Rocket — популярный плагин кеширования с функцией автоматической очистки устаревших файлов.
- WP-Optimize — плагин для очистки базы данных и файлов, включая кэш и старые версии.
Выбирая плагин, убедитесь, что он поддерживает работу с мобильными версиями сайта и не конфликтует с другими установленными инструментами.
Пример кода для удаления старых версий медиафайлов с помощью WP CLI
Для продвинутых пользователей удобно использовать WP CLI для управления файлами. Например, чтобы удалить все медиафайлы старше определённой даты, можно использовать следующий скрипт:
function wpmobile_delete_old_media( $days = 30 ) {
$args = array(
'post_type' => 'attachment',
'posts_per_page' => -1,
'date_query' => array(
array(
'column' => 'post_date',
'before' => date('Y-m-d', strtotime("-{$days} days")),
),
),
);
$query = new WP_Query( $args );
foreach ( $query->posts as $attachment ) {
wp_delete_attachment( $attachment->ID, true );
}
}
// Запускаем удаление файлов старше 60 дней
wpmobile_delete_old_media(60);
Этот код можно запускать через WP CLI, например, в виде команды или же через временный вызов в коде. Он удалит медиафайлы, которые не используются и старше указанного периода — это тоже помогает уменьшить вес сайта на мобильных устройствах.
Как настроить автоматическую очистку старых версий при обновлениях
Чтобы не заниматься очисткой вручную, можно добавить автоматическую очистку в хуки WordPress. Например, после обновления темы или плагина.
add_action('upgrader_process_complete', 'wpmobile_clear_cache_after_update', 10, 2);
function wpmobile_clear_cache_after_update($upgrader_object, $options) {
if ($options['action'] == 'update' && ($options['type'] == 'plugin' || $options['type'] == 'theme')) {
// Очистка кэша и старых версий
wpmobile_delete_old_versions(WP_CONTENT_DIR . '/cache', '/^.*\.\d+\..*$/');
}
}
Этот код вызовет функцию очистки после каждого обновления плагина или темы, что поможет поддерживать чистоту и актуальность файлов на сервере.
Рекомендации по работе с версиями файлов для мобильных WordPress-сайтов
Для оптимальной работы мобильных версий сайта советую придерживаться следующих правил:
- Используйте версионирование файлов с помощью query string (например,
style.css?v=123) вместо создания копий с разными именами, чтобы не накапливать лишние файлы. - Настройте автоматическую очистку кэша с помощью плагинов или собственных хуков, чтобы удалять старые версии.
- Регулярно проверяйте директории кэша и медиафайлов и удаляйте устаревшие данные.
- Используйте сервисы CDN с автоматическим управлением версиями и очисткой.
- Для мобильных сайтов оптимизируйте загрузку, подгружая только необходимые стили и скрипты, минимизируя их количество.