Паге спид. Удаление автосохранения и ревизий записей и страниц


Модуль Google PageSpeed для сайта: что умеет и как пользоваться

Решили поэкспериментировать и добавить на три проекта ускоритель от Гугла. Что из этого получилось — выясняем.

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

Кстати, про поисковую выдачу. Скорость загрузки сайта влияет на ранжирование в поисковиках. Пруфы и . «Тормозящие» сайты реже посещаются роботами, а, значит, реже индексируются. От этого страдает место в выдаче и удобство поиска нужной инфы.

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

— Мэтт Каттс, Google

Гугл потрудился и выпустил свой инструмент для проверки скорости — PageSpeed. Найти тормозящие загрузку элементы просто — заходим сюда и в единственном поле указываем адрес, который хочется протестировать. За минуту будет готов подробный отчет о производительности. Результат будет показан в попугаях. В идеале их сто, но попробуй-ка добейся! Даже самому Гуглу это не под силу: проверьте его сервисы:)

Тесты проводятся как для десктопной, так и для мобильной версии сайта. Ориентироваться лучше по цветовой шкале: желтая зона укажет, что есть элементы, которые стоит оптимизировать, зеленая сообщит, что все ок. Если сайт в красной зоне, подкручивайте скорость и оптимизируйте. Иначе впереди бездна: пока загружается страничка, юзер уже уйдет на другой сайт:)

Оптимизировать сайт можно двумя способами.

Ручная оптимизация

1. Сжимаем картинки Фотошопом или прогоняем через Optimizilla , например

Чем меньше весят картинки, тем больше шакалов тем быстрее загружается сайт. Делаем сжатие, многомегапиксельные фотки прячем под кат. Хватит превьюшки 640×480. Меньше картинка — шустрее сайт.

Даже на стартовой странице Google Developers графику можно сжать на 71%.

2. Выполняем подключение шрифтов с самого сайта, а не тянем их с гуглофонтов

Минус — пока браузер не загрузил шрифт, юзер увидит надоевший Ариал или Тахому.

3. Используем кэш браузера по максимуму

Когда сайт частично уже сохранен у клиента — загрузка пойдет намного быстрее.

4. Сокращаем JavaScript и CSS

Скрипты не редактируются каждый день после релиза — нет смысла сжимать их на лету. Хватит оптимизировать один раз после правок кода. Шаблоны JS лучше обработать на сервере, встроить результаты в HTML и использовать шаблоны на клиенте после загрузки.

5. Сокращаем HTML

На практике — удаление лишних пробелов, табов, переносов строк.

6. Удаляем неиспользуемый код

Можно встроенным в «Хром» аудитом. Нажимаем F12 и переходим на вкладку Audits. Внизу есть единственная кнопка Run. Занимается в целом тем же самым, что и PageSpeed. Только в реальном времени.

Автоматическая оптимизация

Любой сайт состоит из динамических и статических элементов. Динамические элементы — сам HTML-код, полученный из работы php и запросов к базе данных. А остальное — статика. Это картинки, JavaScript и CSS.

Автоматически оптимизировать сайт можно крутой штукой от Гугла — PageSpeed Insights. Этот модуль устанавливается на сервер nginx и после настроек сжимает в реальном времени дофига инфы , в том числе, графической.

PageSpeed Insights умеет анализировать HTML и оптимизировать ресурсы. Пережимать, короче. В исходном коде ресурсы будут находиться по другому пути, не по тому, что задан сжать фоточку разработчиком. Это стоит учитывать. Но отображение ресурсов не изменится. Уменьшится вес. А значит, возрастет скорость загрузки страницы и посетители станут довольнее:)

Однако у PageSpeed Insights имеются ограничения. Его можно поставить только на nginx, запущенный на или виртуальном сервере. Нет, арендованный где-то в Германии shared-сервер не подойдет.

Второе ограничение связано с вечной войной браузеров. Картинки, пережатые PageSpeed-ом, конвертируются в формат.webp, который понимает только «Хром» (на всенародно любимом Internet Explorer 6 такая штука не пройдет). В последних версиях отображению таких картинок научилась и «Опера». Потому что движок поменяла.

Примеры использования PageSpeed Insights

Мы установили модуль PageSpeed Insights на трех проектах — на своем новом сайте и на двух клиентских. Модуль видит, с какого браузера приходит запрос, смотрит, обучен ли он отображать webp-формат и отдает либо оптимизированную картинку, либо обычный jpeg.

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

Сейчас обе версии стоят в зеленой зоне. Значит, проблем со скоростью не возникнет. Если скорость подключения хорошая, не EDGE какой-нибудь:)

В рамках технической поддержки интернет-магазина фабрики «Витра» мы решили поэкспериментировать и установить модуль PageSpeed Insights на него:

PageSpeed, или если быть точнее PageSpeed Insights — это продукт компании Google, при помощи которого можно легко найти недостатки своего сайта. Под недостатками мы понимаем лишь технические моменты, которые сервис предлагает исправить.

Что такое Pagespeed insights и зачем он нужен?

Pagespeed insights — это сервис для оценки качества сайта, а именно: скорости его загрузки на мобильных устройствах и ПК. Самое главное — это бесплатный сервис рекомендаций для разработчиков веб-сайтов по ускорению страницы в браузере клиента. Алгоритмы сервиса постоянно меняются, потому сервис постоянно совершенствуется и следует всем требованиям поисковой систем Google.

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

Так как скорость подключения у разных пользователей различна, PageSpeed Insights рассматривает только независимые от сети аспекты работы страницы: конфигурация сервера, структура HTML, использование внешних ресурсов (изображений, JavaScript и CSS). Применив наши рекомендации, вы сможете оптимизировать относительную скорость загрузки страницы. Абсолютная же скорость загрузки в конечном итоге все равно зависит от скорости подключения к сети.

Pagespeed использует свою систему оценок, которая соответствует разной степени важности:

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

Преимущества и недостатки Гугл Пейдж Спид

У сервиса благая цель — сделать сайты в интернете максимально быстрыми и удобными как на десктопе, так и на пк. Невзирая на это, есть ряд моментов, на которые хочется обратить внимание:

  • Не всегда удается найти баланс между скоростью загрузки сайта и красивым внешним видом. Нужно определиться, что мы хотим: быстрый или красивый сайт? И то и другое получить практически невозможно.
  • Оценка для мобильных сайтов повторяет ошибки для ПК, добавляя лишь фрагмент о компоновке элементов страницы на маленьких экранах. Это не совсем адекватный показатель, ведь Mobile-friendly является фактором ранжирования . Потому, если хотите подтянуть мобильную версию сайта, нужно использовать отдельный отчёт Google.
  • Сервис не показывает ускорение загрузки страниц сайта в абсолютном выражении — секундах или минутах (если все настолько плохо). Он лишь учитывает балы (от 0 до 100), которые не всегда характеризуют реальную скорость загрузки сайта.
  • Сервис выдает обширные рекомендации по исправлению и указывает конкретные файлы, которые нуждаются в оптимизации. Кроме того, уже оптимизированные скрипты, стили и картинки можно скачать прям со страницы с результатами для компьютеров.

Как добиться оценки 100/100 на PageSpeed Insights

Все собственники сайтов считают, что если у них будет 100/100 в результатах, их сайт сразу выйдет в топ. На самом деле это не так. Во первых: не только скорость загрузки влияет на позиции сайта. Во вторых: достичь отметки в 100/100 практически невозможно (если вы хотите современный и модный сайт). Оптимальным считается вариант от 85 и выше, но каждый сайт или CMS система являются отдельным случаем и их нужно рассматривать отдельно.

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

  1. некорректное отображение сайта, при перемещении скриптов и стилей в футер;
  2. отсутствие возможности кешировать ресурсы, загружаемые со сторонних серверов (кнопки социальных сетей, виджеты и многое другое);
  3. отсутствие возможности минимизировать ресурсы (JS, CSS), загружаемые со сторонних серверов;
  4. качество сжатие изображений, которые устроят сервис, не очень хорошо выглядят.

О том, как обычному сайту на WordPress набрать 99/100 в PageSpeed Insights написано на хабре . Довольно таки интересная статья, возможно, она будет полезна не только сайтам на , но и на других CMS. Также, можно использовать сторонние плагины, которые сами оптимизируют сайт: либо под пейдспид, либо — под скорость загрузки.

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

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

Исследования Google

Давайте рассмотрим некоторые недавние исследования: среднее время, затрачиваемое на загрузку мобильной целевой страницы, составляет 15 секунд. Учитывая, что в течение трех секунд посетители должны решить, хотят ли они оставаться на вашем сайте – это огромное расхождение.

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

  •  При времени загрузки от 1 до 3 секунд вероятность отказа увеличивается до 32%
  •  От 1 до 5 секунд до 90%
  •  От 1 до 10 секунд вероятность отказа уже 123%
  • Не трудно догадаться, какое количество посетителей мы теряем.

Скорость страниц будет важным фактором для ранжирования

Еще в 2010 году Google заявил , что скорость страниц будет ранжирующим фактором, но это было ориентировано только для десктопной версии сайтов.

А не так давно был анонсирован новый фактор ранжирования в мобильном поиске под названием «Speed Update». Обновление вступит в силу в июле 2018 года, поэтому у владельцев сайтов будет время подготовиться.

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

Так же не стоит забывать, что скорость сайта – это один из многих факторов ранжирования. К примеру, если у вас хорошо оптимизирована страница по Google PageSpeed, но имеет малополезный неуникальный контент – то навряд ли она сможет занять достойные позиции в поисковиках.

  •  1. Используйте кэширование в браузере и сжатие gzip/deflate. В случае, если у вас стоит apache, это настраивается в htaccess.
  •  2. Оптимизируйте изображения. Удаление ненужной информации и сжатие картинок способны значительно уменьшить их вес.
  •  3. Сократите ресурсы javascript, css, html код. Если сайт находится в стадии разработки, то для удобства редактироватия кода этот пункт лучше оставить на потом.
  •  4. Используйте новую версию протокола HTTP/2. Он более эффективен, надежен и подвержен меньшему количеству ошибок.
  •  5. Переходите на PHP7. Работает более чем в два раза быстрее, чем его предшествующая версия.

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

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

50% интернет-трафика уже сейчас приходится на долю мобильных устройств, и их пользователи ожидают, что страницы сайта будут загружаться практически мгновенно. Поэтому в этой статье мы рассмотрим, как при проверке скорости загрузки страниц бесплатным инструментом Google PageSpeed Insights Tool получить 100/100 баллов как для мобильной, так и для десктопной версии сайта.

Как увеличить скорость загрузки страниц

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

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

Шаг #1: Оптимизируем изображения

PageSpeed Insights Tool проверит изображения на вашем сайте, и если скорость их загрузки окажется недостаточно высокой, Google предложит их оптимизировать. Вы можете увеличить скорость загрузки изображений, уменьшив их вес и размер. Чтоб решить эту задачу достаточно выполнить два шага:

  • Для начала, сожмите все изображениями инструментами типа Compressor.io или TinyPNG . Оба инструменты бесплатны, но крайне эффективны. В некоторых случаях они сжимают картинки на 80% без потери качества.
  • Уменьшите размер изображений до минимально возможного. Допустим, вы хотите, чтоб размер отображаемой на сайте картинки составлял 150x150px. В таком случае фактический размер изображения, хранящегося на вашем сервере, не должен превышать размеров отображаемого изображения, то есть он также должен составлять 150x150px. Не стоит подгонять размер картинки с помощью CSS или HTML кода.

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

Google предложит сразу загрузить оптимизированные изображения на сайт.

Шаг #2: Максимально сократите CSS и JavaScript код

Google может попросить вас сократить JavaScript и CSS код.

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

Например, код в документе, приведенном ниже,

может быть сокращен до:

Чтобы быстро решить эту задачу можно установить на свой сервер инструмент, который называется Gulpjs . На основе вашего файла он автоматически создает новый CSS файл, в котором удалены все ненужные пробелы. Фактически, этот инструмент может помочь сократить размер файла в два раза. Еще больше информации о том, как удалить лишние элементы кода, можно почерпнуть в официальном справочном руководстве Google .

Шаг #3: Используйте кэш браузера

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

CDN - это сокращение от content delivery network, то есть “сеть доставки контента”. Чаще всего это множество серверов со специализированным ПО, которые ускоряют доставку (“отдачу”) контента конечному пользователю. С её помощью можно кэшировать и сохранять многие элементы сайта, такие как изображения, CSS и JavaScript файлы. CDN хранит копии содержимого сайта на серверах. Если пользователь заходит на сайт, контент для него загружается с ближайшего к нему сервера.

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

Как результат, сайт загружается значительно быстрее.

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

Эту проблему можно решить, заменив счетчики изображениями, которые вы можете спокойно хранить с помощью CDN. Вместо того чтобы размещать сторонние скрипты, которые получают информацию о количестве подписчиков из Twitter, Facebook, Google Plus и других соцсетей, можно хранить эти данные самостоятельно, снизив, таким образом, скорость загрузки страниц.

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

Google редко меняет код Analytics, как правило, не более пары раз за год, поэтому можно создать скрипт, который будет проверять Analytics на наличие изменений раз в сутки. Новый код будет загружаться только, если были обнаружены изменения. В таком случае, вы сможете спокойно хранить JavaScript код Analytics, не скачивая его при этом с серверов Google каждый раз при обращении к ним.

Если скрипт обнаружит изменения, то новая версия автоматически скачается и сохранится в вашей сети CDN.

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

Шаг #4: Удалите код JavaScript и CSS, блокирующий отображение верхней части страницы

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

Если ваш сайт на Wordpress, то решить задачу вам может помочь тот же самый плагин Autoptimize. Зайдите в настройки, уберите галочку возле “Force JavaScript in Head” и поставьте рядом с “Inline all CSS.”

Шаг #5: Включите сжатие

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

Шаг #6: Оптимизируйте сайт для мобильных устройств

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

Google Chrome позволяет проверить, как ваш сайт будет отображаться при просмотре на разных мобильных устройствах. Нажмите на контекстное меню в правом верхнем углу, после этого выберите пункт “Дополнительные инструменты”, а затем “Инструменты разработчика”. В выпадающем меню вы можете выбрать тип устройства и проверить, как выглядит ваша страница при просмотре с каждого из них.

Заключение

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

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

  1. Используйте сеть CDN (content delivery network).
  2. Удалите код, блокирующий отображение верхней части страницы. (Не размещайте JavaScript в середине файла. Код JavaScript должен находиться в конце документа).
  3. Оптимизируйте размер изображений и сожмите их.

Ставили ли вы перед собой задачу оптимизировать скорость работы сайта? Если да, то какие шаги вы предпринимали?

Подробно рассмотрим сервис гугла, про скорость загрузки сайта google page speed, как попасть в зеленую зону и набрать 99/100 возможных баллов. Быстрота открытия Вашего ресурса это очень важный показатель ранжирования сайта. В интернете очень много инструментов измеряющие скорость загрузки ресурса, но ориентироваться и пользоваться надо google page seed. Ваш проект должен быть в зеленой зоне! Данная зона начинается от 85 баллов. Чтобы обойти своих конкурентов набрать необходимо 98 — 99 баллов из 100. Все 100 получать не нужно, для ста необходимо отключить Яндекс Метрику и Гугл аналитику, что делать не желательно. Добившись высоких показателей, Вы сразу заметите рост позиций. Замерять необходимо каждую страницу отдельно. Переходим к практике.

От чего зависит скорость загрузки сайта google page speed

Время ответа сервера (это важно знать)

Предложение по оптимизации

Технически самая сложно исправляемая ошибка. От отклика Вашего сервера зависит общая картина всех показателей. Если не удается добиться нормальных показателей, то лучше поменять хост или перенести проект на VPS выделенный сервер. — подробная статья


Проверяем время ответа сервера

Общее время отклика можно проверить на mts.webopulsar.ru/test вбив свой домен (см. скрин выше). Для быстрого ответа на хосте необходимо настроить ряд параметров, а именно кэширование и сжатие файлов. Все настройки производятся в файле.htaccess, если данного файла в корне сайта нет, то просто создайте его. Если используется VPS сервер, то необходимо настроить руками Nginx сервер. Ручная настройка VPS сервера выходит за рамки данной статьи. В WordPress самое простое решение это установка плагина WP SuperCahe или аналога. Описаний в сети по настройке этих плагинов очень много.

Ответ сервера — это так же количество обращений к нему за тем или иным файлом, а именно за CSS и JS скриптами. Самое первое с чего надо начать, это сократить количество этих файлов, тем самым сократится число запросов и время отклика соответственно. То есть все CSS стили темы необходимо загнать в один большой файл. Как правило, в теме WordPress штук 5 — 7 таких файлов. Тоже самое проделать со скриптами. Точно таким же образом все стили плагинов загнать в общий CSS, скрипты тоже самое. Далее подробно расскажем как отключать стили в плагинах и подключать к общему файлу. Отдельно рассмотрим очистку базы данных и многое другое. Но сначала закончим с настройкой отклика сервера.

Включение использования кэширования в браузере и проверка

Как уже было сказано выше, на обычном хосте отсутствует возможность настройки сервера руками и все управление происходит через файл.htaccess. В двух словах, отдача контента пользователю происходит либо через сервер Apach (Апач), либо Nginx (энжинс). Оба сервера достаточно быстры в отдаче материала пользователю, но Апач при посещаемости более 3000 уникальных посетителей начинает тормозить и захлебываться. При таком наплыве уже необходим Nginx выделенный VPS сервер. Для того чтобы на стороне пользователя выполнялось кэширование необходимо создать или в существующий файл.htaccess вставить соответствующий код, ниже будет приведен.

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


Очень плохие показатели сайта

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


Переключение на Апач в Можордомо
Снимаем все галки и отдаем контент через Апач

Для настройки кэширования в файле.htaccess необходимо дать инструкции для сервера. Апач кэширует через модуль mod_headers или более современный mod_expires. Необходимо либо запросить информацию у провайдера, либо поочередно попробовать сначала один, затем другой код, но можно вставить и оба кода, конфликтовать не должно.

## EXPIRES CACHING ## ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month" ## EXPIRES CACHING ##

Или второй

# Включаем кэш в браузерах посетителей # Все 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" # Отключаем кеширование php и других служебных файлов Header unset Cache-Control

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


Улучшение показателей после настройки кэширования

Настройка Gzip сжатия

Выполняется аналогично, добавлением следующего кода в файл.htaccess.

Mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file .(html?|txt|css|js|php)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

Собственно всё, что можно было сделать для сокращения ответа сервера.

Выполните проверку вставленного кода, на предмет работы сжатия и кэширования. Для этого на странице сайта в браузере нажмите F5 (обновите страницу), далее F12, откроется окно web-разработчика (если попросит, то еще раз F5), перейдите на вкладку Network, далее в левом окне, в самом верху щелчок по названию страницы (см. скрин ниже), в правом окне на вкладке Headers откроются данные. Должны быть указаны параметры max-age=… и gzip deflate, как на рисунке. Если данные параметры отсутствуют, то что то Вы сделали не так, перечитайте мануал и повторите процедуру.


Проверка кэширования и сжатия после настроек

Добавьте еще две строчки кода:

Php_value memory_limit 512M php_value max_execution_time 30000

Это увеличит память PHP и увеличит скорость загрузки сайта. Идем далее и настраиваем саму тему, блог или магазин.


Улучшенные показатели, пункт кэширования и сжатия исчез

Как объединить CSS файлы и скрипты

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

Следующим этапом необходимо стили плагинов так же загнать в общий файл style.css. Копируем содержимое стилевого файла плагина и вставляем в общий, затем переходим в функционал темы.

Отключение CSS плагинов обязательно нужно делать в функционе темы, чтобы при обновлении плагинов не переделывать заново. Отключение происходит по разному. Это может быть через add_filter или wp_degueue, wp_deregistr_style.

Во всех случаях необходимо найти в файле плагина название регистра отключаемого стиля. Для этого необходимо перейти в папку с плагинами, выбрать отключаемый и перебрать код, как правило, функционального файла (обычно название файла совпадает с названием программы). В качестве примера рассмотрим Newsletter. Открываем файл plugin.php и ищем что то с формулировкой style.


Ищем нужную функцию отключения CSS

Из скриншота видно, что стили подключаются через функцию wp_degueue, соответственно и отключать надо через неё. Далее смотрим на что ругается google page speed, видим что это один файл под названием style.css — копируем его в общий. Далее на любой странице своего сайта открываем html код, нажимаем Ctrl+U и ищем файл который дает отрицаловку. В нашем случаи это вот эта строка, см. скрин


Ищем на что ругается google page speed
Поиск нужной функции в плагине

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

Очень часто в стилях плагинов прописывают относительные пути к изображениям. То есть в папке с программой идут определенные картинки. Путь к ним указывается относительный. К примеру: название-плагина/img/img.pmg.

При копировании в общий файл CSS картинка пропадет и работать не будет, появится битая ссылка, что является грубой внутренней ошибкой сайта. Чтобы этого избежать, необходимо найти все эти относительные адреса изображений и заменить на полный путь к файлу с картинками (абсолютный путь), примерно так: https://им_сайта.ру/трали/вали/плага/img/img.png

Рассмотрим еще несколько примеров. Плагин Contact Form7 необходимо переподключить следующим добавлением кода

Add_filter("wpcf7_load_css", "__return_false");

Стили woocommerce отключаются аналогично

Add_filter("woocommerce_enqueue_styles", "__return_false");

Мой любимый плагин для ведения подписки Newsletter отключается так:

Function wp_dequeue_newsletter_enqueue_style() { wp_dequeue_style("newsletter-subscription"); } add_action("wp_enqueue_scripts", "wp_dequeue_newsletter_enqueue_style", 20);

Если Вы придерживаетесь ФЗ — 153 и используете плагин о предупреждении сбора cookie, то отключить его можно установив в конце functions.php Вашей темы следующий код:

Function wp_dequeue_cn_css_style() { wp_dequeue_style("cookie-notice-front"); } add_action("wp_enqueue_scripts", "wp_dequeue_cn_css_style", 20);

По такой же схеме сократите все Ява скрипт файлы. Таким подходом Вы сократите порядка 10-15 запросов к серверу.

Перенос стилей и скриптов в футер

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

Function footer_enqueue_scripts() { remove_action("wp_head", "wp_print_styles", 8); remove_action("wp_head","wp_print_scripts"); remove_action("wp_head","wp_print_head_scripts",9); remove_action("wp_head","wp_enqueue_scripts",1); remove_action("wp_head","wp_site_icon",99); add_action("wp_footer", "wp_print_styles", 5); add_action("wp_footer","wp_print_scripts",5); add_action("wp_footer","wp_enqueue_scripts",5); add_action("wp_footer","wp_print_head_scripts",5); add_action("wp_footer","wp_site_icon",99); } add_action("after_setup_theme", "footer_enqueue_scripts");

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

Function wcs_defer_javascripts ($url) { if(is_admin()) return $url; if (FALSE === strpos($url, ".js")) return $url; return "$url" defer="defer"; } add_filter("clean_url", "wcs_defer_javascripts", 11, 1);

Как сократить CSS, JS скрипты и ускорить загрузку сайта

Сокращение таблиц стилей подразумевает удаление комментариев, переводов строк, пробелов. После этих манипуляций файл значительно сокращается в размерах, но и редактированию практически не подлежит. Перед сокращением обязательно сделайте копию. Если после надумаете редактировать, редактируйте копию и после сжимайте снова.


Сервис сжатия CSS и JS

В интернете много сервисов для сжатия CSS файлов, вот один из них https://csscompressor.com (см. скрин выше). Просто копируете свой огромный файл и вставляете его в окно слева, жмете кнопку и справа готовый сжатый CSS, вставляете сокращенный код в файл на сайте, вместо старого, не забудьте сохранить изменения. Тоже самое проделывается со скриптами. Проверяется работа способность ресурса и скорость загрузки сайта.


После проделанных модификаций уже получили 85 из 100, читайте дальше и увидите все 100 из 100
Внимание:

В нашей обучающей программе Вы получаете полностью оптимизированный сайт на WordPress! Подписывайтесь в конце статьи на бесплатные уроки и запустите свой мега-проект в интернете.

Оптимизация изображений для увеличения скорости загрузки сайта

Все картинки должны быть оптимизированы и сжаты. Если у Вас много страниц и на них куча картинок, то Вы попали. На нашем блоге на момент технической реструктуризации было порядка 2000 изображений. Их полная обработка заняла три дня и чистого времени порядка 40 часов нудной, монотонной работы. Но оно того стоило, теперь любая наша страница выдает 99 из 100 баллов. А позиции сайта потянулись вверх.

Выполнить компрессию несколькими простыми способами. Первый: В самом Page Speed Tools в самом низу предлагаются файлы для скачивания, это скрипты стили и картинки. Но не обольщайтесь, программные файлы скорей всего будут не все, да и картинки могут недодать.


Сжатие изображений без потерь

Самый надежный и быстрый способ сжать картинки именно без потерь можно через онлайн сервис — compressor.io (просто скопируйте и вставьте в строку браузера). Сервис на английском, но прост и понятен. Для компрессии без потерь необходимо нажать на правую кнопку (см. скрин выше), работает только с jpg и png, хотя мы сжали и gif. Затем загрузить изображение и сжать, полученную копию можно скачать на комп и потом загрузить обратно на сервер или хост. Будьте внимательны, к названию картинки приклеивает свое название, не забывайте удалять его. Вот и все.


Сжимаем картинки в сервисе

Можно конечно в WordPress воспользоваться плагином, но это опять нагрузка на сервер. И скажем честно, что протестили пару широко разрекламированных плагинов, но результат плачевный, Гугл завернул сжатие и попросил поджать еще. На закуску самое интересное:

Удаление кода блокирующего отображение верхней части страницы

Удалите код JavaScript и CSS блокирующий отображение верхней части страницы. Так требуют поисковики. Что же это значит? А значит это следующее: По логике все скрипты и стили должны находится в подвале ресурса и загружаться после загрузки первого экрана. Но часть к примеру нужного CSS кода в первом экране может не загрузится, так как нужный код подгружается после отрисовки первого экрана.

Решается эта проблема достаточно просто. Необходимо из таблицы стилей выбрать нужный код, его еще называют критическим CSS и вставить его в header темы и всё ок.

Во завернул про простату, пойди найди тот код в сжатом CSS файле, да? Сам ищи!!!

Но все действительно просто, берете резервную копию не сжатого общего файла (куда копировали все стили темы и плагинов) и идете в сервис вычисления критического CSS по адресу https://jonassebastianohlsson.com/criticalpathcssgenerator/ и в строку 1 вставляете адрес страницы, в окно 2 вставляете полный CSS и жмете на кнопку 3. Полученный код надо вставить в header темы.


Сервис по выносу в шапку критического CSS

Сделать это надо через функцион темы, то есть в PHP файл функционала в самый конец вставляется следующий код

Add_action("wp_head", "hook_css"); function hook_css(){ echo ""; }

Код может получится большой. Далее проверьте еще несколько разных страниц на скорость загрузки. На некоторых ошибка может всплыть опять. Связано это с тем, что шаблон записи отличается от шаблона страницы и какого-то куска кода может не хватить. Главная страница так же отличается, где то Вы разрешили комментарии, где то нет, и это тоже может повлечь за собой эту же ошибку. Особое внимание уделите лендингам, скорость загрузки лендингов напрямую влияет на стоимость клика в контекстной рекламе. Чем выше скорость, тем ниже стоимость. — подробная статья.

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


Вот чего надо добится от каждой страницы чтоб было 99/100

Вот таких результатов Вы должны добиваться!

Очистка базы данных

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

Тема очистки базы данных достаточно большая и объемная, ориентирована в основном на опытных пользователей, так же в сети много рекомендаций и мануалов. Наш же блог большей частью направлен на новичков. Мы дадим пару советов и хаков к WordPress в рамках данной статьи, которые помогут Вам решить проблемы с мусором в базе данных. Справится даже новичок.

Удалите все ненужные компоненты.

Удалите неиспользуемые плагины. Старайтесь вообще их избегать. Есть плагины которые могут требоваться только в определенный момент, тогда и активируйте, поработали и деактивировали.

Удалите все ревизии и отключите автосохранение записей и страниц.

Удаление автосохранения и ревизий записей и страниц


Открываем файл wp-config

Как уже говорилось, WordPress по умолчанию сохраняет до 25 последних копий редакций постов. Для отключения ревизий автосохранения записей необходимо открыть файл в корневой папке WP с названием wp-config.php (см. скрин выше), найти строку (если отсутствует, то в конце файла вставить) …. И после неё вставить вот этот код

Define(‘WP_POST_REVISIONS’, false); define(‘WP_POST_REVISIONS’, 0);

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

Define(‘WP_POST_REVISIONS’, 3);

Далее необходимо удалить лишние редакции, представьте, что на блоге написано порядка 100 статей и ко всем есть по 5 — 10 редакций. Это сильно загружает Ваш сервер. В момент обращения к записи начинается перебор всех ревизий и только в самый последний момент загружается нужная последняя редакция поста. Ввиду этого нужно очистить базу от ненужных редакций.

Для этого переходим в панель управления базами данных и заходим в MySQL. На хосте Мажордомо это делается так: Выбираем в левой колонке базы данных, справа в нужной базе нажимаем ссылку PMA — откроется панель PHP MyAdmin, в ней переходим на вкладку SQL (см. скрин выше) и вводим следующий код:

DELETE FROM wp_posts WHERE post_type = "revision";

Внизу слева кнопка «вперед». Все наша база очищена. Проделанные операции значительно уменьшат время загрузки Вашего сайта.


Удаление ревизий PHP MyAdmin

Периодически, в зависимости от регулярности публикаций, объема комментирования и т. д. регулярно заходите в PHP MyAdmin и вставляйте вот эти запросы в разделе SQL

DELETE FROM wp_posts WHERE post_type = "revision"; DELETE FROM wp_posts WHERE post_status = "trash"; OPTIMIZE TABLE wp_posts,wp_postmeta,wp_comments,wp_options; DELETE FROM wp_comments WHERE comment_approved = "spam"; DELETE FROM wp_comments WHERE comment_type = "pingback"; UPDATE wp_posts p SET p.ping_status = "closed"; DELETE FROM wp_postmeta WHERE meta_key IN("_edit_lock", "_edit_last","_wp_old_slug");

1-ый запрос - удаляет все ревизии;
2-ой запрос - очищает корзину;
3-ий запрос - оптимизирует таблицы;

7-ой запрос - удаляет информацию о последних редактированиях постов и еще некоторые моменты.

Как правило, на сайте устанавливаются кнопки социальных сетей. Данные виджеты устанавливаются через плагин или сторонний скрипт. Если Вы используете плагин, то следуйте инструкциям выше, переместите стили и скрипты в общий файл и т. д. Если сторонний скрипт, то значение «defer» к скрипту может не прописаться, тогда его нужно прописать вручную.. Мы используем код от Яндекс сервиса, в теме для вывода кнопок в конце статьи его необходимо было разместить в файле comment.php. Значение «defer» необходимо в этом случаи прописать вручную. То есть к скрипту необходимо добавить defer = ‘defer’ как показано на рисунке.


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

RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(.+.)?yandex.ru/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+.)?undsoft.com/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+.)?yandex.net/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+.)?feedburner.com/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+.)?mail.ru/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+.)?poisk.ru/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+.)?yourdomain.ru/.*$ RewriteCond %{HTTP_REFERER} !^$ RewriteRule .*.(jpe?g|gif|bmp|png)$ - [F]

Обязательно замените yordomain.ru на свой домен. После установки этого кода, если на сторонний сайт скопируют Вашу картинку без изменения адреса, то у них будут отображаться пустые места.

Спамеры постоянно бомбят комментарии путем запуска специальных роботов. Тем самым создают ненужную нагрузку на Ваш хост. Вставив код

RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post.php* RewriteCond %{HTTP_REFERER} !.*yourdomain.ru.* RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$

в тот же.htaccess Вы запретите оставлять коммент минуя форму комментирования, таким образом, многие боты просто отвалятся.

На домашней странице выводите только анонсы записей. Выводите только 3 — 5 записей.

Иногда запись бывает очень популярная и обсуждаемая. Старайтесь не выводить более 50 комментов на странице.

Используйте только жизненно необходимые плагины. Удалите разную лобуду. То что можно сделать руками без использования дополнительных модулей, делайте руками, в интернете полно подробных рекомендаций и решений. При не использовании плагина, деактивируйте его на время бездействия. Так например OptimizeDB, плагин по оптимизации базы данных, нужен только при очистке БД.

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

Подумайте о переезде на VPS сервер с обычного хоста. Это сразу решит множество проблем. В плане финансовых затрат практически никаких. На примере провайдера Мажордомо смотрим расценки — хост = 2400 за год, VPS = 3500 за год.

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

Изучите материал по теме, оплатите месяц и потренируйтесь, проведите так называемый тест. Загрузите пробный сайт, настройте, поработайте с сервером.

Со временем мы выпустим пошаговое руководство по настройке VPS сервера. А пока можете скачать бесплатные уроки и потренироваться на локальном сервере Денвер. Сумеете за пару часов запустить свой полноценный сайт на компе и полностью настроить. Этот опыт понадобиться Вам при администрировании VPS сервера, так что оформляйте подписку и получайте бесплатно уроки.

Совет:

Если Вам руками сложно справится с такими настройками, то попробуйте установить два плагина:

WP Super Ceshe

OptimizeDB

Выводы

Вначале статьи мы Вам показали скрин одного из наших тестовых сайтов до оптимизации.

А это уже после полной оптимизации.


Начали с 29 из 100 и довели до 100/100

Соответственно, чтобы не говорили, добиться высоких показателей скорости загрузки сайта в Google Page Speed Tools Insights можно и нужно. Вот наш сайт сайт до оптимизации:


До оптимизации

И после оптимизации скорости загрузки сайта.


После всех настроек

Все страницы ресурса настроены и имеют показатель 99 из 100. Если отключить Я.Метрику и Гугл аналитику, то будут все 100.

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

Обязательно ознакомьтесь с похожими записями

Понравился материал? Подписывайтесь на наш блог.







2024 © gtavrl.ru.