Оптимизируем сайт под Google PageSpeed Insights

13.06.2018  06:43

Оптимизируем сайт под Google PageSpeed Insights. Самое что не нравится гуглу — медленный сервер, это мы не рассматриваем, будем считать что хостинг нормальный, не Джино/1Gb/рег.ру какой-нибудь.

Ужимаем javascript и стили, регулярками сносим комменты (режим замены Regular expression)
вырезаем однострочные комменты:
\/\/(.*)

вырезаем однострочные блочные комменты:
\/\*(.*)\*\/

удаляем пустые строчки (в notepad++ есть волшебная опция Remove empty lines containing blank characters). Двойные пробелы заменяем на одинарные или вообще нахуй удаляем.
Дополнительно можно грохнуть все табуляции.
Аналогично ужимаем html, убираем лишние пробелы, пустые строки.

В nginx на все хосты на сервере включаем сжатие, в самом начале в блоке http {} вставляем:
gzip on;
gzip_min_length 1000;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/plain text/xml application/xml application/x-javascript text/javascript text/css text/json;
gzip_disable "MSIE [1-6].(?!.*SV1)";

В htaccess сайтов добавляем кэширования.
Вариант если стоит модуль mod_headers:

    #кэшировать html и htm файлы на один день
    
        Header set Cache-Control "max-age=43200"
    
    #кэшировать css, javascript и текстовые файлы на одну неделю
    
        Header set Cache-Control "max-age=604800"
    
    #кэшировать флэш и изображения на месяц
    
        Header set Cache-Control "max-age=2592000"
    
    #отключить кэширование
    
        Header unset Cache-Control
    


Вариант если стоит модуль mod_expires:

    ExpiresActive On
    #по умолчанию кеш в 43200 секунд
    ExpiresDefault "access plus 43200 seconds"
    #кэшировать флэш и изображения на месяц
    ExpiresByType image/x-icon "access plus 2592000 seconds"
    ExpiresByType image/jpeg "access plus 2592000 seconds"
    ExpiresByType image/png "access plus 2592000 seconds"
    ExpiresByType image/gif "access plus 2592000 seconds"
    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"


Неочевидное, что не нравится гуглу: большой размер страницы, например если тяжёлые стили/яваскрипты/картинки, либо их много. Достаточно сохранить страницу со всеми потрохами и посмотреть что можно оптимизировать и ужать.
Андрей Панёвин
Здравствуйте! Я — Андрей Панёвин и занимаюсь профессиональной разработкой сайтов на платформе 1С-Битрикс (исключительно программирование). Есть вопросы по статье? Могу подсказать и помочь по скайпу (andrey.panevin.ru), WhatsApp (+7-911-091-0670) или перепиской в ВК.
1000 р./час.



перейти в Блог | Блог (стр. 2)

Ударим лайками по бездорожью, разгильдяйству и бюрократизму!


Ключевые слова (тэги): Google 1  web-программирование 84  молодым домохозяйкам 44