Быстродействие темы

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

Можно ли отключить слайдер на главной для мобильных устройств? Он там всё сильно замедляет, да и выглядит не очень, но на ПК он нужен! Я у себя его просто скрыл через display: none; но его ведь просто не видно, а он загружается! Сделайте пожалуйста, чтобы можно было отключить слайдер для мобильных и он туда именно не отправлялся совсем!

Да и другие способы повысить быстродействие наверняка есть. Пожалуйста, поработайте в этом направлении.

10 ответов
a
Руслан
#
7 декабря 2018 11:40

Я скрыл с мобильной версии таким образом в файле home.html

{if !$wa->isMobile()}{include file="home.slider.html" inline}{/if}{* simple image slider *}

a
Вячеслав Мехонцев
#
7 декабря 2018 12:07

О, отлично, спасибо!!!

Тогда такой вопрос (тут уж без разработчика не разобраться): можно ли ещё что-нибудь так же отключить на мобильных? Может, JS-скрипты некоторые на мобильных не нужны? Их же можно рассортировать по разным файлам - один для мобильных, другой для ПК? И ещё, может, есть что-то ради устаревших браузеров? Вы скажите - то-то нужно для IE..., допустим - каждый уже свою статистику посетителей посмотрит и примет решение нужно ли это ему поддерживать. А то на мобильных скорость совсем печальная - у меня Google Speed Test показывает 7 из 100!

a
Евгений Леман
programmer
#
7 декабря 2018 15:46

GooglePageSpeed - инструмент для разработчиков. И только. Если у вас появляются вопросы "как" и "почему", то вы не теми глазами смотрите на этот инструмент.

Поднять оценку до 90+ довольно легко:

1. Убрать подключение всех скриптов и стилей из <head> в конец страницы перед <body>. Тема это позволяет и изначально мы хотели реализовать такую опцию, чтобы включить её на нашем демо и показать клиентам хорошую оценку. Но это чистой воды маркетинговый обман. Shop-script так работать не будет. Ведь все вы используете плагины. И большинство из них не просто не смогут работать, но еще и сломают сайт, создав фатальную ошибку в javascript. Взять, например, такие популярные и полезные плагины, как "Купить в 1 клик" и "Уведомление о поступлении". В зависимости от условий они подгружают разные JS прямо возле кнопки. То есть в середине самой странице. Это набор каких-то условий и опций, который запускает уже основной скрипт плагина, который они грузят в хук. И если этот хук находится не в <head>, то получится фатальная ошибка. То есть 90% плагинов, которые что-то выводят во фронтенде рассчитывают на то, что jQuery и их главный JS-файл УЖЕ подключен на странице. Перенос JS/CSS в конец страницы даст оооочень много очков в GooglePageSpeed. Но это неосуществимо в боевых условиях. Нужно еще и половину плагинов переписать для их корректной работы в таких условиях.

2. Оптимизация картинок. За это гугл тоже даст много очков. Если для слайдера, иконок и изображений категорий вы можете сделать оптимизацию перед их загрузкой, то для самих изображений товара нет. Ибо они создаются самим движком, а РНР не умеет так сжимать изображения, как хотя бы тот же Photoshop. Тут конечно можно оптимизировать уже созданные системой изображения, но... но это уже своими ручками.

Вот за выполнение этих двух пунктов вы уже получите оценку около 90. Хотите больше - уродуйте для посетителя сайт дальше. Отлючите все блоки, которые только можно отключить. Ведь это все увеличивает структуру DOM и вес сайта. Стремитесь к идеальной странице по версии GooglePageSpeed:

<body>
<h1>Добро пожаловать в наш магазин</h1>
<p>8 800 0000000 - звоните и узнавайте, что мы продаем и по каким ценам</p>
</body>

Ну а если без сарказма, то следует понимать, что функциональность требует жертв. В теме есть много разных опций внешнего вида. Да и в самом приложении тоже. Все эти блоки имеют индивидуальное оформление, которое требует собственных JS/CSS. Даже если у вас отключены все эти блоки, отключен личный кабинет, вывод характеристик в каталоге, ..., всё равно стили и скрипты для этих блоков будут подгружаться, т.к. находятся в одном файле. Разделять по файлам тоже нельзя. Их будет слишком много. А каждый такой файл - это отдельный HTTP-запрос. К тому же вся подобная оптимизация(я про 1 пункт) приведет к неприятным мелочам. Например у нас было много жалоб на то, что горизонтальное меню "прыгало" во время загрузки страницы. Из-за чего мы и переделали главное меню(случайно сломав его при этом).

a
Алекс Алексеев
#
7 декабря 2018 21:34

Хочу внести свой комментарий.

Тема здесь не причём. Изначально начал делать магаз на облачном хостинге Webasyst за 990₽. Скорость изначально было никакой. После основных работ перенёс на сторонний хостинг (ессно с покупкой лицензии).

Результат - загрузка практически моментальная. Также хостинг предлагает свой «ускоритель». Если его включить - скорость отклика ещё выше (сейчас выключен, по причине продолжения работ). Хостинг также предлагает сжатие изображений (сейчас я все сохранял в 70% в PS) - он их ещё сжимает и конвертирует в .webp, что я так понял нравится Google.

Мое мнение - хотите скорость - мигируйте с покупкой лицензии на сторонний хостинг.

Сайт: https://vk.cc/8MJhkP


Кстати, по теме. Подскажите, на сколько актуально встроить CSS в страницу непосредственно? Дело в том, что есть страницы, на которых довольно большой код и он нужен только на определённых. Смысл их загружать всегда

a
Вячеслав Мехонцев
#
8 декабря 2018 06:39

А прикольно вы тему настроили, поначалу даже и не узнать! И работает действительно быстро. У вас плагинов много? Наверное, надо их по минимуму оставить. Хостинг то какой? И что за ускоритель у них? И про изображения интересно - поделитесь пожалуйста! Я тоже не в облаке, но разница с вашим сайтом существенная!

a
Алекс Алексеев
#
8 декабря 2018 12:31

1. Из плагинов только SEO и пару мелочей, типа карта сайта и управление доп. параметрами. Также обзор 360. Других не вижу вообще смысла ставить, может только кому по доставке нужно и т.п. А украшательства - по мне так лучше самому сделать под свои желания. И главное для меня - меньше креатива. Люди привыкли уже к однотипным сайтам крупных ритейлеров. Обратите внимание на новый, продвигаемый Яндексом и Сбером, их магазин Беру. Сама тема идеально вписывается в эти тенденции. Единственное, на моем сайте шапка черная, чтобы соответствовать производителю и его стилю.

2. Хостинг *не реклама :)*:

https://vk.cc/8MPL8c (тариф с бейджом "лучший выбор", не важно, что он для 1С)

3. "Ускоритель сайтов" (глупое название, но он так серьезно называется)):

https://vk.cc/8MPM0l

Мини обзор: https://vk.cc/8MPN37

4. На сайте: меню, блоки на главной, изображения в категориях и на страницах в шапке - сам клепал по различным примерам. Разметка на страницах - Flexbox Grid.

a
Евгений Леман
programmer
#
8 декабря 2018 16:28

Лайк

a
Евгений Леман
programmer
#
8 декабря 2018 16:29

Кстати, по теме. Подскажите, на сколько актуально встроить CSS в страницу непосредственно? Дело в том, что есть страницы, на которых довольно большой код и он нужен только на определённых. Смысл их загружать всегда

Вполне нормально. Либо вынести это в отдельный файл и подключать его только на этой странице.

a
Алексей Лебедев
#
21 декабря 2018 13:58

Магазин на vps. Приходят стабильно сообщения: При обращении к серверу среднее время ответа превышает 3 секунды. Долгая загрузка страниц затрудняет работу с сайтом.


a
Алексей Лебедев
#
21 декабря 2018 14:27

Думаю это мало связано с темой, больше с долгими запросами и нагрузкой на оперативку.

Чтобы добавить комментарий, зарегистрируйтесь или войдите