Respuesta corta: cambia todas las contraseñas, haz una copia de lo que hay, elimina usuarios y archivos que no reconozcas, reinstala el núcleo y los plugins desde fuentes limpias, cierra la vulnerabilidad por la que entraron y solicita la revisión a Google desde Search Console. Restaurar una copia sin cerrar la puerta de entrada acaba en una reinfección.
Cómo se manifiesta
Este tipo de hackeo se llama «SEO spam» o «pharma hack». Su objetivo no es romper la web, sino aprovecharla para posicionar casinos, farmacia, apuestas o productos falsificados. Por eso puede pasar semanas sin que nadie lo vea. Estas son las señales más habituales:
- En Google, la búsqueda
site:tudominio.commuestra páginas o títulos con palabras como «viagra», «casino» o «apuestas» que no has publicado. - Search Console te avisa de «Contenido pirateado» o de problemas de seguridad.
- Aparecen enlaces ocultos en el pie, la cabecera o dentro de entradas antiguas, con estilos que los esconden al visitante.
- La web enseña contenido distinto a Googlebot que a una persona (cloaking): tú la ves normal y Google ve el spam.
- Hay administradores nuevos que nadie ha creado.
- Cambian ficheros del tema o aparecen archivos
.phpdentro dewp-content/uploads. - El navegador muestra una pantalla roja de «sitio engañoso» (Google Safe Browsing).
Antes de tocar nada
- Haz una copia del estado actual (archivos y base de datos), aunque esté infectada. Sirve para investigar y para recuperar contenido legítimo.
- Si el sitio sirve malware a los visitantes, ponlo en mantenimiento mientras limpias.
- Avisa al hosting: a veces tiene herramientas de análisis o puede indicarte accesos sospechosos en los registros.
Limpieza paso a paso
1. Cambia todas las credenciales
Contraseñas de todos los usuarios de WordPress, del panel de hosting, de FTP/SFTP/SSH, de la base de datos y del correo asociado. Después, regenera las claves y sales de wp-config.php para cerrar sesiones activas.
2. Revisa los usuarios
En Usuarios, elimina los administradores que no reconozcas. Revisa también usuarios con el rol de editor y autor creados recientemente.
3. Reinstala el núcleo y los plugins
Si puedes usar WP-CLI, comprueba la integridad de los archivos oficiales:
wp core verify-checksums
wp plugin verify-checksums --all
# Reinstalar el núcleo sin tocar wp-content
wp core download --force --skip-content
Para los plugins y el tema, lo más fiable es borrarlos y reinstalarlos desde el repositorio oficial o desde el proveedor. Elimina los que no uses. Cuidado con los plugins «nulled» (versiones pirata de pago): son una puerta de entrada habitual.
4. Busca archivos que no deberían estar
- Archivos
.phpenwp-content/uploads(esa carpeta solo debería tener imágenes y documentos). - Archivos modificados recientemente en el tema y los plugins.
- Código sospechoso: funciones como
eval(,base64_decode(ogzinflate(en lugares inusuales. Ojo, algunos plugins legítimos las usan; no borres sin contrastar. - Reglas de redirección raras en
.htaccessy tareas programadas (cron) que no reconozcas.
5. Limpia la base de datos
Busca entradas, páginas y widgets con enlaces a casinos o farmacia, en especial en contenido antiguo. Revisa también la tabla de opciones (wp_options) por plugins activos desconocidos y por las direcciones siteurl y home.
6. Cierra la puerta de entrada
Es el paso que más se omite. Averigua cómo entraron: un plugin o tema con vulnerabilidad conocida, una contraseña débil, un plugin pirata o un hosting comprometido. Actualiza o sustituye lo vulnerable. Sin este paso, la web volverá a infectarse.
7. Refuerza la seguridad
- Activa el doble factor para los administradores.
- Limita los intentos de acceso.
- Desactiva el editor de archivos del panel añadiendo
define('DISALLOW_FILE_EDIT', true);awp-config.php. - Mantén copias de seguridad fuera del servidor y comprueba que se pueden restaurar.
- Considera un cortafuegos de aplicaciones web (WAF).
Restaurar una copia: cuándo sirve
Volver a una copia anterior al hackeo puede ser lo más rápido, pero solo si además aplicas las actualizaciones y cierras la vulnerabilidad. Si restauras y dejas el plugin vulnerable, te reinfectarán.
Pedir a Google que lo revise
- Comprueba que ya no hay spam: revisa la web en modo normal y, si puedes, simulando a Googlebot con la Inspección de URLs de Search Console («Probar URL publicada»).
- En Search Console → Seguridad y acciones manuales, abre el problema detectado y pulsa Solicitar revisión, explicando qué has limpiado.
- Solicita la reindexación de las páginas afectadas y elimina del índice las URL spam que ya no existen (Eliminaciones).
- Asegúrate de que esas URL devuelven 404 o 410, no 200.
Google puede tardar en responder. Mientras tanto, vigila el informe de indexación y el resultado de site:tudominio.com.
Para agencias: detectarlo antes de que lo vea el cliente
El SEO spam puede estar semanas sin ser visible para quien administra la web. Jeffrey lee la portada y las páginas internas y abre alertas críticas por spam inyectado (también el que solo ve Googlebot), por enlaces a casinos o farmacia y, con el conector de WordPress, por enlaces dentro de entradas y comentarios. También avisa cuando aparece un administrador nuevo o Google marca la web como peligrosa. Más información en Para agencias.
Preguntas frecuentes
¿Puede un plugin de seguridad limpiarlo todo por mí?
Ayuda a detectar y a limpiar parte, pero no sabe por dónde entraron. Si no cierras esa puerta, volverá.
¿Hace daño al SEO tener spam en la web?
Sí. Puede provocar la caída de posiciones, una acción manual de Google o la marca de sitio peligroso. La recuperación es posible, pero puede llevar tiempo.
¿Cuánto tarda en levantarse el aviso de Google?
Tras solicitar la revisión, Google suele responder en un plazo de días, a veces algo más. Depende de la gravedad y de que la limpieza sea completa.