Дизайн — статьи о сайтах
Разбираем, почему тормозят каталоги автозапчастей: тяжёлые фото, подбор по автомобилю, поиск по артикулу, лишние скрипты. В конце есть пример страницы и чек-лист.
Покупатель запчастей обычно спешит: машина стоит, нужна конкретная деталь. Если листинг открывается долго, он вернётся к поисковой выдаче и откроет сайт конкурента. Ниже описано, как найти реальные причины задержки в каталоге и что исправлять в первую очередь.
Откройте типовые страницы в Chrome (вкладка Network в инструментах разработчика) или в Firebug. Дополнительно можно запустить YSlow или Page Speed. Проверьте четыре страницы: главную, список товаров категории, карточку детали, результат поиска по артикулу. Смотрите на три вещи:
Представим страницу на 50 товаров. Для каждого товара загружается фото производителя 800×600 пикселей, а вёрстка лишь уменьшает его до 100×75. На каждый товар выполняется отдельный запрос к базе за ценой и остатком. Подключено около десятка отдельных CSS- и JS-файлов, а код счётчиков стоит в шапке и блокирует отрисовку.
Что здесь исправляется:
Фото запчастей часто приходят от поставщиков в исходном размере. Задайте правило при импорте: автоматически создавать миниатюру для списка, средний размер для карточки и крупный для увеличения по клику. Фотографии сохраняйте в JPEG с умеренным качеством, логотипы и схемы в PNG. Иконки марок автомобилей и значки «в наличии» соберите в один CSS-спрайт, тогда вместо десятков маленьких файлов браузер скачает один. В разметке указывайте ширину и высоту изображений, чтобы страница не прыгала при загрузке.
Таблица применимости «марка — модель — модификация — год — деталь» быстро становится огромной. Что стоит проверить:
LIKE '%...%' по всей таблице;Включите сжатие текстовых ответов (HTML, CSS, JS) и разрешите браузеру хранить статические файлы. Для Apache это делается, например, так, если нужные модули доступны на вашем хостинге:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>
При изменении CSS или JS меняйте имя файла или добавляйте номер версии, иначе посетители будут видеть старое оформление. Готовые страницы категорий можно кэшировать на короткое время. Списки марок и моделей меняются редко, их стоит хранить в кэше надолго. Цену и наличие учитывайте отдельно, чтобы не показывать устаревшие данные.
Скорость нужно проверять и дальше: после массовой загрузки фото, подключения нового виджета или смены схемы импорта цен замеры лучше повторять.
Читайте также
Дизайн — статьи о сайтах
Дизайн
Бизнес — статьи о сайтах
Дизайн — статьи о сайтах
Заявка
Свяжемся в течение рабочего дня, зададим уточняющие вопросы и предложим варианты. Без навязчивых звонков.
Форма обратной связи