WordPress: уменьшаем нагрузку на сервер

Опубликовано: 5.01.2009

Ровно за сутки до нового года мой аккаунт заблокировали. Как выяснилось, за высокую нагрузку на сервер. Пришлось исправлять. Рассмотрим на примере того шаблона, который установлен по умолчанию.
Открываем файл header.php

Заменяем

<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″ />

Скорее всего, у Вас и так будет кодировка UTF-8. Так зачем лишний раз обращаться к БД?

<meta name=”generator” content=”WordPress <?php bloginfo(‘version’); ?>” />

убираем вообще или оставляем только

<meta name=”generator” content=”WordPress” />

Во-первых это лишнее обращение к БД, а во-вторых лишняя информация, которая может стать полезной для хакеров. Далее заменяем

<link rel=”stylesheet” href=”<?php bloginfo(‘stylesheet_url’); ?>” type=”text/css” media=”screen” />

на

<link rel=”stylesheet” href=”/wp-content/themes/default/style.css” type=”text/css” media=”screen” />

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

<link rel=”alternate” type=”application/rss+xml” title=”<?php bloginfo(‘name’); ?> RSS Feed” href=”<?php bloginfo(‘rss2_url’); ?>” />
<link rel=”pingback” href=”<?php bloginfo(‘pingback_url’); ?>” />

на

<link rel=”alternate” type=”application/rss+xml” title=”Название блога RSS Feed” href=”http://feeds.feedburner.com/mk-ulyanovsk/” />
<link rel=“pingback” href=“http://seo73.ru/xmlrpc.php” />,

<h1><a href=”<?php echo get_settings(‘home’); ?>/” ><?php bloginfo(‘name’); ?></a></h1>

заменяем на

<h1><a href=”/” >Название блога</a></h1>

если у Вас блог на отдельном домене, конечно. В противном случае вместо “/” пишите Ваше расположение.

<div class=”description”><?php bloginfo(‘description’); ?></div>

заменяем на

<div class=”description”>описание блога</div>.

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

Важное примечание: кодировка файла должна быть UTF-8 without BOM (встретился недавно с такой проблемой – периодически вместо кириллических символов выводились знаки вопроса. За подсказку спасибо 9seo.). Обычный блокнот тут не поможет, качайте Notepad++ (ну или еще что-нибудь похожее).

NePoD передал мне эстафету “три лучших подарка”.

На первом месте – портмоне. Вот чег мне не хватало. А то деньги в карманах мнутся, рвутся и иногда теряются. Полезная вещь.

Второе и третье места – даже не знаю, что сказать. Остальное – всякие мелкие не очень полезные безделушки. Но главное не подарки, а внимание. Поэтому все они делят 2 и 3 места. Вот так.

Передам эстафету тем, кто написал самые свежие посты в Яндекс.Ленте на текущий момент. А именно 9seo и Андрею Радзевичу.

Mult начал новый 2009 блоггерский год. Тогда и ему тоже передам эстафету :)

Комментариев — 24 »

  1. Pepper 5.01.2009 в 20:05

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

    Кстати, вам также поможет плагин WP Super Cache, он кеширует страницы, что значительно увеличивает скорость генерации HTML и снижает нагрузку на сервер.

  2. Vlad 6.01.2009 в 12:16

    Странно, что вордпресс вдруг сильно нагрузил хостинг…вобще это всегда был один из самых лёгких и быстрых движков для блогов…надо свой подредактировать :) Хотя SuperCache поставил, но чёт страшновато, если опять начнут баннить

  3. WebJunk 6.01.2009 в 16:57

    эти действия мизер, который не спасёт от нагрузки.
    Если кэширование не помогает, тогда vds придётся покупать.

  4. Серёга 6.01.2009 в 17:26

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

    “…вобще это всегда был один из самых лёгких и быстрых движков для блогов”…

    to Vlad, несоглашусь… движок грузит сразу все модули и делает много запросов в базу… гораздо легче dle

    хотя я пока не собираюсь изменять wordpress’у :)

  5. Pepper 6.01.2009 в 18:35

    Vlad, я бы не сказал, что вордпресс один из самых легких, скорее наоборот.

    WP Super Cache помогает снять нагрузку с сервера, когда на сайте много посетителей. Полезная вещь, несомненно. Но у меня на одном сайте он за несколько дней создает около 2000 файлов. Так что тут есть и плюсы и минусы.

    VDS ради вордпресса? Уж проще движок сменить тогда :)

  6. dgrach 7.01.2009 в 14:45

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

  7. WebJunk 8.01.2009 в 0:17

    Pepper, да, а что Вас так удивляет?
    Или Вы думаете посещаемые проекты на самописном движке будут на виртуальном хостинге тянуть? ;)
    На какой движок сменить?

  8. Алексей 8.01.2009 в 1:22

    Ну конечно, чем меньше запросов в БД тем меньше нагрузка на сервак и быстрее выполнение скрипта.
    Вообще CMS считаются в этом плане медленными и вызывающие нагрузку на сервер. Потому что они не заточены под какую либо работу и всё генерируют.
    Кстати, а для WordPress есть возможность кешиовать страницы, что значительно снизит нагрузку.

  9. Pepper 8.01.2009 в 19:48

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

    У самого не один сайт на этом движке. В плане скорости он слабоват, но зато удобно, поэтому и пользуюсь. А в большом проекте удобствами можно принебрегнуть. Да та же NucleusCMS куда шустрее.

  10. Володя 10.01.2009 в 17:10

    И сколько было уников суммарно что заблочили??? У меня на моих основных хостах проблем никогда таких небыло. Скорее всего это хостер захотел больше.

  11. yuzelen 12.01.2009 в 12:12

    Меня WP и сейчас устраивает. Большинство блогов у меня как раз на нем. Пробовал несколько cmsок, но все равно вернулся на WP с использованием кэширования. Мне в общем пока хватает. Когда начнутся проблемы – тогда и будем их решать.

  12. [m.k] 12.01.2009 в 14:58

    Володя, в отчете, который предоставил хостер, были 3 сайта – этот блог (50-60 чел.в день) и 2 сайта (один 70-120 чел/день, второй 60-90). И заняли они 1% процессорного времени.
    Заблокировали тогда, когда случилась авария в дата-центре. Посещаемость такая была и до этого, но раньше не блокировали.

  13. Anfi 17.01.2009 в 0:12

    Гдето читал, что есть ещё обращение к базе за данными админа, когда комментируешь на своём блоге, но в своём блоге я не нашёл это обращение, что скажете?

  14. [m.k] 17.01.2009 в 0:31

    Anfi, в файле comments.php

  15. Аноним 11.04.2009 в 12:27

    Обычно не пишу подобные комменты в блогах…
    Сегодня попробовал на локале, тормоза дикие..
    Шаблон дефол вп тюниг показывает более 20 запросов в бд.
    Супер кеш снимает 3-4 – …. а не кеш.
    “один 70-120 чел/день, второй 60-90″ – этож распипец полный, аля джумла, а мож и хуже.
    На сайте(блоге) должно быть несколько тысяч уников в день иначе поделка, иначе как зарабатывать на нем))

  16. [m.k] 11.04.2009 в 14:58

    >На сайте(блоге) должно быть несколько тысяч уников в день иначе поделка, иначе как зарабатывать на нем))

    10 целевых посетителей лучше, чем 100 нецелевых. А еще можно ссылки продавать.

  17. Dev 9.08.2009 в 13:25

    А как вообще в WP подсчитать количество запросов к Базе Данных. Я хочу увидеть количество, а потом оптимизировать блог и при этом наблюдать до скольки упадет время и количество запросов.

  18. Нагрузка 9.10.2009 в 11:49

    Чтобы подсчитать количество запросов к базе – нужна командная строка базы, если из шела, то mysql -u {имя пользователя} -p{пароль – без пробела после p} {имя базы}
    И потом:
    > status;
    Если включен механизм кеширования в самом mysql, то любопытно взглянуть на
    > show status like ‘q%’;
    выйти из командной строки
    > \q

  19. Dizel 14.01.2010 в 20:58

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

  20. anadikt 18.01.2010 в 17:22

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

  21. [m.k] 18.01.2010 в 18:38

    anadikt, лучше хостера сменить. А движок пытался искать, но ничего подходящего с таким же функционалом не нашел.

  22. Serzh 5.05.2010 в 23:59

    А разве эти значения достаются из БД? а не из массива?

  23. Sergey 5.06.2010 в 21:22

    Спасибо Михайл, все сделал как вы написали. Водпресс только начинаю осваивать (drupal и dle мне ближе).

Оставьте комментарий к посту ”WordPress: уменьшаем нагрузку на сервер”

Разрешено использовать тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Трекбеки и пингбеки

Ключевые слова:
AdSense google page rank pr Sape SEO WordPress Блог Сапа Софт Яндекс акция ап апдейт бесплатно дача дизайн домен запросы индекс цитирования интернет комментарии компьютер конкурс продвижение реклама спам ссылки тИЦ эстафета