Форуму удалось в PageSpeed Insights достичь цифр 95 и 99!
Недавно я полностью перенёс форум на новый сервер. Это было не просто обновление железа — это была полноценная перестройка всей инфраструктуры.
Старый хостинг уже не давал той гибкости и контроля, которые мне были нужны. Я хотел:
- управлять конфигурацией вручную,
- оптимизировать каждый уровень стека,
- убрать лишние прослойки,
- и добиться максимальной скорости.
И вот — результат: Google PageSpeed Insights показывает 95 для мобильной версии и 99 для десктопа
🖥 Что было сделано на сервере
Перенос — это только начало. Основная работа была дальше.
Архитектура: nginx как фронтенд + Apache как backend
Мы настроили правильную связку:
- nginx → слушает 80/443
- Apache → работает на 8080
- nginx проксирует PHP-запросы в Apache
- статика (CSS, JS, изображения) отдаётся напрямую через nginx
- снизить нагрузку на Apache
- ускорить отдачу статических файлов
- уменьшить TTFB
Настроено корректное кеширование
В nginx добавлены:
- expires для статики
- Cache-Control: public
- длительное хранение CSS/JS
- отдельная логика для изображений
Включено сжатие gzip / brotli
Сервер корректно отдаёт сжатый контент.
Размер HTML и JS уменьшился в 3–5 раз.
Исправлена SSL-цепочка
Была проблема:
SSL certificate problem unable local issuer certificate
Оказалось, что nginx был настроен не на полный сертификат, а на обычный .crt без цепочки.
После замены на:
ssl_certificate ...crtca
ошибка ушла, GTmetrix перестал ругаться, а SSL стал валидным для всех браузеров.
Устранены циклические редиректы
Это был самый сложный момент.
Была ситуация:
- nginx редиректил на https
- Apache тоже редиректил
- .htaccess добавлял ещё один слой
- в итоге — бесконечный redirect loop
- убрать лишние RewriteCond
- корректно передать X-Forwarded-Proto
- развести зоны ответственности nginx и Apache
После этого сайт заработал стабильно.
Отладка CGI / TDS / прав доступа
При настройке второго домена столкнулся с:
error in ip_lib3 Permission denied: ./memory/1/0
Оказалось, CGI-скрипт не имел прав на директорию memory.
Исправили владельца и права — всё заработало.
Подводные камни
Вот с чем пришлось реально повозиться:
- конфликт сертификатов между доменами
- nginx не тот сервер-блок обслуживал домен
- старые правила в .htaccess ломали логику
- Apache отдавал 403 из-за неправильной авторизации
- curl не доверял цепочке сертификата
- часть статики шла через Apache вместо nginx
Это всё заняло время, но теперь конфигурация чистая и логичная.
Итог
✔ Форум работает быстрее
✔ TTFB низкий
✔ Статика отдаётся через nginx
✔ Кэш работает корректно
✔ SSL полностью валиден
✔ PageSpeed: 95 / 99
И самое главное — теперь я полностью контролирую сервер и понимаю, что происходит на каждом уровне.