| Suscribir mediante RSS

Acelerando WordPress Parte HTML

9 agosto 2009 Diseño web

AviónEn WordPress los Posts y comentarios se encuentran almacenados en una base de datos MySql. Son mostrados en el navegador mediante el uso de funciones en lenguaje PHP ejecutadas desde el servidor. Las páginas se crean como consecuencia de la elección del visitante, no están prediseñadas de antemano, el contenido se crea dinámicamente. Esta es la principal característica de un CMS. PHP también es necesario para las funciones internas de WordPress y para generar las partes del código HTML que conforman una página.

Es decir, WordPress requiere un uso intensivo de PHP. Estas constantes llamadas a PHP y a la base de datos en busca de información ralentizan el servidor y por consiguiente la carga del blog. Los accesos a la base de datos son inevitables pero podemos ayudar a aligerar el trabajo de nuestro servidor si eliminamos Plugins y Scripts innecesarios. Si cuidamos el tamaño en kylobytes de las imágenes que subimos al servidor, si optimizamos la base de datos y si evitamos usar llamadas a PHP cuando se puede obtener el mismo resultado con HTML directamente.

Un theme o plantilla de WordPess se compone de varios archivos PHP que también incluyen código HTML y Javascript. Cada uno tiene una misión concreta, de esta forma la modificación de uno de ellos no afecta al resto. El aspecto visual en el navegador es controlado por las hojas de estilos CSS.

Por ejemplo, el archivo header.php crea la cabecera de la página web, el footer.php el pie de la página. Mientras el sidebar.php es destinado a mostrar el contenido de la columna o barra lateral. Todos estos archivos independientes son llamados desde index.php que también es el encargado de buscar en la base de datos los posts que solicita el usuario. De esta forma se crea la página web completa con el código HTML necesario para que pueda ser visualizada en los navegadores.

Esto significa que cada vez que un visitante hace un clic en alguna parte de nuestro blog WordPress carga todo de nuevo usando llamadas a funciones de PHP. Estas funciones son los conocidos Tags de WordPress. Se usan para mostrar el título del blog, la descripción del mismo, el directorio de la hoja de estilos CSS, el directorio de los archivos del theme, el enlace al RSS, etc. Estos datos debemos conocerlos, no hay necesidad de hacer uso de PHP para mostrarlos. En su lugar podemos utilizar HTML y escribir su equivalencia en texto.

Para eso debemos modificar los archivos del theme y prescindir de algunos Tags que pueden ser sustituirlos por el correspondiente en HTML. La mayoría de los Tags se encuentran en el header.php aunque también pueden aparecer en el footer.php y otros archivos. Existen más de los que aparecen en la siguiente lista pero estos son los más frecuentes:

<?php bloginfo(’name’); ?> su usa para mostrar el nombre del blog 
<?php bloginfo(’description’); ?> la descripción o tagline del blog
<?php bloginfo(’html_type’); ?> content-type de la página, es text/html
<?php bloginfo(’charset’); ?>  es UTF-8 
Es lo que tienes configurado en Opciones - Lectura del DashBoard
<?php bloginfo(’version’); ?> la versión de WordPress en estadísticas.
Muestra por ejemplo, WordPress 2.8.1. Si usas otras estadísticas como 
Analytics, modificar esto no afecta.
<?php bloginfo(’stylesheet_url’); ?> Url de la hoja de estilo CSS 
<?php bloginfo(’rss2_url’); ?>  Url del Feed RSS 2.0
<?php bloginfo(’pingback_url’); ?> Url al archivo de pingback, 
es xmlrpc.php
<?php bloginfo(’stylesheet_directory’); ?> directorio de hojas de 
estilos CSS 
<?php bloginfo(’comments_rss2_url’); ?>
Url a los comentarios del Feed RSS 2.0

Aquí puedes ver algunos ejemplos:

<title><?php bloginfo('name'); ?></title>
es lo mismo que poner <title>Enralados</title> 

<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); 
?>; charset=<?php bloginfo('charset'); ?>" />
es lo mismo que 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
debes poner
<link rel="pingback" href="http://tusitio.com/xmlrpc.php" />

y así con cada uno de los Tags. Seguro que tienes funciones en tu Theme que no se usan y que podrías eliminar, así evitas que PHP haga comprobaciones de si están activas o no. Eso depende de cada theme en particular, guarda copias de los archivos que modifiques por si tienes que restaurarlos.

Si tienes dudas mira el código fuente de la página en tu navegador y sabrás exactamente a que equivale cada tags. Aquí tienes la lista de Tags de WordPress.

En servidores rápidos igual no aprecias los cambios y puedes considerar que no vale la pena modificar los archivos. Los que tenemos servidores compartidos deberíamos pensar más en el colectivo y cuidar estos detalles. Un sitio web que sobrecargue al servidor afecta negativamente al resto de "vecinos" de hospedaje.

En este enlace podrás comprobar la diferencia en la velocidad de carga si este mismo Blog se pudiera realizar sólo con HTML sin llamadas a PHP ni búsquedas en la base de datos. Esto lógicamente no es posible pero te da una idea de lo que puede tardar un servidor en mostrar el blog.

Otros artículos de Diseño web

Cómo aprender Joomla
Creando themes en bbPress, lo básico
Google ayuda a los sitios web a combatir el malware
Hojas de estilo CSS
Conociendo los Shortcodes