sonyps4.ru

Как ускорить блог вордпресс. Почему вы должны ускорять WordPress? Использование лучшего хоста

Привет, друзья! Сегодня я бы хотел написать о том, как ускорить wordpress. Вы узнаете 10 способов, которые помогли моему блогу работать в несколько раз быстрее.

Для чего нужно ускорять блог?

2. Запретите обновления сайта.
У вас установлен wordpress и много плагинов. Все эти плагины и сам движок время от времени обновляются. И сайт начинает искать эти обновления в интернете. Таким образом, скорость вашего сайта уменьшается. Чтобы этого не было, я советую запретить обновления блога. Для этого есть разные плагины, но ми не будем ставить плагин, а воспользуемся вод таким кодом.

// обновления wordpress
add_filter ("pre_site_transient_update_core",create_function ("$a", "return null;"));
wp_clear_scheduled_hook ("wp_version_check");
// обновления плагинов
remove_action ("load-update-core.php", "wp_update_plugins");
add_filter ("pre_site_transient_update_plugins", create_function ("$a", "return null;"));

Этот код нужно вставить в файл functions.php в самый низ перед вод таким знаком ?>

3. Отключите ревизию постов и удалите корзину.
Например, вы написали статью в блог. Через некоторое время решили ее отредактировать. После этого увеличивается количество ревизий поста. А все эти ревизии нагружают базу данных. Точно также, все статьи, которые вы удалили, автоматически попадают в корзину. И опять же, увеличивается нагрузка на базу. Если вы решили удалить пост, значит, он вам не нужен. И корзина также не нужна.

А теперь обо всем по порядку. Для того, чтобы отключить ревизии, зайдите в wp-includes — default-constants.php
и замените там строчку

define ("WP_POST_REVISIONS", true);

define ("WP_POST_REVISIONS", false);

Чтобы отключить корзину, откройте файл wp-config.php и пропишите там строчку

define ("EMPTY_TRASH_DAYS", 0);

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

/** Имя базы данных для WordPress */
define ("EMPTY_TRASH_DAYS", 0); /** удаления корзины */
define ("WP_CACHE", true); /** кэширования */
define ("DB_NAME", "a40210_site");

4. Оптимизируйте базу данных для ускорение сайта.
Для этого есть замечательный плагин Optimeze DB . Скачайте его, установите, а потом активируйте. Дальше зайдите в Панель управления — плагины и нажмите на кнопку «optimize» Потом плагин можно деактивировать, чтобы он не нагружал сайт. И, примерно раз в две недели можете его активировать и нажимать на кнопку «optimize» .

И еще один совет. Не забывайте указывать ширину и высоту картинки. Так она будет быстрее загружаться.


Вод так неправильно:

А вод так правильно:

Как видно, в последнем варианте появились width и height . Это высота и ширина изображения. Их нужно указывать, несмотря на то, что без них картинка также будет загружаться нормально.

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

7. Оптимизируйте файл style.css для ускорение сайта.
Для этого нужно перейти на сайт styleneat.com и загрузить или скопировать и вставить туда свой файл стилей. Этот сайт поможет сжать файл, и таким образом стили будут загружаться намного быстрее, а значит и увеличиться скорость сайта. Но перед тем, как сжимать файл, я советую сделать его копию, поскольку после сжатия, сайт может отображаться не совсем правильно.

8. Защитите блог от спама
Это также очень важно для ускорение wordpress. Если спамеры будут сильно атаковать сайт, то это увеличить нагрузку на сервер и соответственно снизится скорость ресурса. Для того, чтобы от спама есть очень много плагинов. Я, например, установил Akismet , и мне его вполне хватает.

9. Перенесите все скрипты с header.php в footer.php
У каждого сайта есть очень много разных скриптов. Возможно, вы установили, какую-то статистику для сайта, или или еще что-то. Так вот, в инструкции по установлении скриптов часто советуют, что нужно вставлять код в файл header.php перед тегом . Иногда это действительно необходимо, но не всегда. В большинстве случаев коды лучше вставлять в файл foter.php перед тегом

Дело в том, что header.php это верх сайта, а footer.php низ. Сначала загружается верх, а потом соответственно низ. Так вот, чем меньше будет разных скриптов в файле header.php, тем блог будет быстрее грузиться. Поэтому, перенесите все скрипты с файла header.php в footer.php

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

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

Ну а теперь, после того, как вы сделали все эти шаги, или хотя бы некоторые из них, перейдите еще раз на webwait.com и проверьте, насколько увеличилась скорость вашего ресурса.

Ну что же, наверное, все что касается вопроса: «Как ускорить wordpress?» Надеюсь, вам понравилась статья;-). Если вы знаете еще какие-нибудь способы для ускорение сайта, то поделитесь в комментариях;-).

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

Шаг 1: Подготовка

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

Шаг 2: wp-config.php

Файл wp-config.php — является файлом конфигурации WordPress и находится в корневой папке сайта.

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

  1. В оригинальной сборке есть минус — то, что используются различные языковые файлы для административной части и главной страницы сайта. Если мы будем использовать один файл, то это нам позволит значительно снизить нагрузку, для этого нужно заменить строку: define ("WPLANG", "ru_RU");

    If (strpos($_SERVER["REQUEST_URI"], "wp-admin")) define ("WPLANG", "ru_RU"); else define ("WPLANG", "ru_RU_lite");

    Так же не забудьте добавить в директорию http://вашсайт.ru/wp-content/languages/.

  2. Так же рекомендую сразу выставить необходимое количество ревизий при написании поста.
    Ревизии — это черновики, которые автоматически сохраняются во время написания поста, тем самым позволяя ему вернуться на некоторое время назад при написании. Ревизий может быть несколько, а так же можно указать через какое время они должны обновляться. Я использую одну ревизию, которая перезаписывается каждые 60 секунд, на некоторых своих сайтах на WordPress я их вовсе отключаю, так как пользуюсь внешним редактором. Отключение ревизий даёт прирост в скорости работы редактора и админки WordPress.
    Для того, чтобы была одна ревизия и она сохранялась каждые 60 секунд, нужно добавить следующую строчку в wp-config.php перед последним закрывающимся?>: define("AUTOSAVE_INTERVAL", 60); define("WP_POST_REVISIONS", 1);

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

Шаг 3: Robots.txt

Файл Robots.txt – это текстовый файл, находящийся в корневой директории сайта, в котором записываются специальные инструкции для поисковых роботов. Эти инструкции могут запрещать к индексации некоторые разделы или страницы на сайте, указывать на правильное «зеркалирование» домена, рекомендовать поисковому роботу соблюдать определенный временной интервал между скачиванием документов с сервера и т.д. ©Robotstxt.org.ru

Посещение поисковыми роботами вашего сайта приводит к значительной нагрузке на ваш сайт. Так как нас интересуют только поисковые роботы Яндекса, Google и Рамблера, в некоторых случаях ещё и Yahoo, то остальных роботов (в том числе различные парсеры и грабберы, которые воруют ваш контент), можно закрыть от индексации. Для этого необходимо вставить в файл Robots.txt, если у вас его нет, то необходимо его сначала создать в корневой директории сайта. Эффект наступит не моментально, но в течении месяца практически все роботы из списка сведут свои заходы к минимуму или вовсе перестанут посещать ваш сайт.

Если вы хотите так же заблокировать доступ для Yahoo, что помимо снижения нагрузки на хостинг скроет и ваши беки по версии Yahoo, то необходимо добавить ещё следующие строчки в Robots.txt:

User-agent: Slurp Disallow: /

Шаг 4: .Htaccess

Файл.Htaccess — это файл дополнительной конфигурации веб-сервера. С его помощью мы сможем дать дополнительные команды для сервера, которые стоит обрабатывать до загрузки сайта.

  1. Сейчас очень распространено копирование информации, в основном это делается с помощью автоматических программных решений. Эти программы копируют не только тексты, но и изображения с ваших сайтов. Так как ссылки на изображения с сайтов скопировавших информацию ведут на изображения на вашем сайте, то следовательно они посылают постоянные запросы на ваш хостинг, тем самым его дополнительно нагружая. Это называется хотлинкингом. С этим бороться можно и я расскажу вам как.
    Я хочу вам предложить два метода борьбы, первый — это заменить изображения на сайтах, которые используют ваш сервер. Изображение которое будет отображаться на сайтах вместо вашего можно заменить например на рекламный баннер. RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yandex\.ru/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?undsoft\.com/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yandex\.net/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?feedburner\.com/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mail\.ru/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?poisk\.ru/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yourdomain\.ru/.*$ RewriteCond %{HTTP_REFERER} !^$ RewriteRule .*\.(jpeg|jpg|gif|bmp|png)$ stophotlinking.gif [L]

    *В данном коде нужно заменить yourdomain на название вашего домена, то же самое касается и доменной зоны. Изображение которое будет показываться на чужих сайтах должно находиться в корневой директории вашего сайта и иметь название stophotlinking и формат gif.

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

    RewriteRule .*\.(jpe?g|gif|bmp|png)$ stophotlinking.gif [L]

    RewriteRule .*\.(jpe?g|gif|bmp|png)$ - [F]

    Если выше приведённый пример не заработает, попробуйте альтернативный метод:

    RewriteEngine On #Replace ?mysite\.com/ with your blog url RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ RewriteCond %{HTTP_REFERER} !^$ #Replace /images/nohotlink.jpg with your "don"t hotlink" image url RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

  2. С помощью.Htaccess мы можем сделать кеширование файлов jpg,gif,png,css,js и других в браузере пользователя на сутки с помощью ниже приведённого кода, если же в содержимом произойдут изменения, то кеш обновится: FileETag MTime Size ExpiresActive on ExpiresDefault "access plus 1 year"

    *В браузере обязательно должно быть включено кеширование.

  3. Так же рекомендую делать автоматическое сжатие файлов в перед передачей пользвателю, чтобы сайт грузился быстрее, для этого нужно вставить следующий код в.htaccess: mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file \.(html?|txt|css|js|php)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

    *На одном сайте сайте не может работать gzip и zlib компрессия, поэтому выберите что-то одно.

  4. Практически каждый сайт на CMS WordPress сталкивается с проблемой спама в комментариях, чтобы отсечь весь автоматический спам ещё на подходе, можно фильтровать спаммеров по Referrer.
    Referer — это один заголовков запроса клиента, то есть если вы перейдёте с одной страницы на другую, то вторая страница сможет узнать по referer адрес первой страницы. Так как программы с помощью которых делается спам делают переход напрямую сразу на страницу комментирования, то мы их сможем отсечь. Это не значит что можно отказываться от плагинов для предотвращения спамма, но это поможет вам снизить количество спамма и нагрузку на ваш сайт. Для реализации необходимо вставить ниже приведённый код в.htaccess: RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*yourdomain.ru.* RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$

    *Не забудьте заменить yourdomain .ru на адрес вашего сайта

  5. Многие используют плагин для переадресации стандартного RSS на Feedburner, хотя это можно сделать сделав небольшую вставку в.htaccess, тем самым мы уменьшаем нагрузку на сайт: RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner RewriteCond %{HTTP_USER_AGENT} !FeedValidator RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds2.feedburner.com/puzat

    Если не заработает редирект, то попробуйте поместить данный код в самое начало файла.htaccess.
    *Не забудьте заменить «http://feeds2.feedburner.com/puzat» на адрес своего фидбёрнера.

Шаг 5: Пинги

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

  • http://ping.blogs.yandex.ru/RPC2
  • http://blogsearch.google.com/ping/RPC2
  • http://blogsearch.google.ru/ping/RPC2

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

Шаг 6: WordPress плагины

  1. Первым делом рекомендую вам пересмотреть список ваших плагинов и удалить те, которыми вы не пользуетесь.
  2. Так же постарайтесь максимально уменьшить количество используемых плагинов за счёт отключения необязательных и их удаления.
  3. Практически каждый плагин подгружает свои CSS и JS, их с помощью онлайн-сервисов: онлайн-сервис по сжатию CSS , онлайн сервис по сжатию JS кода .
  4. Убедитесь что необходимые вам плагины загружаются только на необходимых вам страницах, часто встречается, что плагины подгружаются на всех страницах, это можно проверить посмотрев исходный код страницы и поискав название плагина или его сокращения. Для того, чтобы плагин обратывался только на необходимых вам страницах нужно будет написать условие внутри кода плагина.

Шаг 7: Оптимизация кода темы(шаблона) сайта

Для тех, кто не знает где находится ваш шаблон на сайте, вы можете зайти в исходный код страницы нажав на странице своего сайта правой кнопкой мыши и выбрав «Исходный код страницы», там необходимо найти строку:

media ="screen " type ="text/css " href ="http:// yourdomain .ru/wp-content/themes/yourthemes/style.css " rel ="stylesheet " >

Вместо « yourdomain .ru» будет название вашего сайта, а вместо «yourthemes» будет директория с вашей темой. После чего мы заходим в эту папку и можем видеть все файлы темы. Так же тему можно редакторировать и через админку WordPress для этого необходимо зайти в админку->Внешний вид->Редактор.

    1. Первым делом нужно удалить лишние обращения к базе данных, например в файле шапке (header.php) часто используется стандартная вставка: > ; charset=" />

Все эти обращения к базе данных через php запросы, можно заменить на:

*но нужно учитывать, что если у вас другая кодировка, то в charset=ВАШАКОДИРОВКА
Тоже самое касается ссылки на стили:

" type="text/css" media="screen" />

заменить на:

*Незабудьте заменить yourdomain.ru на ваш сайт, а так же поменяйте название темы.

Код пингбеков:

" />

заменить на:

*Незабудьте заменить site.ru на ваш сайт.

Код фида:

RSS Feed" href="" />

заменить на:

*Незабудьте заменить site.ru на ваш сайт, а так же надпись «ВАШ САЙТ» на название вашего сайта.

  1. Так же можно удалить излишние мета-теги сайта из wp_head, вставив следующий код в файл функций (functions.php) вашей темы. remove_action("wp_head", "feed_links_extra", 3); remove_action("wp_head", "feed_links", 2); remove_action("wp_head", "rsd_link"); remove_action("wp_head", "wlwmanifest_link"); remove_action("wp_head", "index_rel_link"); remove_action("wp_head", "parent_post_rel_link", 10, 0); remove_action("wp_head", "start_post_rel_link", 10, 0); remove_action("wp_head", "adjacent_posts_rel_link", 10, 0); remove_action("wp_head", "wp_generator");
  2. Старайтесь размещать все ваши скрипты прямо перед , чтобы они грузились только после того, как весь основной код будет загружен, это в особенности касается скриптов, которые выполняются с внешних ресурсов.
  3. Если вы используете Jquery библиотеки, а тем более если вы их подгружаете с внешних сайтов, то рекомендую посмотреть наличие необходимой вам Jquery библиотеки в http://code.google.com/apis/ajaxlibs/ , если вы нашли там то что вам нужно, то лучше использовать оттуда, так как с Google файлы грузятся моментально, получится паралельное закачивание файлов, то есть пока грузится ваш сайт, библиотеки загрузятся с Google, а так же если браузер скачал себе данную библиотеку, то он не будет её скачивать второй раз.
  4. Если вам позволяют знания, то можно отключить от плагинов обращения к их CSS и JS и вынести их в сам шаблон, тем самым вы уменьшите количество запросов, всё будет грузиться из одного места, что конечно же ускорит работу вашего сайта. Не забывайте про правило, что стили мы вставляем в header.php, а скрипты в footer.php перед .
  5. Сразу после вставьте

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

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

Шаг 9: Кеширование

  1. Необходимо установить плагин кеширования сайта, из тех которые я использовал на мой взгляд самые лучшие WP Super Cache (бесплатный) и скрипт Cache Maxsite (платный). Мне лично больше понравился Maxsite Cache, но если вы не готовы платить 30$ за плагин, то можно обойтись и WP Super Cache. Основной минус WP Super Cache в том, что он не кеширует виджеты, но с этой проблемой нам поможет справиться следующий плагин WP Widget Cache .
  2. Так же к выше перечисленным плагинам можно добавить плагин WP-CSS , который сжимает CSS в GZIP, а так же плагин Autotimize , который рекомендуют использовать вместе с WP Super Cache.

Шаг 10: База данных

  1. Помимо файлов сайта у нас есть база данных, которую тоже нужно время от времени чистить и оптимизировать, чтобы это сделать в ручную нам потребуется больше времени, чем установить плагин Optimize DB . Активируйте его только на время оптимизации базы данных, после чего деактивируйте, не оставляйте его постоянно включённым, чтобы он не создавал дополнительную нагрузку на сайт.
  2. Если вы не используете ревизии, то их таблицу можно удалить из базы данных, найдите таблицу с названием «wp_post_revision» и удалите.

Шаг 11: Мелочи

  1. Большие посты разбивайте на несколько страниц с помощью .
  2. Не нужно выводить полные посты на страницах, используйте excerpt.
  3. Не выводите на главной странице больше 5 постов.
  4. Не выводите больше 50 комментариев на одну страницу, включите навигацию по комментариям. Для этого нужно зайти в админку WordPress->Обсуждения->и поставьте галочку напротив «Разбивать комментарии на странице по 50 штук».
  5. Более ранние версии WordPress потребляют меньше ресурсов, но я же рекомендую использовать последнюю версию WordPress для СДЛ и сателлитов, а для ГС можно использовать более ранние версии например WordPress 2.3.3 . Не забывайте про риск уязвимостей и недоработок, так как это всё таки старые версии.
  6. Для того чтобы замерить количество запросов к базам данных wordpress нужно добавить в код следующую строчку: запросов за секунд.
  7. Не поленитесь, сделайте код валидным, онлайн сервис проверки кода на валидность с рекомендациями по исправлению .
  8. Реализуйте поиск по сайту с помощью стороннего сервиса, например Google, так же вы на этом сможете заработать, зарегистрируйтесь для этого в Google и перейдите в систему Google Adsense .
  9. Используйте сторонние сервисы для хранения видео и просто вставляйте их код в пост, например Youtube. Это всё в тему параллельности процессов загрузки страницы.

Шаг 12: Сервер

В подробности серверной настройки я не вдавался, но если кому потребуется, то на мой взгляд, один из лучших материалов настройка сервера Апач на максимальную производительность . Владельцам своих серверов рекомендую воспользоваться eAccelerator и PHP-Speedy, про его работу с WP Super Cache можно , все материалы на английском языке.

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

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

Выбор хорошего хостинга

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

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

CDN

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

Кэширование

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

Минификация CSS и JS файлов

В процессе минификации CSS и JS файлы сжимаются до наименьшего размера, повышая тем самым скорость загрузки файлов браузерами. Если вы предпочитаете вручную минифицировать свои CSS и JS файлы, то вам пригодится YUI Compressor. Или можно воспользоваться WP Minify, который сделает всю работу за вас в автоматическом режиме. В некоторых плагинах для кэширования присутствует опция по минификации.

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

Помимо того, что большие файлы изображений значительно замедляют сайт на WordPress, они еще сильно забивают пропускную способность сети. Изображения это отличный подопытный для оптимизации. Используйте WPMU DEV WordPress Smush API, плагин WP SmushIt поможет уменьшить размер изображений без потери качества. Я сам пользуюсь этим плагином и считаю удивительным то, насколько он снижает размер изображений.

Сжатие сайта

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

Плагин W3 Total Cache крайне популярен для кэширования, но с его помощь можно также сжимать сайты. Воспользоваться данной функцией можно, перейдя: admin page -> Performance -> Browser Cache -> Enable HTTP (gzip) Compression.

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

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

Также как и ваш жесткий диск может стать фрагментированным, базы данных WordPress страдают от того же недуга. Тем не менее, для оптимизации базы данных можно воспользоваться плагином WP-Optimize или WP-DB Manager. С помощью последнего плагина можно не только оптимизировать базу данных, но и установить расписание для регулярной проверки.

Выбор правильных плагинов

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

Отключение пингбеков и трекбеков

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

Отключение данной функции не навредит вашему сайту.

Выбор правильной темы или темы-фреймворка

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

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

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

Включение Keep-Alive

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

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

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

Честно признаюсь, что до написания этой статьи, я никак не оптимизировал сайт , сейчас же, я вместе с вами буду выполнять эту работу и посмотрим на сколько загрузка сайта ускорится… Сейчас она такова: 6,97 секунд на сайте http://tools.pingdom.com/fpt/ , а так же аж 61 секунду на http://sitespeed.ru/ — не думаю что это правда, но этот сайт имеет определенный авторитет…

После проделанной работы описанной ниже, скорость загрузки сайта значительно улучшилось. А это с 6,97 секунд скорость загрузки по первому показателю упала до 1,87. А по второму показателю с 61 секунды до 12,11 секунд… Результат просто шикарный, даже я удивлен


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

Ещё хочется добавить, что мой показывает, что средняя скорость загрузки сайта равно 10 секундам. Но это средняя, по этому посмотреть результат после проделанной работы будет невозможно. Давайте перейдем к уроку 😉

1. Выбор качественно хостинга.

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

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

2. Настройка Wp-Config.php — Ускорение работы сайта.

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

Найти в файле wp-config.php строку с помощью программы :

Define ("WPLANG", "ru_RU");

Заменить на:

If (strpos($_SERVER["REQUEST_URI"], "wp-admin")) define ("WPLANG", "ru_RU"); else define ("WPLANG", "ru_RU_lite");

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

3. Настройка Robots.txt — запрет на индексацию ненужным сайтам.

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

Рекомендую вам добавить , сразу же перед строкой «Host». После чего значительно меньше поисковых жуков будут посещать ваш сайт, тем самым уменьшая загрузку. Кроме Yandex и Google, часто к нам заходит Yahoo. Но она не очень популярна, по этому, если хотите ее исключить, то пропишите следующее:

User-agent: Slurp Disallow: /

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

4. Корректировка файла.Htaccess для снижения нагрузки на сервер.

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

Настройка №1: Довольно таки часто с наших сайтов копируют информацию вместе с картинками, когда такое происходит, в картинках, которые лежат на нашем сайте, не изменяют адреса, следовательно на чужих скопированных статьях картинки подгружаются из нашего сервера, что загружает его…

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

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

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

Настройка №2: Так же в файле.Htaccess мы можем указать на кэширование некоторых объектов, что бы не заставлять браузер пользователя загружать их несколько раз. Для этого в этом же файле ниже первого кода добавляем:

FileETag MTime Size ExpiresActive on ExpiresDefault "access plus 1 year"
mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file \.(html?|txt|css|js|php)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

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

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

ВНИМАНИЕ!!! Не забудьте адрес сайт изменить на адрес своего сайта…

Настройка №5: Если вы пользуетесь системой FeedBurner, то у вас явно установлены , которые отправляют RSS-контент на сайт . Сегодня вы можете их удалить, потому что перенаправить контент можно и без плагинов, уменьшив нагрузку на хостинг.

RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner RewriteCond %{HTTP_USER_AGENT} !FeedValidator RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://сайт

ВНИМАНИЕ!!! Не забудьте изменить адрес на URL вашего фида в самой последней строчке…

5. Пинги — ускорение работы сайта.

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

  • http://ping.blogs.yandex.ru/RPC2
  • http://blogsearch.google.com/ping/RPC2
  • http://blogsearch.google.ru/ping/RPC2

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

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

Большое значении в скорости загрузки сайта имеет База данных, ведь именно оттуда сайт выгружает весь контент, которым мы в последующем пользуемся… Со временем База данных засоряется и её нужно не только очищать от ревизий, но и оптимизировать. Сделать это за вас сможет . Как пользоваться плагином я описывал ранее, так что пользуйтесь 😉

7. Оптимизация кода шаблона (темы).

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

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

> ; charset=" />

Её можно заменить на:

Если вы используете на сайте не UTF-8, тогда в коде за словом Charset, замените на свою кодировку.

Настройка №2 : Найти код, который отвечает за стили в файле header.php:

" type="text/css" media="screen" />

Заменить на:

Внимание!!! Не забудьте изменить сайт на ссылку своего сайта…

Настройка №3 : Изменить код пинбеков:

" />

Настройка №4 : Изменение кода RSS ленты:

RSS Feed" href="" />

Изменить на:

Настройка №5 : Довольно часто в подвале сайта (footer.php), разработчики тем оставляют совершенно ненужные запросы к Базе данных. Например:

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

Настройка №6: Добавьте в файле header.php сразу же после :

1) Если ваш сайт не использует комментарии, не стоит их скрывать с помощью плагинов, это создает совершенно ненужную нагрузку. Так как вам комментарии совершенно не нужны, просто удалите следующий код из файла темы (single.php):

2) Старайтесь не использовать внешние скрипты, такие как, комментарии от Вконтакте, различные виджеты социальных сетей. Да, это выглядит красиво и эффектно, но создает приличную нагрузку на сайт…

3) Так же почистите весь код вашего сайта от комментариев, данные комментарии вставляются с помощью тегов и /*код/. Оставьте только нужное, так как сайту приходится тратить лишние силы на их загрузку…

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

5) Так же старайтесь все дополнительные коды на подобии , либо размещать в подвале сайта, что бы они так же как и другие скрипты грузились только в самую последнюю очередь…

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

8. WordPress плагины — увеличить скорость загрузки сайта.

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

1) Удалите ненужные плагины… Со временем работающие плагины накапливаются, и когда их просматриваешь, удивляешься, сколько плагинов работают впустую и совершенно не нужны…

2) Деактивируйте ненужные плагины… Постарайтесь использовать как можно меньше Активированных плагинов, например такие как , не обязательно давать им работать постоянно. Сделал дело — отключил, понадобилось — включил обратно…

9. Оптимизация изображений для ускорения работы сайта.

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

1) Довольно часто изображения имеют слишком большой размер, не смотря на качество. Что бы сделать грамотное соотношение между размером и качеством изображений, предлагаю вам воспользоваться . С помощью него, вы сможете сжать картинки до минимального размера не теряя качества!

2) Не забывайте указывать размер изображения, при вставке в статью. Что бы дать границы картинке, достаточно в описании к изображению выбрать нужный вам размер. Так браузеры будут знать, какого размера загружать изображения и будут работать быстрее…

10. Ускорение сайта с помощью Кэширования.

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

2) Плагин Autoptimize — рекомендуют использовать вместе с Wp Super Cache. Никаких сверх настроек делать не нужно, просто активируйте плагин, в разделе «Настойки» -> «Autoptimize» поставьте галочки, и плагин будет работать… Будьте осторожны, проверьте работоспособность сайта после изменения настроек, что бы предостеречь себя от неприятностей…

3) Используйте плагин Wp Widget Cache — плагин который позволяет кэшировать виджеты, с чем не справляется плагин Wp Super Cache. О нем я напишу чуть позже, подписывайтесь на бесплатную рассылку уроков в блоке ниже статьи…

4) По желанию можете подключить плагин Wp Offload — с помощью которого можно кэшировать и различные статические файлы, включая изображения. Его я так же буду описывать немного позже… 😉

11. Увеличение скорости загрузки сайта с помощью оптимизации Базы данных.

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

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

Несколько мелочей, которые в сумме помогут вам ускорить загрузку сайта:

  1. На главной странице сайта выводите только , не нужно выводить полные статьи…
  2. Очень большие статьи разделяйте на страницы с помощью тега
  3. Не стоит выводить на главной странице больше 5-6 статей…
  4. Не стоит выводить под статьей больше 50 комментариев, пользуйтесь так же переключением страниц между комментариями…
  5. Установите поиск по сайту от Google или Yandex. Сайт будет искать информацию быстрее…

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

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/



Загрузка...