Ускорьте работу Wordpress


У меня нет ощущения, что мой блог работает особенно медленно, но это потому, что я еще толком не начал. Я очень беспокоюсь, что скоро это замедлится, особенно потому, что у меня будут записи в блоге с (оптимизированными/сжатыми) 40-50 фотографиями. Это нельзя изменить, но можно изменить другие вещи.

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

Во-первых, мой блог, похоже, преуспевает в момент. По крайней мере, согласно Webpagetest.org .

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

Изображения:

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

Для сжатия своих изображений я использую Photoshop (за исключением веб-) и смущает Yahoo.

Javascript-код:

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

"При начальной загрузке страницы анализируется 380,5 Кб JavaScript. Отложите синтаксический анализ JavaScript, чтобы уменьшить блокировку отрисовки страниц"

.

Я совершенно не понимаю, что это значит. Кто-нибудь может рассказать мне об этом подробнее? (Я знаю, что это не особенно связано с Wordpress, но в любом случае это часть ускорения, поэтому я надеюсь, что вы готовы помочь мне здесь)

Еще одно предупреждение, касающееся Javascript:

The following external resources have small response bodies. Inlining the response in HTML can reduce blocking of page rendering.
http://zoomingjapan.com/travel/mount-koya-travel-report/ should inline the following small resources:
    http://zoomingjapan.com/wp-content/plugins/gravatar-box/gravbox.js?ver=1.0
    http://zoomingjapan.com/wp-content/plugins/jetpack/modules/wpgroho.js?ver=3.2.1
    http://zoomingjapan.com/wp-content/themes/alltuts/js/contact-form.js?ver=3.2.1
    http://zoomingjapan.com/wp-content/themes/alltuts/js/my-slider.js?ver=3.2.1
    http://zoomingjapan.com/wp-content/themes/alltuts/js/scrollable.js?ver=3.2.1
    http://zoomingjapan.com/wp-content/themes/alltuts/js/sliding_tabs.js?ver=3.2.1
    http://zoomingjapan.com/wp-content/themes/alltuts/js/sprinkle.js?ver=3.2.1
    http://zoomingjapan.com/wp-content/themes/alltuts/js/tab-renamer.js?ver=3.2.1
    http://zoomingjapan.com/wp-content/themes/alltuts/js/welcome_back.js?ver=3.2.1
    http://zoomingjapan.com/wp-includes/js/l10n.js?ver=20101110

Итак, было рекомендовано не иметь никаких вызовов скриптов в файлах шаблонов, вместо этого я поместил ВСЕ это в папку js в своей теме, и вот что вы получите. Тысячи крошечных сценариев. Конечно, я использую wp_enqueue_script! Означает ли это, что лучше положить его обратно в мой header.php? Или создать custom.js и добавьте весь код это, возможно, может хорошо сработать вместе?! Или поместите весь Javascript в footer.php?! Я просто не понимаю, какая здесь была бы лучшая среда для WP!

Перенаправляет:

По возможности удалите следующую цепочку перенаправлений:

http://0.gravatar.com/avatar/2b7d7f6b4622da443cc8081ca78db661...
http://zoomingjapan.com/wp-content/themes/alltuts/images/usericon.png?s=30

По возможности удалите следующую цепочку перенаправлений:

http://1.gravatar.com/avatar/35991606c4e61d2d3a4ba61a9e03ab79...
http://zoomingjapan.com/wp-content/themes/alltuts/images/usericon.png?s=30

По возможности удалите следующую цепочку перенаправлений:

http://www.zoomingjapan.com/wp-content/themes/proton-child/images/toplight.png
http://zoomingjapan.com/wp-content/themes/proton-child/images/toplight.png

Это следует из следующего кода в моем function.php :

add_filter( 'avatar_defaults', 'newgravatar' );

function newgravatar ($avatar_defaults) {
$myavatar = get_bloginfo('template_directory') . '/images/usericon.png';
$avatar_defaults[$myavatar] = "ZoomingJapan";
return $avatar_defaults;
}

Могу ли я избавиться от перенаправления, но сохранить функцию живой?

Другие шаги:

  • Отключить изменения (готово)

  • Выбрасывайте мусор каждые 2 дня (готово)

  • Оптимизируйте дабатазу один раз в неделю (пока нет)

  • Используйте плагин кэша (готово: Общий кэш W3)

  • Смыть рано (еще нет: <?php flush(); ?> не уверен, что это хорошо
    идея использовать??!)

  • Используйте CloudFlare в качестве CDN (еще нет: что вы об этом думаете? хорошо ли это работает с WP?)

Есть ли у вас какие-либо другие предложения, которые относительно легко реализовать?

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

Заранее большое спасибо.

Author: japanworm, 2011-11-18

6 answers

Недавно я был в аналогичной ситуации и тоже начал использовать общий кэш W3.

Я не уверен, какие настройки у вас есть на данный момент, но стоит немного поэкспериментировать, если вы можете убедиться, что вы действительно используете общий кэш W3 по максимуму

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

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

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

Будьте особенно осторожны с уменьшением и протестируйте изменения (более чем в одном браузере после очистки всех кэшей), так как вы можете обнаружить, что некоторым скриптам "не нравится" быть уменьшенными или они не будут загружены позже на странице (например, вы можете испортить загрузку CSS на своем сайте)

Наконец, я бы также рекомендовал попробовать Cloudflare (хотя я видел, что у людей были смешанные результаты с этим с точки зрения скорости), а также CDN

Я использую MAXCDN, который кажется мне хорошим и дешевым и хорошо интегрирован с W3, вот еще немного информации об этом:

Http://www.wpbeginner.com/plugins/how-to-install-and-setup-w3-total-cache-for-beginners/

Я пока не эксперт в этом, но я использовал общий кэш W3, чтобы значительно ускорить работу ряда сайтов за последние несколько дней, ключ экспериментирует по крупицам и тестирование может быть немного трудоемким, но если вы хотите получить максимальную отдачу от своей настройки WP, стоит попробовать

PS Также попробуйте установить плагин WP Smush It и используйте его для сжатия всех ваших изображений PPS всегда говорят, но просто повторяю, отключите все плагины, которые вы тоже не используете

Надеюсь, это поможет!

Большая любовь

Ник

 2
Author: Nick Davis, 2011-11-18 15:38:27

Вы должны сбалансировать оптимизацию скорости с реальностью.

Это означает, что не зацикливайтесь на анализе скорости, есть одна вещь, на которую вам следует обратить внимание с точки зрения удовлетворения пользователей, времени загрузки (в большинстве случаев).

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

Если вы хотите еще больше ускорить процесс, наибольшие преимущества в вашем случае заключались бы в следующем:

  • Сервер масштабированных изображений, у вас есть CSS (или php, который я не смотрел), обслуживающий изображения с измененным размером, вместо этого используйте точные размеры изображений в html.
  • Далее сожмите ваши изображения, используя что-то вроде WebP, (затем вам придется преобразовать их обратно в photoshop).
  • Используйте кэш сервера, например лак
  • Объедините свой javascript и оптимизируйте его

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

 4
Author: Wyck, 2011-11-18 15:42:16

Мои 2 цента, не будучи экспертом

  • оптимизируйте свою тему. Проверьте наличие функций, которые вам не нужны, или вручную закодируйте их
  • проверьте, нужны ли вам все ваши плагины
  • используйте плагины отладки для проверки запросов
  • отладка с помощью Pingdom.com, blitz.io и google analytics (скорость страницы)
  • используйте плагин кэша W3 с максимально включенной поддержкой, кэшируйте, cdn, имитируйте и т. Д.
  • оптимизация изображений
  • попробуйте cdn
  • используйте хороший хост или vps или собственный сервер
  • используйте apc или другой кэш
  • попробуйте nginx вместо apache
 1
Author: Jens Wedin, 2011-11-18 19:39:25

Я бы предложил запустить ваш сайт через GTmetrix. Существует также плагин GTmetrix для WordPress, который вы можете использовать для мониторинга эффективности вашего сайта.

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

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

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

Я бы не стал беспокоиться об отсрочке язык JavaScript. Это в основном неуправляемо в WP из-за плагинов и т.д.

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

Вы вызываете файл jquery-comment-preview.css, которого не существует, так что это пустая трата времени. Кроме того, вы вызываете два файла из fileden - они медленно подключаются. Старайтесь не обращаться с ненужными просьбами к разные домены.

 0
Author: vancoder, 2013-02-28 19:18:25

JavaScript анализируется во время начальной загрузки страницы. Отложите синтаксический анализ JavaScript, чтобы уменьшить блокировку отрисовки страниц. Я добавляю этот код в свой functions.php, он сработал для меня.

function defer_parsing_of_js ( $url ) {
    if ( FALSE === strpos( $url, '.js' ) ) return $url;
    if ( strpos( $url, 'jquery.js' ) ) return $url;
    return "$url' async onload='myinit()";
}
add_filter( 'clean_url', 'defer_parsing_of_js', 11, 1 );
 0
Author: mike, 2014-10-28 00:26:35

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

Решением для этого было бы кэширование страниц на диске. Для этого потребуется место. Таким образом, когда запросы отправляются, плагин кэширования перенаправляет запросы на быстрое чтение файла на диске (на SSD диски).

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

Я не могу рекомендовать какой-либо подобный плагин, я написал один плагин для себя 5 лет назад, под названием Acache, и я, возможно, подумаю о том, чтобы выпустить его однажды.

На самом деле это было 20 строк кода. Я не знаю, почему я больше этим не пользуюсь.

 0
Author: prosti, 2016-10-07 15:17:51