﻿---
title: Оптимизация производительности сайта
description: "Комплексная оптимизация производительности вебсайта: хостинг и окружение, кэширование, изображения и статика, база данных, CDN и масштабирование."
---

Оптимизировать нужно любой сайт — от блога на shared-хостинге до высоконагруженного сервиса. Если нужен быстрый результат — начните с кэширования: [виды и уровни кэширования](https://wpcraft.ru/kb/practices/web/performance/cache.md).

Далее — системный подход к оптимизации по всем направлениям.

## Базовый baseline перед go-live

Перед запуском сайта зафиксируйте минимальный набор performance-практик:

1. Базовое кэширование на уровне приложения и сервера.
2. Оптимизация изображений и статики.
3. CDN и корректная стратегия cache invalidation.
4. Мониторинг ключевых метрик после релиза.

### Чек-лист производительности перед запуском

- Прогнаны smoke-тесты и базовые пользовательские сценарии.
- Включены мониторинг и алерты по скорости и доступности.
- Проверено кэширование и инвалидация статики после деплоя.
- Подтверждены целевые метрики в Lighthouse/PageSpeed/WebPageTest.

## Факторы производительности

На скорость сайта влияют:

- **Хостинг** — тип и конфигурация сервера
- **Приложение** — платформа, расширения, тема/шаблоны, настройки
- **Версии ПО** — язык/рантайм, база данных, веб-сервер
- **Контент** — количество и размер изображений, скриптов, стилей
- **Трафик** — объём и характер нагрузки
- **География** — расстояние от сервера до посетителей
- **Статика** — вынос медиа в объектное хранилище или CDN освобождает сервер и ускоряет отдачу

## Хостинг

### Типы хостинга и возможности оптимизации

| Тип хостинга        | Доступные рычаги                                                     |
| ------------------- | -------------------------------------------------------------------- |
| **Shared**          | Кэширование на уровне приложения, оптимизация изображений, CDN       |
| **Managed**         | Ограниченный выбор расширений, встроенное кэширование                |
| **VPS / Dedicated** | Полный контроль: серверный кэш, рантайм, база данных, веб-сервер     |

На VPS/Dedicated к общим методам добавляются: серверный кэш и тонкая настройка ПО.

Требования к хостингу растут с типом проекта: коммерческим площадкам и высоконагруженным сервисам нужны больше памяти, быстрые диски (NVMe/SSD) и актуальный рантайм.

### Аппаратные характеристики

- Количество и частота процессоров
- Объём оперативной памяти
- Тип диска (NVMe > SSD > HDD)
- Канал связи

Хостинг-провайдеры предлагают более высокую производительность за более высокую цену.

### Географическая дистанция

Расстояние между сервером и посетителем влияет на latency. **CDN** решает эту проблему, размещая копии статических файлов в разных регионах.

### Характер нагрузки

- Легитимный трафик (всплески посещений)
- Brute-force атаки на формы входа
- Хотлинкинг изображений с других сайтов
- DoS/DDoS атаки

Выявление и блокировка вредного трафика — часть стратегии оптимизации.

## Кэширование

Главный рычаг производительности динамического сайта — многоуровневое кэширование: от браузера и CDN до серверного и объектного кэша. Полная модель уровней — на странице [Кэширование сайтов: виды и подходы](https://wpcraft.ru/kb/practices/web/performance/cache.md).

## Изображения и статика

**Оптимизация на этапе загрузки:**

- Сжимайте до загрузки (TinyPNG, Squoosh)
- Используйте правильный формат: WebP для фотографий, SVG для иконок

**Автоматизация:**

- Настройте целевое качество пережатия изображений на уровне платформы
- Подключите плагин/расширение для автоматического сжатия при загрузке

## CDN и сжатие

Вынос статического контента на отдельный домен или CDN:

- **CDN** — Cloudflare, BunnyCDN, KeyCDN
- **Отдельный домен для статики** — `static.example.com`
- **Объектное хранилище S3-совместимого типа** для медиафайлов

Подробный обзор и сравнение CDN-сервисов — [CDN и производительность — сервисы](https://wpcraft.ru/kb/practices/web/tools/cdn-performance.md).

Включите сжатие текстовых ресурсов на веб-сервере:

```apache
# Apache: включение Gzip
<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/xml
  AddOutputFilterByType DEFLATE text/css application/javascript
  AddOutputFilterByType DEFLATE application/json application/xml
</IfModule>
```

```nginx
# Nginx: включение Gzip
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
gzip_min_length 256;
```

## База данных

- **Движок таблиц** — используйте современный транзакционный движок с поддержкой внешних ключей и откатов (например, InnoDB в MySQL/MariaDB), а не устаревший нетранзакционный.
- **Очистка мусора** — регулярно удаляйте ревизии контента, спам-комментарии и просроченные временные записи.
- **Autoload** — небольшие «горячие» данные можно грузить при каждом запросе, но контролируйте их объём: раздутая autoload-секция замедляет каждый запрос.

## Масштабирование

### Несколько серверов

При высоких нагрузках компоненты разносятся по серверам:

- **База данных** — отдельный сервер
- **Статика** — CDN или отдельный домен (content offloading)
- **Балансировщик нагрузки** — распределение трафика между несколькими веб-серверами
- **Репликация и шардирование БД** — для роста объёма данных и нагрузки на чтение

### Оптимизация ПО

| Компонент         | Методы                                                                |
| ----------------- | --------------------------------------------------------------------- |
| **Веб-сервер**    | Асинхронные MPM, worker_processes, keepalive, кэш-заголовки           |
| **Рантайм**       | OPcache и аналоги, свежая поддерживаемая версия языка                 |
| **База данных**   | Тюнинг буферов, slow query log, мониторинг медленных запросов         |
| **DNS**           | Вынос DNS на внешний сервис снижает нагрузку                          |
| **Почта**         | Не запускайте почтовый сервер на боевом веб-сервере — используйте внешний SMTP |

## Инструменты тестирования

- [PageSpeed Insights](https://pagespeed.web.dev/)
- [WebPageTest](https://www.webpagetest.org/)
- [GTmetrix](https://gtmetrix.com/)
- [Lighthouse](https://developer.chrome.com/docs/lighthouse/) (встроен в Chrome DevTools)

## Реализация

- [Оптимизация WordPress](https://wpcraft.ru/kb/stacks/wordpress/performance/optimization.md) — плагины кэша, WP-Cron, настройка PHP и базы данных
- [WooCommerce: производительность](https://wpcraft.ru/kb/stacks/woocommerce/performance-optimization.md) — ускорение интернет-магазина

## Материалы и источники

- [WordPress Developer Handbook — Optimization](https://developer.wordpress.org/advanced-administration/performance/optimization/) — исходник, на базе которого обобщена эта страница
- [Yahoo! Best Practices for Speeding Up Your Web Site](https://developer.yahoo.com/performance/rules.html)