Biasanya ketika melihat struktur kode template html pada blog wordpress, kita pasti melihat adanya kode seperti ini
<!---bla bla bla--->
. Nah di sini kita akan hilangkan semua kode seperti itu pada element html di template wordpress kita. Atau dalam istilah lain minify html bisa juga di katakan dengan menyebariskan kode tanpa spasi alias full satu halaman sehingga kalau di lihat kaya kumpulan kode kode gak jelas dan sulit di baca.
Minify HTML |
Cara Mudah Minify HTML pada Template Wordpress lewat File Function
Jadi untuk melakukan langkah ini kita tidak membutuhkan bantuan plugin pihak ketiga, tapi kita hanya akan menambahkan sebaris kode php untuk mengompress html pada template wordpress kita.Langsung saja ya :
Buka directory blog atau website anda baik lewat ftp atau cpanel. Kemudian buka wp-content/themes/templateanda/function.php.
Setelah itu tambahkan sebaris kode berikut ini di bawah kode function yang sudah ada, dan jangan lupa sebelum tag penutup php
?>
.
class WP_HTML_Compression
{
// Settings
protected $compress_css = true;
protected $compress_js = true;
protected $info_comment = true;
protected $remove_comments = true;
// Variables
protected $html;
public function __construct($html)
{
if (!empty($html))
{
$this->parseHTML($html);
}
}
public function __toString()
{
return $this->html;
}
protected function bottomComment($raw, $compressed)
{
$raw = strlen($raw);
$compressed = strlen($compressed);
$savings = ($raw-$compressed) / $raw * 100;
$savings = round($savings, 2);
return '<!--HTML compressed, size saved '.$savings.'%. From '.$raw.' bytes, now '.$compressed.' bytes-->';
}
protected function minifyHTML($html)
{
$pattern = '/<(?<script>script).*?</scripts*>|<(?<style>style).*?</styles*>|<!(?<comment>--).*?-->|<(?<tag>[/w.:-]*)(?:".*?"|'.*?'|[^'">]+)*>|(?<text>((<[^!/w.:-])?[^<]*)+)|/si';
preg_match_all($pattern, $html, $matches, PREG_SET_ORDER);
$overriding = false;
$raw_tag = false;
// Variable reused for output
$html = '';
foreach ($matches as $token)
{
$tag = (isset($token['tag'])) ? strtolower($token['tag']) : null;
$content = $token[0];
if (is_null($tag))
{
if ( !empty($token['script']) )
{
$strip = $this->compress_js;
}
else if ( !empty($token['style']) )
{
$strip = $this->compress_css;
}
else if ($content == '<!--wp-html-compression no compression-->')
{
$overriding = !$overriding;
// Don't print the comment
continue;
}
else if ($this->remove_comments)
{
if (!$overriding && $raw_tag != 'textarea')
{
// Remove any HTML comments, except MSIE conditional comments
$content = preg_replace('/<!--(?!s*(?:[if [^]]+]|<!|>))(?:(?!-->).)*-->/s', '', $content);
}
}
}
else
{
if ($tag == 'pre' || $tag == 'textarea')
{
$raw_tag = $tag;
}
else if ($tag == '/pre' || $tag == '/textarea')
{
$raw_tag = false;
}
else
{
if ($raw_tag || $overriding)
{
$strip = false;
}
else
{
$strip = true;
// Remove any empty attributes, except:
// action, alt, content, src
$content = preg_replace('/(s+)(w++(?<!baction|balt|bcontent|bsrc)="")/', '$1', $content);
// Remove any space before the end of self-closing XHTML tags
// JavaScript excluded
$content = str_replace(' />', '/>', $content);
}
}
}
if ($strip)
{
$content = $this->removeWhiteSpace($content);
}
$html .= $content;
}
return $html;
}
public function parseHTML($html)
{
$this->html = $this->minifyHTML($html);
if ($this->info_comment)
{
$this->html .= "n" . $this->bottomComment($html, $this->html);
}
}
protected function removeWhiteSpace($str)
{
$str = str_replace("t", ' ', $str);
$str = str_replace("n", '', $str);
$str = str_replace("r", '', $str);
while (stristr($str, ' '))
{
$str = str_replace(' ', ' ', $str);
}
return $str;
}
}
function wp_html_compression_finish($html)
{
return new WP_HTML_Compression($html);
}
function wp_html_compression_start()
{
ob_start('wp_html_compression_finish');
}
add_action('get_header', 'wp_html_compression_start');
Setelah itu, klik simpan dan coba restart halaman blog anda, kemudian cek sumber halaman dengan cara klik kanan pada mouse. Apakah kodennya berubah jadi tak beraturan? Jika demikian berarti anda telah berhasil.
Jika masih belum berhasil dan mengalami kesalahan silahkan kembali ke sini untuk beritahukan detail kesalahaannya agar bisa saya kasih bantu carikan solusi.
Demikianlah artikel tentang bagaimana cara minify html pada template wordpress tanpa plugin. Semoga berguna dan bermanfaat buat kita semua.