Дайте возможность указать где подключать CSS шаблонов компонентов

Рейтинг: 4.4552  
Новая
Предложил Пользователь 93386 21.10.2016 14:29:13

Дайте возможность указать где подключать CSS шаблонов компонентов

Google PageSpped ругается на все сайты на Битриксе в контексте того, что в шапке сайта подключается огромная объединённая и сжатая CSS. Согласно рекомендациям в шапке сайта нужно подключать только те CSS, которые нужны на первом экране. Но в Битриксе же все все css всех шаблонов компонентов подключаются исключительно в шапке. Нужно дать возможность в шаблоне компонента голосовать за место расположения CSS - Header/Footer. По аналогии с голосованием за композит. На выходе получим то, что требует Google - в шапке будут подключаться только те CSS, которые нужны для первого экрана, остальные соответственно будут подключаться в подвале сайта.

Рейтинг: 0  
Пользователь 136059 23.10.2016 13:55:04
Мне кажется нужно делать иначе:
1) Переносить все в подвал
2) Менять страницу таким образом, чтобы самих данных было как можно меньше (Например по аналогии с лентой в сделках - их нет на странице до тех пор пока до нее не долистаешь)
Рейтинг: 0  
Пользователь 93386 24.10.2016 09:24:55
CSS первого экрана должны быть подключены в шапке. Остальные CSS должны подключаться в подвале. Этого будет достаточно по требованиям Google
Рейтинг: 1  
Пользователь 291336 29.10.2016 10:05:02
лучше пусть добавят аналогичную опцию переносить стили вниз
как это уже сделано у них для скриптов

а пока можно использовать данный модуль
https://github.com/rivetweb/rodzeta.pageoptimizeplus
Рейтинг: 0  
Пользователь 93386 29.10.2016 10:36:00
лучше пусть добавят аналогичную опцию переносить стили вниз 
как это уже сделано у них для скриптов 
не лучше, CSS отвечающие за первый экран должны быть в шапке. А что такое первый экран - это шаблоны компонентов, которые отображаются на экране самыми первыми. Соотвественно Битрикс сам никогда не узнает какие из компонентов отображаются на первом экране и соответственно нам нужно подсказать ему какие шаблоны компонентов должны подключать свои CSS в шапке, а какие - в подвале. Причём реализация то сего дела - пару часов. Всего то надо разделить список CSS на два списка и сжимать и объединять CSS в 2 отдельных скомпонованных CSS-ки - одна подключается вверху, другая - внизу.
Рейтинг: 0  
Пользователь 291336 26.02.2017 20:19:44
Соотвественно Битрикс сам никогда не узнает какие из компонентов отображаются на первом экране и соответственно нам нужно подсказать ему какие шаблоны компонентов должны подключать свои CSS в шапке, а какие - в подвале.
если вы подключаете хотябы 1 файл - вы по определению не проходите правило.
гугл советует именно в страницу а не подключать в виде отдельного файла в хедере
https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery?hl=ru

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

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

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

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

<st yle>
      .blue{color:blue;}
    </style>


https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery?hl=ru
простой выбор выводить стили шаблона в шапке или футере никак не поможет.
Рейтинг: 0  
Пользователь 93386 27.02.2017 12:34:32
если вы подключаете хотябы 1 файл - вы по определению не проходите правило.
гугл советует именно в страницу а не подключать в виде отдельного файла в хедере
Так платформа может и сама решить как подключать в хедере указанные CSS - можно же не линковать, а инлайн вывести. Вот и всё.