Быстродействие (кеширование)

Настройка кеширования и оптимизации

Основные преимущества функционала кеширования для ваших пользователей:

  1. Ускорение загрузки страниц Функция кеширования страниц PHPShop позволяет сохранять HTML-код страниц сайта в специальный файл кеша на сервере (файловая система, база данных MySQL или сервер кэширования Memcached). При последующем обращении к этой странице, не будут тратится ресурсы сервера для ее генерации, а сразу, за доли секунд, будет выдан HTML-файл кеша. Это позволит снять нагрузку на сервер и сократить время отдачи страницы сервером в несколько раз.

  2. Стабильность при высоком трафике Даже в часы пиковой нагрузки сайт остаётся отзывчивым, так как кеш снижает нагрузку на сервер, предотвращая замедления или сбои из-за ботов.

  3. Улучшение SEO-позиций Скорость загрузки страниц — ключевой фактор ранжирования Google, Yandex. Кэширование ускоряет загрузку контента, что улучшает позиции сайта в поисковой выдаче и привлекает органический трафик.

  4. Актуальность данных При обновлении товаров или контента, кеш автоматически обновляется (минимум 1 раз в день), гарантируя, что пользователи видят свежую информацию. Можно настроить полный кеш для поисковиков и частичный кеш для пользователей, чтобы цены/склад на витрине всегда были свежие.

  5. Повышение удобства для постоянных клиентов Часто отображаемые разделы (каталог, меню навигации, баннеры) загружаются мгновенно, создавая ощущение "бесшовного" взаимодействия. Это повышает лояльность и конверсию.

  6. Снижение затрат на инфраструктуру Один кэш-сервер заменяет несколько инстансов баз данных, сокращая расходы на хостинг. Например, использование Memcached позволяет уменьшить нагрузку на СУБД на 30-50%.

Настройка

Настройка быстродействия (кэширование) находится в меню Настройки - Обслуживание - Быстродействие.

Настройка быстродействия

Хранение кеша

Хранить кеш можно в виде файлов, записей в базе данных MySQL или ячейках памяти сервера кэширования Memcached. Производительность зависит от персональных настроек хостинга (использование быстрых NVMe SSD дисков, поддержка Memcached).

Рекомендуем использовать Файловую систему на хостингах с NVMe SSD дисками или Базу данных MySQL на обычных дисках. Если нужно подключить Memcached, инструкция👇

Подключение Memcached на примере хостинга Beget

Зарегистрируйтесь на хостинге Beget.

В личном кабинете аккаунта хостинга Beget в разделе Сервисы активируйте сервис Memcached.

Сервис платный, если вы хотите проверить работу бесплатно и скорость не важна, выберите База данных MySQL.

Версия ядра PHP для сайта должна быть 7.4, для версий выше Memcached включается через техническую поддержку хостинга Beget. Проверить версию можно в меню Справка - о программе.

После регистрации, пропишите Адрес и Порт в меню Настройки - интеграции:

Опция Очистить кеш позволяет удалить все записи старого кеша - это полезно для тестирования или срочной смены данных на сайте (контент, оформление, CSS стили и т.д.).

Также, можно очистить кеш для конкретной страницы, дописав в браузере в URL страницы ?cache=clean, например для главной страницы https://ваше-имя-сайта/?cache=clean. Для принудительной очистки пользователь должен быть предварительно авторизован в админке сайта.

Тип кеша

Кеш может быть в виде HTML страницы целиком (полный кеш) или в виде Только статических элементов (частичный).

  • Полный кеш хранит полную HTML страницу сайта - наибольший результат сокращения времени ответа сервера. Такой тип кеша подходит для большинства магазинов.

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

  • Не используется - кеш отключен.

Тип кеша можно указать отдельно для поисковых ботов (Яндекс, Google и др.) и живых пользователей сайта.

Файлы кеша хранятся на сервере в папке /UserFiles/Cache/html.

Количество дней хранения кеша

Опция настраивает количество дней, в течение которых хранится кеш, после превышения лимита хранения, кеш автоматически обновляется.

Оптимизация кода

Функция позволяет сокращать размер итоговой HTML-страницы на 20-30% путем удаления из исходного кода страницы комментариев и форматирования кода (переносы, отступы для удобства отладки и доработки).

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

Исходный код страницы без оптимизации
Оптимизированный исходный код страницы

GZIP сжатие

GZIP-сжатие позволяет в реальном времени сжимать код страницы в несколько раз. Чем больше gzip-сжатие, тем лучше сжимается контент. Рекомендуется установить уровень gzip сжатия на наибольший - 9.

Счетчик

Настройка позволяет выводить в конец исходного HTML-кода страницы информацию по затраченным ресурсам до кэширования и после. Служит для визуального контроля параметров кеширования.

<!-- Realtime ~ 95 SQL, 0.5289 sec, 4035.57 Kb -->
<!-- Filecache ~ 1 SQL , 0.0220 sec, 921.82 Kb -->

Из отчета видно, что после включения кеширования, вместо 95 запросов к базе данных MySQL сделан 1 запрос, время генерации сократилось с 0.52 секунд до 0.02 секунд и затрачено вместо 4Mb памяти менее 1 Mb.

Сжатие статических файлов

Позволяет сжимать и кешировать статические файлы CSS и JS через удаление комментариев и форматирования, а так же GZIP сжатия. Файлы кеша статики хранятся в папке /UserFiles/Cache/static.

Тестирование

Тесты показали, что после включения кэша для поисковых ботов время ответа сервера по данных Яндекс.Webmaster и Google Page Speed сокращаются более чем в 2 раза, а вес страницы на более чем 30%.

Яндекс.Webmaster

Без кэширования
С полным кэшированием

Google Page Speed

Без кэширования
С полным кэшированием

При использовании кэширования для больших интернет-магазинов разница в показателях до и после включения кэширования ощутимо увеличивается.

Браузер

Без кэширования
С полным кэшированием

Использование

  1. SEO-оптимизация - если сервисы Яндекс.Webmaster или Google Page Speed сообщают об ошибке, связанной с долгим ответом сервера (время до получение первого байта от сервера).

  2. Снятие нагрузки с сервера - если чрезмерная активность поисковых ботов приводит к медленной работе сайта и увеличению оплаты за хостинг.

  3. Удобство для пользователей - быстрая работа сайта увеличивает заказы с сайта.

Блокировка поисковых ботов

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

Кэширование доступно для версий PHPShop 6.5.8 и только для редакции PHPShop Pro.

Last updated

Was this helpful?