Я люблю ускорять работу WordPress, снижать нагрузку на сервер и все, что с этим связано.

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

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

Я предлагаю простое решение. В файл functions.php добавьте строки:

<?php
remove_action('publish_post', 'generic_ping');
add_action('publish_post', 'masq_set_generic_ping');
function masq_set_generic_ping() {
	update_option('masq_generic_ping_waiting', 1);
}
if(strstr($_SERVER['REQUEST_URI'], 'execute-pings.php')
!== FALSE && get_option('masq_generic_ping_waiting')) {
	update_option('masq_generic_ping_waiting', 0);
	generic_ping();
}
?>

Теперь WordPress отсрочит пингование. Пинг будет происходить только после завершения всех предыдущих операций по публикации (редактировании) поста, обновлении БД и т.д.

В последнем WP 2.8.* эта функция активирована по-умолчанию.

RSS-Feed RSS-2-mail Twitter G-bookmarks BobrDobr Memori MoeMesto

Опубликовано: Суббота, 26 сентября 2009 в 13:29
Рубрика: Оптимизация WordPress
Комментариев: 4
Читать на:

Комментариев: 4

  1. Ахмед

    А какая у тебя версия wordpress?


  2. Ай Пи Мани

    Извини Ахмед, но свою версию WP в сети лучше не “светить”, дабы не давать подсказок разным “умельцам”.


  3. Павел (подписан на комментарии)

    За статью спасибо. Правильно я понимаю, что с 2.8 данная фишка уже встроена?

    Попытался узнать версию с wp-admin - заблокировано.
    Попытался с другого места, удачно. :)
    Напишите письмо, если интересно. Также подскажу пару сайтов с bugtrack wordpress.


  4. Яна

    Значит, нужно мне обновляться к 2.8 :-)
    Кстати, Вы не знаете, это сложно? :-)


Есть что сказать? Не молчи!

Пожалуйста, пишите по теме.
Комментарии о том, какой хороший сайт или его автор расцениваются как СПАМ и беспощадно удаляются.
Спасибо за понимание.

Для вставки php-кода используйте тег:
<pre lang="php">php-код</pre>


 Я не СПАМер!