Elegir y evaluar plugins
Módulo 5: Temas y plugins · Tiempo de lectura: 9 minutos
Objetivo de aprendizaje: Después de esta lección podrá evaluar un plugin antes de instalarlo y reconocerá las señales de alarma.
Conceptos clave: plugin, hooks (actions y filters), última actualización, probado hasta, versión de PHP requerida, instalaciones activas, valoraciones, foro de soporte, vulnerabilidad, freemium, plugin nulled, solapamiento
Qué es un plugin y por qué importa
Un plugin es un fragmento de código PHP que se carga junto con WordPress en cada solicitud (lección 1.2). WordPress tiene hooks por todas partes: momentos fijos en los que los plugins pueden engancharse. Hay dos tipos:
- actions: "haz algo ahora", por ejemplo añadir un script a la página o enviar un correo tras un pedido;
- filters: "cambia esto", por ejemplo modificar el título de una página o editar el contenido de una entrada.
Un plugin puede, por tanto, cambiar casi cualquier cosa de su sitio. Y funciona con los mismos permisos que el propio WordPress: puede leer y escribir en su base de datos, crear archivos, enviar correo. Instalar un plugin es, por tanto, dar confianza a quien lo ha creado. Un buen plugin mejora su sitio; un plugin malo o abandonado es la vía de entrada más habitual para los atacantes (lección 7.1).
De dónde obtener plugins
- El repositorio de plugins de wordpress.org (también accesible desde Plugins > Añadir nuevo plugin en su administración). Cada plugin se revisa al enviarse, y el repositorio retira los plugins con una vulnerabilidad de seguridad sin resolver.
- El sitio de un desarrollador conocido, para plugins o extensiones de pago.
- Nunca de un sitio de descargas que ofrece plugins de pago "gratis". Estos plugins nulled suelen estar modificados con una puerta trasera, enlaces de spam o código que más adelante usa su sitio para otros fines. Además, no recibirá actualizaciones, por lo que las vulnerabilidades conocidas seguirán abiertas. El dinero que ahorra lo acabará pagando en la primera recuperación tras un hackeo.
Las cinco características de la página del plugin
En cada página de plugin de wordpress.org aparecen a la derecha los mismos datos. Léalos, en este orden:
| Característica | Qué indica | Señal de alarma |
|---|---|---|
| Última actualización | Si aún se le sigue dando mantenimiento | Más de un año desde la última actualización. Un plugin que lleva mucho tiempo sin actualizarse puede no funcionar bien con versiones recientes de WordPress y PHP |
| Probado hasta (versión de WordPress) | Si el desarrollador lo ha comprobado con versiones recientes | Una versión mucho más antigua que la actual. wordpress.org muestra entonces un aviso |
| Versión de PHP (requerida) | La versión mínima de PHP | No es una alarma en sí misma, pero compruebe que funciona con su versión (más reciente) |
| Instalaciones activas | Cuántos sitios lo usan | Muy pocas instalaciones significa pocas personas que detecten errores. No siempre es malo (un plugin pequeño y específico), pero conviene mirar con más atención |
| Valoraciones y soporte | Qué opinan los usuarios y si el desarrollador responde a las preguntas | Muchas valoraciones de una estrella recientes; en "Problemas resueltos en los últimos dos meses" una cifra baja respecto al total |
En las valoraciones, lea sobre todo las negativas recientes: ¿se refieren a una actualización que rompió algo, a publicidad agresiva, a datos que se envían fuera? Y revise en el foro de soporte si el desarrollador responde.
Un plugin retirado de wordpress.org muestra, al abrirlo, un aviso de que está cerrado, a menudo con el motivo (por ejemplo, "problema de seguridad"). Si tiene uno de estos plugins, sustitúyalo.
Más allá de la página del plugin
- Vulnerabilidades: existen bases de datos públicas con vulnerabilidades conocidas en plugins de WordPress, por ejemplo las de Patchstack, Wordfence y WPScan. Busque el nombre del plugin: ¿tuvo vulnerabilidades y con qué rapidez se solucionaron? Un plugin con una vulnerabilidad que se reparó rápido no es un mal plugin. Un desarrollador que no hace nada durante meses, sí lo es.
- Freemium: muchos plugins son gratuitos con una extensión de pago. Está bien, pero preste atención a los avisos que saturan su administración o a funciones que solo puede usar con la parte de pago.
- Servicios externos: ¿envía el plugin datos de sus visitantes a un servicio del desarrollador (un filtro antispam, un servicio de estadísticas, una compresión de imágenes en la nube)? Esto debe constar en su política de privacidad y, a veces, en un contrato de encargado del tratamiento (lección 9.3). Los buenos plugins lo indican en su descripción.
- Qué carga: un plugin para un formulario en su página de contacto no necesita cargar scripts en todas las demás páginas. Con las herramientas de desarrollo de su navegador (pestaña Red) puede ver qué carga un plugin en una página.
Una tarea, un plugin, y a ser posible ninguno
La pregunta más importante llega antes de la página del plugin: ¿necesito realmente un plugin para esto?
- ¿Puede hacerlo WordPress por sí solo? Un mapa del sitio sencillo (lección 9.2), lazy loading (lección 4.4), columnas, botones y tablas (lección 4.1) ya están incluidos.
- ¿Puede hacerlo el tema? Con un tema de bloques se puede hacer mucho con el Editor del sitio.
- ¿Se puede resolver con unas líneas de código en un pequeño plugin propio o un tema hijo? Entonces no necesita un paquete de miles de líneas para una sola función.
- ¿Ya tengo un plugin que hace esto? El solapamiento (dos plugins de caché, dos plugins de SEO, dos plugins de seguridad) genera conflictos y trabajo duplicado.
Un sitio con diez plugins bien elegidos es más saludable que uno con cuarenta. No porque el número en sí importe, sino porque cada plugin hay que mantenerlo, puede entrar en conflicto con los demás y puede tener una vulnerabilidad.
Dejar constancia de su evaluación
Para cada plugin que instale, anote: para qué sirve, por qué este y no otro, quién lo mantiene y cuándo lo revisó por última vez. Suena laborioso, pero es exactamente lo que necesitará al hacer limpieza (lección 5.4), ante un hackeo (lección 7.5) y si alguien más se hace cargo de su sitio.
Resumen
- Un plugin se engancha a WordPress mediante hooks y funciona con los mismos permisos; instalarlo es dar confianza.
- Obtenga los plugins de wordpress.org o de un desarrollador conocido, nunca nulled.
- Lea la última actualización, probado hasta, versión de PHP, instalaciones activas y valoraciones/soporte; busque vulnerabilidades conocidas.
- Pregúntese primero si necesita un plugin; evite el solapamiento.
- Deje constancia de por qué usa cada plugin.
Cuestionario
Ejercicio
Ejercicio A5.3: Lea la página de un plugin. Elija un plugin del repositorio de wordpress.org que utilice o esté considerando, e introduzca el slug (la última parte de la dirección, por ejemplo contact-form-7 de wordpress.org/plugins/contact-form-7/). Indique también lo que aparece en la página en última actualización (la fecha), probado hasta y versión de PHP requerida. El programa obtiene los mismos datos de la API pública de plugins de wordpress.org y los compara.
Ejercicio D5.3: Una tarjeta de puntuación para tres plugins. Elija una necesidad (por ejemplo, un formulario de contacto, un aviso de cookies o una copia de seguridad) y compare tres plugins. Rellene las cinco características de cada uno, busque si tuvieron vulnerabilidades conocidas y con qué rapidez se resolvieron, compruebe si envían datos a un servicio externo, y elija uno. Explique en unas frases por qué, y si realmente necesita el plugin.
Ejercicio D5.3: Una tarjeta de puntuación para tres plugins
Este ejercicio lo hace usted mismo; nadie lo revisa. Marque lo que haya hecho y señale el ejercicio como realizado.
Mencione una fuente de vulnerabilidades (por ejemplo, la base de datos de WPScan o Patchstack, con enlace) y una consideración que vaya más allá de "la mayoría de las instalaciones": mantenimiento, soporte, qué envía el plugin hacia fuera, solapamiento con lo que ya tiene.
Sus marcas y notas se quedan solo en este navegador; no las enviamos a ningún sitio. Si ha iniciado sesión, en Mis cursos solo guardamos que ha realizado el ejercicio.
Para seguir leyendo
Estos artículos describen los pasos en los paneles de WebOké; en otros paneles funcionan de forma similar.
- ¡Ayuda! Mi web ha sido hackeada. ¿Cómo puedo solucionarlo o evitarlo?
- Manual de DirectAdmin 18.2: Mi sitio web ha sido hackeado: plan de acción
- Plugins en wordpress.org: https://wordpress.org/plugins/
- Gestionar plugins (wordpress.org, en inglés): https://wordpress.org/documentation/article/manage-plugins/
