etxt banner 468x60etxt banner 728x90etxt banner 930x180beget banner 468x60beget banner 728x90beget banner 930x180kwork banner 468x60kwork banner 728x90kwork banner 930x180

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

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

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

Посмотрим на примере:

// Функции печатает время генерации страницы в комментариях внизу исходного кода
add_action( 'wp_head', 'skill_page_speed_start', 1 );
if ( ! function_exists( 'skill_page_speed_start' ) ) {
function skill_page_speed_start() {
$start_time = microtime();
$start_array = explode(" ", $start_time);
$GLOBALS['start_times'] = $start_array[1] + $start_array[0]; // пишем время в глобальную переменную
}
}

add_action( 'wp_footer', 'skill_page_speed_end', 90 );
if ( ! function_exists( 'skill_page_speed_end' ) ) {
function skill_page_speed_end() {
global $start_times; // получаем время из глобальной переменной

$end_time = microtime();

$end_array = explode(" ", $end_time);
$end_times = $end_array[1] + $end_array[0];

$time = $end_times - $start_times;
printf( "<!-- Страница сгенерирована за %f секунд -->", $time ); // печатаем комментарий
}
}

Сначала мы получаем стартовое время в глобальную переменную на хуке wp_head(), отнимаем его из окончательного времени на хуке wp_footer() и выводим в коде в виде комментария.

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

Код, приведенный выше показывает только скорость, с которой php обработал весь код и вернул сгенерированный html, но он не учитывает ни скорость отдачи информации сервером, ни скорость рендеринга страницы у клиента, который как минимум включает загрузку стилей, скриптов, шрифтов и изображений.

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

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

Разумеется, если в вашем проекте отсутствуют функции wp_head() или wp_footer() результат вы так же не увидите, но добавить крайне желательно, без них WordPress не будет корректно работать.

smsc banner 480x320smsc banner 728x90smsc banner 120x600beget banner 480x320beget banner 728x90beget banner 120x600flexbe banner 480x320flexbe banner 728x90flexbe banner 120x600

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

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

Ваш адрес email не будет опубликован.

Похожие посты

Как сделать webp без плагинов в WordPress

WebP — это современный формат сжатия изображений без потери качества, который напрямую влияет на скорость загрузки сайта. Конвертирование изображений из jpg и png в формат webp может дать существенный прирост в баллах по google page speed. Формат webp поддерживается большинством современных браузеров. Вы без труда можете найти плагины, которые помогут вам автоматически конвертировать изображения, добавленные…

Как вывести все изображения из произвольной папки без плагинов в WordPress

При разработке своих сайтов вам может понадобиться вывести галереи изображений из произвольных папок без их загрузки в библиотеку. Давайте рассмотрим пример, как это сделать с помощью шорткода: Использование: [folder-gallery path=’/data/images/’] Как видите, функция принимает путь до искомой папки (обязательно с открывающим и закрывающим слешем), в функции устанавливаются разрешенные типы изображений и формируется вывод с классами…

Как изменить выравнивание и размер изображения при вставке в редактор WordPress

При добавлении изображения в пост, по умолчанию WordPress вставляет его в размере medium и без выравнивания. Чтобы при загрузке картинки ей прописывалось выравнивание по центру и полный размер, вы можете использовать такой код: