ускорение загрузки страниц

Экстремальное ускорение Drupal-сайта на виртуальном хостинге

Drupal: 
Уровень сложности: 

Если вы настроили модуль Boost для анонимов и хотите повторить успех для авторизованных, тогда попробуйте закомментировать строку в .htaccess в секции Boost:

# RewriteCond %{HTTP_COOKIE}

После этого все авторизованные пользователи будут видеть кэшированные для анонимов страницы, если имеются (а если не имеются, то обычный вывод Друпал для авторизованных, без буст).

Настроить кэширование для анонимов и авторизванных на виртуальном хостинге или сервере

Drupal: 
Уровень сложности: 

Этим занимается модуль Authcache. В нём есть несколько модулей для кэширования различных типов данных: представлений, блоков, меню, комментариев, полей, форм. Я использовал его в связке с File Cache, включив при этом Authcache Builtin Storage Backend. В результате на виртуальном хостинге скорость работы сайта стала очень комфортной.

File Cache

Модуль, который позволяет Друпалу сохранять кэш в файлы, не использую базу данных (что ускоряет чтение кэша).

Может использоваться на виртуальном хостинге, не требует установки серверных компонентов.

Authenticated User Page Caching (Authcache)

Authcache позволяет кэшировать страницы как для анонимных пользователей, так и для авторизованных пользователей. Это уменьшает время отработки PHP-функций Друпала до уровня 1-2 миллисекунд при генерации страниц, существенно сокращая потребление ресурсов сервера.

Authcache подходит для сайтов с динамическим содержимым и блоками, например, для Интернет-магазинов. Commerce Authcache кэширует корзину.

Better Cache

Это усовершенствованный модуль, расширяющий стандартный функционал кэширования.

Проблемы стандартного кэширования
Стандартный кэш в Drupal не учитывает время создания материала и обновляется регулярно для всего сайта.
Если в разделе Конфигурация - Производительность установить время жизни кэша 7 дней и создать страницу в конце истечения этого срока, то кэш этой страницы будет удалён, даже если этот кэш прожил всего 2 минуты.

Данный модуль делает кэширование умнее, решает две главные задачи

Ajax Blocks

Делает загрузку выбранных блоков динамической, загружает блоки с помощью Ajax-запросов после отображения страницы посетителю.

Модуль даёт преимущества статическим сайтам с динамическим содержимым некоторых блоков. Он позволяет владельцам сайтов кэшировать страницы для анонимны пользователей и отображать динамический контент.

Block Lazyloader

Модуль, который делает ваш сайт быстрее. Работает по принципу модуля Image Lazyloader: останавливает отображение блоков, которые не видны на экране, и подгружает блоки, если посетитель прокрутил страницу вниз.

Image Lazyloader

Модуль ускоряет загрузку и отображение страниц на компьютере посетителя, откладывает загрузку картинок. Библиотека javascript echo, которую использует этот модуль, останавливает загрузку картинок, которые не видны на экране посетителя, и подгружает картинки, когда посетитель прокрутил бегунок. Эта функция необходима для сайтов с большим количеством фотографий.

Модуль Image Lazyloader имеет страницу настроек, на которой можно:

Client-side adaptive image

Модуль подменяет форматы отображения Изображений в полях типа Изображение на нужные для данного разрешения экрана пользователя.

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

С помощью модуля можно настроить в Менеджере Дисплея для разных разрешений экранов требуемые Виды показа изображений.

Adaptive Image Styles (ais)

Модуль позволяет делать картинки в поле Изображение и внутри текста WYSIWIG-редактора адаптивными за счёт смены вида показа изображения для различных разрешений экрана.

Установка модуля требует изменений в файле .htaccess. С помощью настроек в .htaccess для различных экранов загружаются разные форматы изображений, то есть модуль создаёт сразу несколько миниатюр исходного изображения и подменяет картинку на файл в оптимальном формате.

Minify

Сжимает HTML и JS. Настраивается в Конфигурации - Производительность. Убирает лишние пробелы в HTML, создаёт сжатые копии JS-файлов, которые используются на сайте при загрузке любой страницы.

Advanced CSS/JS Aggregation

Сжимает все используемые при отображении страниц файлы css и js. Мощное сжатие для ускорения загрузки страниц. Не забывайте чистить кеш, если исправляете в css или js.

Boost

Кеширует страницы для анонимных пользователей, что ускоряет загрузку страниц. Модуль создаёт кеш-файлы, обычные html-файлы в папке cache. При посещении страницы анонимными пользователями, отображаются страницы из кеша, избавляя Drupal от необходимости выполять php-код и обращения к базам данных.

Подписаться на Front page feed