Меню

Как установить page speed

Ускоряемся с помощью mod_pagespeed

Ускорение работы Web-сайта с помощью модуля от компании Google

Необходимые требования

Для использования модуля mod_pagespeed ваш компьютер должен работать под управлением 32- или 64-разрядной операционной системы Linux; на нем должен быть установлен Web-сервер Apache версии 2.2 или выше с модулем mod_deflate.

В настоящее время модуль mod_pagespeed не поддерживается в операционной системе Windows и более старых версиях Apache (судя по документации и ответам на часто задаваемые вопросы, я бы также не рассчитывал на появление такой поддержки в ближайшем будущем).

Apache-модуль mod_pagespeed компании Google разработан в виде «drop-in» модуля, который можно «положить» в установочную директорию Web-сервера и сразу получить увеличение скорости обработки Web-страниц. Если конфигурация вашего Web-сервера не настроена на оптимальную производительность или если вы точно не знаете, как можно повысить ее, то mod_pagespeed может оказаться подходящим решением. Например, если вы ведете блог под управлением WordPress, то использование mod_pagespeed обеспечит огромный выигрыш в скорости.

Модуль mod_pagespeed сочетает в себе лучшие решения по оптимизации загрузки Web-страниц и автоматически выполняет все необходимые действия.

Определяем понятие скорости

Вне зависимости от скорости Интернет-подключения нам всегда хочется, чтобы Web-страницы загружались быстрее. Владельцы Web-серверов, отправляющих нам содержимое Web-страниц, также хотят делать это быстрее по двум причинам: компании с медленными серверами теряют клиентов, а компании с быстрыми серверами, обеспечивающими быструю загрузку отдельных страниц, могут использовать освобожденные ресурсы для обслуживания дополнительных клиентов. Даже если вы заходите на страницу какой-то компании всего лишь раз в день, другие клиенты могут обращаться к этой же странице 100000 раз в день. Для таких компаний даже небольшая задержка при загрузке страницы является очень существенной.

В этой статье мы будем рассматривать понятие «скорость» с точки зрения пользователя и определим его как время загрузки Web-страницы. Быстрой считается та Web-страница, которая быстро загружается (например, страница www.google.com, время загрузки которой очень мало). И наоборот, медленной Web-страницей будет являться страница, расположенная, например, на старом компьютере Pentium II с процессором 600 МГц и содержащая 40 больших изображений; время загрузки такой страницы будет очень большим. Кроме того, Web-страница может быть очень быстрой, если ее посещают всего несколько человек в день, но если количество пользователей увеличится до нескольких тысяч за 10 минут, то время загрузки может оказаться чрезвычайно большим. Таким образом, понятие «скорость» определяется как время, необходимое для перемещения из точки А в точку Б, где точкой А является момент нажатия клавиши Enter после ввода адреса страницы в адресной строке, а точкой Б – полностью загруженная страница в Web-браузере клиента.

С точки зрения Web-сервера самым лучшим способом увеличения скорости (без замены аппаратной части) является более быстрая отправка более мелких объемов данных. Если подойти к вопросу более детально, то это означает, что предпочтительнее уменьшать задержку (т. е. время отклика) компьютера и объем передаваемых данных (т. е. количество передаваемых физических килобайтов). Таким образом, для «ускорения» Web-сайта как с точки зрения Web-сервера, так и с точки зрения пользователя необходимо уменьшить и задержку сервера, и размер передаваемых данных.

Как можно увеличить скорость

Все возможные способы ускорения Web-сайтов разделяются на 5 категорий: максимальное использование кэша, минимизация количества обращений к серверу, минимизация объема служебных данных в запросе, минимизация размера передаваемых данных и оптимизация вывода содержимого Web-браузером. Отметим, что каждая из этих категорий содержит комплексные меры, такие как «максимизация» или «минимизация», и не предполагает простых решений (например, «включить» или «отключить» определенную опцию или параметр). Теперь перейдем к рассмотрению каждой из этих категорий и выясним, что предлагается сделать в каждом случае.

Максимальное использование кэша

Каждый Web-браузер может помещать загруженные файлы в локальный кэш, и, вместо того чтобы повторно загружать файлы с сервера, загружать их локальные копии. Конечно, это не совсем актуально для динамических Web-страниц (например, для блогов), но что насчет изображений, CSS- и JavaScript-файлов, которые загружаются вместе с Web-страницами? Эти файлы изменяются очень редко либо не изменяются вообще. Нет никакой необходимости каждый раз загружать с сервера один и тот же CSS-файл, особенно если этот единственный файл используется для всего Web-сайта. Если каждая загружаемая Web-страница использует один и тот же CSS-файл, то можно загружать его копию из локального хранилища, а не с сервера, поскольку эти копии одинаковые.

Фактически Web-браузеры получают команды на кэширование от сервера. Web-сервер может сообщать о том, как долго загружаемые с сервера элементы данных должны считаться достоверными. Сервер может сопровождать такими командами каждый файл. Например, сервер может указать Web-браузеру поместить в кэш файл JS, CSS или JPG, но не HTML- или TXT-файл. Более того, сервер может сказать Web-браузеру, например, о том, что «файлы CSS и JPG будут актуальными в течение одного года». Web-браузер получает это сообщение и интерпретирует его следующим образом: «был получен JPG-файл, который не изменится в течение года, так что с этого момента при обращении к данному файлу с любой страницы сервера следует использовать его локальную копию».

Минимизация количества обращений к серверу

При передаче сервером в Web-браузер любых файлов для каждого файла устанавливается отдельное HTTP-соединение, что приводит к накладным расходам. Другими словами, каждый файл требует наличия канала взаимодействия между сервером и Web-браузером. На самых популярных Web-сайтах файлы передаются в огромных количествах, и каждый раз сервер должен выполнять определенные служебные процедуры, затрачивая на это время. Таким образом, уменьшение количества обращений к серверу снижает количество времени, которое сервер должен тратить на их обслуживание.

Читайте также:  Как установить the sims 4 на windows 10

Основной способ реализации этой идеи очевиден: Web-страница должна содержать как можно меньше файлов, которые должны передаваться клиенту. Например, если ваша страница содержит 10 изображений, то для ее загрузки может потребоваться создать 10 HTTP-соединений. Однако можно уменьшить необходимое количество соединений, скомпоновав ресурсы в минимальное количество файлов – например, поместить в один файл все модули jQuery или объединить все маленькие изображения в одно большое и показывать его нужные фрагменты с помощью CSS.

Минимизация объема служебных данных в запросе

При загрузке каждой Web-страницы браузер получает от сервера определенную информацию, включая cookie-файлы и вызовы POST и GET. Естественно, на это затрачивается определенное время, поскольку информация cookie-файлов должна передаваться на сервер при каждой загрузке страницы клиентом. Некоторые Web-сайты хранят в cookie-файлах тонны информации, и чем ее больше, тем больше времени необходимо затрачивать на ее передачу.

Существует более предпочтительный вариант, при котором cookie-файл содержит минимальное количество данных (например, только идентификатор пользователя) и служит ключом для поиска необходимой информации в базе данных. Такой подход резко снижает время передачи необходимой информации на сервер.

Минимизация размера передаваемых данных

Файл размером в 20 КБ всегда будет передаваться быстрее, чем файл размером в 200 КБб. Эта составляющая оптимизации быстродействия включает в себя все известные методы – например, использование файлов GIF вместо файлов JPG, минимизация файлов JavaScript или отправка миниатюрных эскизов изображений вместо полных изображений всегда, когда это возможно.

Оптимизация вывода содержимого Web-браузером

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

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

Загрузка, инсталляция и настройка модуля mod_pagespeed

Загрузите пакет (см. ссылку в разделе Ресурсы) и запустите соответствующую команду Linux для его инсталляции на компьютер.

После инсталляции модуль mod_pagespeed еще никак не связан с сервером Apache. Давайте сделаем это. После установки mod_pagespeed я рекомендую для простоты скопировать файл pagespeed.conf из его установочной директории в директорию Apache conf. Также скопируйте файл mod_pagespeed.so в директорию Apache modules. Наконец, создайте директории, в которых будут храниться кэшированные файлы и файлы, сгенерированные модулем (я назвал эти директории cache и files соответственно).

Далее необходимо указать Apache использовать модуль mod_pagespeed, для чего нужно отредактировать файл http.conf. Добавьте в конце этого файла следующую строку:

Листинг 1. Редактирование конфигурационного файла Apache http.conf

Далее необходимо отредактировать файл pagespeed.conf и указать правильный путь к нашим файлам и директориям:

Редактирование файла pagespeed.conf

Наконец, можно запускать сервер Apache.

Проверка успешной инсталляции mod_pagespeed

Чтобы убедиться в том, что модуль mod_pagespeed успешно установлен, нужно проверить несколько моментов. Во-первых, сервер Apache должен успешно запуститься (в противном случае вы неверно выполнили процедуру install/configure для mod_pagespeed). Во-вторых, нужно проверить директорию «cache» и убедиться, что mod_pagespeed успешно записывает в нее данные.

Теперь откройте какую-нибудь страницу вашего Web-сайта (она должна содержать файлы JS или CSS). После этого загляните в директорию «cache». В ней вы должны увидеть упакованные файлы или архивы GZip, которые являются сжатыми копиями файлов JS или CSS (т. е. тех файлов, которые могут быть сжаты). Это будет являться первым признаком успешной инсталляции и настройки модуля mod_pagespeed.

Последняя проверка заключается в просмотре заголовка ответа, полученного от сервера. Сделать это можно с помощью таких инструментов, как Firebug или собственная утилита Google Page Speed, либо написав свой PHP-сценарий. Когда будете просматривать заголовок ответа, ищите в нем ссылку на тег «Modpagespeed», поскольку инструмент Google помечает ответы.

Поздравляю! Успешная проверка директории «cache» и заголовка ответа означает, что вы правильно проинсталлировали и настроили модуль mod_pagespeed.

Тестирование mod_pagespeed

Если вы хотите протестировать модуль mod_pagespeed, прежде чем запустить его в работу, вы можете выполнить все вышеописанные шаги и отключить модуль в файле pagespeed.conf до тех пор, пока он не потребуется (удалять настройки, сделанные в файле http.conf сервера Apache, не требуется). Модуль mod_pagespeed можно включать и отключать в файле pagespeed.conf с помощью параметра ModPagespeed on в десятой строке. Чтобы эти изменения вступили в силу, необходимо перезапустить Apache.

Заключение

Большинство администраторов Web-сайтов понимают всю важность быстрой загрузки страниц, но мало кто из них является серьезным фанатом Linux и отслеживает статистику и максимальное время загрузки. Для большинства Web-администраторов идеально подходит такой простой инструмент, как mod_pagespeed – простая установка, практически не требующая настройки, и существенное ускорение загрузки Web-страниц для пользователей.

Читайте также:  Как установить spotify на ios в россии

Источник

Установка и настройка модуля PageSpeed

Данный модуль предназначен для оптимизации ответа от веб-сервера. Его можно установить для Apache и NGINX. Мы рассмотрим оба варианта установки под операционные системы Ubuntu и CentOS. Подразумевается, что на нашем сервере уже установлены nginx и apache — мы выполним добавление модуля. В конце статьи можно найти ссылки на подробное описание настройки веб-серверов.

Apache

Модуль для apache называется mod_pagespeed и может распространяться как пакет.

Установка

Установка модуля немного различается для различных систем. Рассмотрим 2 варианта.

CentOS

Устанавливаем пакеты at и wget:

yum install at wget

Затем необходимо скачать установочный пакет:

* в данном примере мы загрузим пакет для 64-битной системы. Для 32-х нужно использовать ссылку https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.rpm.

После можно ставить сам модуль:

systemctl restart httpd

Ubuntu

Загружаем установочный пакет:

* мы загрузим 64-х битный пакет. Если у нас используется система на 32-бит, то скачиваем по ссылке https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb.

Устанавливаем скачанный пакет командой:

После установки модуля, необходимо перезагрузить apache:

systemctl restart apache2

Настройка

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

а) если используем CentOS:

б) если используем Ubuntu:

Данный файл хорошо документирован комментариями. Приведем некоторые примеры для настроек.

1. Для отключения модуля находим:

2. Для указания конкретного каталога хранения кэша меняем опцию для:

3. Путь хранения логов:

Для применения настроек не забываем перезапустить apache:

* данная команда отработает как на CentOS, так и Ubuntu.

Доступ к веб-интерфесу

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

Order allow,deny
Allow from localhost
Allow from 127.0.0.1
SetHandler pagespeed_admin

Order allow,deny
Allow from localhost
Allow from 127.0.0.1
Allow from 192.168.1.5
Allow from 192.168.0.0/24
SetHandler pagespeed_admin

* в данном примере мы добавили разрешение использовать веб-интерфейс для узла 192.168.1.5 и всей подсети 192.168.0.0/24.

Открываем веб-интерфейс по адресу http:// /pagespeed_admin — мы должны увидеть страницу Pagespeed Admin.

NGINX

Для NGINX модуль называется ngx_pagespeed. Для его установки нам нужно будет пересобрать веб-сервер nginx.

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

Подготовка к сборке

Нам необходимо установить пакеты, необходимые для сборки. Устанавливаем их.

yum install gcc-c++ pcre-devel zlib-devel make unzip libuuid-devel libaio-devel libxml2-devel libxslt-devel gd-devel perl-ExtUtils-Embed gperftools-devel

apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip uuid-dev libssl-dev openssl libxml2-dev libxslt1-dev libgd-dev libgeoip-dev

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

* в него мы загрузим все исходники.

После переходим на страницу загрузки nginx и копируем ссылку на последнюю стабильную версию веб-сервера:

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

Теперь загружаем пакет по скопированной ссылке:

* если система вернут ошибку, установим wget командами yum install wget (CentOS) или apt-get install wget (Ubuntu).

tar zxvf nginx-*.tar.gz

Переходим на страницу с релизами модуля и копируем ссылку на последний стабильный:

По скопированной ссылке скачиваем на сервер исходник:

Распаковываем данный исходник:

tar zxvf v*-stable.tar.gz

Переходим в распакованный каталог с исходниками модуля:

. смотрим, по какой ссылке нужно загружать PSOL (PageSpeed Optimization Libraries). В моем случае было:

$BIT_SIZE_NAME нужно заменить разрядностью операционной системы, которую можно посмотреть командой:

И так, в моем примере команда для загрузки PSOL получилась:

Распаковываем архив с PSOL:

tar zxvf 1.13.35.2-x64.tar.gz

* где 1.13.35.2 в названии файла — версия PSOL.

Сборка и установка NGINX

Переходим в каталог с исходником nginx:

Смотрим опции сборки текущего nginx (напомню, инструкция предполагает, что он установлен на сервере):

Я в своем случае получил ответ:

Нам нужно скопировать данные аргументы и добавить к ним путь до исходника загруженного модуля:

* где 1.13.35.2 — версия модуля.

Итого, получаем и выполняем команду для конфигурации исходника:

На запрос использования доступных версий бинарных файлов отвечаем утвердительно:

Use the available Release binaries? [Y/n] Y

Если в процессе конфигурирования появятся ошибки, необходимо самостоятельно разобраться, какого модуля не хватает в системе и установить его.

После окончания конфигурирования можно собирать исходник:

Источник

Как ускорить сайт WordPress для Google PageSpeed

Как ускорить сайт WordPress для Google PageSpeed Insights с показателями 100/100? Сегодня я хочу поделиться с вами некоторыми советами которые помогут вам набрать 100/100 баллов в Google PageSpeed ​​Insights на вашем сайте WordPress. Или, по крайней мере, приблизить к этому показателю ваш веб-сайт ВордПресс.

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

Западный SEO-консультант Ник Лерой (Nick Leroy) рассказал, что много внимания уделял скорости загрузки сайтов своих клиентов, а его собственный сайт на WordPress был довольно медленный. Чтобы не быть сапожником без сапог, он решил начать работу по ускорению ресурса. В итоге он сумел добиться максимальной скорости загрузки 100 в Google Page Speed Insights для десктопной версии сайта NickLeRoy.com. Мобильную версию удалось ускорить до 89.

Читайте также:  Как установить luci на openwrt без интернета

Все владельцы веб-ресурсов могут значительно увеличить скорость загрузки страниц сайта на ВордПресс, считает Ник и рассказывает, как это сделать. 100/100 с помощью WordPress (возможно?).

Как ускорить сайт на WordPress?

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

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

Проблема: хостинг и TTFB

Первое, что бросалось в глаза при поверхностном анализе — большое время до получения первого байта после отправки запроса со стороны клиента (Time To First Byte или TTFB) для всех страниц сайта: от 1,5 до 2 секунд. И это было просто время, которое необходимо для первоначального соединения со страницей без ее загрузки.

Помимо этого были и другие проблемы, связанные с хостингом: отсутствие HTTP/2 setup/configured (проблему можно было бы исправить, используя CDN), отсутствие кэширования и т.п. Общий хостинг на Hostgator не способствовал достижению цели увеличения скорости загрузки сайта.

Решение: смена хостинг-провайдера

В качестве альтернативы существующему хостингу были выбраны два провайдера: FlyWheel и Kinsta. Оба провайдера:

В итоге было решено остановиться на хостинге FlyWheel. Этот провайдер был немного дешевле и предоставлял локальные решения для разработки новых сайтов на WordPress.

После некоторых раздумий Ник Лерой решил создать новый сайт NickLeRoy.com. И вот, почему.

Проблема: оптимизация тем, плагинов, изображений, ресурсов

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

Тема WordPress

Тема, которая изначально использовалась на сайте Ника, была куплена у сторонних разработчиков. Часто такие темы поставляются в комплекте с кучей различных функций. Имеют компоновщик страниц, плагины для слайд-шоу, несколько библиотек JavaScript, библиотеки шрифтов и многое другое. Нередко такие темы используют CSS и JavaScript, чтобы удовлетворять потребностям аудитории.

В результате многие темы содержат большое количество не нужного функционала.

Плагины ВордПресс

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

Изображения

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

Хотя WordPress сжимает загружаемые медиа-файлы, он справляется с этим не очень хорошо. Большинство изображений обычно весит гораздо больше, чем необходимо. А это, в свою очередь, влияет на скорость загрузки страниц.

Ресурсы

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

На сайте NickLeRoy.com использовалось большое количество ресурсов, даже там, где они не были необходимы. Шрифты, javascript-файлы для ненужных функций, CSS для стилей и эффектов и многое другое, от чего можно было бы избавиться.

Решение: создание нового сайта

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

Тогда Ник принял решение перезапустить сайт с нуля на новом хостинге. Для этого была проделана следующая работа:

После реализации описанных выше действий сайт был перемещен из локальной среды разработки в промежуточную. Затем специалисты настроили SSL и HTTP/2 и после тестирования обновили DNS.

Результаты

Скорость загрузки страниц в Google Page Speed оценивалась с помощью сервиса SanityCheck.io. На скриншоте видно, как после внесения всех изменений улучшились показатели для мобильной версии сайта (синяя линия) и для десктопной (черная линия).

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

Ранее рейтинг скорости страниц измерялся тем, насколько быстро ваш сайт загружался на компьютер. Но по состоянию на 09 июля 2018 года скорость страницы является фактором ранжирования для мобильного поиска. Это означает, что оптимизация вашего WordPress для мобильных устройств важна как никогда!

В заключение

Любой владелец сайта на WordPress и другой CMS может значительно ускорить ресурс. Можно последовать примеру Ника и перезапустить сайт или попытаться исправить проблемы на текущем сайте, влияющие на скорость загрузки страниц. Какой бы вариант вы ни выбрали, затраченные усилия обязательно окупятся ростом трафика, снижением показателя отказов и, возможно, повышением позиций в поисковых системах.

Источник