Pequeña optimización para WordPress

Autor: Armonth | El martes 11 de septiembre del 2007 @ 13:11.

WordPress incluye de serie en las ramas 2.3 y 2.2.x (quizá también en la 2.1.x pero no me suena) un pequeño fichero de 17KB llamado wp-includes/deprecated.php que como su propio nombre indica incorpora funciones y variables que ya no serán usadas y son sustituidas por nuevas.

Un ejemplo de lo que ofrece son variables globales como $tableX donde X el nombre de una tabla y es que ahora se llaman mediante $wpdb->X o funciones como get_postdata() que es sustituida por get_post(). Y así unas cuántas más.

El caso es que en PHP cada vez que se incluye un fichero, se haga algo o no con él, hay un pequeño incremento de memoria usada proporcional a la cantidad de código. Incluso si nos ponemos a hilar fino, el simple hecho de leer un fichero ya supone un acceso de lectura a disco.

Llevo un tiempo haciendo pruebas para ver que cosas se pueden quitar de WordPress sin "joder la marrana" y aunque podemos llegar a tener un script mucho más ligero a saber que nuevos problemas podemos generar (sin "errores aparentes" he bajado un WordPress 2.3beta2 de 6900KB de memoria consumida a 5600KB pero claro, hay que quitar cosas que para otras personas sí son útiles). Ésta es una de ellas y podemos quitarla sin problemas casi en el 100% de los casos.

Salvo que se utilice una plantilla muy antigua que haga uso de alguna de esas funciones (lo cual ya de por sí no es recomendable) podemos quitarlo simplemente comentando su llamada, en el fichero wp-settings.php:

# Cambiamos:   
require (ABSPATH . WPINC . '/deprecated.php');

# Por:
#require (ABSPATH . WPINC . '/deprecated.php');

El cambio es pequeño y no impactará notablemente en el rendimiento pero ahí queda la idea de que con un poco de maña podemos ir quitando funcionalidades innecesarias.

Otra que he quitado sin mayores consecuencias ha sido cron.php (mismo sistema, dos líneas por arriba de la de deprecated.php) pero a saber cuántos plugins o funcionalidades dependen del mismo (seguramente, y sólo para empezar, las entradas programadas a futuro).

Como curiosidad, si a alguno se le ocurre quitar el default-filters.php aparte de conseguir uno de los WordPress más inseguros de la historia podrá ver en el APD unas 1500 "llamadas" menos ^_^U.

Comentarios