Чтение RSS каналов

Форум

Открыть Ответить

Настройка блокирующих скриптов

5

5
1
29.06.2014 10:58:0029.06.2014 18:59:19
Здраствуйте,

Разбирая файлы системы старался исправить ситуацию, при которой проверка скорости сайта от компании Google - показала, что его загрузка блокируется 8 скриптами, находящимися в заголовке страницы.
Пример запроса на тест от Google ниже:

developers.google.com/speed/pagespeed/insights/?url=www.gizzo.sk&tab=desktop

Настройка блокирующих скриптов


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

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

Непосредственно сам Google советует следующее:




Удалите код JavaScript, препятствующий показу страницы

Это правило срабатывает, когда PageSpeed Insights обнаруживает, что код HTML ссылается на блокирующий внешний файл JavaScript в верхней части страницы.
Общая информация

Перед отображением страницы браузер должен выполнить ее синтаксический анализ. Если при этом он обнаруживает внешний скрипт, он должен его загрузить. Это лишний цикл операций, который замедляет показ страницы.
Рекомендации

Код JavaScript, необходимый для отображения верхней части страницы, должен быть встроенным, а код, отвечающий за дополнительные функции, должен выполняться после загрузки верхних элементов. Обратите внимание, что для ускорения загрузки страниц необходимо также оптимизировать CSS.
Встройте небольшие ресурсы JavaScript

Если внешние скрипты имеют небольшой размер, их можно включить в документ HTML. Подобное встраивание позволяет браузеру продолжать загрузку страницы. Например, если HTML выглядит следующим образом:

<html>
<head>
<script type="text/javascript" src="small.js"></script>
</head>
<body>
<div>
Hello, world!
</div>
</body>
</html>


а ресурс small.js выглядит так:

/* contents of a small JavaScript file */
то этот скрипт можно встроить, как показано ниже:

<html>
<head>
<script type="text/javascript">
/* contents of a small JavaScript file */
</script>
</head>
<body>
<div>
Hello, world!
</div>
</body>
</html>


Это избавит от необходимости выполнять внешний запрос small.js, так как он располагается внутри документа HTML.

Отложите загрузку кода JavaScript

Чтобы код JavaScript не блокировал загрузку страницы, используйте атрибут async. Например:

<script async src="my.js">
Если в ресурсах JavaScript используется метод document.write, использовать асинхронную загрузку небезопасно. Рекомендуется переписать скрипты с использованием других средств.

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


Версия системы: SLAED CMS 4.* Pro
Версия PHP: PHP 5
Сервер: Сервер в интернете
4.27

4.27
2
07.07.2014 15:45:42
Ну js то я тоже спустил в низ документа. Можно сделать сжатие js файлов как в dle
3.75

3.75
3
07.07.2014 15:53:46
Подскажите, пожалуйста, это делается в теме оформления в фале index.html или JavaScript опускается в конец документа в ммодулях или блоках - где это заветное перемещения процесса загрузки происходит на SLAED - спасибо!

P.S. - ra55551, никак не могу зарегистрироваться у вас на сайте, точнее давно как-то смог, но на другой e-mail, сейчас при попытке восстановить пароль - отправляется на несуществующий адрес.
Хотелось бы продолжить использовать свой НИК на вашем сайте.
Немогли бы Вы сбросить или удалить моего пользователя из базы данных или заменить e-mail на актуальный. Спасибо!


Версия системы: SLAED CMS 4.* Pro
Версия PHP: PHP 5
Сервер: Сервер в интернете
4.27

4.27
4
08.07.2014 06:50:04
сменил майл у пользователя GIZZO -> Востанови пароль

Как сделано у меня. Не знаю насколько верно , но страница стала быстрей грузится

Перемещение js в конец документа . Версия 4.3 , думаю не слишком отличается от 5.3



<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
я бы загрузил к себе на сайт


1. Создать файл config/config_footer.php



2. funcion.php функция head(); - вырезать все подключения js и переместить их в config_footer.php

Можно также вырезать и из файла config_header.php переместить в config_footer.php

Подключение jquery.min.js я оставил вверху страницы



3.function foot() - над строкой

themefooter($index);


Вставить


if (file_exists("config/config_footer.php")) {
ob_start();
include("config/config_footer.php");
$footer = ob_get_clean();
}
$index = str_replace("{%FOOTER%}",$footer,$index);


В шаблоне в файле index.html перед закрывающим тегом </body> вставить тег

{%FOOTER%}
3.75

3.75
5
09.07.2014 11:12:30
Написано отлично, спасибо, но когда приступаешь к реализации описанного - то возникают вопросы, например идея склеить все JS в один файл - мне показалась просто превосходной - думаю, что только одно это должно ускорить загрузку сайта в несколько раз, потому как всё будет тянуться из одного места, а вот как вытащить сторонний JS и интегрировать его в этот новый созданный файл - открываешь код, копируешь все данные и вставляешь - отлично - предположим, а имеет ли принципиальное значение их порядок - что должно располагаться выше, что ниже - не будет ли система после этого тупить.
И еще одно - например, взял все сторонние и внутренние JS и склеил их в один файл - то как найти все файлы в системе, чтобы заменить ссылки на новое местоположение файлов, так как если не учтешь хоть одну ссылку или пропустишь - то всё - пиши пропало - или сайт йёк или всё криво встанет - есть ли рабочие инструменты для поиска по всем файлам в системе, чтобы знать наверняка, что не пропустил и все ссылки актуально ссылаются на один ресурс. Спасибо!


Версия системы: SLAED CMS 4.* Pro
Версия PHP: PHP 5
Сервер: Сервер в интернете
4.27

4.27
6
09.07.2014 15:16:25
http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js

можно скачать с офф.сайта и закинуть к себе в папку
3.75

3.75
7
09.07.2014 15:43:08
Большое спасибо - первый этап пройден:

1. Скачал с официального сайта
2. Создал файл в проге notepad++
3. Перекодировал в UTF-8 без BOM
4. Залил в папку: shop_js_css/jquery.min.js
5. отредактировал ссылку в файле: config_header.php

Теперь JS на сервере - сайт грузиться хорошо. Ошибок это действие не вызвало.

Подскажи, пожалуйста, по другим действиям - описанными тобой выше, думаю, что потихоньку, но мы подберемся к цели.
Спасибо!


Версия системы: SLAED CMS 4.* Pro
Версия PHP: PHP 5
Сервер: Сервер в интернете
4.27

4.27
8
09.07.2014 20:12:43
Вторым этапом попытался склеить все файлы:

1. примерно 8 файлов JS склеил в один All.js

2. примерно 7 файлов CSS склеил в один All.css

Во всех файлах, где было на них обращение переписал путь ссылки на новый.

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

Кто может подсказать - что я не правильно сделал при склеивании файлов.

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


Версия системы: SLAED CMS 4.* Pro
Версия PHP: PHP 5
Сервер: Сервер в интернете
4.27

4.27
9
10.07.2014 12:01:51
загрузи файлы function.php и config_header.php


на днях выдерну код из dle по сжатию js и css
3.75

3.75
10
10.07.2014 12:46:20
Здравствуй ra55551! Готово, загрузил - можно юзать: funcion.php и config_header.php.

Всё было интересно, что же такое DLE, - посмотрел и выяснил что ребята работают из Красноярска и предоставляют обществу аналогичную систему по построению сайтов - оригинальное название они себе придумали такое CMS DataLife Engine.
Ничего не могу сказать против этой системы или за, но вы ярый ее поклонник - точнее сказать, что работаете хорошо одновременно над двумя движками конкурентов. Что-то мне подсказывает, что механизм у них в принципе одинаков, только DLE заточен на русскоязычные сайты, в то время как SLAED CMS заточен немного шире - на многоязычность, особенно с выпуском последней версии 5,3 Pro Unicode, на которую у меня всё не хватает духу перейти, потому что боюсь, что всё, что было модифицированно до этого слетит до первоначальных базовых установок и перелапачивать всё снова - у меня просто не хватит не сил ни времени - к тому же я потеряю целевую аудиторию и интернет магазин вообще перестанет развиваться.


Версия системы: SLAED CMS 4.* Pro
Версия PHP: PHP 5
Сервер: Сервер в интернете
4.27

4.27
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь