WordPress: Плагины для ускорения загрузки страниц, поисковая оптимизация. Ускоряем Wordpress Ограничение количества сохраненных версий WordPress-постов

Возможна ли оптимизация WordPress и ускорение простыми методами? Конечно! Несмотря на то, что WordPress по умолчанию легкий и быстрый, его неправильная настройка может сделать многие процессы медленными и чрезвычайно запутанными. Предлагаем обратить внимание на способы, которые помогут ускорить работу веб-сайта .

Согласно последним исследованиям компании Microsoft, время ожидания пользователями загрузок страниц сократилось с 12 секунд до 8 секунд, люди стали более нетерпеливыми. Более того, как показали исследования, 40% пользователей покинут ваш ресурс, если он загружается дольше 3 секунд. Поэтому оптимизация и ускорение WordPress просто необходимо.

1. Оптимизация WordPress и регулярное пополнение собственной базы данных.

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

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

  • Ревизия постов: Функция «Ревизия постов » быстро заполняет базу данных, после чего интернет-проект начинает работать медленно. Каждый обновленный пост сохраняется в базе данных. Так база данных заполняется. Данную функцию можно либо отключить совсем, либо ограничить. Чтобы ограничить ревизии, нужно в файл настроек wp-config .php добавить следующие строки:
define("AUTOSAVE_INTERVAL", 300); //секунды define("WP_POST_REVISIONS", 5);

После изменений кода WordPress хранит максимум 5 изменений поста и только 5 минут. В случае необходимости можно снова включить функцию «Ревизия постов».

  • Если нет желания менять код для файла wp-config .php, можно установить плагин — Revision Control или плагин для удаления ревизии постов— WP Clean Up . Тогда оптимизированный WordPress автоматически начнет управлять ревизиями постов. Более подробно как установить и управлять можно .
  • Ссылки на блог и трекбэки : ссылки на блог и трекбэки также могут заполнить базу данных. Их тоже можно отключить. Это можно сделать так: Настройки/Обсуждение/Разрешить оповещения с других блогов(уведомления и обратные ссылки) на новые статьи
  • Комментарии в блоге : Комментарии в блоге — это совсем не плохо, но только если это не тысячи спам-комментариев , которые занимают место в базе данных. Обязательно нужно регулярно удалять такие комментарии, чтобы не «засорять» базу данных.
  • Плагины. Некоторые плагины собирают данные и загружают их в базу данных. Сначала они кажутся полезными, но на самом деле просто занимают много места. Например, один плагин может использовать до 160 мб. пространства базы данных. Это только один плагин! А если их несколько?
  • Аналитика и регистрации. С осторожностью нужно относиться к плагинам, которые анализируют историю и регистрацию данных на веб-проекте . В основном они используют большой объем базы данных, что может привести к медленной работе страницы и ухудшит оптимизацию WordPress.
  • Можно установить плагин WP-Cleanup и использовать его для чистки и оптимизации базы данных.
2. Оптимизация изображений в Wordpress.

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

Существует 2 способа оптимизации собственных картинок:

· регулярно оптимизировать и уменьшать размер фотографий; это можно делать без ухудшения качества фото;

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

Кстати если у вас большое количество изображений, можете воспользоваться кодом купона скидки для платного режима и скидкой 5%, копируйте код dSAdDeN2xj7_Nr9B1LH68MoyeuJxMeUY

· задерживать загрузку картинок; этот способ используется, когда фотография не загружаются, пока читатель прокручивает окно, где есть это фото. Данный способ позволят избежать проблем при загрузке веб-сайта . Для этого можно использовать различные плагины, например Lazy Load и аналогичные ему с похожим названием.

Оптимизация картинки позволяет его уменьшить с размера в 2 мб. до 600 кб. без ухудшения качества. Это делается с целью удаления ненужных фрагментов изображения. Фото можно оптимизировать в блоге на WordPress с помощью установленных специальных плагинов.

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

3. Использование кэша и удаление заголовков.

Большинство веб-ресурсов на WordPress могли быть вдвое быстрее, если бы использовали кэширование.

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

Для эффективного использования кэширования, можно использовать плагин, который я сам использую WP Super Cache . Этот плагин ускоряет загрузку WordPress и оптимизация получается за счет того, что сохраняет уже готовые страницы на диск сервера. Благодаря чему при запросе страницы браузером, блогу не надо каждый раз формировать страницу с нуля. В случае стандартной загрузки ему надо сделать много запросов к базе, обработать программу на PHP и так далее. С кэшом же выдаётся уже готовый результат, сразу.

Кэширование позволяет заметно увеличить скорость работы вашего блога. Было установлено, что возможность полного кэширования может ускорять работу блога на WordPress от 2.4 секунды до 900 миллисекунд.

После включения кэширования, можно также включить модуль истечения времени заголовков, это модуль http сервера Apache mod_expires . Эта оптимизация позволит увеличить скорость работы WordPress, оповестив браузеры посетителей, когда запрашивать определенные файлы с сервера. И засталя его хранить файлы в браузере пользователя нужное время. Модуль mod_expires может сэкономить ресурсы сервера и значительно увеличить скорость открытия страницы. Подробно какие писать записи в.htaccess для активации модуля и правильной его настройки, читайте в статье " ". У нас на хостинге , этот модуль включен по умолчанию для всех веб-сайтов . Тем самым уже изначально улучшая их оптимизацию.

4. Включение GZIP Compression через mod_deflate .

Какой самый популярный инструмент для сжатия файлов к формату Zip на компьютере? 7-Zip? WinRar? Многим приходилось сжимать файлы и наблюдать удивительную эффективность, когда файл размером от 200 Мб уменьшается до размера в 40 Мб? Как это происходит? Разве невозможны подобным образом технологические сжатия? Все возможно, можно сделать так и для блога, и тем самым обеспечить его быструю работу и отличную оптимизацию.

GZIP Compression помогает сжимать файлы страницы в формат Zip, и передавать целиком посетителям, за счет этого достигается оптимизация скорости загрузки. Для этого используется модуль http сервера Apache mod_deflate . Другими словами, посещаемость интернет-страницы та же, но сам блог работает быстро, так как посетителей обслуживает сжатая версия.

Мы проверили веб-ресурс, который был сжат с помощью GZIP Compression от 68 кб до 13 кб, Worpress ускорил свою загрузку в 5 раз.

Как запустить и настроить этот модуль на хорошем хостинге , такой как наш, описано в статье " ".

5. Использование CDN .

Существуют исследования, показывающие, что CDN может увеличить производительность блога на 60%.

Скорость загрузки контента страницы зависит от того, где размещен хостинг, на котором располагается веб-проект . Например, если хостинг размещен в Индии, а вход происходит, например, из США, то сайт будет грузиться медленнее, чем если бы это происходило бы в Индии. Как выйти из такой ситуации? Люди с ограниченной скоростью доступа в интернет, для ускорения загрузки сайта могут воспользоваться сервисом CDN.

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

6. Оптимизация и изменение темы WordPress.

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

7. Объединение заднего фона изображения с перемещаемым спрайтом.

Тема WordPress основана на картинке заднего фона, в соединении с командами CSS, преимущественно, дисплей — это чистый задний фон. Так один красивый задний фон может состоять из 12 различных задних фонов. Внешне это выглядит нормально и просто, пока эти 12 фонов используются как 12 разных запросов к серверу от браузера посетителя. А что, если эти 12 прорисовок объединить в одно? Тогда скорость резко возрастет.

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

8. Использование только несинхронных вызовов для кодов JavaScript.

Замечали, что при зависании Facebook, остальные веб-ресурсы начинают работать заметно медленнее? Что интересно, этого не происходит, когда загружаются коды Facebook. Подобное случается, когда используются синхронные коды с других сайтов — особенно аналитики или трекинг. Если код установлен синхронно на WordPress, сначала загружается он — в зависимости от части кода — перед загрузкой других элементов сайта.

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

Подробно, что это такое, можно .

9. Включить HTTP Keep-Alive .

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

У нас поддержка Keep-Alive включена для всех клиентов бесплатно!

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

10. Использование лучшего хоста.

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

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

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

Напоследок, я предлагаю вам посмотреть отличное видео, где многие моменты из этой статьи по оптимизации и ускорению WordPress, показаны визуально.

Как вы знаете на данный момент поисковые системы начали уделять большое внимание скорости загрузки сайтов так как все повсеместно используют коммуникаторы, телефоны, планшеты, смартфоны, и на них тяжелые блоги да и вообще сайты как вы сами знаете грузятся очень медленно, так как в основном переполнены разнообразными скриптами тяжелым контентом и прочими приблудами, хорошо если у вас есть арендованный vps , или же собственный домашний выделенный веб сервер — там вы можете на 1000% процентов раскачать свой сайт — но а вот на виртуальном хостинге все гораздо сложнее — берем что дают, и на этом делаем но и из говна как вы слышали можно сделать конфетку. Оптимизация wordpress , это не только ускорение загрузки страниц вашего сайта но еще и это важно знать, при правильной контента, и сайта (накоплением ссылочной массы) увеличением ТИЦ и PR вы обязательно попадете в TOP google и yandex. Сейчас же мы в пару кликов с помощью плагинов увидим как работает оптимизация движка на wordpress и то как ускорить работу wordpress . Первое что нам нужно провести проверку здесь https://developers.google.com/speed/pagespeed/insights/ — запомнили свои результаты, посмотрели как оценил google speed скорость загрузки страниц, приступаем к оптимизации wordpress .

Ускоряем сайт на wordpress с помощью плагинов

1) WP-Optimize — оптимизирует вашу базу данных , удаляет все черновики из базы данных и прочую ересь уменьшая тем самым размер базы данных в несколько раз соответственно бд сайта работает немного быстрее, та же рекомендую на хостинге зайти в меню управления базами данных, и там удалить все ненужные таблицы от установленных ранее плагинов которые ранее были удалены, и больше не используются — это так же ускорит бд вашего сайта. Но это все несущественно, если на ваш блог идет трафик из небольшого количества посетителей то это особо на производительность не повлияет (нужно для высоко нагруженных проектов или для очень- очень ограниченного в ресурсах бесплатного хостинга) , но все же на будущее советую это сделать, в каких то особых настройках не нуждается все просто ясно и понятно.

2) WP-HTML-Compression — по названию плагина я думаю вы догадались какую функцию он выполняет, если нет то подскажу что сжимает странички вашего сайта и ускоряет загрузку страниц. Настройки у плагина отсутствуют, если вы будете ставить плагин Autoptimize то его плагин можно не устанавливать, так как данная функция уже присутствует в автооптимизаторе

3) WP Resized Image Quality Изменение уровня сжатия загружаемых изображений и эскизов. — скудные настройки пара строчек все ясно и просто — этот плагин так же важен для ускорения сайта , рекомендую его установить вместе с плагином Regenerate Thumbnails . Установите сжатие картинок в WP Resized Image Quality на 70% и запустите Regenerate Thumbnails ваши «превьюшки» скинут в весе и доблестные google и яндекс будут этому очень рады, да и посетители тоже ибо скинутые пару мегабайт со страницы помогут быстрее ей открыться в браузере посетителя.

4) Hyper Cache v2.9.1.6 (более новые версии не рекомендую) — плагин кэширования для вашего сайта, оптимизации WP блога и снижения его нагрузки на сервер хостинга — этот плагин важен для сайта, я перепробовал множество плагинов и остановился на этом отказался от WP SUPER CACHE и WP TOTAL CACHE на трех под-доменах я поставил три этих плагина и победителем вышел Hyper Cache смотрел в панели google webmaster статистику индексирования сайта ботом google c 800 ms доступ к сайту снизился до 200-300 ms у остальных от 400-800 вроде настроено все было хорошо Hyper Cache использовать лучше в связке с Autoptimize два этих плагина ускоряют загрузку страниц и снижают нагрузку на сервер хостинга и потребление выделенной вам памяти. Скриншоты с настройками Hyper Cache — делаем так же как показано на скринах


настройки

5) CW Image Optimizer — плагин оптимизации изображений для wp , уменьшает вес файла изображения не изменяя его размера тоесть пропорции остаются такими какие были до оптимизации просто из файлов удаляется вся ненужная информация, качество изображений при оптимизации этим плагином не изменяется но вес странички порой уменьшается на пару мегабайт все зависит от того сколько изображений находится на странице, есть один нюанс не все хостинговые провайдеры поддерживают который нужен для работы данного плагина, но если у вас арендованный VPS или KVM VPS или же свой домашний сервер на ubuntu или debian то вы смело можете поставить данный модуль и воспользоватся этим плагином

#Включаем mod_deflate для gzip сжатия файлов на серверах apache2 AddOutputFilterByType DEFLATE text/html text/plain text/css application/json AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript AddOutputFilterByType DEFLATE text/xml application/xml text/x-component SetOutputFilter DEFLATE #Включаем gzip на серверах nginx или nginx+apache # Устанавливаем заголовок Vary: Accept-Encoding на nginx gzip_vary on mod_gzip_on Yes mod_gzip_item_include file .js$ mod_gzip_item_include file .css$ mod_gzip_item_include file .html$ mod_gzip_item_include file .txt$ # Устанавливаем заголовок Vary: Accept-Encoding на apache2 Header append Vary: Accept-Encoding # используем mod_expires ExpiresActive On ExpiresDefault A86400 ExpiresByType image/x-icon A2592000 ExpiresByType application/x-javascript A2592000 ExpiresByType text/css A2592000 ExpiresByType image/gif A604800 ExpiresByType image/png A604800 ExpiresByType image/jpeg A604800 ExpiresByType text/plain A604800 ExpiresByType application/x-shockwave-flash A604800 ExpiresByType video/x-flv A604800 ExpiresByType application/pdf A604800 ExpiresByType text/html A900

И еще url и ресурсы в которых присутствует знак ? не кэшируются, а в wordpress добавляются версии для css и js файлов автоматически pack.js?ver=1.3.4 выглядит это так, page speed рекомендует это исправить, и исправляется это добавлением функции в файл functions.php — в конец файла

Function _remove_script_version($src){ $parts = explode("?", $src); return $parts; } //Убирает версию файла для js add_filter("script_loader_src", "_remove_script_version", 15, 1); //Убирает версию файла для css add_filter("style_loader_src", "_remove_script_version", 15, 1);

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

WordPress – отличная CMS для сайта, но она довольно медленная из коробки, если ее не оптимизировать правильно. В этом руководстве, составленном KeyCDN, мы рассмотрим основные способы оптимизации и ускорения сайта на WordPress.

WordPress также одна из самых популярных CMS для сайтов компаний. Более половины сайтов, на которых можно определить систему управления контентом, работают на WordPress. А это более чем 74 миллиона сайтов.

По данным W3Techs , WordPress используется на 60% сайтов с известной CMS. Это 31,6% всех сайтов в мире.

Инструменты для измерения скорости сайта

Один из самых важных инструментов при работе над оптимизацией скорости сайта — тестировщики скорости загрузки (page speed tool). Мы рекомендуем проводить измерения перед началом работ по оптимизации, и в процессе, после каждого внесенного изменения. Это даст лучшее понимание, изменения каких параметров оказывают положительное или отрицательное влияние на производительность.

Есть много инструментов для проверки скорости загрузки сайта, среди которых KeyCDN, который предлагает тесты из 16 точек по всему миру.

Важность скорости работы сайта в 2018 году

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

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

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

Ограничение количества редакций записей в WordPress

Для того, чтобы ограничить количество редакций записей в WordPress, достаточно добавить следующий код в файл wp-config.php . Он изменит интервал автосохранения записей с 60 секунд до 5 минут и установит количество сохраняемых редакций до трех. Можно задать количество ревизий любым числом.

Define("AUTOSAVE_INTERVAL", 300); // seconds define("WP_POST_REVISIONS", 3);

Удаление старых редакций записей из базы данных WordPress

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

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

Следите за ограничением на 100 страниц в WordPress

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

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

Решением этой проблемы может быть использование кастомных типов постов. Для этой задачи можно использовать бесплатный плагин Post Type Switcher , если нужно большое количество страниц конвертировать в пользовательские типы записей.

5. Оптимизация изображений с помощью сжатия

На современных сайтах в среднем 56% веса страниц составляют изображения. Следовательно, оптимизация изображения и их сжатие должны быть приоритетной задачей при ускорении сайта на WordPress.

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

6. Сжатие Gzip/Brotli

Gzip это еще одна технология сжатия, которая используется для сжатия страниц, стилей и скриптов на уровне сервера перед отправкой браузеру. Проверить, работает ли сжатие Gzip на сайте WordPress можно с помощью сервиса Check GZIP Compression .

Apache

Настроить сжатие на сервере Apache можно, добавив следующий код в файл.htaccess

# Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml # Remove browser bugs (only needed for really old browsers) BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0 no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent

Nginx

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

Gzip on; gzip_comp_level 2; gzip_http_version 1.0; gzip_proxied any; gzip_min_length 1100; gzip_buffers 16 8k; gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_disable "MSIE .(?!.*SV1)"; gzip_vary on;

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

7. Уменьшение количества плагинов WordPress

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

Есть плагины, которые позволяют оценить степень влияния установленных плагинов на скорость работы сайта, но они устарели и не поддерживаются разработчиками. Это плагины P3 Plugin Performance Profiler и WP Performance Profiler

При установке новых плагинов на сайт с WordPress следует обратить внимание на дату последнего обновления плагина и на совместимость с текущей версией WordPress. Если плагин давно не обновлялся, вы увидите следующее предупреждение:

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

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

8. Оптимизация производительности веб-шрифтов

По данным исследований, в 2018 году 57% сайтов используют не стандартные шрифты, это рост на 850% по сравнению с 2011 годом. Очень важно использовать только те шрифты, которые нужны, в форматах WOFF и WOFF2. Сервисы типа Typekit base64 преобразуют шрифты во все возможные форматы, замедляя тем самым скорость загрузки сайта.

По результатам тестов, шрифты Google показывают хороший уровень производительности, потому что используют CDN для загрузки и предоставляются только в форматах WOFF. Open Sans — самый быстрый из 10 популярных шрифтов.

Важно также помнить о разнице между шрифтами Google и безопасными веб шрифтами, она может достигать 200 мс. Это преимущественно из-за скорости загрузки и дополнительных HTTP запросов к серверам Google.

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

Можно пойти еще дальше и поместить все шрифты в отдельный css файл и хранить их в localStorage. Браузерный кэш сбрасывается довольно часто, особенно на мобильных устройствах. А сохраняя файлы в localStorage, можно хранить их у пользователя постоянно. Smashing Magazine сэкономили 700 мс при загрузке страницы с помощью localStorage .

Рекомендуем использовать сервис localFont tool от Jaime Caballero. Можно перетащить свой шрифт в окно и конвертировать его в CSS и Javascript для размещения на сайте WordPress.

9. Оптимизация иконок Font Awesome

Если вы используете Font Awesome, можно ускорить их загрузку, поместив файлы на CDN. Если вы используете тему WordPress с Font Awesome, ее придется немного доработать.

Хранение Font Awesome на своей CDN уменьшит количество запросов к серверу и поисков DNS.

10. Lazy Load для изображений, видео и Disqus

Lazy loading – это технология загрузки объекта только в тот момент, когда он нужен. В случае WordPress это означает, что элемент не загружается до тех пор, пока пользователь не прокрутит страницу до него. Lazy load можно применить для любых элементов страницы, от изображений и видео, до блока комментариев Disqus.

Отложенная загрузка изображений

Для отложенной загрузки картинок на сайте WordPress можно использовать хороший бесплатный плагин BJ Lazy Load . Он заменяет все изображения, ярлыки и фреймы на странице плейсхолдерами и загружает контент по мере приближения его к границе окна при прокрутке пользователем. Это также работает и для текстовых виджетов. Если вы пользуетесь плагином WP Rocket, в нем есть настройки для включения Lazy Load.

Отложенная загрузка видео

Для отложенной загрузки видео на WordPress можно использовать бесплатный плагин Lazy Load for Videos . Он заменяет встроенное видео Youtube и Vimeo кликабельным изображением превью. Если у вас на сайте много видео, этот плагин поможет значительно улучшить скорость загрузки страниц.

Отложенная загрузка Disqus

Disqus – это очень удобная система комментирования, которая очень хорошо борется со спамом. Но стандартный плагин Disqus создает более 10 HTTP запросов, которые могут значительно замедлить загрузку страницы. Чтобы решить эту проблему, разработчик James Joel сделал плагин Disqus Conditional Load , который откладывает загрузку Disqus. Он в том числе не вредит SEO, то есть поисковые системы все равно могут индексировать комментарии.

11. Минификация и объединение CSS и Javascript файлов

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

Минификация

Минификация файлов означает удаление лишних символов из файлов HTML, Javascript, и CSS, таких как:

  • Пробелы
  • Переносы строки
  • Комментарии
  • Разделители блоков

Эта оптимизация уменьшает количество загружаемого кода и положительно влияет на скорость сайта.

Объединение (конкатенация)

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

Для минификации и конкатенации файлов в WordPress можно использовать плагины, например, WP Rocket

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

12. Уменьшение количества HTTP запросов

Уменьшение количества HTTP запросов, которые делает сайт на WordPress в момент загрузки, очень важно для оптимизации скорости.

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

Граватары

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

Есть несколько способов решения этой проблемы.

Вариант 1 — отключить граватары

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

Для этого нужно установить бесплатный плагин WP User Avatar . И в настройках включить опцию «Отключить Граватары и использовать только локальные аватары»

Вариант 2 – использовать Disqus

Можно использовать комментарии Disqus вместе с плагином lazy load Disqus . Кажется странным, что подключать дополнительный плагин, скрипты, делать вызов к сторонним сервисам предпочтительнее использования родного функционала. Но если сравнить скорость на записи с 5 или более комментариями, окажется, что Disqus быстрее из-за меньшего количества HTTP запросов.

Отключение Emoji

С выходом WordPress 4.2 появилась поддержка Emoji. Это привело к добавлению лишнего скрипта wp-emoji-release.min.js?ver=4.3.1 в хедере. Этот скрипт создает дополнительный HTTP-запрос, от которго нужно избавиться, если вы не собираетесь использовать Emoji.

В инструкции ниже покажем, как отключить Emoji и избавиться от лишнего HTTP запроса.

В настройках «Написание» отключите “convert emoticons”.

Вариант 1 – WordPress плагин

Установите бесплатный плагин для WordPress “Disable Emojis ” by Ryan Hellyer. Этот плагин отключает функционал emoji в WordPress 4.2.

Вариант 2 – функция WordPress

Чтобы не перегружать сайт лишними плагинами, можно избавиться от emoji путем добавления в functions.php следующего кода:

/** * Disable the emoji"s */ function disable_emojis() { remove_action("wp_head", "print_emoji_detection_script", 7); remove_action("admin_print_scripts", "print_emoji_detection_script"); remove_action("wp_print_styles", "print_emoji_styles"); remove_action("admin_print_styles", "print_emoji_styles"); remove_filter("the_content_feed", "wp_staticize_emoji"); remove_filter("comment_text_rss", "wp_staticize_emoji"); remove_filter("wp_mail", "wp_staticize_emoji_for_email"); add_filter("tiny_mce_plugins", "disable_emojis_tinymce"); } add_action("init", "disable_emojis"); /** * Filter function used to remove the tinymce emoji plugin. * * @param array $plugins * @return array Difference betwen the two arrays */ function disable_emojis_tinymce($plugins) { if (is_array($plugins)) { return array_diff($plugins, array("wpemoji")); } else { return array(); } }

Отключение скриптов на странице

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

Отключаем Embeds

С версии 4.4 в WordPress загружается новый скрипт wp-embed.min.js , который позволяет упростить вставку видео, изображений, твитов, и т.п. Например, WordPress автоматически преобразует URL в YouTube вставку и сделает превью в визуальном редакторе. Но не всем нужна подобная функция, можно просто скопировать готовый код для вставки с YouTube или Twitter. Проблема с этой функцией в том, что она загружает свой скрипт на каждой странице. Есть несколько способов избавиться от него.

Вариант 1 – WordPress плагин

Установите WordPress плагин “Disable Embeds ” by Pascal Birchler. Он делает следующее:

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

Вариант 2 – функция WordPress

Можно добавить следующий код в файл functions.php, это отключит функцию вставки.

// Remove WP embed script function speed_stop_loading_wp_embed() { if (!is_admin()) { wp_deregister_script("wp-embed"); } } add_action("init", "speed_stop_loading_wp_embed");

Отключаем комментарии

Независимо от того, используете вы или нет систему комментариев WordPress, скрипт comment-reply.min.js подключается на каждой странице сайта. Это не всегда оправдано, на сайте могут быть не нужны комментарии вообще или подключен Disqus. Тогда можно отключить этот ненужный скрипт.

Для этого можно добавить следующий код в файл functions.php .

// Remove comment-reply.min.js from footer function comments_clean_header_hook(){ wp_deregister_script("comment-reply"); } add_action("init","comments_clean_header_hook");

13. Отключение хотлинков

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

RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com RewriteRule \.(jpg|jpeg|png|gif)$ –

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

14. Отключение Pingback и Trackback

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

Отключить pingback и trackback можно в настройках обсуждения. Это изменение коснется только новых записей.

15. Задание размеров изображений

Optimization suggestion: “By compressing and adjusting the size of … you can save 5.8 KB (51%).”

Эти рекомендации относятся к изображениям на сайте, которые масштабируются браузером. Например, если изображение имеет ширину 500 пикселей, а на странице помещено в колонку шириной 400 пикселей. В результате оно будет уменьшено до 400 пикс.

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

16. Решение проблемы медленной загрузки admin-ajax.php

В WordPress 3.6 бал представлен WordPress Heartbeat API , который позволил WordPress общаться с сервером и браузером. Это улучшило управление сессиями, контроль ревизий и автосохранение.

WordPress Heartbeat API использует admin-ajax.php для AJAX запросов из браузера. Это может привести к повышенной нагрузке на процессор и большому количеству вызовов PHP. Например, если оставить открытой страницу с админкой, она будет посылать POST запросы к этому файлу постоянно с заданным интервалом.

Существует бесплатный плагин Heartbeat control , который позволяет задать частоту обращений WordPress heartbeat API.

Стоит помнить, что разработчики других плагинов тоже используют этот файл. Если вы заметили задержки в работе сайта, это может быть вызвано плагином, который запрашивает admin-ajax.php . Чтобы разобраться, в чем дело, нужно запустить тестирование скорости загрузки сайта, найти вызов admin-ajax.php и посмотреть информацию о запросе.

Таким образом можно вычислить, какой плагин выполняет запрос. В этом примере это был плагин соцсетей, для которого не было включено кэширование. Как только кэширование плагина активировали, постоянные обращения к admin-ajax.php прекратились.

17. Настройка MySQL сервера

Оптимизация работы сервера баз данных MySQL также очень важна для быстрой работы сайта на WordPress. Настройки MySQL в большой степени зависят от конфигурации серверного окружения на вашем хостинге, поэтому нет универсальных рекомендаций по оптимизации MySQL. Обычно настройки MySQL/MariaDB находятся в файле /etc/my.cnf . Вот несколько параметров, на значение которых стоит обратить внимание:

  • tmp_table_size
  • query_cache_type
  • query_cache_size
  • query_cache_size
  • join_buffer_size
  • max_heap_table_size

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

18. Выбор качественного хостинга для WordPress

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

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

Оригинал статьи — https://www.keycdn.com/blog/speed-up-wordpress/

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

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

Оптимизация изображений WordPress

Без изображений ваш сайт вряд ли обойдется, поэтому важно, чтобы они были оптимизированы.

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

Удаляйте всю лишнюю информацию из фотографий (дата создания, камера, GPS- координаты и прочее, что можно найти в свойствах файла). С этим вам поможет плагин для оптимизации изображений WordPress WP Smush.it.

Ускорить WordPress помогут CSS-спрайты — техника CSS, которая позволяет объединить все элементы дизайна на странице в одно изображение. В результате вместо того, чтобы загружать множество отдельных изображений, каждый раз делая HTTP-запрос, сайт откроет одно изображение. Использовать CSS-спрайты можно в том случае, если текущая тема вашего сайта их поддерживает.

Существует множество плагинов, которые помогут вам уменьшить размер изображений. Например, EWWW Image Optimizer или уже упомянутый WP Smush.it. Можно использовать и сторонние сервисы для уменьшения размера картинок. Например, сервис Tinyjpg отлично уменьшает размер изображений без потери качества.

Покажем, как обработать все ваши изображения С EWWW Image Optimizer всего в несколько кликов:

После того, как вы установили и активировали плагин, зайдите в администраторскую панель WordPress и перейдите в меню Медиафайлы >> Массовая оптимизация:


Вы увидите опцию для оптимизации всех изображений в библиотеке. Нажмите кнопку “Начать оптимизацию”.

Если вам нужно оптимизировать изображение вне библиотеки медиафайлов (например, графические элементы активной темы), воспользуйтесь кнопкой “Сканировать и оптимизировать”.


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

Сжатие файлов

Оптимизация сайта WordPress возможна и через сжатие файлов. Если вы пользуетесь хостинговой панелью cPanel, то можете воспользоваться меню “Оптимизировать веб-сайт”.


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

Кэширование браузера

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

Откройте.htaccess файл, расположенный в корневой директории сайта, и добавьте следующий код:

ExpiresActive on
ExpiresByType image/jpg "access plus 60 days"
ExpiresByType image/png "access plus 60 days"
ExpiresByType image/gif "access plus 60 days"
ExpiresByType image/jpeg "access plus 60 days"
ExpiresByType text/css "access plus 2 weeks"
ExpiresByType image/x-icon "access plus 2 weeks"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType audio/x-wav "access plus 1 month"
ExpiresByType audio/mpeg "access plus 1 month"
ExpiresByType video/mpeg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/quicktime "access plus 1 month"
ExpiresByType video/x-ms-wmv "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType text/javascript "access plus 2 weeks"
ExpiresByType application/x-javascript "access plus 2 weeks"
ExpiresByType application/javascript "access plus 2 weeks"

Срок хранения можно изменить в зависимости от ваших требований.

Важно: перед внесением любых правок в.htaccess сделайте бэкап этого файла. Если с файлом.htaccess что-то пойдет не так, сайт не будет работать.

Кэширование WordPress

Такие плагины значительно улучшат скорость загрузки страниц. Самые популярные — W3 Total Cache и WP Super Cache. Главное отличие между ними — это то, что W3 Total Cache поддается более гибкой настройке.

Рассмотрим пример настройки W3 Total Cache:

После того, как вы установили плагин, в панели управления WordPress перейдите в меню Плагины >> Установленные >> W3 Total Cache >> Settings.


Важно: если вы являетесь пользователем виртуального хостинга, помните, что все возможные варианты кэширования не должны быть включены одновременно (избегайте использовать опцию Toggle all caching types on or off (at once)). Если Object caching и Database caching включены, они могут вызвать проблемы с использованием ресурсов вашего хостингового аккаунта без улучшения скорости загрузки страницы. Но если ваш сайт находится на VPS или выделенном сервере, то вас это не коснется.

В меню Settings включите следующие опции:

  • Page Cache
  • Minify
  • Browser Cache

И после этого нажмите на кнопку “Save All Settings”.

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

Использование CDN

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

Одним из самых популярных сервисов CDN является Cloudflare . Именно его мы и советуем использовать нашим клиентом и предлагаем вместе со всеми пакетами виртуального хостинга.

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

Оптимизация домашней страницы

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

LazyLoad — плагины, которые помогают осуществлять отложенную загрузку изображений. Это актуально для сайтов, на которых изображений очень много. Загрузка изображения начинается только тогда, когда пользователь долистывает до определенного места на странице. Следовательно, если на странице есть изображение в самом конце, а пользователь просто не долистал до этого места, то загрузка изображения не произойдет. Пример такого плагина — jQuery Image Lazy Load.

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

Включение защиты от хотлинкинга

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

Если вы являетесь пользователем cPanel, вы можете воспользоваться встроенной опцией “Защита Hotlink”.


Также вы можете включить защиту от хотлинкинга при помощи.htaccess кода:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yourdomain\.com/ RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

При помощи этого кода ваш сервер проверяет, откуда именно пришел запрос: если со страниц вашего сайта, то он отдаст изображение пользователю без проблем; если же с чужого сайта – то сервер показывает изображение с ошибкой (nohotlink.jpg – любое изображение, которое вы захотите использовать с этой целью).

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

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

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

Итак, разгоняем наш любимый WordPress в 2017 году. Поехали!

1. Используйте надежный фреймворк/тему

За каждым WordPress-сайтом лежит тема или фреймворк, и это иногда может приводить к проблемам. Каждая тема написана по-разному, и потому одни зачастую темы лучше, чем другие. Дефолтные WordPress-темы типа Twenty Fifteen, очень быстрые, потому что легковесные.

Будьте осторожны, когда покупаете темы на таких мега популярных сайтах, как ThemeForest и Creative Market. Несмотря на то, что там много великолепных тем, вы должны понимать, что разработчики часто добавляете функции просто, чтоб увеличить продажи. Так что главное — найти правильных разработчиков. И именно о таких мы не раз на страницах этого сайта.

Так же, такие легкие фреймворки, как Thesis Theme framework и Genesis также известны тем, что на их основе разрабатываются быстрые и хорошо написанные темы.

2. Использование кэширования

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

Плагины кэширования

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

Установка и правильная настройка плагина кэширования может привести к увеличению производительности в 200-300%!

Обход PHP для кэшируемых страниц

Ниже представлена более продвинутая конфигурация Nginx обхода PHP для кэширования страниц. Этот пример оптимизирован для плагина Cache Enabler.

Пример конфигурации Nginx

Set $cache_path $request_uri; # bypass cache if query string not empty if ($query_string) { set $cache_path "nocache"; } # bypass cache for POST requests if ($request_method = POST) { set $cache_path "nocache"; } # bypass cache for admin area if ($request_uri ~ /wp-admin/) { set $cache_path "nocache"; } # bypass cache for logged in users if ($http_cookie ~ (wp-postpass|wordpress_logged_in|comment_author)_) { set $cache_path "nocache"; } location / { try_files /wp-content/cache/cache-enabler/${http_host}${cache_path}index.html $uri $uri/ /index.php?$args; }

Кэширование браузера – добавьте заголовки Expires к WordPress

Вы также можете добавить кэширование браузера, добавив заголовки expires. Заголовки Expires говорят браузеру, должны kb они запросить определенный файл с сервера или они должны захватить их из кэша браузера. Добавляя их, вы можете уменьшить количество HTTP-запросов, которые им нужны. Некоторые плагины кэширования для WordPress позволяют добавить их, но вы также можете просто добавить код в ваш файл .htaccess

# Enable expirations ExpiresActive On # Default directive ExpiresDefault "access plus 1 month" # My favicon ExpiresByType image/x-icon "access plus 1 year" # Images ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" # CSS ExpiresByType text/css "access plus 1 month" # Javascript ExpiresByType application/javascript "access plus 1 year"

Кэширование сервера

Помимо плагинов кэширования для WordPress и кэширования браузера вы можете использовать преимущества кэширования со стороны сервера. Такой вид кэширования обычно используется на сайтах с большим количеством трафика. Кэширование с Varnish может быть очень мощным, если его скомбинировать с плагином кэширования и CDN.

Prefetch обычно используемых доменов

Prefetching – это нечто сходное кэшированию в том смысле, что вы тоже говорите браузеру, типа Chrome, что нужно найти DNS-настройки перед тем, как они на самом деле понадобятся. Благодаря этому «прошиваются» страницы и запросы любых prefetched-доменов, которые еще не кэшируются, и они начинают работать быстрее.

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

Prefetch Google шрифты:

Prefetch Google код (jQuery)

Prefetch Google Analytics

Удаляем Query Strings из статичных ресурсов

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

Отредактируйте ваш файл functions.php , чтоб включить туда функцию, которая удалит query strings.

Function _remove_script_version($src){ $parts = explode("?ver", $src); return $parts; } add_filter("script_loader_src", "_remove_script_version", 15, 1); add_filter("style_loader_src", "_remove_script_version", 15, 1);

Если вы используете плагин кэширования типа W3 Total Cache, то у вас есть опция, которая предотвращает создание query strings. Есть бесплатные WordPress-плагины, которые также могут удалить query strings, и это плагины Query Strings Remover и .

3. Внедрение сети доставки содержимого (Content Delivery Network)

Неважно насколько крупная у вас WordPress-инсталляция или, как много трафика вы получаете, вы все равно выиграете от внедрения сети доставки содержимого (CDN) . CDN берет все ваши файлы (CSS, Javascript, картинки) и доставляет их на сервер ближе к посетителю, что уменьшает время загрузки. Кроме скоростного бонуса сеть доставки содержимого также может создать положительное впечатление от вашего сайта, улучшить его ранжирование, увеличить время, которое ваши посетители проводят на сайте, улучшить конверсию и даже SEO.

Загрузка всех ассетов из WordPress CDN

Убедитесь в том, что вы загружаете даже самые мелкие файлы, типа фавикона, из вашей CDN. Если загружено все из CDN, то создается одно единое соединение. Чтобы твикнуть ваш фавикон, просто киньте его в корневой каталог вашей инсталляции WordPress с помощью FTP, а затем добавить следующее в ваш header.php между тегами head.

Как вы видите из примера ниже, загружено 100% ваших ассетов из CDN.

4. Оптимизация базы данных WordPress

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

Отключение и ограничение количества версий постов в WordPress

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

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

Отключение создания версий WordPress-постов

Чтоб отключить создание версии постов в WordPress, вам нужно добавить следующий код в ваш файл wp-config.php . Таким образом вы сначала измените интервал авто сохранения по умолчанию с 60 секунд на 5 минут, а затем и вовсе отключите создание версий записей. По умолчанию останется одно авто сохранение на пост.

Define("AUTOSAVE_INTERVAL", 300); // seconds define("WP_POST_REVISIONS", false);

Также есть бесплатный маленький плагин, который называется Disable Post Revision . Он делает тоже самое без необходимости копаться в коде.

Ограничение количества сохраненных версий WordPress-постов

Чтоб ограничить количество создаваемых версий WordPress-постов, вам нужно добавить следующий код в ваш файл wp-config.php. Таким образом вы измените интервал авто сохранения по умолчанию с 60 секунд на 5 минут и ограничите количество создаваемых версий до трех. Впрочем, вы можете указать любое желаемое количество сохраняемых версий.

Define("AUTOSAVE_INTERVAL", 300); // seconds define("WP_POST_REVISIONS", 3);

Удаление старых версий постов из вашей базы данных

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

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

Предупреждение об ограничении WordPress в 100 сраниц

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

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

Решение? Вам нужно начать использовать кастомные типы записей. Вы можете использовать бесплатный плагин типа Post Type Switcher , если у вас много страниц, и вы хотите конвертировать их в кастомные типы записей.

5. Оптимизируйте картинки, используя компрессию без потерь

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

6. Компрессия Gzip

18. Выберете надежный веб-хостинг

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

О наиболее бюджетных и провернных в .