Minify HTML Output Pada WordPress tanpa Plugin

Halo,  nyari nyari fungsi biar output HTML pada WordPress di browser cuma jadi 1 Line alias di minify tanpa plugin, akhirnya nemu code ini.

 

function sanitize_output($buffer) {

    $search = array(
        '/\>[^\S ]+/s',  // strip whitespaces after tags, except space
        '/[^\S ]+\</s',  // strip whitespaces before tags, except space
        '/(\s)+/s'       // shorten multiple whitespace sequences
    );

    $replace = array(
        '>',
        '<',
        '\\1'
    );

    $buffer = preg_replace($search, $replace, $buffer);

    return $buffer;
}

ob_start("sanitize_output");

cukup tambahkan kode ini di file functions.php dan jadi deh minify html di browser.

Oh ia, tambahkan kode ini di footer:

 

<?php
ob_end_flush();
?>

 

Note:

Saran saya untuk membackup theme anda terlebih dahulu. Jika ada PHP atau Javascript (inline) yang kemudian tidak bekerja, coba cari comment seperti ini:

// comment

 

/*comment*/

Hapus saja jika anda melihat code itu di file Javascript yang tidak bekerja.

Source Code stackoverflow

 
Update, ini nemu juga code yang mungkin agak panjang dan cukup lumayan bagus. langsung saja copy code nya dan paste di functions.php

asdadasdasd
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 udah dikompress, lumayan tuh berkurang '.$savings.'%. Tadinya '.$raw.' bytes, sekarang cuma '.$compressed.' bytes-->';
 }
 protected function minifyHTML($html)
 {
 $pattern = '/<(?<script>script).*?<\/script\s*>|<(?<style>style).*?<\/style\s*>|<!(?<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');

Cara Mengubah HTTP ke HTTPS Pada Blog WordPress

Cara Mengubah HTTP ke HTTPS Pada Blog WordPress
Cara Mengubah HTTP ke HTTPS Pada Blog WordPress

Cara Mengubah HTTP ke HTTPS Pada Blog WordPress dengan simple adalah dengan cara mengedit file .httaccess. Sebelumnya pastikan bahwa anda sudah memiliki SSL certificate yang sudah terpasang pada server anda untuk domain yang akan di redirect.

Caranya cukup simple, yakni rubah file .htaccess anda melalui File Explored atau via FTP menjadi seperti ini

# BEGIN WordPress
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

Udah gitu aja, ga ribet kan?