О насБлогКонтакты
Веб-разработка12 октября 2015 г. 4 мин 110Обновлено: 22 июня 2026 г.

Как оптимизировать WordPress для медленного интернета в Кыргызстане (2015)

AunimedaAunimeda
📋 Содержание

Коротко: Установите WP Super Cache (статические HTML-файлы вместо PHP каждый раз), сожмите изображения через Smush, включите gzip в .htaccess, отключите XML-RPC и emoji. Эти 5 шагов давали снижение времени загрузки с 6-8 сек до 1.5-2 сек на типичном кыргызстанском 3G.


Исходная ситуация

Типичный клиентский WordPress сайт в Бишкеке в 2015 году:

  • Хостинг: виртуальный, 512 МБ RAM, $5/мес
  • WordPress 4.3 + 12 плагинов + премиум тема
  • Время загрузки: 7.2 секунды (GTmetrix, Almaty сервер)
  • Размер страницы: 2.8 МБ
  • Запросов к серверу: 68

Цель: < 2 секунд, < 1 МБ, < 30 запросов.


Шаг 1: WP Super Cache

# Установить через WP Admin или WP-CLI
wp plugin install wp-super-cache --activate

# Настройки: WP Admin → Settings → WP Super Cache
# ✓ Cache Hits to this website → Enabled
# ✓ Cache delivery method → mod_rewrite (самый быстрый)
# ✓ Compress pages (gzip)
# ✓ Cache rebuild → enabled
# .htaccess - автоматически добавляется WP Super Cache
# Секция mod_rewrite для статического кэша:

# BEGIN WPSuperCache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# Не кэшировать для залогиненных пользователей
RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress_(?!test_cookie)|wp-postpass_).*$
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
RewriteRule ^(.*) "/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz" [L]
</IfModule>
# END WPSuperCache

После включения: время загрузки упало с 7.2 до 2.8 секунды. PHP не вызывается при каждом запросе - отдаётся готовый HTML файл.


Шаг 2: Оптимизация изображений

# В 2015: плагин Smush или ручная оптимизация
wp plugin install wp-smushit --activate

# Смажем все существующие изображения
wp smush-img --all
// functions.php - добавить в тему
// Ограничить размер загружаемых изображений
add_filter('wp_handle_upload_prefilter', function($file) {
    // Максимум 800KB для загружаемых изображений
    if ($file['size'] > 800 * 1024) {
        $file['error'] = 'Изображение слишком большое. Максимум 800KB.';
    }
    return $file;
});

// Убрать лишние размеры изображений
// WordPress создаёт thumbnail/medium/large/full - нам нужны не все
add_filter('intermediate_image_sizes_advanced', function($sizes) {
    unset($sizes['medium_large']); // Добавлен в WP 4.4, нам не нужен
    return $sizes;
});

Шаг 3: Отключить XML-RPC и Emoji

// functions.php

// Отключить XML-RPC (атаки bruteforce, не нужен если нет мобильного приложения)
add_filter('xmlrpc_enabled', '__return_false');

// Удалить emoji JavaScript (50KB на каждой странице)
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_filter('the_content_feed', 'wp_staticize_emoji');
remove_filter('comment_text_rss', 'wp_staticize_emoji');
remove_filter('wp_mail', 'wp_staticize_emoji_for_email');

// Удалить query strings из статических файлов (кэширование CDN)
function remove_wp_ver_css_js($src) {
    if (strpos($src, 'ver=')) {
        $src = remove_query_arg('ver', $src);
    }
    return $src;
}
add_filter('style_loader_src', 'remove_wp_ver_css_js', 9999);
add_filter('script_loader_src', 'remove_wp_ver_css_js', 9999);

Шаг 4: Минификация CSS/JS

# Плагин Autoptimize - минификация и конкатенация
wp plugin install autoptimize --activate
// wp-config.php - дополнительные настройки
define('AUTOPTIMIZE_CACHE_NOGZIP', false);  // Включить gzip сжатие

// Настройки в WP Admin → Settings → Autoptimize:
// ✓ Optimize JavaScript Code
// ✓ Aggregate JS-files (объединить в один файл)
// ✓ Optimize CSS Code
// ✓ Aggregate CSS-files
// ✓ Remove Google Fonts (если не используются)
// ✓ Optimize HTML Code

Шаг 5: Настройка .htaccess (браузерное кэширование + gzip)

# .htaccess - добавить перед # BEGIN WordPress

# Gzip компрессия
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/plain text/html text/xml
    AddOutputFilterByType DEFLATE text/css application/javascript
    AddOutputFilterByType DEFLATE application/json application/xml
</IfModule>

# Браузерное кэширование
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg      "access plus 1 year"
    ExpiresByType image/jpeg     "access plus 1 year"
    ExpiresByType image/gif      "access plus 1 year"
    ExpiresByType image/png      "access plus 1 year"
    ExpiresByType image/webp     "access plus 1 year"
    ExpiresByType text/css       "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType text/html      "access plus 0 seconds"
</IfModule>

# Keep-Alive
<IfModule mod_headers.c>
    Header set Connection keep-alive
</IfModule>

Результаты после всех шагов

Метрика До После
Время загрузки (GTmetrix) 7.2 с 1.2 с
Размер страницы 2.8 МБ 680 КБ
Запросов HTTP 68 22
GTmetrix Score D (52%) A (94%)

На 3G соединении 3 Мбит/с - с 8 секунд до 1.8 секунды. Для аудитории с мобильным интернетом это разница между «зашёл на сайт» и «закрыл вкладку».


Важно: что НЕ стоило делать

Не устанавливайте Jetpack ради одной функции. Jetpack в 2015 грузил 200+ KB JavaScript. Если нужна только форма подписки - Contact Form 7.

Не используйте слайдеры. Revolution Slider добавлял 1.5 МБ JavaScript и CSS. Клиенты очень хотели «красивый слайдер». Мы объясняли: на 3G в Бишкеке его никто не дожидается.

Не включайте все виджеты боковой панели. Виджет «Последние записи» делает отдельный SQL-запрос. 8 виджетов = 8 дополнительных запросов.

Читайте также

Разработка интернет-магазина одежды в Бишкеке: от идеи до первых продажaunimeda
Веб-разработка

Разработка интернет-магазина одежды в Бишкеке: от идеи до первых продаж

Как создать интернет-магазин одежды в Бишкеке в 2026 году: функционал, технологии, интеграция платежей, фотографии товаров и что делает одни магазины успешными, а другие — нет.

MVP для стартапа в Кыргызстане: как сделать быстро и не потратить лишнееaunimeda
Веб-разработка

MVP для стартапа в Кыргызстане: как сделать быстро и не потратить лишнее

Как определить правильный MVP для стартапа в Кыргызстане, сколько он стоит в 2026 году и какие технологии выбрать. Практическое руководство для основателей.

Разработка сайта для медицинской клиники в Бишкеке: что нужно и сколько стоитaunimeda
Веб-разработка

Разработка сайта для медицинской клиники в Бишкеке: что нужно и сколько стоит

Какой сайт нужен медицинской клинике в Бишкеке: запись онлайн, SEO, личный кабинет пациента, интеграция с мессенджерами. Стоимость разработки и реальные требования 2026 года.

Нужна IT-разработка для вашего бизнеса?

Разрабатываем сайты, мобильные приложения и AI-решения для бизнеса в Кыргызстане. Бесплатная консультация.

Разработка сайтов

Получить консультацию Все статьи