DoobBY

PageSpeed. Скорость загрузки сайта.

Recommended Posts

Подскажите, как исправить.

 

55 / 100Рекомендации
Исправьте обязательно:
Используйте кеш браузера
Удалите из верхней части страницы код JavaScript и CSS, блокирующий отображение
 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Собственно вынести все

<link rel="stylesheet" href="*"><script type="text/javascript" src="*"></script>

в header шаблон перед

</body>

При этом надо не забыть соблюсти правильный порядок загрузки скриптов (так, к примеру, jquery лучше не выносить, если лень/сложно разбираться с js-кодом).

 

По поводу кэша браузера это уже настройки сервера, если к ним есть доступ то смотреть сюда, к примеру:

http://seo-mayak.com/sozdanie-bloga/skorost-zagruzki/kak-vklyuchit-kesh-brauzera-na-storone-polzovatelya.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, стоит ли использовать файлы, которые пролегает гугл  PageSpeed Insights, как оптимизированные.
 
http://prntscr.com/9oue8h

Вот, что предлагают и как это выглядет -  210 кб. https://cloud.mail.ru/public/KGb2/ggsasoPVS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно использовать но не все.

Подскажите, что можно использовать ? *просто заметить файлы ?

Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Js можно заменить если вы не будете его дописывать и картинки тоже можно. Css не все, тут нужно смотреть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все, что лежало внутри /template/... можно заменить. Это файлы шаблона и они приватные по отношению к остальному движку. Файлы же, которые вне этого расположения, по большей части (напр. /apps/...), это ситемные и они будут обновлены при обновлениях. Т.е. заменять их, если планируются обновления, особого смысла нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, стоит ли использовать файлы, которые пролегает гугл  PageSpeed Insights, как оптимизированные.

Можно попробовать использовать https://github.com/mrclay/minify. Через него же можно и системные файлы сжимать, только не забывать указывать что они сменились.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Наткнулся на такой момент Gzip сжатия, через .htaccess, подскажите, стоит ли его использовать?
 

<IfModule mod_deflate.c>  AddOutputFilterByType DEFLATE application/javascript  AddOutputFilterByType DEFLATE text/javascript  AddOutputFilterByType DEFLATE text/css  <IfModule mod_setenvif.c>    BrowserMatch ^Mozilla/4 gzip-only-text/html    BrowserMatch ^Mozilla/4\.0[678] no-gzip    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html  </IfModule></IfModule>

или
 

<IfModule mod_deflate.c>AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascriptBrowserMatch ^Mozilla/4 gzip-only-text/htmlBrowserMatch ^Mozilla/4.0[678] no-gzipBrowserMatch bMSIE !no-gzip !gzip-only-text/html<ifmodule mod_gzip.c>mod_gzip_on Yesmod_gzip_item_include file \.js$mod_gzip_item_include file \.css$ </ifmodule></IfModule>

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Использовать стоит. Но и стоит помнить о мере. Если посещаемость не гигантская и сервер выделенный, то динамического зиппирования должно хватить и проблем не будет. До определенного предела.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Возможно пригодиться тому, кто зайдёт в ветку.
 
"Используйте кеш браузера"

Если на вашем хотинге ПО Апачи

 

Вставлять в .htaccess

<ifModule mod_headers.c><FilesMatch "\.(html|htm)$">Header set Cache-Control "max-age=43200"</FilesMatch><FilesMatch "\.(js|css|txt)$">Header set Cache-Control "max-age=604800"</FilesMatch><FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">Header set Cache-Control "max-age=2592000"</FilesMatch><FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">Header unset Cache-Control</FilesMatch></IfModule>

После проверки гуглом - поле пропало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

При использовании :

<ifModule mod_headers.c>
<FilesMatch "\.(html|htm)$">Header set Cache-Control "max-age=43200"</FilesMatch>
<FilesMatch "\.(js|css|txt)$">Header set Cache-Control "max-age=604800"</FilesMatch>
<FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">Header set Cache-Control "max-age=2592000"</FilesMatch>
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">Header unset Cache-Control</FilesMatch></IfModule>

- сайт вырубается.

При этом:

# сжатие text, html, javascript, css, xml:
<ifModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
</ifModule>
 
# кеш браузера
<ifModule mod_expires.c>
ExpiresActive On
 
#по умолчанию кеш в 5 секунд
ExpiresDefault "access plus 1 days"
 
# Включаем кэширование изображений и флэш на месяц
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType image/jpeg "access plus 4 weeks"
ExpiresByType image/png "access plus 30 days"
ExpiresByType image/gif "access plus 43829 minutes"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
 
# Включаем кэширование css, javascript и текстовых файлоф на одну неделю
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 604800 seconds"
ExpiresByType application/javascript "access plus 604800 seconds"
ExpiresByType application/x-javascript "access plus 604800 seconds"
 
# Включаем кэширование html и htm файлов на один день
ExpiresByType text/html "access plus 43200 seconds"
 
# Включаем кэширование xml файлов на десять минут
ExpiresByType application/xhtml+xml "access plus 600 seconds"
 
# Нестандартные шрифты сайта 
ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
</ifModule>

- получаю:

Используйте кеш браузера для следующих ресурсов:
https://api-maps.yandex.ru/…stable/?load=package.standard&lang=ru-RU (5 минут)
http://connect.facebook.net/en_US/sdk.js (20 минут)
http://maps.googleapis.com/…=AIzaSyBjp58bBY0FQ8QBB9zj0WbGE66c1G-q4uo (30 минут)
http://cse.google.com/adsense/search/async-ads.js (60 минут)
https://mc.yandex.ru/metrika/watch.js (60 минут)
https://www.google.com/…"%2C"language"%3A"ru"}]} (60 минут)
https://www.google-analytics.com/analytics.js (2 часа)

Как же включить кэш на стороне пользователя, чтобы pagespeed успокоился?

Help me!

 


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
12 часа назад, yurijp сказал:

При использовании :

<ifModule mod_headers.c>
<FilesMatch "\.(html|htm)$">Header set Cache-Control "max-age=43200"</FilesMatch>
<FilesMatch "\.(js|css|txt)$">Header set Cache-Control "max-age=604800"</FilesMatch>
<FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">Header set Cache-Control "max-age=2592000"</FilesMatch>
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">Header unset Cache-Control</FilesMatch></IfModule>

- получаю:

Используйте кеш браузера для следующих ресурсов:
https://api-maps.yandex.ru/…stable/?load=package.standard&lang=ru-RU (5 минут)
http://connect.facebook.net/en_US/sdk.js (20 минут)
http://maps.googleapis.com/…=AIzaSyBjp58bBY0FQ8QBB9zj0WbGE66c1G-q4uo (30 минут)
http://cse.google.com/adsense/search/async-ads.js (60 минут)
https://mc.yandex.ru/metrika/watch.js (60 минут)
https://www.google.com/…"%2C"language"%3A"ru"}]} (60 минут)
https://www.google-analytics.com/analytics.js (2 часа)

Как же включить кэш на стороне пользователя, чтобы pagespeed успокоился?

Help me!

 



 

Спросите на хостинге включен ли у вас mod_header и mod_expires

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
53 минуты назад, Realtor сказал:

Подскажите как включить или установить  на сервере mod_header и mod_expires ?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
46 минут назад, Realtor сказал:

Подскажите как включить или установить  на сервере mod_header и mod_expires ?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ответ хостера

 

Данные модули на Вашем сервере не установлены.
Мы предоставляем полный root-доступ к серверу, клиент самостоятельно устанавливает необходимое ПО.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
19 минут назад, Realtor сказал:

Ответ хостера

Данные модули на Вашем сервере не установлены.
Мы предоставляем полный root-доступ к серверу, клиент самостоятельно устанавливает необходимое ПО.
 

Если у вас выделенные сервер, тогда вроде в настройках php (точно не помню) показывается какие модули активны а какие нет. Отметьте чекбоксы у модулей сжатия gzip, zip, ну а дальше надо настраивать сервер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, Realtor сказал:

Ответ хостера

 

Данные модули на Вашем сервере не установлены.
Мы предоставляем полный root-доступ к серверу, клиент самостоятельно устанавливает необходимое ПО.
 

Это модули апача.

Устанавливать так

https://toster.ru/q/271077

Но вы смотрите для свой ОС в гугле подробности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может такого варианта в .htaccess будет достаточно?

<IfModule mod_expires.c>
  <FilesMatch \.(gif|png|jpg|jpeg|ogg|mp4|mkv|flv|swf|wmv|asf|asx|wma|wax|wmx|wm)$>
    ExpiresDefault "access plus 1 week"
  </FilesMatch>
  ExpiresActive on
  ExpiresByType image/jpeg "access plus 1 day"
  ExpiresByType image/gif "access plus 1 day"
  ExpiresByType image/png "access plus 1 day"
  <FilesMatch \.(css|js)$>
    ExpiresDefault "access plus 1 week"
  </FilesMatch>
  ExpiresByType text/css "access plus 1 week"
  ExpiresByType application/javascript "access plus 1 week"
</IfModule>

Вроде как частично проблема решалась, но затем я этот кусок отключил, вроде как глюки были при переходе на https

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 18.03.2017 в 05:20, rumantic сказал:

Спросите на хостинге включен ли у вас mod_header и mod_expires

Вот ответ:


Модули mod_header и mod_expires работают корректно. 
Как пример при запросе элемента номер 22 "http://arenda77.by/template/frontend/realia/libraries/chosen/chosen.jquery.min.js" мы получаем ответ:
https://www.webpagetest.org/result/170319_YZ_CWQ/1/details/

HTTP/1.1 200 OK
Server: nginx/1.8.0
Date: Sun, 19 Mar 2017 09:04:41 GMT
Content-Type: application/javascript
Content-Length: 6082
Connection: keep-alive
Keep-Alive: timeout=60
Last-Modified: Tue, 29 Dec 2015 04:10:26 GMT
ETag: "25e1961-5ce0-5280199ebd080"
Accept-Ranges: bytes
Cache-Control: max-age=604800
Expires: Sun, 26 Mar 2017 09:04:41 GMT
Vary: Accept-Encoding
Content-Encoding: gzip

В ответе можно увидеть информацию, что js файл сжат gzip и его кеш актуален 604800 секунд. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
14 часа назад, yurijp сказал:

Вот ответ:


Модули mod_header и mod_expires работают корректно. 
Как пример при запросе элемента номер 22 "http://arenda77.by/template/frontend/realia/libraries/chosen/chosen.jquery.min.js" мы получаем ответ:
https://www.webpagetest.org/result/170319_YZ_CWQ/1/details/

HTTP/1.1 200 OK
Server: nginx/1.8.0
Date: Sun, 19 Mar 2017 09:04:41 GMT
Content-Type: application/javascript
Content-Length: 6082
Connection: keep-alive
Keep-Alive: timeout=60
Last-Modified: Tue, 29 Dec 2015 04:10:26 GMT
ETag: "25e1961-5ce0-5280199ebd080"
Accept-Ranges: bytes
Cache-Control: max-age=604800
Expires: Sun, 26 Mar 2017 09:04:41 GMT
Vary: Accept-Encoding
Content-Encoding: gzip

В ответе можно увидеть информацию, что js файл сжат gzip и его кеш актуален 604800 секунд. 

 

Проанализировал ваш сайт сейчас, вот что про кэш пишет.

Screenshot_5.png

Обратите внимание на адреса, это все внешние ресурсы. Т.е. с вашего сайта кэш уже не показывает как пробелму, т.е. уже все работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

pagespeed нам говорит:

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

отсюда вопрос, как реализовать именно асинхронность загрузки скриптов? На одном своём сайте, сделал так:

<script type="text/javascript">
    var script = document.createElement("script")
    script.type = "text/javascript";
    script.src = '{$estate_folder}/template/frontend/{$current_theme_name}/js/jquery.js';
    script.src = '{$estate_folder}/template/frontend/{$current_theme_name}/js/jquery.ezmark.js';
    script.src = '{$estate_folder}/template/frontend/{$current_theme_name}/js/jquery.cookie.js';
    script.src = '{$estate_folder}/template/frontend/{$current_theme_name}/js/bootstrap.min.js';
    script.src = '{$estate_folder}/template/frontend/{$current_theme_name}/js/carousel.js';
    script.src = '{$estate_folder}/template/frontend/{$current_theme_name}/libraries/jquery-ui/js/jquery-ui.min.js';
    script.src = '{$estate_folder}/template/frontend/{$current_theme_name}/libraries/chosen/chosen.jquery.min.js';
    script.src = '{$estate_folder}/template/frontend/{$current_theme_name}/libraries/iosslider/_src/jquery.iosslider.min.js';
    script.src = '{$estate_folder}/template/frontend/{$current_theme_name}/libraries/bootstrap-fileupload/bootstrap-fileupload.js';
    script.src = '{$estate_folder}/template/frontend/{$current_theme_name}/js/realia.js';
    script.src = '{$estate_folder}/apps/client/js/clientorderajax.js';
    script.src = '{$estate_folder}/js/estate.js';
    script.src = '{$estate_folder}/apps/system/js/sitebillcore.js';
    script.src = '{$estate_folder}/template/frontend/{$current_theme_name}/js/interface.js';
    script.src = '{$estate_folder}/template/frontend/{$current_theme_name}/js/jquery.prettyPhoto.js';
    
    document.getElementsByTagName("head")[0].appendChild(script);
</script>
 

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

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

 

Безымянный111.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
13 часа назад, yurijp сказал:

pagespeed нам говорит:

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

...

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

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

 

Если в подвал поставить, то будет очень некрасивые первые секунды для сайта.

Асинхронно не получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На мой взгляд, с этим есть смысл заморачиваться, если ваш сайт грузится дольше 3-х секунд. Поскольку сервис проверки скорости загрузки сайта от Гугла вам будет жаловаться на любой бздик - лишний пробел в коде, лишний бит в картинке, отсюда он и выставляет рейтинги. Оптимизированные файлы для скачивания, которые предлагает Гугл отличаются лишь тем, что из программного кода убраны лишние пробелы и переносы строк, а картинки понижены в качестве. Но если проанализировать ситуацию, то выигрыш по загрузке получится 0,1 сек. или менее. Не думаю, что это серьезный выигрыш на фоне удобства правки кода, который свален в кучу или демонстрации фото на сайте, которое по качеству становится середнячковым. Тут больше толку будет от размещения сайта на хостинге, который работает на SSD-дисках и имеет более высокое быстродействие. Хотите шустрый сайт - не сажайте его на тарифы хостинга начального уровня, на котором сидит еще сотня таких-же и все на одном IP-адресе :), которые делят единый ресурс между собой, тормозя друг-друга, не говоря уже о том, что если один будет взломан/заражен, то проблемы могут появиться и у остальных.

Вот например, у Димы на сервере под одним IP 5.9.72.112 сидит несколько сайтов: kharkovreal.com, kvartira61.ru, magazininfo.com, toss.ru, vashdomru.ru, www.allofficekb.ru, www.sitebill.ru, zdali.ru и еще пару нерабочих кириллических... Но они на шустром сервере и управляются под одной CMS :) ... Но когда сайтов на одном IP и на одном дохлом хостинге сотня-две - линкопомойки, мусорные файлообменники и высоконагруженные да еще и на разных CMS, то о какой скорости сайта можно говорить?

Проверьте, сколько у вас соседей ва вашем IP-адресе, а затем рассуждайте о скорости загрузки сайта, его оптимизации, да и надобности этого вообще в вашей конкретной ситуации ... Хороший сайт начинается с хорошего сервера/хостинга.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: DoobBY
      Кто нибудь использует парсер КЛАДР ?
       
      Можете поделиться опытом, прочёл wiki sitebill не смог вникнуть =)
       
       
      Возможно у кого-то есть свои хитрости и сторонние парсеры для наполнения сайта, если не жалко поделитесь информацией.
    • Автор: Chernetskiy
      Случайно наткнулся на статью, где проводилось исследование зависимости типа шрифта в рекламе и на сайте на доверие к тексту и кликабельность на ссылки, советую почитать - источник
       
      Может на это стоит обратить внимание...
    • Автор: DoobBY
      Опубликовано Сегодня, 04:55
      29 Апрель 2015 - 5:41 после полудня DoobBY писал:
      в данном контексте - есть мобильная версия в google play, ссылка на самом верху форума
      подскажите, планируется ли адаптация для моб. устройств или она уже есть и я, что-то "прошляпил" ?
      А дружественность шаблонов к мобильным версиям броузеров - это зависит уже от шаблонов.
       
      Опубликовано Сегодня, 07:17
      29 Апрель 2015 - 5:53 после полудня XTRO писал:
      Это был тест, но теперь запустили как я понял- https://support.goog...=ww-ww-et-asfe_

      Просто для joomla к примеру есть плагин, модуль, компонент, который делает мобильную версию и он устраивает гугл. Возможно для данной ЦМС планируется такое нововведение ?
       
      Опубликовано Сегодня, 07:54
      29 Апрель 2015 - 8:17 после полудня DoobBY писал:
      мобильное приложение и адаптивный дизайн для мобильных устройств - разные понятия. Дабы не оффтопить, предлагаю это обсуждать в отдельной ветке.