En el anterior artículo sobre lo que aprendimos acerca de los #PanamaPapers mencionaba que debíamos huir de aquellos Themes que incluyen funcionalidades en su estructura, añadiendo un “Pero esto es asunto de otro artículo…”. Pues bien, este es el artículo.
Los que trabajéis con WordPress, una de cada tres Webs del mundo según los últimos datos, os habréis enfrentado, o lo haréis antes que después os lo aseguro, a esta disyuntiva ¿Qué tema (Theme) elijo para mi WordPress?. Y muchos, al inicio os dejaréis tentar por los cantos de sirena de Themeforest, una de las mayores plataforma de venta de Themes de WordPress y sus, estéticamente, profesionales desarrollos que nos aportan, mediante la inclusión de infinitas funcionalidades, sliders, Custom Post types, Galerías… la solución para la Web que queremos implementar.
The problem with these solutions comes in several ways:
- Que estas funcionalidades, en muchos casos, no son otra cosa que la “incrustación” en el código de plugins externos que quedan enmascarados dentro del propio Theme y que no pueden ser actualizados.
- As these functionalities are inside the Theme, if we change them, and sooner or later we will do it, all these functionalities go with it, leaving the Web full of unreadable shortcodes and leaving us no choice but to continue with the original Theme or to spend a lot of time fixing the mess.
- Que si nos encontramos con Custom Post Types (tipos de entradas personalizadas) dentro del Theme, el día que cambies de Theme, todo el contenido que hayas incluido en estos desaparecerá. Pero tranquilo que no se borrará, solo que no será visible dentro del nuevo Theme que no tiene incrustados estos CPT.
- Moreover, if we think in terms of Web performance, the results can be catastrophic, due to the huge amount of code, in many cases useless, with which we will load our Web.
Embedded plugins
Uno de los últimos casos más sonados vino hace ya año y medio con la vulnerabilidad del plugin Slider Revolution de Codecanyon. Sonada por su gravedad ya que permitía de forma sencilla acceder a la BBDD de WordPress y ha sido, por dejadez, una de las vías de acceso para acceder a los mails de Mossack Fonseca y, sobre todo, por la infinidad de Themes que tenían “incrustado” este plugin en su código, más de 1.000 según Envato, Themes que no podían, de una forma sencilla, actualizar el plugin para defenderse de esta vulnerabilidad.
Features
A Theme should not provide functionalities because, as in Las Vegas, what is included in the theme stays in the Theme, that is to say that these functionalities come and go with the Theme, leaving us with an unreadable Web and that, in the case of going ahead, it will cost us a lot of time to put back "clean".
Exclusive Custom Post Types
Another of the "bad practices" that we find in many Themes is the inclusion, by default, of the so-called Custom Post Types (CPT). Make no mistake, the CPT are not bad in themselves, on the contrary, at the time they were a revolution and a qualitative leap in WordPress. WooCommerce is an example of this, it would have been difficult, if not different, to create such a powerful ecommerce plugin if it had not been for the appearance in version 3.5 of WordPress.


The problem is that this type of entries should not be associated with Theme, but must be created by the administrator, since, as with the functionalities, everything that comes with the Theme goes with the Theme. In the first image you can see the administration bar of a WordPress that includes several CPTs and what happens when we change the Theme.
To create CPTs there are plugins that allow us to create and manage them (such as Custom Post Types UI) or, if you dare to chop code, you can do it with the help of Generate WordPress.
Performance of our website
Por último, nos encontraremos con problemas de rendimiento, ya que Un Theme con tropecientas funcionalidades incluidas, de la cuales muchas ni las necesitamos ni las usaremos nunca, supone un despilfarro de código, código que se cargará si o si en la mayoría de los casos al generar una página… y eso va en detrimento del rendimiento de la Web. Y, como se suele decir “para muestra un botón”. La primera imagen corresponde al rendimiento de una Web con el Theme DiVi y la segunda a la misma Web con eleven40 Pro, un child theme soportado bajo el paraguas de Genesis Framework.


En resumen, antes de escoger el Theme, revisa que es lo que vas a necesitar, tanto a corto como a largo plazo, Define uno que te sirva como punto de partida y que tenga lo básico, es decir, diseño, y deja para los plugins (tanto gratuitos como premium, e incluso tus propios plugins) las funcionalidades. En el caso de encontraros con temas que aporten alguna de estas (sliders, shortcodes, Custom Post Types del tipo portfolio, testimonial, tablas de precio…) directamente no los uses, mejor elimínalos si puedes y mejor aún, descarta ese Theme. Como axioma un Theme debe enfocarse al diseño y un plugin a las funcionalidades. Ah y siempre estar informados de los plugins y Themes que instaléis y mantenerlos actualizados.
I invite you to leave your impressions and/or doubts in the contact form and to suggest new topics that you would like me to cover in these tutorials. I will be happy to answer you by email and write in this blog.