Безлимитный хостинг на сверхбыстрых SSD-дисках от 66р в месяц   •   Реклама
4 447 просм
5 комм
Поделиться:

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

28 фев
Хаки

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

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

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

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

function minify_html($buffer) {

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

	return $buffer;

}

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

	ob_start("minify_html");

}

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

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

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

    на DLE как сделать?

      • 0
      839
        •  Администратор
      31 мар в 18:54

      Hate Mate, здравствуйте!

      https://www.pandoge.com/haki/minifikaciya-szhatie-ishodnogo-koda-html-v-dle-na-php

    • 1
    1
      •  Пользователь
    1 апр в 10:14

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

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

    //<![CDATA[

    Тут код

    //]]>

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

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

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

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

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

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

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

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