Меню
Достаточно обширный вопрос, возможно запишу видео инструкцию на свой ютуб канал.

Но некоторые наводочки:
- Включите объединение и сжатие 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);
}
?>
Здравствуйте. Помогите пожалуйста. У меня в init.php уже есть код отвечающий за обработку почты. Как объединить Ваш код с моим. Чтобы все работало.
Цитата
Анатолий написал:
Здравствуйте. Помогите пожалуйста. У меня в init.php уже есть код отвечающий за обработку почты. Как объединить Ваш код с моим. Чтобы все работало.
Добрый

Достаточно дописать его в самый низ файла. Но внимательно, делайте это через FTP а не через админку, что бы если что удалить.
Дописал. Почистил кеш, белый экран.
Вот мой код:
Скрытый текст

Куда именно вставлять? Извините, я не программист. подскажите пожалуйста.
Здравствуйте, Михаил!
Благодарю за Ваши решения!
По этому могу сказать, что скрипт сжатия HTML в моём случае делает нерабочими скрипты в теле страницы <script type='text/javascript'></script> с комментариями разработчиков:
Код
{   //with bitrix panel   
if(1)   {   bxPanel.setAttribute('style','margin-bottom:20px !important');   }...

трансформирует в:
Код
{   //with bitrix panel    if(1)   {   bxPanel.setAttribute('style','margin-bottom:20px !important');   }...

и комментарий экранирует дальнейшее.
В моём случае летят 6 скриптов. Но, думаю, я не одинок и у других могут быть подобные ошибки.
Сейчас копаю как: или предварительно очистить комментарии, или как обойти их.
Цитата
Константин написал:
Здравствуйте, Михаил!
Благодарю за Ваши решения!
По этому могу сказать, что скрипт сжатия HTML в моём случае делает нерабочими скрипты в теле страницы <script type='text/javascript'></script> с комментариями разработчиков:
Код
 {   //with bitrix panel   
if(1)   {   bxPanel.setAttribute('style','margin-bottom:20px !important');   }... 

трансформирует в:
Код
 {   //with bitrix panel    if(1)   {   bxPanel.setAttribute('style','margin-bottom:20px !important');   }...
 

и комментарий экранирует дальнейшее.
В моём случае летят 6 скриптов. Но, думаю, я не одинок и у других могут быть подобные ошибки.
Сейчас копаю как: или предварительно очистить комментарии, или как обойти их.

Несколько помогло (нагуглил):
Код
    $search = array(
   '/(?:(?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:(?<!\:|\\\|\'|\")\/\/.*))/',
        '/\>[^\S ]+/s',
        '/[^\S ]+\</s',
        '/(\s)+/s'
    );
    $replace = array(
    '',
        '>',
        '<',
        '\\1'
    );

осталась одна проблема (заказ обратного звонка), которую пытаюсь отловить. Сообщу, если получится.
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
 

Блог-note: заметки разработчика

Показать пользователей онлайн на странице сайта

Задача: показать на странице сайта пользователей которые сейчас находятся на сайте. Используется штатный модуль "Ве...

Удалить половину элементов инфоблока с помощью API

Задача: вот такая странная задача, нужно удалить из инфоблока половину элементов. Не важно каких, просто половину элемен...

Показ страницы сайта в боковом слайдере, на примере всплывающей формы обратной связи.

Если вы хотите сделать подгрузку любой страницы сайта в боковой слайдер, для этого в битриксе есть метод BX.SidePanel.In...

Менеджер событий (EventManager) в 1C-Битрикс

Менеджер событий (EventManager) — это централизованный механизм регистрации, обработки и управления событиями. О...

Если товар в корзине, поменять значение input на "В корзине"

Если Вам нужно поменять текст на кнопке, добавляющей товар в корзину, достаточно воспользоваться методом API "CSaleBaske...

Заменить popap "Товар добавлен в корзину" на собственное окно

Задача: заменить модальное окно, которое появляется при добавлении товара в корзину — "Товар добавлен в корзину&quo...

Добавить свойство в административную форму заказа

Задача, кастомизировать административную форму заказа: добавить свойство заказа в шапку формы, в виде картинки. На сайте...

Автоматически помечаем новинки лейблом в каталоге битрикс

Если вы хотите помечать новинки каталога, вашего магазина на Битрикс, лейблом "Новинка". И так, что бы это происходило а...

Бонус на внутренний счет пользователя по информации из 1С

Задача: 1С-Предприятие каждый день выгружает HL справочник на сайт с количеством бонусов контрагента в виде "XML-ID...