Desde hace tiempo aparecen sin cesar tutoriales, snippets y propuestas sobre como solucionar problemas comunes de WordPresssin plugins“. El origen de esta etiqueta se basa en la idea de que tener muchos plugins alentarán un sitio y lo harán difícil de administrar, lo cual puede ser cierto en muchas ocasiones, pero ¿realmente tiene alguna ventaja usar soluciones “sin plugins”?

Cuando se trata de cubrir algún problema sin plugins, normalmente se agregan funciones al archivo functions.php en el tema en uso. El archivo functions.php esta diseñado para albergar funciones relacionadas al diseño del sitio, no sobre su desempeño, administración o arquitectura. Estas tareas están diseñadas para estar, sí, en los plugins. De aquí se desprenden varias desventajas:

Desventajas de las soluciones “sin plugins”

  • Se mezcla diseño con funcionalidad.
  • Mismo desempeño. Algunas de estas soluciones son copias parciales o totales de un plugin; con lo que no hay ninguna mejora en el rendimiento del sitio. Código mal programado será igualmente malo como plugin que en el tema.
  • Difícil mantenimiento. Al encontrarse en un archivo del tema, cuando este se cambia, se tiene que mudar manualmente cada función al nuevo tema. Se genera un archivo functions.php grande con funciones de todo tipo difícil de explorar y mantener.
  • Menor flexibilidad. Para activar/desactivar o modificar una funcionalidad hay que modificar la función correcta en un archivo del tema. Como plugin solo requiere un clic y se conoce mejor la ubicación de la función.

¿Cuándo uso plugin y cuándo no?

Desgraciadamente esta pregunta se responde como no nos gusta a muchos: Depende. Si el problema es independiente al diseño(tema) siempre le mejor opción será que sea independiente, es decir, como plugin, si por el contrario responde a una necesidad del tema en cuestión debe ir en functions.php u otro archivo del mismo. Por ejemplo, en muchos de los casos el SEO es mejor manejarlo como un plugin y los botones de compartir en redes sociales como parte del tema.

Una buena práctica es comparar el código de la solución con y sin plugin; si solución sin plugin esta mejor programada (puede pasar) y es independiente al diseño, en lugar de agregarla a un archivo del tema se puede crear un plugin con ella o crear un plugin general para albergar a todas las funciones “huérfanas”.

Conclusión

Tener solo la cantidad de plugins necesaria es una buena práctica para mejorar el rendimiento de un sitio. Sin embargo, moverlos al tema no es una solución, sino un parche que normalmente trae más problemas. En lugar de mover de lugar el problema, revisa el código o lee sobre cada plugin para encontrar aquel que resuelva tu problema con la menor cantidad de recursos. Aprende a crear tus propios plugins con las funciones concretas de tus problemas, no es tan difícil como parece.