¿Cómo minimizar el código HTML de la página PHP?

La minificación de la salida HTML es importante para mejorar el rendimiento del sitio web al reducir los tiempos de carga de la página y reducir el tamaño total de la página. Minimizar la salida HTML también reduce el uso de datos del usuario que solicita el sitio. La minificación se puede realizar eliminando detalles innecesarios y eliminando espacios en blanco excesivos, nuevas líneas, comentarios, etc. Sin embargo, la minificación reduce la legibilidad del código. La minificación puede reducir el tamaño del archivo hasta en un 70%. PHP se utiliza para transferir archivos del entorno de desarrollo al de producción. Los archivos HTML se pueden minimizar tanto de forma manual como automática. La minificación se puede deshacer usando varias herramientas que agregan espacios en blanco en el código. Sin embargo, los comentarios eliminados durante la minificación no se pueden restaurar. 

Ejemplo: Este es el archivo HTML sin minimizar el código. 

html

<html>
 
<head>
 
<!-- This is the content that
    shows in the browser tab -->
     
<title>Title Page</title>
 
</head>
 
<body>
 
<!-- This is a comment. -->
 
<h1>Hello world!</h1>
</body>
 
</html>

Archivo HTML después de la minificación

<html><head><title>Página de título</title></head><body><h1>¡Hola, mundo!</h1></body></html>

Enfoque 1: uso de la compresión GZip en Apache: pasos para habilitar la compresión Gzip en Apache

  • Abra el archivo de configuración de Apache
vim /etc/httpd/conf/httpd.conf 
  • Verifique la siguiente línea en el archivo de configuración.
LoadModule deflate_module modules/mod_deflate.so
  • Agregue las siguientes líneas al final del archivo de configuración.
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
  • Reinicie el servidor Apache
sudo service httpd restart

Enfoque 2: el código HTML se puede minimizar con la función ob_start() con una devolución de llamada. 

php

<?php
ob_start("minifier");
function minifier($code) {
    $search = array(
         
        // Remove whitespaces after tags
        '/\>[^\S ]+/s',
         
        // Remove whitespaces before tags
        '/[^\S ]+\</s',
         
        // Remove multiple whitespace sequences
        '/(\s)+/s',
         
        // Removes comments
        '/<!--(.|\s)*?-->/'
    );
    $replace = array('>', '<', '\\1');
    $code = preg_replace($search, $replace, $code);
    return $code;
}
?>
<!DOCTYPE html>
<html>
  
<head>
  
<!-- title of page -->
  
<title>Demo for minifier</title>
  
</head>
  
<body>
  
<!-- body of page -->
  
<h1>Hello World</h1>
  
</body>
  
</html>
  
<?php
ob_end_flush();
?>

Producción:

<!DOCTYPE html><html><head><title>Demostración de minificador</title></head><body><h1>Hola mundo</h1></body></html>

Enfoque 3: uso del complemento HTMLMinifier: HTML Minifier es un minificador de código fuente del lado del servidor diseñado para optimizar la salida de HTML, CSS y JavaScript enviada al cliente mediante la eliminación de espacios en blanco, comentarios y nuevas líneas innecesarios. HTMLMinifier ofrece una variedad de opciones de optimización en el complemento que se pueden seleccionar según los requisitos del usuario. Pasos para usar HTML Minifier:

  • Descargue el archivo HTMLMinifier de https://www.terresquall.com/download/HTMLMinifier.php
  • Incluya el siguiente código en el archivo php 

php

<?php
 
// Import the HTMLMinifier
require_once 'myfolder/HTMLMinifier.php';
 
// HTML source to be minified
$htmlpage = file_get_contents('./mypage.html');
 
// Minified version of the page
echo HTMLMinifier::process($htmlpage);
 
?>
  • Ejecute el archivo php

Publicación traducida automáticamente

Artículo escrito por Shreyasi_Chakraborty y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *