Но некоторые наводочки:
- Включите объединение и сжатие css и js
- Включите перемещение js вниз страницы
- Включите подключение минифицированных файлов css и js
- Оптимизируйте все картинки на сайте (например так http://optimizilla.com/ru/)
- Включите кеширование и композитный сайт
ВАЖНО! Ниже делаете на свой страх и риск, все очень индивидуально
Отключить служебные css и js (иногда нужны, но скорее редкость)
И сжать html код страницы
Для разделов создаем новый параметр save_kernel - и для разделов, у которых нужно сохранить скрипты уставливаем в параметр Y
В init.php добавляем код
Код |
---|
<? AddEventHandler("main", "OnEndBufferContent", "deleteKernelJs"); //Убрать js AddEventHandler("main", "OnEndBufferContent", "deleteKernelCss"); //Убрать css AddEventHandler("main", "OnEndBufferContent", "ChangeMyContent"); //Сжать html function deleteKernelJs(&$content) { global $USER, $APPLICATION; if((is_object($USER) && $USER->IsAuthorized()) || strpos($APPLICATION->GetCurDir(), "/bitrix/")!==false) return; if($APPLICATION->GetProperty("save_kernel") == "Y") return; $arPatternsToRemove = Array( '/<script.+?src=".+?kernel_main\/kernel_main\.js\?\d+"><\/script\>/', '/<script.+?src=".+?bitrix\/js\/main\/core\/core[^"]+"><\/script\>/', '/<script.+?>BX\.(setCSSList|setJSList)\(\[.+?\]\).*?<\/script>/', '/<script.+?>if\(\!window\.BX\)window\.BX.+?<\/script>/', '/<script[^>]+?>\(window\.BX\|\|top\.BX\)\.message[^<]+<\/script>/', ); $content = preg_replace($arPatternsToRemove, "", $content); $content = preg_replace("/\n{2,}/", "\n\n", $content); } function deleteKernelCss(&$content) { global $USER, $APPLICATION; if((is_object($USER) && $USER->IsAuthorized()) || strpos($APPLICATION->GetCurDir(), "/bitrix/")!==false) return; if($APPLICATION->GetProperty("save_kernel") == "Y") return; $arPatternsToRemove = Array( '/<link.+?href=".+?kernel_main\/kernel_main\.css\?\d+"[^>]+>/', '/<link.+?href=".+?bitrix\/js\/main\/core\/css\/core[^"]+"[^>]+>/', '/<link.+?href=".+?bitrix\/templates\/[\w\d_-]+\/styles.css[^"]+"[^>]+>/', '/<link.+?href=".+?bitrix\/templates\/[\w\d_-]+\/template_styles.css[^"]+"[^>]+>/', ); $content = preg_replace($arPatternsToRemove, "", $content); $content = preg_replace("/\n{2,}/", "\n\n", $content); } //Сжатие HTML function ChangeMyContent(&$content) { global $USER, $APPLICATION; if((is_object($USER) && $USER->IsAuthorized()) || strpos($APPLICATION->GetCurDir(), "/bitrix/")!==false) return; if($APPLICATION->GetProperty("save_kernel") == "Y") return; $search = array( '/\>[^\S ]+/s', '/[^\S ]+\</s', '/(\s)+/s' ); $replace = array( '>', '<', '\\1' ); $content = preg_replace($search, $replace, $content); } ?> |