Данные текст является переводом статьи Reduce WordPress CPU Usage #1 — General tips , опубликованной в блоге cravingtech.com. Также вы можете ознакомиться с переводом второй и третьей статьи из этой серии.
От переводчика: я случайно наткнулся на данную серию статей, блуждая по просторам всемирной сети. Материал так сильно мне понравился, что я решил перевести его на русский язык.
Скриншоты были убраны, поскольку я счел их не особо содержательными. Название было изменено на «Оптимизация WordPress», поскольку дословный перевод («Уменьшаем нагрузку WordPress на процессор» или «Уменьшение использования процессора движком WordPress») показался мне слишком длинным и неестественным. В оригинальном тексте автор злоупотребляет списками, скобками и придаточными предложениями — это я так же постарался исправить. В остальном же я стремился максимально придерживаться оригинального текста.
Заниматься оптимизацией блога я начал после того, как хостер выслал мне уведомление о большой нагрузке на процессор, производимой движком WordPress . Я решил опубликовать несколько методов, которые были опробованы мною лично на этом блоге. Надеюсь, что данная серия постов поможет вам уменьшить нагрузку на процессор, создаваемую движком WordPress.
Сегодня я решил описать основные приемы, которые помогут вам уменьшить использование процессора вашим блогом. Вероятно, вы уже слышали или видели их где-то еще.
Основные советы по уменьшению нагрузки на процессор движком WordPress
Обновите WordPress до последней версии , если это еще не сделано. Скорее всего, вам не хочется обновляться, раз все и так работает, но учтите, что каждое обновление WordPress всегда содержит исправления ошибок и различные улучшения. В связи с этим время от времени следует обновляться.
Обновите до последней версии все плагины. В них могут содержаться исправления ошибок. Или новые баги? Прочитайте обсуждение плагина, чтобы убедится в необходимости обновления.
Обновите используемый шаблон , особенно если вы пользуетесь платной темой — время от времени авторы их обновляют. Например, я выяснил, что тема этого блога, Arthemia Premium , была обновлена и оптимизирована. Также к автоматическому генератору миниатюр TimThumb, используемому этой темой, также было выпущено обновление, которое я незамедлительно установил.
Вам действительно нужны все эти плагины? Знаю, что плагины — это приятно. У меня их было почти 40 штук до того, как я провел чистку — теперь их осталось 21. Это по-прежнему много, но я все еще не могу с ними расстаться.
Вы уверены, что вам действительно нужны эти плагины? После того, как вы отключили все «ненужные» плагины, попробуйте сделать это снова. На этот раз постарайтесь найти плагины, возможности которых уже включены в вашу обновленную версию WordPress. Это сложнее и требует некоторых исследований, но иногда в новых версиях WordPress уже реализовано то, для чего раньше были нужны дополнения.
Активируйте плагины только когда они вам нужны. Например, не нужно активировать плагин для предпросмотра шаблонов, если сейчас вы не собираетесь менять тему блога. Не нужно активировать плагин резервного копирования, если резервные копии не создаются автоматически по расписанию. И так далее.
Установите плагин WP-SuperCache , если вы это еще не сделали. Прочитайте, как WP-SuperCache спас мой блог от StumbleUpon-эффекта (англ) . Также советую включить сжатие WP-SuperCache, если это возможно. Обновление: Сжатие уменьшит трафик, однако увеличит нагрузку на процессор. Спасибо Mister Hobbes за его комментарий.
Уменьшите число обращений к БД и объем php-кода, насколько это возможно. Основная нагрузка на процессор вызывается обращениями к БД и выполнением php-кода. В этом плане чрезвычайно полезен плагин WP-SuperCache, но иногда он ничего не может поделать с тем, что ваш блог продолжает выполнять некоторые sql-запросы. Если вы можете уменьшить их число, сделайте это. Например, если один из плагинов позволяет выбрать, вести журнал или нет (записывая в него число отфильтрованных спам-комментариев и тп), отключите журнал. Это уменьшит число INSERT/UPDATE запросов к базе данных.
Уменьшите число виджетов и прочих компонентов настолько, насколько это возможно. Хотя размещение виджетов с погодой и прочей фигней — это очень круто, действительно ли они вам нужны? Кроме того, что подобные виджеты захламляют ваш блог и отпугивают посетителей, они также создают нагрузку на сервер. Отключите их!
Если другие средства не помогли, смените шаблон на более простой и проверьте нагрузку на процессор еще раз. Я абсолютно уверен, что моя тема несколько тяжеловата (особенно с динамической генерацией миниатюр), но прежде, чем отказаться от нее, я буду сражаться до последнего!
Существуют и другие приемы (можете погуглить, чтобы найти их), но перечисленные — это основные из тех, которые я использовал. Есть и другие специфические приемы, но о них я расскажу в следующих постах.
Меня также интересует, не знает ли кто-нибудь способа, как заблокировать спам-комментарии прежде, чем они успевают попасть в базу данных? Я пробовал использовать для этого .htaccess, но в результате получал только пустую страницу при попытке обратиться к своим постам.
Продолжение: Оптимизация WordPress, часть 2 — полное удаление плагинов