Оптимизация wordpress

Оптимизация wordpress

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

Кеширование позволяет сохранить копию созданной страницы и при повторном обращении к ней не генерировать ее заново, а отдать копию из кеша. Также кеширование может сохранять типовые запросы к базе данных, и при последующих запросах отдавать их из файлового кеша, не нагружая MySQL. Чем больше время жизни кеша, тем дольше не будет пересоздаваться страница. Для часто посещаемых сайтов оптимальным временем жизни кеша
является 720-1440 минут (12-24 часа). Если информация на сайте обновляется
редко — время жизни кеша можно ставить несколько дней.

Важно: если на сайте стоит достаточно большой период жизни кеша,
то при продаже ссылок в Sape новые ссылки сначала будут попадать в Error,
т. к. в системе их размещение подтвердили, а на сайте еще видна старая
страница без ссылок, пока кеш не обновлен. В этом случае кеш лучше ставить
не более 720 минут или меньше.

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

ШАГ 1. Кешируем запросы к базе данных плагином DB Cache Reloaded
Fix

Чтобы установить новый плагин, нужно в меню Плагины — Добавить новый вбить в поиск название плагина , найти и нажать Установить.

Оптимизация wordpress

А затем — нажать Активировать плагин

Оптимизация wordpress

Готово. Перейдем к настройкам плагина:

Оптимизация wordpress

А их то и не много. Самое важное — время жизни кеша, в моем случае 1440
минут. Для полной очистки кеша — нажать Clear the cache, для очистки только устаревших страниц — Clear the expired cache.

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

<!--?php echo "Статистика:" . get_num_queries() . "/ "; timer_stop(1); echo "s/ ". round(memory_get_usage()/1024/1024, 2) . " MB "; ?-->

Оптимизация wordpress

В результате, в подвале сайта появится надпись вида

Статистика: 70/ 0.497s/ 35.11 MB

70 — это количество запросов к базе данных

0,497s – время создания страницы

35.11 MB — использованная память для генерации страницы

Если же обновить страницу, то надпись станет

Статистика: 50/ 0.384s/ 35.06 MB

Что это означает? 20 из 70 запросов к базе данных закешировались и были
выполнены без обращения к БД.

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

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

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

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

<!--?php if ( $user-&gt;id == 1 ) { echo "&lt;!-- Статистика:" . get_num_queries() . "/ "; timer_stop(1); echo "s/ ". round(memory_get_usage()/1024/1024, 2) . " MB --&gt;"; } ?-->

где 1 — это айди, под которым админ зарегистрирован в базе пользователей.

Кешируем вызовы страниц — плагин Hyper Cache Extended

Важно: для корректной работы плагина необходимо в wp-config.php дописать строку

define("WP_CACHE", true);

Где найти wp-config.php — инструкция для самых маленьких.

wp-config.php — файл базовых настроек вордпресса, добраться к которому
можно двумя способами:

1. С помощью ftp доступа, например Total Commander или любого другого
FTP менеджера.

2. Через файл менеджер, непосредственно в панели управления хостингом.

Оптимизация wordpress

Важно: чтобы отключить какую-либо из переменных в wp-config, строку можно закомментировать, дописав перед ней два слеша // или просто удалив.

Оптимизация wordpress

А вот так выглядят настройки плагина

Оптимизация wordpress

Важно: статус Server Load позволяет видеть текущую нагрузку на
процессор на хостинге, в показанном случае 4.66%. Узнайте разрешенную
хостингом нагрузку и не превышайте ее.

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

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

Cached pages timeout (время жизни кеша) — устанавливаем на уровне 720-1440 минут.

Max server load average (максимальная средняя нагрузка на сервер) — устанавливается исходя из ограничений хостера, обычно 5-10%. При
превышении этого лимита кеш не будет удаляться и посетителям отдается кеш
копия до тех пор, пока нагрузка не снизится.

На какую опцию стоит еще обратить внимание:

Disable cache for commenters — отменить кеш для коментаторов, ставить галку только в том случае, если на сайте постоянно публикуются комментарии.
Иначе после публикации комментария автор его не увидит пока кеш не
обновится.

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

Статистика: 50/ 0.384s/ 35.06 MB

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

Но если вы авторизированы на сайте как админ, Hyper Cache для вас
отключается, и значения нагрузки будут меняться. Это сделано для того, чтобы
вы всегда видели самую актуальную версию страницы.

Увеличение скорости загрузки страниц с графикой с BJ Lazy Load

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

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

Настройки такие — сначала со всем соглашаемся, потом от всего
отказываемся.

Оптимизация wordpress

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

Удаляем и исправляем битые ссылки Broken Link Checker

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

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

Оптимизация wordpress

Указываем периодичность проверки существующих ссылок Check each Link –
каждые 100 часов.

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

E-mail notifications – отправка мыла в случае обнаружения битых ссылок, можно отправлять как админу сайта, так и автору поста, если таковые на сайте есть.

Самое интересное — Link tweaks. К битым ссылкам можно применить
визуальный стиль перечеркивания, чтобы ее было видно на сайте, а также
запретить поисковым ботам по ней переходить — к ссылке дописывается тег
nofollow.

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

Получается следующая последовательность:

1. сайт рекламодателя умирает
2. плагин помечает ссылку на этот сайт тегом nofollow
3. робот-проверяльщик размещенных ссылок на Gogetlinks начинает
ругаться на эту ссылку и переносит в список ошибочных
4. мы пишем в техподдержку о том, что рекламодатель недоступен
5. выжидаем согласно правил 2 недели и удаляем эту ссылку.

Деньги при этом возвращать не нужно.

Если перейти в список битых ссылок, то увидим картину типа такой:

Оптимизация wordpress

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

Очистка мусора с WP-Optimize

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

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

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

Что нам показывает WP-Optimize

Оптимизация wordpress

Remove all Post revisions — удалить ревизии

Remove all auto draft posts — удалить автосохранения черновиков

Clean marked Spam comments — удалить комментарии, помеченные как
спамные

Clean Unapproved comments — удалить неутвержденные комментарии

Optimize database tables — оптимизировать базу данных

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

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

define('WP_POST_REVISIONS', false);

Важно: руссификация админки вордпресса использует около 7MB
памяти.

Смотрим на следующие картинки:

Оптимизация wordpress

Отключаем руссификацию админки, путем удаления из файла wp-config.php
строки

define ('WPLANG', 'ru_RU');

Оптимизация wordpress

Отключаем все ненужные плагины

Оптимизация wordpress

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

Получать обновления по e-mail

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here