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

Чтобы узнать почему сайт загружается медленно, нужно уметь смотреть на все этапы этого процесса в отдельности и в этом материале мы узнаем как понять за сколько времени 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 не будет корректно работать.

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

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

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

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

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

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