No puedes saber si tu web está expuesta si no sabes qué lleva dentro. Y la lista que ves en Escritorio → Plugins no es la lista completa: hay al menos tres sitios más donde WordPress carga código de terceros sin enseñártelo ahí. Esa diferencia es justo por donde entran los sustos.
En los próximos minutos vas a hacer el inventario real de tu WordPress: lo que está activo, lo que está apagado pero sigue en el servidor, lo que viene dentro del tema, lo que ha puesto tu hosting y lo que no debería estar. Y al final tendrás claro qué se puede borrar sin miedo y qué no hay que tocar aunque no lo reconozcas.
La lista del panel no es la lista completa
Un WordPress carga plugins desde cuatro sitios distintos:
- Plugins normales: cada carpeta dentro de
/wp-content/plugins/. Estos sí salen todos en el panel. - Must-use o «debe usarse»: los ficheros PHP sueltos que hay en
/wp-content/mu-plugins/. Se cargan siempre, antes que nada, y no se pueden desactivar desde el panel. Los hostings buenos meten aquí sus optimizaciones. Los atacantes también los usan porque pasan desapercibidos. - Drop-ins: ficheros con nombre reservado colocados directamente en
/wp-content/, comoobject-cache.php,advanced-cache.php,db.phpomaintenance.php. Sustituyen partes del propio WordPress. - Plugins empaquetados en el tema: los temas comerciales suelen traer dentro constructores visuales, sliders o formularios. Se instalan como plugins normales, pero no se actualizan desde wordpress.org, sino cuando actualizas el tema.
Ese último grupo es el que más problemas causa en España, porque una web puede llevar años con un componente sin parchear sin que nadie lo note. Lo explico a fondo en la guía sobre vulnerabilidades en plugins de WordPress y cómo saber si te afectan.
Paso 1: la lista desde dentro del panel
Entra en Escritorio → Plugins → Plugins instalados. Encima de la tabla hay una fila de filtros que casi nadie mira: Todos, Activos, Inactivos, Actualización disponible y, si existen, Debe usarse y Drop-ins.
Haz clic uno por uno en esos dos últimos filtros. Si aparecen, apunta lo que ves: ahí es donde suele estar lo que no sabías que tenías. Un object-cache.php puesto por tu hosting es normal. Un fichero en Debe usarse con un nombre genérico tipo wp-cache.php o class-wp.php que no has puesto tú ni tu proveedor, no lo es.
De la lista principal, anota para cada plugin tres datos: nombre, versión y si está activo. La versión aparece debajo de la descripción. Y en el enlace «Ver detalles» de cada uno, si el plugin viene del repositorio oficial, verás dos campos que valen oro: la fecha de la última actualización y la versión de WordPress con la que se ha probado.
Los que vienen con el tema
Ve a Apariencia → Temas y mira qué tema tienes activo. Si es un tema comercial, en el panel suele aparecer un aviso del tipo «Este tema requiere los siguientes plugins» con una lista. Esa es tu lista de componentes empaquetados. Si el aviso ya no sale, mira en Plugins los que no tengan enlace a wordpress.org: normalmente son esos.
Paso 2: la lista desde el servidor (la que no miente)
Entra por el gestor de archivos de tu hosting o por SFTP y abre /wp-content/plugins/. Cada carpeta es un plugin, esté activo o no. Compárala con la del panel: si hay carpetas que no aparecían, presta atención.
Para saber qué es una carpeta que no reconoces, abre el fichero PHP principal que tenga dentro y mira las primeras líneas. Todo plugin legítimo tiene una cabecera así:
/*
Plugin Name: Nombre del plugin
Plugin URI: https://ejemplo.com/
Version: 1.4.2
Author: Alguien
*/
Señales de que una carpeta no es lo que dice ser:
- No hay
readme.txtni cabecera, solo uno o dos ficheros PHP. - El código empieza con líneas larguísimas sin saltos, o con funciones como
eval(,base64_decode(,gzinflate(encadenadas. - El nombre imita a uno conocido con una letra cambiada o un guion de más.
- La fecha de modificación no encaja con ninguna intervención tuya.
Si te encuentras algo así, no lo borres todavía: sácale copia, apunta la ruta y la fecha, y trátalo como una posible puerta trasera. Borrarlo sin más te quita la prueba y casi nunca resuelve el problema, porque rara vez viajan solos. Si además tienes o has tenido plugins descargados fuera de los canales oficiales, mira cómo detectar la puerta trasera de un plugin nulled.
No te dejes la carpeta de subidas
Aprovecha que estás dentro y ordena /wp-content/uploads/ por fecha buscando ficheros .php. En esa carpeta no debería haber ni un solo PHP: solo imágenes, PDF y documentos. Cualquier PHP ahí es sospechoso por definición.
Paso 3: en una línea, si tienes WP-CLI
Si tu hosting te da acceso SSH y tiene WP-CLI instalado, esto te resuelve el inventario entero:
wp plugin list --fields=name,status,version,update
wp plugin list --status=inactive
wp theme list
Y esta otra orden compara los ficheros de tus plugins con los originales del repositorio oficial y te dice cuáles han sido modificados:
wp plugin verify-checksums --all
Es la comprobación más rentable que existe con una sola orden. Ten en cuenta la limitación: solo puede verificar los plugins que vienen de wordpress.org. Los de pago y los hechos a medida los marcará como no verificables, y eso no significa que estén mal.
Paso 4: si no tienes acceso al panel
Pasa a menudo: la web la lleva una agencia y a ti solo te dieron un usuario editor, o directamente ninguno. Aun así puedes ver bastante desde fuera:
- Abre tu web, haz clic derecho y elige «Ver código fuente de la página».
- Busca con
Ctrl+Fel textowp-content/plugins/. - Cada coincidencia tiene la forma
/wp-content/plugins/nombre-del-plugin/assets/algo.css?ver=3.2.1. Ahí tienes el nombre y, muchas veces, la versión en el parámetrover=.
Sé honesto con el alcance de esto: solo verás los plugins que cargan algo visible en esa página concreta. Los que trabajan solo en la administración, los desactivados y los must-use no salen. Sirve para hacerte una idea y para pedir explicaciones con datos, no para dar el inventario por cerrado. Es exactamente lo que hace un escáner externo como PathScan, y por eso conviene combinarlo con la revisión desde dentro.
Cuáles sobran: los cinco tipos que hay que quitar
Ya con la lista delante, estos son los candidatos claros a desaparecer:
- Los desactivados. Un plugin apagado sigue teniendo sus ficheros en el servidor y, en según qué fallos, sigue siendo alcanzable desde fuera. Desactivar no protege: hay que borrar.
- Los abandonados. Si en su ficha pone que lleva mucho tiempo sin actualizarse o que no se ha probado con las últimas versiones de WordPress, tiene fecha de caducidad. No es urgente hoy, pero ponlo en la lista de sustituir.
- Los duplicados. Dos plugins de caché, dos de SEO o dos de seguridad no suman: se pisan entre ellos y generan errores raros que luego cuesta diagnosticar.
- Los gestores de archivos. Un plugin que te deja navegar, subir y editar ficheros desde el navegador es una consola de administración regalada si alguien entra al panel. Si tienes uno instalado, revisa por qué conviene quitar WP File Manager y con qué sustituirlo.
- Los que instalaste «para probar». El importador de contenido de demostración del tema, aquel plugin de mantenimiento de hace tres años, el de migración que usaste una vez. Fuera.
Cómo borrarlos sin romper la web
El orden que funciona:
- Haz una copia de seguridad (backup) completa antes de empezar. Ficheros y base de datos.
- Uno cada vez. Desactiva, recarga la portada y una página interna, mira que no falte nada, y solo entonces pulsa «Borrar».
- Bórralo desde el panel, no por FTP. Al borrarlo desde el panel se ejecuta la rutina de desinstalación del plugin, que limpia sus opciones y sus tablas. Si borras la carpeta por FTP, esa rutina no corre y te quedan restos en la base de datos.
- Después de cada borrado, vacía la caché. Muchos «se ha roto la web» son en realidad una caché vieja.
Un aviso importante: si desinstalas un constructor visual, el contenido maquetado con él puede quedar en códigos cortos ilegibles o desaparecer. Los constructores y los plugins de campos personalizados no se quitan a la ligera. Si dudas, prueba primero en una copia de la web, nunca en la buena. El procedimiento para montar ese entorno de pruebas y volver atrás cuando algo falla lo tienes en la guía para actualizar plugins sin romper la web.
Qué NO borrar aunque no lo reconozcas
Antes de ponerte a limpiar con entusiasmo:
- Los must-use de tu hosting. Muchos proveedores meten ahí su gestión de caché o su integración con el panel. Si los borras, se rompen cosas y encima vuelven a aparecer. Pregunta antes.
- Los drop-ins de caché (
object-cache.php,advanced-cache.php) si estás usando ese sistema de caché. - El plugin del que depende tu tema. Aunque no lo uses conscientemente, el tema puede estar llamando a sus funciones.
- Lo que sospechas que es malicioso, hasta que tengas copia y sepas desde cuándo está ahí.
Convierte esto en una rutina de diez minutos
Un inventario que se hace una vez sirve para un día. Guarda la lista que acabas de hacer (nombre, versión, para qué sirve, quién lo instaló y si se puede quitar) en una hoja de cálculo y revísala una vez al mes junto con las actualizaciones. Con esa lista en la mano, cuando salga un aviso de seguridad de un plugin conocido tardarás treinta segundos en saber si te afecta, en vez de una mañana. Y si estás pensando en instalar algo que vigile todo esto por ti, antes lee la comparativa honesta de plugins de seguridad para WordPress: hay funciones que compensan y otras que solo te consumen recursos.
Si lo que quieres es ver lo mismo que ve cualquiera desde fuera —qué plugins y versiones deja asomar tu web, y si hay señales de que alguno ya ha sido explotado—, comprueba tu web gratis con PathScan. No hay que registrarse ni instalar nada, y no toca tu web: solo mira desde fuera y te da el informe.
Seguir leyendo en esta sección
- Tu plugin lleva dos años sin actualizarse: cómo saber si ya es un riesgo
- Cómo saber si un plugin nulled tiene una puerta trasera
- Se me ha caducado la licencia de un plugin de pago: ¿deja de recibir parches?
- ¿Cuál es el mejor plugin de seguridad para WordPress? Comparativa honesta
- Wordfence gratis: qué te protege de verdad y qué se te queda fuera
- Cómo actualizar los plugins de WordPress sin romper la web
Ver todo en Seguridad de plugins WordPress → · Mapa completo del sitio