Сильная нагрузка WordPress на сервер – как с этим бороться

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

Эту тему мне особенно интересно стало изучать после того как я сам столкнулся с проблемой перегрузки сервера одним с своих сайтов. Возможно вы так же сталкивались с подобной проблемой: захожу на сайт, а меня перебрасывает на страницу install.php – то есть wordpress якобы хочет переустановиться, но после ввода всех данных и нажатия на кнопку «установить» он выдает несколько страниц ошибок и все повторяется. Первые несколько раз я был в шоке, так как не знал, что случилось, и почему так происходит, так как через время сайт сам восстанавливал работу.

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

Вся работа по снижению нагрузки wordpress на сервер заключается в чистке шаблона от лишних блоков и установке нескольких дополнительных плагинов. Но прежде чем этим заниматься стоит узнать каковы параметры нагрузки на данный момент – дабы увидеть в будущем результат. Для этого удобнее всего использовать плагин под названием Панель нагрузки. Скачать его можно здесь. C его помощью можно легко и быстро вывести информацию о нагрузке сайта на сервер и настроить параметры ее отображения. Выглядит это так:


Отличный плагин для снижения потребляемой оперативной памяти называется WPLANG Lite. Скачать который можно здесь. Суть данного плагина в том, что он разделяет перевод панели администратора и самого сайта на русский язык. В оригинали, всем этим занимается файл локализации ru_RU_lite и когда вы открываете любую страницу сайта этот файл делает перевод м для панели администратора и для запрошенной страницы – что как сами понимаете не логично.

Устанавливается данный плагин как обычно. Единственное, что для его работы на папку wp-content/lanquaqe нужно поставить права доступа 777. На собственном опыте проверил – плагин работает, и благодаря нему уменьшилось потребление оперативной памяти на 5 мегабайт!

Еще один способ снизить нагрузку на сервер – уменьшить количество запросов к базе данных. То есть все лишние запросы просто напросто убрать. Делается это путем замены php фрагментов кода статическим html.

Например в файле header вашей темы

<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />

Можно спокойно заменить на:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

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

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />

Далее можно заменить php код который запрашивает некоторые url адреса – к примеру, к rss ленте сайта, к css стилям и так далее. И если исходный код выглядит так:

То его можно заменить на статический, который не будет обращаться к базе данных:

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">