Рекомендации по работе Cs-Cart на виртуальном хостинге

По умолчанию Cs-cart использует файловый кеш.

При этом первые попытки открытия страниц всегда будут дольше. Это особенность работы его кеша. Повторное открытие страниц, после попадания данных в кеш, происходит на порядок быстрее. На виртуальном хостинге возможно использовать альтернативные виды кеша - redis (для сессий) и apcu (для хранилища), которые могут ускорить работу Cs-cart. Для этого необходимо отредактировать файл конфигурации с именем config.local.php в каталоге веб-сайта.

Находим в файле config.local.php нижеуказанные стройки:
// Cache backend
// Available backends: file, sqlite, database, redis, xcache, apc, apcu
// To use sqlite cache the "sqlite3" PHP module should be installed
// To use xcache cache the "xcache" PHP module should be installed
// To use apc cache the "apc" PHP module should be installed
// To use apcu cache the PHP version should be >= 7.x and the "apcu" PHP module should be installed
$config['cache_backend'] = 'file';
$config['cache_redis_server'] = 'localhost';
$config['cache_redis_global_ttl'] = 0; // set this if your cache size reaches Redis server memory size

// Storage backend for sessions. Available backends: database, redis
$config['session_backend'] = 'database';
$config['session_redis_server'] = 'localhost';
$config['cache_apc_global_ttl'] = 0;
$config['cache_xcache_global_ttl'] = 0;

// Set to unique store prefix if you use the same Redis/Xcache/Apc storage
// for serveral cart installations
$config['store_prefix'] = '';

Видоизменяем. Нужно задать уникальные случайные символы в $config['store_prefix']
// Cache backend
// Available backends: file, sqlite, database, redis, xcache, apc, apcu
// To use sqlite cache the "sqlite3" PHP module should be installed
// To use xcache cache the "xcache" PHP module should be installed
// To use apc cache the "apc" PHP module should be installed
// To use apcu cache the PHP version should be >= 7.x and the "apcu" PHP module should be installed
$config['cache_backend'] = 'apcu';
$config['cache_redis_server'] = 'localhost';
$config['cache_redis_global_ttl'] = 0;

// Storage backend for sessions. Available backends: database, redis
$config['session_backend'] = 'redis';
$config['session_redis_server'] = 'localhost';
$config['cache_apc_global_ttl'] = 0;
$config['cache_xcache_global_ttl'] = 0;

// Set to unique store prefix if you use the same Redis/Xcache/Apc storage
// for serveral cart installations
$config['store_prefix'] = 'abcde123456'; // random key
Обязательно следует задать СВОИ ДАННЫЕ в перменной $config['store_prefix'], например, указывая название вашего домена сайта. Если этого не сделать, Вы можете столкнуться с дополнительными проблемами в виде "отравленного" или по другому - "испорченного" кеша. Стоит отметить, что значение может быть как apc так и apcu, в зависимости от версии PHP.

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

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

Правильным решением будет изначальное уменьшение разрешения изображений, используя какой-либо средний максимум для полного размера картинок, например - 640x480px или выше, сохраняя изображение в формае jpg или png с качеством 80-90%. В этом случае в среднем изображение будет иметь размер не более 100-500КБ, когда, как оригинальное фото могло иметь разрешение свыше 1920x1080px и иметь размер свыше 1-2МБ. Не сложно посчитать сколько отнимет времени загрузка на странице 10 или более изображений таких размеров.

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

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

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


Пример заданий:
15 4 * * * /usr/bin/find /home/user123/mysite123.ru/images/* -type f -iregex '.*\.jpe?g' -mtime -1 -exec /usr/bin/jpegoptim --preserve --quiet {} \;
1 4 * * * /usr/bin/find /home/user123/mysite123.ru/images/* -type f -iregex '.*\.png' -mtime -1 -exec /usr/bin/optipng --preserve --quiet {} \;
Обратите внимание! В примере, пути к каталогу веб-сайта /home/user123/mysite123.ru у вас будут другими. Узнать полный путь к каталогу веб-сайта, Вы можете в панели хостинга, в разделе - Домены.

3.1. Рекомендуется использовать актуальную версию Cs-cart (обновляться до последней версии), основная причина - в свежих версиях CMS разработчики исправляют множество багов и проводят оптимизацию кода.

3.2. Не использовать или сводить к минимуму использование сторонних модулей. Безусловно, они могут быть очень удобны и полезны. Но есть и недостатки. Основная причина - повышенная нагрузка на сервер и всплески нагрузки, которые могут привести к отключению вашего аккаунта хостинга. Если Вы используете сторонние модули, например - Alexbranding, рекомендуем переходить на выделенный или как минимум виртуальный сервер - VDS.

3.3. Не выводить сразу весь каталог товаров на главную страницу сайта, так как главная страница будет открываться дольше обычного.

3.4. Не рекомендуется по умолчанию на одной странице выводить более 50 товаров одновременно. Чем больше товаров на странице будет отображаться по умолчанию, тем большее количество запросов к СуБД и соответственно затрачивается больше времени на окрытие страницы.

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

3.6. Не рекомендуется проводить какие-либо глобальные работы с сайтом в дневное время и часы пик посещений, такие, как: очистка всякого рода кешей, изменения кода на работающем сайте и т.д. Подобные работы лучше проводить или в ночное время, предварительно отключив сайт, либо осуществлять работы где-то в отдельном окружении, например - на локальной машине.

3.7. С целью снижения бесполезной нагрузки на сайт, важно ограничивать доступ для поисковых роботов и других ботов к тем страницам, которые не нуждаются в поиске, а так же устанавливать с помощью параметра crawl-delay в robots.txt таймаут для поисковых ботов, которые обращаются к страницам сайта.

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

Мы используем файлы cookie. Продолжая использовать сайт, вы соглашаетесь с политикой использования cookie файлов. Принять