Cara Menyingkat Kode HTML di Wordpress Jadi Satu Baris?

Discussion in 'WordPress' started by Ardiansyah, Oct 14, 2015.

  1. Ardiansyah

    Ardiansyah Member

    Joined:
    Feb 5, 2013
    Messages:
    367
    Likes Received:
    18
    Trophy Points:
    18
    Google+:
    Aden2 dan adenwati tolongin nubi donk..

    ada yang tau gak caranya untuk menyingkat atau memperkecil kode HTML di worpress?
    Jadi kalau di View Page Source tampilan HTML nya jadi satu baris Gitu?

    saya sudah cari di google, dan dapat kode untuk menyinngkat HTML
    ini kodenya
    Code:
    <?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 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');
    ?>
    
    tapi masalahnya, setelah saya gunakan kode tersebut blog saya jadi lemoet banget dan nyaris gak bisa dibuka..
    oia, saya pake cloudflare apa mungkin crash dengan cloudflare kodenya ya?
    Atau mungkin aden2 punya kode lain?

    tolongin donk ..saya hanya butuh untuk mempersingkat HTMLnya, walupun tidak pengaruh ke speed loading blog gak apa2..

    Makasih sebelumnya
     
  2. Dan

    Dan Forum Bot

    Joined:
    Dec 4, 2012
    Messages:
    1,316
    Likes Received:
    257
    Trophy Points:
    83
    Google+:
    Pakai plugin semacam w3tc atau WP Super Minify
     
  3. Ardiansyah

    Ardiansyah Member

    Joined:
    Feb 5, 2013
    Messages:
    367
    Likes Received:
    18
    Trophy Points:
    18
    Google+:
    saya coba dulu ya mas dan..
    oya, kenapa ya blog saya kalau plugin chache bukannya cepat tapi malah lemot dan hampir gak bisa dibuka?
    saya sudah pernah coba wp super cache dan wp fastest cache, awalnya sih normal, tapi beberapa jam setelah pluginnya diaktifkan web saya jadi gak bisa dibuka alias lemot banget..

    apa karena saya pake cloudflare?

    makasih replynya, dan makasih juga sudah rapiin thread saya, karena tadi saya cari2 kode quote arau <code> tapi gak ketemu.. hehee

    Edit: barusan saya sudah coba plugin w3tc dan wp minify, berhasil sih HTML jadi satu baris, tapi sama dengan sebelumnya web saya jadi lemoet banget loadingnya dan nyaris gak bisa dibuka postingannya..
    jadi bingung, apa yang salah dengan web saya ya?
     
    Last edited: Oct 14, 2015
  4. KangAndre

    KangAndre Member

    Joined:
    Jan 25, 2014
    Messages:
    10,244
    Likes Received:
    2,714
    Trophy Points:
    413
    Kemungkinan ada masalah dengan cloudflare seperti punya @Samehadaku
     
  5. AmriMF

    AmriMF Member

    Joined:
    Jan 31, 2015
    Messages:
    425
    Likes Received:
    49
    Trophy Points:
    28
    Google+:
    Kalo ane pake autoptimize, gak ada masalah gan
     
  6. Ardiansyah

    Ardiansyah Member

    Joined:
    Feb 5, 2013
    Messages:
    367
    Likes Received:
    18
    Trophy Points:
    18
    Google+:
    ya kang, saya juga rasa bentrok dengan cloudflare, karena saya sudah coba berbagai macam plugin cache, tapi yang ada web tambah lemot..
    ada gak ya caranya agar tidak crash dengan cloudflare?

    udah saya coba mas, tapi sama saja, web jadi lemot banget..
    mas, pake cloudflare juga?
     
  7. AmriMF

    AmriMF Member

    Joined:
    Jan 31, 2015
    Messages:
    425
    Likes Received:
    49
    Trophy Points:
    28
    Google+:
    Nggak pake cloudflare, tapi rata2 cepat loadingnya. Lemot karena servernya mungkin
     
  8. KangAndre

    KangAndre Member

    Joined:
    Jan 25, 2014
    Messages:
    10,244
    Likes Received:
    2,714
    Trophy Points:
    413
    Pasti ada, punya @Samehadaku sekarang lancar. Cuma sayangnya sy belum pernah pakai cloudflare.
    Pakai VPS?
     
  9. Samehadaku

    Samehadaku Guest

    Mungkin ada plugin yg tidak sesuai dengan plugin cache & cloudflare :D
     
  10. Ardiansyah

    Ardiansyah Member

    Joined:
    Feb 5, 2013
    Messages:
    367
    Likes Received:
    18
    Trophy Points:
    18
    Google+:
    ya kang, saya pake VPS

    kalau soal plugin, yang saya pake plugin ini mas
    CloudFlare Flexible SSL
    Google XML Sitemaps
    WP-Optimize, dan
    All 404 Redirect to Homepage
     
  11. KangAndre

    KangAndre Member

    Joined:
    Jan 25, 2014
    Messages:
    10,244
    Likes Received:
    2,714
    Trophy Points:
    413
    Saya jawab secara umum saja.
    Jika kita merubah/menambah sesuatu entah itu plugin, template, script, dsb jika terjadi permasalahan, kembalikan ke semula (restore). Ini akibat dari kita sendiri.
    Jika ada permasalahan sedangkan kita tidak melakukan apapun, berarti dari server, hosting, dsb. Akibat dari luar yang mungkin saja ada maintenance, koneksi internet, dll.
    Jika saya ingin mencoba melakukan perubahan, biasanya menggunakan blog dummy dulu yang mirip, jika nggak ada masalah barulah diterapkan ke blog utama.
     
  12. Ardiansyah

    Ardiansyah Member

    Joined:
    Feb 5, 2013
    Messages:
    367
    Likes Received:
    18
    Trophy Points:
    18
    Google+:
    Makasih kang tips2nya..
    membantu banget buat nubi seperti saya :)
     
Loading...

Share This Page