Гид по технологиям

PageSpeed для Apache — ускорение сайта на сервере

5 min read Веб-сервер Обновлено 22 Nov 2025
PageSpeed для Apache — ускорение сайта
PageSpeed для Apache — ускорение сайта

Что такое PageSpeed

PageSpeed — это модуль для веб-сервера Apache, который применяет набор фильтров для оптимизации HTML, CSS, JavaScript и изображений на стороне сервера. Он уменьшает количество запросов, объём передаваемых данных и время отрисовки страницы в браузере.

Ключевой термин: фильтр — автоматическое правило, которое преобразует выход сервера (например, минификация или объединение файлов).

Основные возможности

  • Объединение JavaScript и CSS: уменьшает число файлов и запросов к серверу.
  • Минификация JavaScript и CSS: удаляет переносы строк, лишние пробелы и комментарии.

Минификация примера CSS/JS

Из двух файлов, выполняющих одинаковую работу, минифицированный будет меньше по размеру и загрузится быстрее.

  • Отложенная загрузка JavaScript (deferred loading): скрипты загружаются после основной отрисовки страницы, чтобы посетитель увидел контент быстрее. Важно: это может нарушить работу некоторых скриптов — тестируйте.
  • Оптимизация изображений: responsive изображения, lazyload (ленивая загрузка) и inline preview (низкокачественный предварительный просмотр), что сокращает время загрузки.
  • До 44 фильтров: набор фильтров можно включать и отключать выборочно, чтобы найти баланс между оптимизацией и корректностью работы сайта.

Когда PageSpeed помогает и когда не подходит

Важно понимать сильные и слабые стороны модуля.

  • Подходит, когда: вы используете Apache, хотите снизить TTFB и время загрузки без массовых изменений в коде, у вас есть тестовый сервер для проверки.
  • Не подходит, когда: сайт сильно зависит от точного порядка выполнения JavaScript, вы используете Nginx (без сборки из исходников) или у вас уже настроен CDN с агрессивной оптимизацией и кешированием.

Альтернативные подходы

  • Nginx + ngx_pagespeed — аналог для Nginx (требует сборки или пакета).
  • CDN с функциями оптимизации (Cloudflare, Fastly) — выносит оптимизации на периметр сети.
  • Плагины уровня CMS (например, кеш-плагины для WordPress) — проще в настройке для контентных сайтов.

Установка (Ubuntu / Apache)

Модуль распространяется в виде деб-пакета. Сервер должен работать под Apache; для Nginx требуется сборка модулей из исходников.

Для 32‑битной системы выполните:

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb

Для 64‑битной системы выполните:

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb

Скачивание пакета PageSpeed

Затем распакуйте и установите пакет:

sudo dpkg -i mod-pagespeed-*.deb
sudo apt-get -f install

Установка добавит репозиторий Google в систему, поэтому модуль будет получать обновления вместе с системными обновлениями.

Проверка установки (пример):

curl -D- 162.213.36.95 | head

Проверка установки PageSpeed

Конфигурация

Файл конфигурации обычно находится в каталоге /etc/apache2/mods-available/ и называется pagespeed.conf. При установке модуль включается автоматически; также включается mod_deflate для gzip-сжатия.

Файл конфигурации PageSpeed

Открыть конфигурацию можно любимым редактором:

sudo nano /etc/apache2/mods-available/pagespeed.conf

По умолчанию в файле стоит:

ModPagespeed on

Чтобы временно отключить модуль, измените на:

ModPagespeed off

Папка с сгенерированными ресурсами по умолчанию называется pagespeed_static. Чтобы задать свою директорию, добавьте:

ModPagespeedStaticAssetPrefix /custom/static/directory

Пример включения нескольких фильтров (вставьте в конфигурацию):

ModPagespeedEnableFilters combine_css,combine_javascript,minify_css,minify_javascript,inline_preview_images

Не включайте сразу все фильтры — включайте по одному и тестируйте.

Веб‑интерфейс и доступ к статистике

Модуль предоставляет веб‑интерфейс для просмотра статистики и сгенерированных ресурсов. По умолчанию доступ ограничен localhost. Чтобы открыть доступ с внешнего IP, отредактируйте соответствующие директивы доступа в pagespeed.conf.

Добавьте строку типа:

Allow from 192.xx.xx.xx

Замените 192.xx.xx.xx на ваш публичный IP. После изменения перезапустите Apache:

sudo systemctl restart apache2

После этого перейдите по адресу вида http://<ваш‑ip>:<порт>/pagespeed_admin или по пути, указанному в конфигурации.

Веб-интерфейс PageSpeed

Статистика PageSpeed

Методика безопасного тестирования и внедрения

Шаги для безопасного внедрения:

  1. Установите модуль на тестовый сервер, идентичный продакшену.
  2. Включайте фильтры по одному и тестируйте функциональность сайта (взаимодействие, формы, карты, аналитика).
  3. Сравнивайте метрики до и после: Lighthouse, WebPageTest, RUM‑данные.
  4. Проверяйте логи сервера на ошибки и предупреждения.
  5. При успехе перенесите конфигурацию на продакшен вне пикового трафика.

Критерии приёмки:

  • Визуальная корректность страниц и основных пользовательских сценариев.
  • Отсутствие JS‑ошибок в консоли, связанных с порядком загрузки скриптов.
  • Улучшение ключевых метрик загрузки (например, First Contentful Paint) или хотя бы отсутствие регрессий.

Чеклист ролей (быстрый)

Администратор:

  • Установить пакет и проверить наличие репозитория.
  • Настроить доступ к pagespeed_admin и права.
  • Резервная копия конфигурации перед изменениями.

Разработчик:

  • Протестировать сценарии JS после включения фильтров.
  • Проверить оптимизацию изображений и корректность responsive‑картинок.

Владелец контента / PO:

  • Подтвердить визуальное качество изображений и важные интерактивные элементы.
  • Одобрить перенос в продакшен.

Отладка и типичные проблемы

  • Проблема: сломанные скрипты после включения deferred загрузки. Решение: отключите фильтр deferred, включайте по одному, используйте тестовую среду.

  • Проблема: медленная генерация кеша при первом обращении. Решение: заранее прогрейте кеш на тестовом сервере, настройте достаточный диск и права на директорию pagespeed_static.

  • Проблема: конфликт с другими кеш‑решениями или CDN. Решение: протестируйте порядок обработки запросов; иногда нужно отключать схожие оптимизации у CDN или на уровне приложения.

Безопасность и приватность

Модуль сам по себе не собирает персональные данные, он трансформирует статический контент. Проверьте, что доступ к админ‑интерфейсу ограничен — не оставляйте его открытым в публичном интернете без авторизации.

Совместимость и миграция

  • Для Nginx используйте ngx_pagespeed или собирайте модуль из исходников.
  • Если вы используете современные сборщики и бандлеры (Webpack, Parcel), часть оптимизаций лучше делать на этапе сборки, а не на сервере.

Сводка и рекомендации

PageSpeed для Apache — удобный инструмент для автоматической оптимизации ресурсоёмких сайтов. Он экономит время и уменьшает трафик, но может влиять на поведение JavaScript. Всегда тестируйте изменения на стенде и включайте фильтры поэтапно.

Важно: начните с базовых фильтров (минификация и объединение) и только потом тестируйте более агрессивные опции (deferred, inline preview).

Полезные примеры конфигурации

Простой набор фильтров для старта:

ModPagespeed on
ModPagespeedFileCachePath /var/cache/pagespeed
ModPagespeedEnableFilters combine_css,combine_javascript,minify_css,minify_javascript,remove_comments
ModPagespeedImageRecompressionQuality 85

Если нужно временно отключить все оптимизации для отладки:

ModPagespeed off

Быстрый план действий (Roadmap)

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

Завершение: PageSpeed — полезный инструмент в арсенале администратора и разработчика. Он не обязателен, но при аккуратной настройке позволяет без изменений в коде снизить время загрузки и нагрузку на сеть.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как устроить идеальную вечеринку для просмотра ТВ
Развлечения

Как устроить идеальную вечеринку для просмотра ТВ

Как распаковать несколько RAR‑файлов сразу
Инструменты

Как распаковать несколько RAR‑файлов сразу

Приватный просмотр в Linux: как и зачем
Приватность

Приватный просмотр в Linux: как и зачем

Windows 11 не видит iPod — способы исправить
Руководство

Windows 11 не видит iPod — способы исправить

PS5: как настроить игровые пресеты
Консоли

PS5: как настроить игровые пресеты

Как переключить камеру в Omegle на iPhone и Android
Руководство

Как переключить камеру в Omegle на iPhone и Android