Los 10 errores más comunes de los complementos de WordPress

Publicado: 2019-08-27

Una de las características más exitosas de WordPress es que ha sido capaz de animar a una comunidad de desarrolladores que amplían la funcionalidad básica de este sistema de gestión de contenidos a través de la creación de complementos. Eso y que la cuota de mercado de WordPress no ha dejado de crecer en los últimos años es clave para atraer talento.

Los complementos de WordPress son los mejores. Saber que si necesita personalizar su sitio web puede hacerlo con solo buscar un complemento que haga lo que necesita, le da tranquilidad. Y además reduce mucho los costes.

No tener que (en la mayoría de los casos) desarrollar soluciones personalizadas es un alivio. Democratiza el acceso a sitios web complejos por una fracción del precio que costarían hace unos años.

Hombre triste mirando sus pies mientras llueve
He visto cosas que no creerías. Detecta complementos de grabación más allá del editor. He visto errores que brillan en la oscuridad cerca de la base de datos de WordPress. Todos esos momentos se perderán... en el tiempo... como lágrimas en la lluvia. Es hora de escribirlos.

Pero no todo es un lecho de rosas. A la hora de seleccionar un plugin de WordPress tenemos que tener mucho cuidado. La popularidad de WordPress atrae talento. Pero también atrae a desarrolladores menos experimentados que a veces crean complementos que no tienen los niveles de calidad deseados. Detectarlos no es tan fácil como contar el número de valoraciones positivas que tienen o en cuántos sitios están instalados. Es mucho más complejo.

Algo que sufrimos en Nelio desde que empezamos a analizar las instalaciones de WordPress de nuestros clientes es la cantidad de basura que podemos encontrar allí instalada. Hemos visto cosas que no creerías...

Por eso hoy os voy a explicar algunos de los problemas más comunes y curiosos que nos hemos encontrado a lo largo de estos años con los plugins de WordPress.

Lista de problemas de complementos de WordPress

Aquí os dejo con la lista de problemas que os podéis encontrar con los plugins de WordPress. Son problemas genéricos y no daremos nombres específicos de los plugins que los padecen, pero existen y hay que tener cuidado para evitarlos.

Crear tablas adicionales en la base de datos

La base de datos de WordPress es una zona de guerra. Muchos complementos lo amplían para agregar sus propias tablas. Esto no tiene por qué estar mal, pero la mayoría de las veces no es necesario.

Base de datos de WordPress
Tablas principales de la base de datos de WordPress.

La base de datos de WordPress es lo suficientemente genérica como para no tener que agregar nuevas tablas para que las use su complemento. Entonces, ¿por qué un desarrollador ve la necesidad de agregar más tablas a WordPress? La respuesta es bastante fácil: comodidad e ignorancia.

Muchas veces es más fácil para alguien con poca experiencia en WordPress poner tablas adicionales y hacer consultas directamente en SQL para leer y modificar datos. Esto, además de ser un agujero de seguridad si no se hace bien, evita usar metatablas.

Si quieres ampliar la información de los usuarios, tienes la tabla wp_usermeta . Lo mismo ocurre con los contenidos ( wp_postmeta ), los comentarios ( wp_commentmeta ) o incluso los términos de taxonomía (etiquetas y categorías, con la tabla wp_termmeta ).

WordPress proporciona métodos para leer y modificar esta metainformación de forma estándar y segura. A menos que tenga una justificación de rendimiento, querido desarrollador de WordPress, no use tablas adicionales en sus complementos.

Cargar scripts y estilos incorrectos

La mayoría de los complementos de WordPress tarde o temprano necesitarán cargar sus propios archivos JavaScript y CSS, a veces en el panel de administración de WordPress y otras veces en la parte frontal de la web. Y lo triste es que esto es algo que muchas veces se hace mal.

Spiderman llevando a un hombre de un lugar seguro a un incendio (es decir, haciéndolo mal)
Cargar estilos CSS y archivos JavaScript en WordPress es algo que, lamentablemente, pocos desarrolladores hacen bien.

Para agregar un estilo CSS o un archivo JavaScript en WordPress, debe ponerlo en cola en la cola estándar de WordPress. Para hacer esto, primero regístrelo con las funciones wp_register_style y wp_register_script , y luego póngalo en cola con wp_enqueue_style y wp_enqueue_script , respectivamente.

Tenga en cuenta que estas funciones le permiten definir las dependencias que tienen sus estilos y scripts, por lo que WordPress administra las dependencias correctamente y pone en cola solo lo que necesita.

Cualquier otra cosa está mal. Y aquí incluso la documentación del desarrollador tiene la culpa. Mire los ejemplos que vienen en el gancho wp_head en el Codex de WordPress. Los desarrolladores tomarán esto como referencia, ¿y luego lo que pasa es que rompen cosas?.

Ni siquiera pienses en usar wp_dequeue_script o wp_dequeue_style para eliminar scripts o estilos de WordPress. Muchas veces hemos visto como los plugins sacan de la cola la versión de jQuery que viene con WordPress para añadir la suya propia (que suele estar desactualizada) y a partir de ahí todo deja de funcionar…

Si detectas un plugin que no carga scripts y estilos correctamente siguiendo las pautas de WordPress, es motivo suficiente para deshabilitarlo de tu instalación ahora mismo.

No limpiar la base de datos al desactivar el complemento

Este es otro aspecto clásico de los complementos de WordPress, y quizás el más común que encontrarás. Para que funcionen, los complementos de WordPress deberán agregar registros en su base de datos. El problema aquí es que cuando desactiva el complemento, es común que esos registros permanezcan en las tablas de su base de datos para siempre.

Los complementos de WordPress generalmente no borran los datos que crean en su base de datos cuando los desactiva. Y no, no hay camión de la basura que pase de vez en cuando y se lleve estos datos inútiles.

Un complemento de WordPress debe eliminar las tablas adicionales que ha creado y los datos que ha agregado a las tablas estándar cuando el usuario lo desactiva. Pero sucede muy raramente. Te animo a que vayas a su base de datos y le eches un ojo. Seguro que allí encontrarás basura inútil.

Captura de pantalla del diálogo de desactivación de Nelio Content
Cuando desactive nuestros complementos, verá un diálogo como este, donde puede desactivarlo temporalmente o eliminarlo todo.

Si el desarrollador tiene cuidado, al desactivar el complemento en su WordPress le preguntará si desea desactivarlo de forma temporal o permanente. Esta última opción borrará todos los datos que haya ido añadiendo durante su funcionamiento, sacando así la basura para dejarlo todo limpio.

No proporcionar orientación al usuario

Cuando instala un complemento de WordPress y lo activa, generalmente espera que aparezca un nuevo menú en el Panel de WordPress donde puede encontrar las funciones del complemento. Pero este no es siempre el caso.

El Dude mirando sorprendido
Si después de instalar y activar un complemento de WordPress te sientes así, el desarrollador ha hecho algo mal.

Hay momentos en que el nuevo complemento agrega un menú dentro de un menú existente, generalmente el menú Herramientas o el menú Configuración. Por lo que el usuario tendrá que investigar para ver dónde está el menú que incluye el nuevo plugin recién instalado y activado.

Suele ser una buena práctica describir en el archivo README.txt del complemento lo que sucederá una vez que active el complemento en su WordPress. De esta manera reduce la ansiedad del usuario y hace la vida un poco más fácil. De lo contrario, si el usuario no encuentra dónde están las funciones que agrega el complemento, terminará desactivándolo, y como desarrollador eso es lo último que quieres que suceda.

Puede pensar que esto es algo que solo le sucede a los novatos. Pero ese no es el caso. Recientemente, instalé cierto complemento para hacer cierta cosa (¿les recuerdo que iba a evitar dar nombres?), y me encontré en esta misma situación. No pude encontrar dónde estaban las configuraciones del complemento. Y si me pasa a mí, que se supone que llevo mucho tiempo trabajando con WordPress, esta misma situación es terrible para alguien con menos experiencia.

Cambiar la interfaz de usuario de WordPress

WordPress es fácil de usar, o eso dicen. Y parte importante de esto es gracias a la interfaz de usuario que WordPress incluye por defecto. Esta interfaz es simple en una nueva instalación de WordPress, pero se vuelve más complicada a medida que agregamos más y más complementos.

Además, un problema común con los complementos de WordPress es que a veces usan una interfaz de usuario completamente diferente a la que los usuarios esperan encontrar en el panel de control de WordPress.

Homero Simpson caminando por la calle
Si estás en WordPress, pero no se parece a WordPress, estás confundiendo a tus usuarios innecesariamente.

Lo sé, la interfaz de usuario de WordPress es algo aburrida desde el punto de vista de un diseñador, pero a veces es mucho más inteligente seguir los mismos estilos y la misma experiencia de usuario a la que están acostumbrados tus usuarios que optar por una solución totalmente diferente.

En nuestros complementos, tratamos de mantener los mismos estilos de WordPress y colocamos cada elemento de la interfaz de usuario donde creemos que el usuario espera que aparezca. Pero hemos visto muchas interfaces de complementos que se parecen poco o nada a WordPress, lo que confunde a los usuarios.

La recomendación es que si eres diseñador de un plugin de WordPress sigas las guías de estilo de WordPress, e incluso reutilices los componentes que ahora proporciona para crear interfaces en React, exportadas directamente desde el editor de bloques de Gutenberg. Los estamos utilizando en la renovación que estamos haciendo de Nelio A/B Testing y son geniales.

Traspasando los límites de su propiedad

El Panel de WordPress tiene dos tipos distintos de zonas desde el punto de vista de un desarrollador. Por un lado tenemos las áreas privadas, que son aquellas páginas que añade un determinado plugin. Dentro de estas zonas, solo se deben poner en cola los estilos CSS y los scripts incluidos por el complemento al que pertenecen esas páginas.

Por otro lado, tenemos las áreas comunes, que son todas aquellas que vienen por defecto en WordPress. Ejemplos de áreas comunes son el editor de contenido, el editor de menús o widgets, la configuración, etc.

Crema para verter
Si su complemento está roto, es posible que el culpable sea otro complemento que está destruyendo los estilos o rompiendo sus scripts con código basura.

Los complementos bien programados, aquellos que siguen las pautas de WordPress, pondrán en cola los scripts y estilos que afectan solo a su zona privada. Esto significa que cuando ponen en cola estos recursos, tienen una condición en el código para comprobar si están intentando hacerlo en una página privada de su propiedad o no. De lo contrario, no pondrán en cola nada fuera de ese ámbito.

Desafortunadamente, hay muchos complementos que “olvidan” incluir esta condición en su código. Esto hace que su código y estilos JavaScript se carguen en todas las páginas en todo momento, algo que puede romper las otras páginas comunes o incluso las privadas de otros complementos.

Detectarlo es más fácil de lo que parece. Si está utilizando un complemento y su interfaz de usuario parece rota, es muy posible que otro complemento esté colocando JavaScript o CSS donde no debería y está rompiendo los estilos y el comportamiento del primer complemento. lo hemos visto Nos ha pasado (que nos rompen la interfaz) y, lamentablemente, seguirá pasando.

No seguir buenas prácticas de programación

No hace falta ser el mejor hacker del mundo para programar en WordPress, pero sí se espera una mínima calidad a la hora de programar.

Uno de los beneficios (si no el mayor) de WordPress es su filosofía de código abierto. Explorar el código fuente de los complementos es algo que siempre puedes hacer (al menos aquellos complementos en el repositorio oficial).

Un hombre gordo trabajando en su computadora con los pies.
Tener cuidado con la programación se nota con solo mirar el código que generas. Hay muchos complementos que te harán llorar al explorar su código fuente.

Puede encontrar de todo: código agradable de ver y código que le hará llorar. Y eso no significa que uno sea peor que el otro desde el punto de vista del rendimiento. Pero si ves un código bien documentado, bien sangrado y además estructurado siguiendo una distribución lógica de archivos y carpetas, has encontrado el santo grial.

Si el código de un complemento de WordPress es bueno para ver, probablemente se deba a que el programador es cuidadoso y pulido. Esa es una clara señal de calidad.

Apertura de agujeros de seguridad

Un complemento de WordPress no es más que un conjunto de instrucciones de código. Por lo general, PHP y JavaScript, que amplía la funcionalidad de WordPress. Este código obtendrá datos del usuario de manera bastante segura y terminará representando información en la pantalla.

Un gato escribiendo en una computadora súper rápido
La mayoría de las veces es involuntario, pero si no validas los datos y escapas de ellos, estás abriendo más puertas de las que deberías a posibles atacantes.

Es posible que al obtener datos e imprimirlos en pantalla estés agregando agujeros de seguridad si no procesas esos datos correctamente. WordPress pone mucho énfasis en validar y desinfectar los datos de entrada y escapar de los datos en la salida.

Hay muchas funciones para validar los datos y asegurarse de que lo que el usuario ingresa al complemento es realmente lo que queremos, y así evitar la inyección de código. Si el desarrollador del plugin no los utiliza es por pereza o por desconocimiento. Ojo con lo que acabas instalando en tu WordPress o acabarás arrepintiéndote.

Realización de actividades inadecuadas

Siguiendo con el apartado anterior, existen plugins que provienen de fuentes de dudosa procedencia. A veces, para ahorrar algunos dólares, se sumerge en lugares oscuros de Internet en busca de un archivo .zip que contenga el complemento que desea pero por el que no desea pagar.

Un hombre que dice que entiende cómo funciona la web profunda
Todos lo sabemos y, a veces, incluso lo hemos hecho. Para ahorrar algunos dólares, nos adentramos en las zonas oscuras de Internet en busca de algo gratuito.

Cuando lo encuentras, todo es felicidad, hasta que te das cuenta de que ese plugin viene con regalo. Desde rastreadores, mineros de criptomonedas, spam, hasta códigos maliciosos que pueden tomar el control de su sitio web. Puedes encontrar de todo.

Tenga cuidado con el origen de los complementos que encuentre allí. El repositorio oficial de WordPress y los mercados más conocidos son la única fuente confiable para sus complementos de WordPress. Para estar dentro de esos repositorios, los desarrolladores de complementos deben pasar algunas pruebas de calidad. Confíe solo en lugares conocidos y evite complementos obtenidos de fuentes poco confiables.

No agregar valor

El peor error que puede cometer un complemento de WordPress es no agregar valor a sus usuarios. Como desarrollador, a veces tienes ideas locas que crees que pueden ser muy útiles para otros. Lo cierto es que si lo que trae tu plugin es muy pequeño, el número de usuarios que acabará siendo será similar.

Hay muchos complementos dentro del repositorio oficial de WordPress cuyo valor es bajo. Pero esto es algo que ocurre en cualquier marketplace o repositorio de aplicaciones.

Si como desarrollador quieres destacarte del resto de la competencia, céntrate en aportar valor a tus usuarios potenciales. De esa manera, su complemento termina ganando la popularidad necesaria para convertirse en un éxito dentro de WordPress.

Elegir complementos de WordPress es complicado

No todo se basa en la cantidad de opiniones de los usuarios y en contar estrellas. Elegir un buen complemento de WordPress es complicado. Hay muchas sorpresas ocultas que solo se descubren analizando el código fuente del complemento. Y si no tienes los conocimientos para entenderlo, ten cuidado.

Mire los comentarios que encontrará en el foro de soporte de complementos dentro del repositorio para ver qué tipo de problemas tiene la gente con él. Pruebe el complemento en un entorno controlado y, si ve algo extraño, comuníquese con el desarrollador para obtener ayuda.

Si después de esto no estás contento con lo que ves, busca una alternativa. Hay miles de complementos esperándote. O déjanos un comentario a continuación. Siempre estamos buscando ideas de nuevos complementos interesantes para agregar a nuestra colección.

Imagen destacada de Goh Rhy Yan en Unsplash .