Быстрый и надёжный хостинг на SSD-дисках от 165р в месяц   •   Реклама
2 945 просм
3 комм
Поделиться:

Минификация (сжатие) исходного кода (HTML) в WordPress на PHP

17 июн
Хаки

Чтобы не быть многословным (ведь я уже подробно разбирал, что такое минификация кода на примере Bitrix), скажу кратко – это сокращение (сжатие) исходного кода сайта путем удаления переносов строк, лишних пробелов и HTML-комментариев.

Для того чтобы сделать минификацию кода на WordPress, предпримем следующее:

1. Подключимся к сайту по FTP.

2. Откроем файл functions.php в папке вашей темы (/wp-content/themes/) и в самый верх, сразу после <?php, вставим:

function minify_html($buffer) {

	$search = array("/\>[^\S ]+/s", "/[^\S ]+\</s", "/(\s)+/s", "/<!--(?![^<]*noindex)(.*?)-->/"); 
	$replace = array(">", "<", "\\1", ""); 
	$buffer = preg_replace($search, $replace, $buffer);
	
	return $buffer;
	
} 

if(!is_admin() && !is_feed()) {

	ob_start("minify_html");

}

Сохраняем изменения и отправляем файл обратно на сайт.

Теперь, если вы посмотрите исходный код вашего сайта, то увидите принцип работы минификации.

3
комментария
Форма комментирования этой статьи скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 0
    1
      •  Пользователь
    1 апр в 10:14

    Да, код отлично работает. Но есть большое но!

    Если у вас на странице имеется код вида:

    //<![CDATA[

    Тут код

    //]]>

    То он перестанет работать.

    Вопрос, можно ли сделать правило, чтобы то что внутри //<![CDATA[ ... //]]> не выстраивалось в одну строку?

    • 12
    796
      •  Администратор
    19 июн в 18:59

    Miko, есть и для js\css. Сегодня - завтра запишу статью. smiley

    • 2
    766
      •  Гости
    19 июн в 15:44

    О спасибо за хак. PageSpeed Insights до этого показывал 70/100 для мобильных и 88/100 для компьютеров, сейчас 71 и 89 соответственно. Мало, но приятно.

    Скажите пожалуйста, а для сss и js подобных кодов нет?

Подняться наверх
«Pandoge» - помощник вебмастера