Статьи

Оптимизация Google PageSpeed ​​до 100 в WordPress

Конечный продукт
Что вы будете создавать

Добро пожаловать во вторую часть нашей серии статей о Google PageSpeed. В первом эпизоде я оптимизировал PageSpeed ​​тогдашней темы моего сайта, MySiteMyWay’s Construct. Мне удалось добраться до 70 Mobile и 86 Desktop.

Однако с закрытием MySite я выбрал новую тему и достиг 100 PageSpeed ​​для мобильных и настольных ПК. Мне потребовалось около 12 часов дополнительных усилий для достижения этой цели. Теперь производительность моего сайта — один из самых быстрых сайтов WordPress, который я видел за долгое время. Проверьте это . Просмотр почти мгновенный.

В этом уроке я расскажу вам, как я это сделал и что я узнал о WordPress и Google PageSpeed. Большую часть дня я работал над этим, я думал, что смогу достичь максимума в 90-х. Я был немного удивлен, когда он неожиданно подскочил до 100 для Desktop — и осталось всего несколько деталей, чтобы максимизировать Mobile.

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

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

В конечном счете, оптимизация моего PageSpeed ​​заняла много времени и усилий и сделала мой сайт уязвимым для будущих плагинов и обновлений скриптов Google. Большая часть этой работы довольно запутанная, детализированная и отнимающая много времени. Это также немного сводит с ума и ошеломляет. Спасибо, Google.

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

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

Это огорчает многих разработчиков :

PageSpeed ​​Like the Sad Разработчик Пикассо Париж Франция

Изображение предоставлено: Моя фотография из Музея Пикассо в Париже. Теперь он может называться «Грустный разработчик, сталкивающийся с PageSpeed ​​of Mobile 55 / Desktop 62»

Тем не менее, позвольте мне ободрить вас, показывая, как я это сделал (у вас нет ничего полезного сегодня, не так ли?). Имейте в виду, потребности вашего сайта могут немного отличаться от моих.

Прежде чем мы начнем, пожалуйста, помните, я стараюсь участвовать в обсуждениях ниже. Если у вас есть вопрос или предложение по теме, пожалуйста, оставьте комментарий ниже или свяжитесь со мной в Twitter @reifman . Мне интересен ваш опыт работы с WordPress и PageSpeed.

Если вы ищете новую тему WordPress и хотите оценить PageSpeed, вы можете быть удивлены тем, что оценки по известным темам часто идут в 60–70-х годах, но также и в 90-х годах. Вот пара статей, оценивающих темы и PageSpeed ​​через ColorLib и WPMU . В любом случае я ожидал большего.

Так же, как пример ожиданий отрасли, сайт New York Times для меня набрал 53/55, что намного ниже 100.

На PageSpeed ​​различных тем большое влияние оказывают количество и размер файлов JavaScript и CSS, которые они используют, количество используемых изображений и их размер, а также подход их мобильной реализации, то есть, как правило, отзывчивый в настоящее время. Некоторые создатели, кажется, не смотрят на свои PageSpeeds при создании.

В этом уроке я сосредоточусь на улучшении своего личного сайта JeffReifman.com . Я выбрал Medium by Array Themes по нескольким причинам.

Первым была его базовая скорость. Средняя оценка Mobile 74 и Desktop 89 начинается с их демонстрационного сервера. Хотя это уже было немного лучше, чем до максимизации Construct, это была более современная тема, и было много оставшихся шагов по оптимизации, которые я мог попробовать. Я надеялся вывести PageSpeed ​​в высокие или низкие 90-е.

Кроме того, учитывая рост числа читателей на мобильных устройствах, я хотел отказаться от использования боковых панелей, особенно для размещения рекламы (я надеюсь написать о моих новых направлениях дохода в нашей продолжающейся серии Google DFP ) . Тема Medium хорошо справляется со сложением левой боковой панели в адаптивное меню и скрытием правой боковой панели.

Здесь был начальный PageSpeed ​​для демо-версии Medium (демо-хостинг никогда не бывает сильно оптимизирован). Было действительно обнадеживающе видеть, что у него было много нерешенных проблем, потому что это показало, что это было лучше, чем мой оптимизированный Construct, до того, как были приложены дополнительные усилия, и похожие задачи, которые я знал, чтобы выполнить, чтобы максимизировать его оценку:

Оптимизация страницы Массив Темы Мобильная часть A

Вот больше вопросов:

Оптимизация страницы Массив Темы Мобильная часть B

И более:

Оптимизация страницы Массив Темы Мобильная часть C

И проблемы пользовательского опыта, которые были более локализованы:

Оптимизация страницы Массив Темы Мобильная часть D

И, наконец, вот его демоверсия:

Оптимизация страницы - Массив Темы рабочего стола - всего одна часть

Воодушевленный базовым баллом, я купил и установил тему Medium на свой сервер и приступил к работе.

Имейте в виду, что изменение темы может быть довольно сложным. Для меня замена, исключение и обновление встроенных шорткодов из темы «Конструкт» заняли больше всего времени, и я еще не закончил, например, раскрывающиеся колпачки, варианты pullquote, кнопки, вкладки и навигационные меню на основе страниц. Мой путь на 100 подтолкнул меня к тому, чтобы идти вперед. Как выполнить массовый поиск и замену в WordPress предлагает несколько хороших решений для поиска и замены коротких кодов.

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

Я связывался с ArrayThemes немного о демо-исполнении Sub-100 темы Medium. Они отправили отличный ответ:

Оптимизация теста PageSpeed ​​должна проходить с недоверием … наша демонстрация не работает, но мы не нуждаемся в кэшировании наших демонстраций … Предложения PageSpeed ​​не совсем точны или не являются примером производительности темы. Это будет полностью зависеть от вашей настройки, сервера, кэширования и других оптимизаций, которые вы решите сделать.

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

Кэширование WordPress имеет решающее значение для производительности, и я регулярно писал о моих любимых: W3TC и Varnish Cache, например, Оптимизация WordPress с помощью Varnish и W3 Total Cache .

Google PageSpeed ​​улучшен с W3 Total Cache

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

  • Minit : плагин WordPress для объединения файлов CSS и JavaScript.
  • Минимизация зависимостей : автоматически объединяет и минимизирует любые сценарии и таблицы стилей, поставленные в очередь с использованием стандартной системы зависимостей.
Плагин минимизации зависимостей PageSpeed

Изображение предоставлено: WordPress Tavern

Оба были полезны, но ни один из них не убрал для меня барьеры, связанные с PageSpeed, такие как встраивание CSS в мой <head> для устранения проблем PageSpeed; Другими словами, этот плагин вряд ли приведет вас к 100 PageSpeed. Я обнаружил, что минимизация зависимости эффективна и полезна, но отсутствие гибкости заставило меня уйти.

В конечном счете, я бы неоднократно возвращался к W3 Total Cache и находил новые, более мощные способы повысить его производительность. Он не идеален и, безусловно, имеет некоторые ошибки UX, он работал достаточно хорошо, чтобы я мог найти свой путь с другими подходами к PageSpeed ​​100.

В конце концов, я выбрал только один новый плагин, который позволил легко устранить проблемы PageSpeed ​​с Disqus — я рассмотрю это ниже.

Еще одна важная услуга — сеть доставки контента. Ранее я писал об ускорении доставки контента с помощью KeyCDN в Envato Tuts +, а затем решил переключиться на них как на клиента.

Оптимизация PageSpeed ​​- KeyCDN Dashboard

В конце концов, вы можете выбирать из множества CDN, таких как CloudFlare и RackSpace .

Недавно я начал экспериментировать с новым сервисом оптимизации изображений KeyCDN и плагином WordPress. Есть небольшая вероятность того, что он управляется роботами, созданными на старых Apple Lisas и Mac:

PageSpeed ​​Optimus Оптимизация изображения

Он работает хорошо, но другой популярной альтернативой является WP-Smush , старый плагин с более чем 300 000 пользователей.

Если у вас есть большое количество файлов, которые необходимо загрузить для стилизации (CSS) и активации (JS) функциональности вашей веб-страницы, большинство браузеров будут замедляться после параллельного запроса четырех ресурсов.

Вот пример жалобы на блокировку рендера CSS в PageSpeed:

PageSpeed ​​Удалить блокировку рендеринга в JS и CSS

Это может быть сложный элемент WordPress для устранения из-за темы и архитектуры плагина. Мы вернемся к этому.

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

Давайте шаг за шагом пройдемся по выявленным проблемным областям и путям их решения. По правде говоря, я провел огромное количество экспериментов с различными инструментами и подходами. Я регулярно отказывался от одного подхода и возвращался к другому. Мое решение оказалось довольно хорошо управляемым набором решений. Путь не был прямой Йода.

Например, вот как вы минимизируете HTML в W3 Total Cache:

PageSpeed ​​W3TC Минимизация HTML

Точно так же легко минимизировать JavaScript в W3 Total Cache. Обратите внимание, что ниже я инструктирую W3TC вставлять сжатый файл не в <head> а непосредственно перед </body> . Задержка JavaScript может улучшить ваш счет PageSpeed.

PageSpeed ​​W3TC Минимизация JavaScript

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

Чтобы блокировать плагины от загрузки их собственного CSS и дать W3TC команду загружать сжатые и комбинированные версии, вам нужно найти дескриптор плагина для CSS-файла (отличный от имен файлов) и добавить код в вашу тему, чтобы прервать инструкции по загрузке плагина. Затем введите путь к каждому файлу CSS в диалоговом окне W3TC выше, чтобы загрузить его с другими.

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

Вот мой плагин оглавления, ставящий в очередь его файлы JS и CSS:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
/**
* Register and load CSS and javascript files for frontend.
*/
function wp_enqueue_scripts()
{
    $js_vars = array();
     
    // register our CSS and scripts
    wp_register_style( ‘toc-screen’, $this->path . ‘/screen.min.css’, array(), TOC_VERSION );
    wp_register_script( ‘toc-front’, $this->path . ‘/front.min.js’, array(‘jquery’), TOC_VERSION, true );
     
    // enqueue them!
    if ( !$this->options[‘exclude_css’] ) wp_enqueue_style(«toc-screen»);
     
    if ( $this->options[‘smooth_scroll’] ) $js_vars[‘smooth_scroll’] = true;
    wp_enqueue_script( ‘toc-front’ );

Следуя совету Тэдлока, я снял с регистрации свой плагин, включенный в файл functions.php моей темы, начиная с CSS — вы должны найти ссылки, используемые разработчиком плагина:

1
2
3
4
5
add_action( ‘wp_print_styles’, ‘my_deregister_styles’, 100 );
 
 function my_deregister_styles() {
     wp_deregister_style( ‘toc-screen’ );
 }

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

W3TC может объединить все мои файлы тем и плагинов, но PageSpeed ​​по-прежнему не нравится видеть даже один CSS-код (так много для хорошей практики разработки HTML):

PageSpeed ​​Сбой, потому что у вас все еще есть один файл CSS

В итоге я загрузил девять CSS-файлов (только семь показаны ниже). Во-первых, вы должны найти дескрипторы плагинов для CSS и отменить их регистрацию в своей теме, как описано выше. Затем вы должны указать им все на W3TC.

Хотя есть несколько способов получить минимизированную версию всего этого, на самом деле я просто взял сжатый файл W3TC. Я удалил все аргументы кеширующего запроса, например ?cbe3w2 , с поиском и заменой в TextEditor. Я все еще лояльный пользователь TextMate, но на самом деле он имел большие задержки и зависал всякий раз, когда я пытался перемещаться по минимизированному файлу CSS. Поэтому TextEditor помог мне редактировать эти файлы по отдельности. Извиняюсь перед пуристами, я еще не перешел на Sublime.

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

1
2
3
4
5
6
7
8
9
<![endif]—>
<style type=»text/css»>
<?php
$css = file_get_contents(‘/mypathtowp/wp-content/themes/medium/includes/styles/combined.min.css’);
$css2=file_get_contents(‘/mypathtowp/wp-content/themes/medium/includes/styles/osd-social.css’);
echo $css.$css2;
?>
</style>
    <!— add js class —>

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

В итоге я настроил все свои CSS-файлы в W3TC, сделал копии сжатых файлов, а затем отключил эту функцию:

PageSpeed ​​W3TC Сейчас отключено - но раньше использовалось для сжатия всех файлов CSS

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

При перемещении файлов CSS из каталогов плагинов, убедитесь, что вы установили правильные относительные пути к изображениям и т. Д. Для работы из корневого каталога сайта. У меня было много ситуаций, когда изображения не загружались, пока я не нашел, где разрешить эти вещи. Я поделюсь примером в разделе « Устранение неполадок » ниже.

Забавно, но Google PageSpeed ​​жалуется, если вы загружаете его библиотеки JavaScript извне. Я получил недостатки для внешних скриптов, связанных с Flickr, Disqus и Google Analytics:

PageSpeed ​​Использование кеширования браузера из внешних скриптов

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

Во-первых, я недавно вернулся из поездки в Индию и разместил отдельные посты в блоге с фотографиями, встроенными в Flickr, на главной странице. Моя средняя тема быстро прокручивает несколько сообщений, поэтому PageSpeed ​​пожаловался на все из них.

PageSpeed ​​Cobra фотография из Индии

После того, как PageSpeed ​​пожаловался на размеры встроенных изображений, размещенных на Flickr (при различном количестве пикселей), и увидел эти внешние недостатки JavaScript, я вернулся к самостоятельному размещению оптимизированных изображений на своем сайте. Они все еще ссылаются на Flickr для моего текущего альбома в Индии.

Это хороший пример того, как попытка использовать мощный сторонний сервис с простой целью встраивания фотографий убивает ваш счет PageSpeed. Flickr не сделал оптимальной работы, чтобы помочь пользователям WordPress решить эту проблему. Просто в качестве примера им нужно будет:

  • Предлагайте встроенные размеры, которые удовлетворяют оптимизацию изображения PageSpeed ​​(возможно, как отдельные параметры экспорта, скомпрометированные для вашей PageSpeed ​​- Flickr о качестве изображения)
  • простота публикации кода JavaScript для интеграции в комбинированные файлы WordPress и W3TC

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

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

01
02
03
04
05
06
07
08
09
10
11
12
13
14
//…
<!— add js class —>
    <script type=»text/javascript»>document.documentElement.className = ‘js’;</script>
    <!— add custom GA —>
  <script>
    (function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,’script’,’/wp-content/themes/medium/includes/js/external/analytics.js’,’ga’);
    ga(‘create’, ‘UA-37244292-1’, ‘auto’);
    ga(‘send’, ‘pageview’);
  </script>
    <?php wp_head();
</head>

Обратите внимание, что я изменил пути к своим локальным копиям скриптов. Затем я сделал локальные копии сценариев для Google Analytics и Google DFP, и вскоре после этого было разрешено кэширование в браузере в PageSpeed, за исключением Disqus.

Я точно не уверен, что это за безопасность, поддержка мультиплатформенности или просто «ум», но Disqus и другие провайдеры, такие как Flickr, похоже, скрывают реальные файлы, которые они загружают с другими файлами. Это делает оптимизацию PageSpeed ​​намного более сложной и зачастую неразрешимой.

По общему признанию, я потратил два-три часа, пробуя разные подходы для оптимизации плагина Disqus — у меня ничего не получалось.

В итоге я удалил плагин Disqus и установил условную нагрузку Disqus :

PageSpeed ​​Disqus Плагин условной загрузки

Хотя он предназначен для многих вещей, он также позволяет оптимизировать PageSpeed ​​с установкой.

Внезапно недостатки кэширования в браузере PageSpeed ​​исчезли. Слава к DCL!

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

Если я потрачу больше времени, я, вероятно, смогу улучшить их UX и перейти с PageSpeed.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
<?php if( is_page() ) {} else { ?>
  <ul class=»meta»>
    <li ><span><?php _e( ‘Category: ‘, ‘medium’ );
  <?php if (!wp_is_mobile()) { ?>
    <!— not mobile —>
        <?php $posttags = get_the_tags();
            <li><span><?php _e( ‘Tag: ‘, ‘medium’ );
        <?php } ?>
    <?php } ?> <!— end not mobile —>
    <?php if( is_single() ) { ?>
        <li><?php previous_post_link( ‘%link’, __( ‘<strong>Previous Post: </strong>’, ‘medium’ ) . ‘%title’ );
        <li><?php next_post_link( ‘%link’, __( ‘<strong>Next Post: </strong>’, ‘medium’ ) . ‘%title’ );
    <?php } ?>
 
  </ul>
     
<?php } ?>

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

PageSpeed ​​Отсутствующие значки после объединения и сжатия CSS

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

01
02
03
04
05
06
07
08
09
10
11
// Had to put path in plugin css
@font-face {
  font-family: ‘array’;
  src: url(‘./fontello/array.eot’);
  src: url(‘./fontello/array.eot#iefix’) format(’embedded-opentype’),
       url(‘./fontello/array.woff’) format(‘woff’),
       url(‘./fontello/array.ttf’) format(‘truetype’),
       url(‘./fontello/array.svg#array’) format(‘svg’);
  font-weight: normal;
  font-style: normal;
}

У меня все еще есть одна проблема, которую мне нужно решить. Мой новый плагин вкладок (Construct имел встроенные вкладки) перестал работать по пути. Мне просто нужно потратить время на его отладку, но это должно быть довольно легко разобраться.

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

Если вы хотите выяснить, что я сделал неправильно, вы можете установить Java и YUICompressor следующим образом:

1
2
3
4
#good luck
sudo apt-get install openjdk-6-jre
cd /usr/local/lib
sudo wget https://github.com/yui/yuicompressor/releases/download/v2.4.8/yuicompressor-2.4.8.jar

Пожалуйста, оставьте в комментариях, если вы знаете, как заставить его хорошо играть с WordPress.

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

Я набрал 100 PageSpeed ​​для мобильных и настольных компьютеров. Еще более заметно, что мой сайт работал очень быстро — быстрее, чем я когда-либо делал блог раньше. Мне очень любопытно посмотреть, как входящий поисковый трафик и активность читателей реагируют на более высокие показатели и производительность в течение следующих нескольких месяцев.

Вот мои последние оценки PageSpeed, первый Mobile:

Mobile PageSpeed ​​счет 100

А теперь рабочий стол:

Desktop PageSpeed ​​счет 100

Рабочий стол сначала набрал 100, и мне пришлось вернуться и закончить некоторые настройки (обращаясь к меткам тапов), чтобы получить Mobile там.

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

Как один из примеров изменений в SEO, мое популярное эссе о знакомствах переместилось на третье место в рейтинге мобильных результатов в разделе « Знакомства в Сиэтле » (пока не на настольном компьютере). Это говорит мне о том, что, возможно, истории на крупных сайтах, избивающих его, имеют плохую мобильную PageSpeeds, потому что это не просто.

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

Вскоре мне нужно будет внедрить этот скрипт cron для синхронизации моих собственных скриптов Google для Google Analytics и DFP.

Вот компания, которая предоставляет более простой подход к использованию Analytics без наказания PageSpeed, исправляя последний пункт в Google PageSpeed ​​Insights . Я бы предпочел не полагаться на других третьих лиц.

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

Точно так же, когда плагины обновляются, мне нужно следить за такими же обновлениями. Это может помочь мне лучше организовать использование GitHub с плагинами WordPress. Я уже использую это для моей темы.

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

Наконец, одним из моих сюрпризов является то, что SSL не требуется для достижения PageSpeed ​​100. Это несколько имеет смысл, но подчеркивает, что различные различные компоненты могут влиять на ваш рейтинг в поиске Google. Скоро я напишу о реализации бесплатного SSL от Let’s Encrypt с WordPress.

Если вам понравилось это, но вы хотите прочитать более общий учебник, который не углубляется в детали, которые могут или не могут относиться к вам, Google PageSpeed ​​Scoring 100/100 с WordPress от KeyCDN является отличным дополнением. Я также написал спонсорскую статью об их CDN в Envato Tuts + ( Ускорьте доставку контента с помощью KeyCDN ) и продолжил работу с ними как с клиентом.

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

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

  • Просмотрите страницу PageSpeed ​​моих самых популярных постов, таких как Amazon Marketplace Fraud Made Easy (в настоящее время 97), чтобы убедиться, что все они работают на уровне 100. Как и в этом примере, часто это просто размер встроенных изображений, который мешает PageSpeed.
  • Улучшение управления моей темой и плагинами для максимально возможной поддержки этих оптимизаций по мере поступления обновлений, например, отслеживание изменений в файлах JS и CSS в обновлениях, сохранение обновленных копий внешних файлов JS, таких как Analytics, повторное сжатие обновленных файлов и т. Д.
  • Обновление моего сервера до PHP7 . Обновление обещает почти двукратное улучшение производительности. Это не просто обновить до выпуска Ubuntu в комплекте, но это не так уж сложно.
  • Обновление моего сервера до Varnish4 . Обновление требует некоторой доработки файлов конфигурации, и я не уверен в ее улучшении производительности и совместимости с W3 Total Cache, но я готов попробовать.
  • Изучите CacheEnabler KeyCDN для предоставления более эффективных изображений Webp пользователям Chrome. Размеры файлов Webp значительно меньше, но пока не поддерживаются Safari. Я на самом деле очень рад улучшению пользовательского опыта с этим.

Если у вас есть вопросы, пожалуйста, напишите их ниже. Или вы можете связаться со мной в Twitter @reifman . Пожалуйста, проверьте мою страницу инструктора Envato Tuts +, чтобы увидеть другие учебники, которые я написал, такие как Клонирование WordPress в Linux (за 90 секунд) .