WordPress es una de las plataformas más utilizadas del mundo, pero también una de las más atacadas. Cada día, miles de webs sufren intentos de hackeo, infecciones de malware o robos de credenciales que pueden afectar su rendimiento, reputación e incluso sus ventas.
Para ayudarte a mantener tu web segura, en Nominalia hemos preparado un webinar gratuito con Gabriel Linares, especialista en seguridad web de nuestro equipo, en el que te mostramos cómo proteger tu WordPress y cómo actuar si tu sitio ha sido hackeado.
Contenidos
Lo que aprenderás en el webinar:
Durante los 180 minutos de sesión, Gabriel Linares explica de forma clara y práctica los aspectos clave de la seguridad en WordPress:
TEMARIO DE LA SESIÓN:
Principales amenazas de seguridad en WordPress.
Vulnerabilidades en temas, plugins y archivos PHP.
Tipos de ataques frecuentes: fuerza bruta, DDOS, malware, spam SEO, robo de credenciales.
Buenas prácticas:
Mantener WordPress y plugins actualizados.
Usar solo temas y plugins oficiales.
Configurar copias de seguridad y SSL.
Aplicar autenticación en dos pasos (2FA).
Monitorear tu web regularmente.
- Medidas de seguridad adicionales
Cómo detectar y eliminar malware.
Pasos para recuperar una web hackeada y reforzarla después del ataque.
Además, la sesión incluye ejemplos reales y una ronda de preguntas con los asistentes.
Grabación del webinar:
"Seguridad WordPress: aprende a proteger tu web"
EXPERTO

Gabriel Linares Santonja
Web Designer at Nominalia
FECHA
15 Octubre 2025
HORA
13:00h
DURACIÓN
180 min
Evita hackeos, caídas y problemas de rendimiento con nuestro servicio profesional de mantenimiento WordPress.
Aquí tienes la respuesta a todas las consultas de los asistentes: ¡Nuestro experto te responde!
Infecciones, hackeos y limpieza de sitios
Si ya has limpiado correctamente tu sitio (por ejemplo, con Wordfence y GOTMLS), puedes esperar un poco más de tiempo o, mejor aún, solicitar una revisión en Google Search Console.
El proceso puede tardar desde unos días hasta varias semanas. Mientras tanto, sigue monitorizando y realizando escaneos periódicos para asegurarte de que la infección no reaparezca.
Es una pregunta muy frecuente. Que hackeen un hosting completo es algo extremadamente improbable (tanto para Nominalia como para cualquier otro proveedor).
Eso implicaría una brecha grave a nivel de servidor —exploits en Apache, PHP, cPanel, etc.—, algo muy poco común y difícil de aprovechar por un atacante.
Los proveedores suelen implementar seguridad por capas (aislamiento entre cuentas, cortafuegos, accesos seguros, etc.), lo que hace que el riesgo esté casi siempre en el sitio web en sí, no en el servidor.
💡 En el 99% de los casos, el problema está en los archivos y plugins del propio WordPress.
🔒 Súper dicho: Un buen WordPress, con buenas prácticas de seguridad, puede sobrevivir en un hosting mediocre.
Pero un WordPress descuidado será hackeado incluso en el mejor hosting del mundo.
Buena pregunta. Depende.
Si tienes una copia de seguridad reciente y limpia, restaurarla puede ahorrar mucho tiempo.
Pero atención: si te hackearon, significa que ya existía una vulnerabilidad en ese WordPress, incluso si la copia parece limpia.
Por eso, además de restaurar, analiza la web con Wordfence, revisa si hay plugins abandonados o vulnerables y corrige los problemas detectados.
De lo contrario, el ataque podría repetirse.
Plugins y herramientas de seguridad
No, ni mucho menos. Es algo que también nos preguntan cuando contratamos un servicio de desinfección avanzada.
Muchos dicen: “Pero si tenía Wordfence, ¿cómo es posible que me hackearan?”
Plugins como Wordfence, GOTMLS o similares son herramientas de apoyo, pero no sustituyen las buenas prácticas.
No aplican actualizaciones automáticamente, ni reemplazan plugins abandonados, ni eliminan por completo el código malicioso sin intervención manual.
Estos plugins ayudan mucho —establecen reglas de seguridad, escanean el sitio y avisan de posibles amenazas—, pero la acción final siempre depende de nosotros.
Son una excelente ayuda, pero no una solución total.
Sí, por supuesto. Hay varios plugins muy buenos además de Wordfence y GOTMLS, cada uno con sus ventajas según el tipo de sitio y el nivel técnico del usuario.
Que a mí me gusten estos no significa que los demás sean malos o ineficaces —cada maestrillo tiene su librillo 😉
Otros que utilizo y recomiendo son:
- Sucuri: combina escaneo, auditoría de integridad y medidas de “hardening” o refuerzo de seguridad con solo unos clics.
- Solid Security (antes iThemes Security): ideal para reforzar configuraciones (cambiar la URL de acceso, bloquear bots, forzar contraseñas seguras, etc.). Es más preventivo que correctivo.
- MalCare: destaca por su escaneo remoto, que no sobrecarga el hosting y ofrece buena detección de malware.
Wordfence puede consumir bastantes recursos, especialmente durante los análisis.
Los componentes que más recursos demandan son:
- Escaneos de malware: Cuando analiza todos los archivos del sitio
- Firewall en modo «Learning»: Durante los primeros días.
Los requisitos mínimos recomendados para un buen funcionamiento son:
- PHP memory_limit: Al menos 256MB
- Tiempo de ejecución PHP (max_execution_time) de al menos 120 segundos
- Extensiones PHP activadas: cURL, json , mbstring , openssl ,pdo_mysql ,xml
- Versión de PHP: mínimo 5.3, recomendada 8.0 o superior
Tipo de hosting: Evitar hostings compartidos muy económicos. Mejor un compartido premium, VPS o hosting especializado en WordPress como los hosting WP de Nominalia.
Tips para mejorar su funcionamiento y que repercuta menos en el rendimiento de tu hosting
- Desactiva notificaciones que no necesites o no sean importantes. Esto reduce llamadas internas y tareas de envío que consumen recursos.
- Usa el Firewall en modo extendido. En cortafuegos -> Todas las opociones de cortafuegos pulsa sobre “Optimizar el cortafuegos de Wordfence”. Esto crea una regla en .htaccess de forma que mucho del filtrado se hace antes de cargar WordPress, ahorrando CPU y memoria. De esta manera las peticiones maliciosas se bloquean sin cargar el núcleo de WordPress → menos PHP ejecutado.
- Limita los análisis a uno al día o uno a la semana por ejemplo y en horas de baja actividad de tu web. En la versión gratuita no existe la opción pero lo puedes hacer del siguiente modo: Para desactivar los escaneos automáticos desde Wordfence y utilizar una tarea cron en tu servidor (si tu hosting lo permite).
- Ve a Opciones de Exploración y desactiva “Programar exploraciones de Wordfence”.
- A continuación en tu panel de control del hosting crea un tarea cron que lanza el análisis una vez al día a la hora que quieras, o una vez a la semana…
- 0 3 * * * wget -q -O – «https://tudominio.com/wp-admin/admin-ajax.php?action=wordfence_start_scan» >/dev/null 2>&1
Este ejemplo el escaneo cada día a las 3:00 AM.
Cambia la hora o frecuencia según quieras (por ejemplo, 0 3 * * 0 para hacerlo solo los domingos) a las 3 de la mañana
Es cierto que Wordfence impacta en cierto modo el rendimiento, sobre todo si el hosting que tenemos va un poco justo, pero la comparación con AIOS (All In One Security) requiere matices:
Wordfence ofrece:
- Firewall de aplicación web (WAF) más robusto
- Base de datos de amenazas más amplia
- Detección de malware más profunda
Ahora bien si tu sitio web no ha sufrido problemas de malware, esta bien actualizado y sin plugins abandonados o vulnerables AIOS también es una buena opción y puedes instalar WordFence, tenerlo desactivado y cada X tiempo activarlo para realizar un análisis más profundo y así quedarte tranquilo en cuando a vulnerabilidades y existencia de malware.
En nuestra opinión si los recursos de tu hosting gestionan bien WordFence y no se ve ralentizado optaríamos más por WordFence, si notas bajada de rendimiento y tu web está “saludable” puedes optar por AIOS, no es mal plugin.
NOTA: puedes probar también con Worfence y los Tips de optimización que hemos sugerido en la pregunta anterior.
La gratuita. Todos los recursos utilizados en el webinar son gratuitos. Funciona de maravilla y es más que suficiente para asegurar la integridad de tu WordPress si aplicas el resto de buenas prácticas.
Este es un problema común con Wordfence en hostings de bajo rendimiento. El error «la exploración ha fallado» en «Estado de servidor» generalmente indica limitaciones del hosting o configuración.
Intenta comprobar que en tu hosting tienes al menos el php memory limit en 256MB (512 sería lo ideal). Aumenta el php_value max_execution_time a 300 segundos.
Si sigue fallando puedes intentar hacer una configuración poco agresiva (también menos eficiente pero que suele ser suficiente):
Ve a Wordfence → Todas las opciones → Opciones de rendimiento y elije:
- Utiliza la exploración de bajos recursos
- En «Limita la cantidad de problemas enviados en el correo electrónico de resultados de la exploración» pon 50
- Establece » Máximo tiempo de ejecución para cada nivel de análisis» a 10-20 segundos
IMPORTANTE: Algunos hostings tienen ModSecurity configurado de tal manera que bloquea WordFence. En esta caso hagas lo que hagas siempre fallará la exploración. Si lo puedes gestionar desactívalo para ver si es el problema y si no contacta con tu proveedor para que modifique la regla que esta bloqueando WordFence.
Mantenimiento y servicios gestionados
No, no necesitas hacer nada, nosotros nos encargaremos de ello una vez lo contrates (previa copia de seguridad, por supuesto).
Esas tareas están incluidas en el servicio de Mantenimiento WordPress. Por supuesto, lo que si que es importante es que plugins y themes premium que tuvieran licencia la tengan aplicada y vigente, si no no podríamos actualizarlos. Si nos topamos con algún componente sin licencia por supuesto te lo haremos saber para que lo puedas solucionar.
No, no necesitas hacer nada, nosotros nos encargaremos de ello una vez lo contrates (previa copia de seguridad, por supuesto). Esas tareas están incluidas en el servicio de Mantenimiento WordPress.
De hecho, pueden darse varios casos:
- La web esta desarrollada por Nominalia hace menos de 6 meses. No tienes que hacer absolutamente nada, solo contratar el mantenimiento.
- La web está desarrollada por Nominalia hace más de 6 meses o por otra empresa , proveedor o por ti mismo. En ese caso antes del mantenimiento realizaremos una auditoría completa que en un detallado informe te mostrará los principales problemas de tu WordPress y sus posibles soluciones. Ahí evaluamos si el mantenimiento es posible (tranquilo, lo es en el 99% de los casos). Al contratar el mantenimiento, por supuesto el importe de la auditoría (52€) es descontado del precio. De esta manera te informamos detalladamente del estado de tu web y te/nos aseguramos que podremos darte un servicio de total calidad.
Actualizaciones y buenas prácticas
Cada maestrillo tiene su librillo, pero nosotros aconsejamos hacerlo en este orden:
- Primero: Plugins (de menos críticos a más críticos)
- Segundo: Temas (primero tema hijo si lo usas, luego tema padre)
- Último: Core de WordPress
¿Por qué este orden?
- Los plugins suelen adaptarse rápidamente a nuevas versiones del core
- Si un plugin falla, es más fácil desactivarlo sin afectar todo el sitio
- El core de WordPress es lo más estable, actualizarlo al final reduce incompatibilidades
El orden correcto es:
- PRIMERO: Plugin base (versión gratuita)
- DESPUÉS: Plugin premium o addons del plugin base
En el ejemplo de Elementor que planteas:
- Actualiza Elementor (versión gratuita)
- Luego actualiza Elementor Pro
¿Por qué?
- Los plugins premium dependen del plugin base
- Actualizar el premium primero puede causar errores de dependencia
- El plugin base contiene las funciones core que el premium extiende
Casos especiales a tener en cuenta:
- Lee siempre las notas de versión (ese ficherito readme.txt o changlelog.txt, a veces indican un orden específico)
- Si hay una actualización mayor (ej: Elementor 2.x a 3.x), revisa la documentación
- Está genial si antes de cambiar la versión de php realizas una comprobación de la compatibilidad de tu plugins. Puedes usar el plugin Usa el plugin «Plugin Compatibility Checker (Portal-integrated)» para escanear tu sitio y te mostrará salvo alguna excepción de forma detallada con que versiones de php son compatibles los plugins que tienes instalados. Si alguno no lo es ya tenemos adelantado el posible culplable de la no compatibilidad y podremos desactivarlo si algo falla renombrando la carpeta de ese plugin por ftp.
- Asegurate de tener backup completo (archivos + base de datos)
- Actualiza todos los componentes a la ultima versión (core, plugins y themes)
- Actualiza la versión de PHP de tu hosting
Si tu hosting tiene panel (cPanel, Plesk, etc.):
• Busca «PHP Version» o «Selector PHP»
• Selecciona la nueva versión (recomiendo PHP 8.1 o 8.2 actualmente)
• Aplica cambios - Después de actualizar:
• Revisa inmediatamente el sitio
• Verifica el log de errores
• Prueba funcionalidades críticas (checkout, formularios, etc.) - Si algo falla:
• Vuelve a la versión PHP anterior inmediatamente (es totalmente reversible)
• Identifica el plugin/tema incompatible (el log de errores te dira quien provoca el error)
• Actualiza o reemplaza el componente problemático
• Reintenta la actualización
Medidas de securización adicional
(Te facilitamos los recursos para aplicar las medidas de seguridad
adicionales que vimos en el webinar tanto con código como con plugins)
Limitar el número de accesos erróneos
🎯 ¿Por qué es importante?
Evita ataques de fuerza bruta donde los hackers prueban miles de combinaciones de contraseñas.
📝 MÉTODO MANUAL (con .htaccess)
Proteger wp-login.php limitando acceso solo a tu IP:
# Añadir al .htaccess
<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from TU.IP.AQUI.XXX
</Files>
⚠️ OJO: Solo funciona si tienes IP fija. Si cambia, quedarás bloqueado
tendrás que entrar por ftp y actualizar tu ip si quedas bloqueado.
🔌 MÉTODO CON PLUGIN (recomendado)
Plugin: WordFence – Gratuito
Recomendamos este porque lo usaremos para aplicar otras medidas

Utilizar factor de doble autenticación 2FA
🎯 ¿Por qué es importante?
Añade una capa extra de seguridad. Aunque roben tu contraseña, necesitarán tu móvil para acceder.
📝 MÉTODO MANUAL (con .htaccess)
No existe un método manual sencillo, requerría una programación a medida compleja
🔌 MÉTODO CON PLUGIN (recomendado)
Plugin : WordFence – Gratuito
APP móvil necesaria: Google Authenticator o Microsoft Authenticator
⚠️ IMPORTANTE: Guardar códigos de recuperación en lugar seguro

Desactivar XML-RCP
🎯 ¿Por qué es importante?
XML Remote Procedure Call — es un protocolo que usa peticiones HTTP y datos en formato XML para ejecutar funciones a distancia. Se utiliza para publicar entradas desde aplicaciones externas (por ej móviles), también es usado por algún plugin como Jetpack para sincronizar estadísticas, copias o notificaciones y también se usaba antiguamente para automatizar acciones con scripts externos o APIs antiguas.
No es muy habitual usar y es usado en ataques DDoS y de fuerza bruta (Los hackers lo usan para probar miles de combinaciones de usuario/contraseña sin pasar por el formulario normal de login (wp-login.php). La mayoría de sitios no lo necesitan.
MÉTODO MANUAL (recomendado
Proteger wp-login.php limitando acceso solo a tu IP:
Order Deny,Allow
Deny from all
O esté código en un snipet de código o fichero functions.php de tu tema hijo
// Desactivar XML-RPC completamente
add_filter('xmlrpc_enabled', '__return_false’);
// Eliminar headers de XML-RPC
remove_action('wp_head', 'rsd_link’);
remove_action('wp_head', 'wlwmanifest_link');
Basta con instalarlo y activarlo desactivará automáticamente xml-rcp

Cambiar el usuario “admin” por defecto
🎯 ¿Por qué es importante?
«admin“, “administrator” o “administrador” es el primer usuario que prueban los hackers. Cambiarlo aumenta la seguridad.
MÉTODO MANUAL (recomendado)
Proteger wp-login.php limitando acceso solo a tu IP:
- Ve “usuarios” à “Añadir nuevo” y crea un nuevo usuario administrador utilizando un nombre único y asígnale el rol Administrador.
- Cierra sesión y vuelve a acceder con el nuevo usuario
- Elimina al anterior usuario “Admin”
⚠️ MUY IMPORTANTE: Al borrar al anterior administrador, selecciona «Atribuir todo el contenido a tu nuevo usuario o perderías todo el contenido que se publicó con él.
🔌 MÉTODO CON PLUGIN
Plugin: Change Username
Al instalarlo permite “editar” los nombres de usuario, algo que no permite WP de forma nativa.
No recomendamos usar un plugin para algo tan sencillo, incluso algunos hostings bloquean este cambio por seguridad.
Mejor hacerlo manualmente
Usar contraseñas largas y únicas
🎯 ¿Por qué es importante?
Las contraseñas débiles son la puerta de entrada más común para los hackers en los ataques de fuerza bruta.
Es tan sencillo como establecer contraseñas
- Mínimo 12 caracteres (mejor 16+)
- Mezcla de mayúsculas, minúsculas, números y símbolos
- Sin palabras del diccionario
- Única para cada sitio
⚠️ USA EL GENERADOR DE WORDPRESS: WordPress ya tiene generador integrado al crear/editar usuarios.
🔌 MÉTODO CON PLUGIN
Plugin: WordFence – Gratuito
Si tu web permite el registro de usuarios, como por ejemplo en una tienda online u otros servicios con registro con WordFence puedes “obligar” a que determinados tipos de usuarios utilicen contraseñas seguras.
Lo puedes hacer desde Wordfence >> Todas las opciones >> «Bloque Opciones adicionales»

Deshabilitar la enumeración de usuarios
🎯 ¿Por qué es importante?
Por defecto, WordPress revela nombres de usuario en URLs como tudominio.com/?author=1 por lo que le estaremos facilitando una información valiosa al atacante, el nombre de usuario de nuestro wp-admin
Añadiremos el siguiente código en functions.php o como un snippet de código si lo preferimos:
// Bloquear enumeración de usuarios
function bloquear_enumeracion_usuarios() {
if (!is_admin() && isset($_REQUEST['author']) && intval($_REQUEST['author'])) {
wp_die('Acceso no autorizado', 'Error', array('response' => 403));
}
}
add_action('template_redirect', 'bloquear_enumeracion_usuarios’);
// Ocultar usuarios en API REST
add_filter('rest_endpoints', function($endpoints) {
if (isset($endpoints['/wp/v2/users'])) {
unset($endpoints['/wp/v2/users']);
}
if (isset($endpoints['/wp/v2/users/(?P<id>[\d]+)'])) {
unset($endpoints['/wp/v2/users/(?P<id>[\d]+)']);
}
return $endpoints;
});
🔌 MÉTODO CON PLUGIN
Plugin: WordFence – Gratuito
Wordfence nos permite desactivar la enumeración de usuarios de forma que logramos seconder el nombre de usuarios a consultas el tipo /?author= que etarían revelando el nombre de usuario y facilitando el acceso ilicito al sitio web.
Lo puedes hacer desde Wordfence >> Todas las opciones >> «Bloque Opciones adicionales»

Asignar roles apropiados
🎯 ¿Por qué es importante?
No todos necesitan ser administradores. Limita permisos según función real.
Es tan sencillo como establecer los roles deseados desde “Usuarios >> Todos los usuarios” >> “Editar” usuario >> Asignar el rol deseado

🔌 MÉTODO CON PLUGIN
Plugin: User Role Editor – Gratuito
Si tenemos necesidades particulares en lo referente al rol de los usuarios existen pluguins que nos permiten crear roles a la carta y personalizar los permisos de cada uno o modificar los existentes.

Desactivar feed rss y atom
🎯 ¿Por qué es importante?
Los feeds pueden usarse para rastrear tu contenido y hacer scraping automático. Esto a menos que tu voluntariamente quieras que así sea para importar tus propios contenidos desde otra web, permitir que se suscriban a tus feeds usando RSS (por ejemplo periodistas o clientes que siguen tus publicaciones) puede ser negativo de cara al SEO → penalización o pérdida de autoridad SEO de tu web y aunque no permite la inyección de código o malware puede ofrecer información ya que el RSS/Atom puede revelar rutas internas, taxonomías o endpoints que los atacantes pueden usar para mapear tu instalación de WordPress. Esto facilita ataques automatizados (fuerza bruta, spam, exploits en /wp-json/ o /xmlrpc.php). de autoridad SEO
Puedes añadir este código al fichero functions.php de tu child theme o en un snippet de código
function disable_all_feeds() {
wp_die( __('Los feeds RSS y Atom están desactivados. Visita nuestro sitio web directamente.’)
}
add_action('do_feed', 'disable_all_feeds',1);
add_action('do_feed_rdf', 'disable_all_feeds', 1);
add_action('do_feed_rss', 'disable_all_feeds', 1);
add_action('do_feed_rss2', 'disable_all_feeds', 1);
add_action('do_feed_atom', 'disable_all_feeds', 1);
// Eliminar enlaces de feeds del head
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);
🔌 MÉTODO CON PLUGIN
Plugin : Disable Feeds WP – Gratuito
Al instalarlo y activarlo desactivará automáticamente los feeds y cualquier solicitud de un feed será redirigida al contenido principal
Desactivar logs de WordPress y PHP
🎯 ¿Por qué es importante?
Los logs pueden exponer información sensible del servidor, rutas de archivos y plugins que estamos utilizando.
MÉTODO MANUAL (recomendado)
Añadiremos el siguiente código:
en htaccess
# Desactivar display de errores PHP
php_flag display_errors Off
php_flag display_startup_errors Off
php_flag log_errors Off
php_value error_reporting 0
en .wp-config.php
// Desactivar debug
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', false);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
Si necesitamos el debug.log y lo queremos proteger
# Proteger debug.log
<Files debug.log>
Order allow,deny
Deny from all
</Files>
🔌 MÉTODO CON PLUGIN
Plugin: WP Debugging – Gratuito
Nos permite activar o desactivar los logs de wordpress

Ocultar la versión de WordPress
🎯 ¿Por qué es importante?
Los hackers buscan versiones específicas con vulnerabilidades conocidas. Si pueden ver la versión de nuestro WordPress en el código fuente les estamos dando información para facilitarles las cosas.
MÉTODO MANUAL (recomendado)
Puedes añadir este código en el fichero functions.php de tu child theme o crear un snippet de código
// Ocultar versión de WordPress
remove_action('wp_head', 'wp_generator’);
add_filter('the_generator', '__return_empty_string’);
// Eliminar versión de CSS y JS
function quitar_version_scripts($src) {
if (strpos($src, 'ver=')) {
$src = remove_query_arg('ver', $src);
} return $src;
}
add_filter('style_loader_src', 'quitar_version_scripts', 9999); add_filter('script_loader_src', 'quitar_version_scripts', 9999);
🔌 MÉTODO CON PLUGIN
Plugin: WordFence – Gratuito
Al activar la opción en «Opciones generales de WordFence»

- Elimina el meta tag del header
- Filtra los archivos RSS/Atom
- Limpia los scripts y estilos
- Oculta información en readme.html
- Protege archivos sensibles
Borrar archivos de identificación
🎯 ¿Por qué es importante?
Estos archivos revelan que usas WordPress y su versión. Los hackers buscan versiones específicas con vulnerabilidades conocidas. Si pueden ver la versión de nuestro WordPress en el código fuente les estamos dando información para facilitarles las cosas.
MÉTODO MANUAL (recomendado)
Simplemente puedes conectar por ftp o con tu administrador de archivos del hosting y borrar estos ficheros:
✅ readme.html
✅ license.txt
✅ licencia.txt
✅ wp-config-sample.php
Pero recomandamos que los bloquees en .htaccess ya que si no en las actualizaciones del núcleo de WordPress volverán a crearse y tendrás que hacerlo cada vez que actualices.
# Bloquear archivos de identificación
<FilesMatch "^(readme\.html|license\.txt|licencia\.txt|wp-config-sample\.php)$"> Order Allow,Deny
Deny from all
</FilesMatch>
🔌 MÉTODO CON PLUGIN
Plugin : WP Hide & Security Enhancer – Gratuito
En sus opciones nos permiten bloquear estos ficheros entre otras muchas medidas.
Desactivar la exploración de directorios
🎯 ¿Por qué es importante?
Evita que alguien vea la lista de archivos de tus carpetas y que quede expuesta Información sensible. Si está activada podrá ver por ejemplo que plugins tenemos instalados en nuestra carpeta dominio.com/wp-content/plugins simplemente tecleando esa dirección. Hoy en día la mayoría de hostings ya aplican directamente una regla para evitarlo, pero otros no. “Prueba a buscar en Google intitle:”index of”
/wp-content/
├plugins/
|─elemetor
|─aiowp
|─revslider
MÉTODO MANUAL (recomendado)
Si es tu caso y se muestra la relación de directorios y archivos, añade el siguiente código:
En .htaccess
# Deshabilitar listado de directorios
Options -Indexes
🔌 MÉTODO CON PLUGIN
Plugin: WordFence – Gratuito
Al instalarlo y activarlo bloqueará de forma predeterminada la dirección por directorios como parte de su firewall.
Añadir cabeceras de seguridad
🎯 ¿Por qué es importante?
Las cabeceras HTTP protegen contra XSS (Cross-site scripting) – vulnerabilidade que permite a un atacante inyectar código malicioso, normalmente javascript, Clickjacking (el atacante superpone una página o elementos maliciosos sobre la tuya…) y otros ataques.
MÉTODO MANUAL (recomendado)
Si es tu caso y se muestra la relación de directorios y archivos, añade el siguiente código:
En .htaccess
<IfModule mod_headers.c>
# -------------------------------------------------------------
# SEGURIDAD BÁSICA DE NAVEGADOR
# -------------------------------------------------------------
# Evita que el navegador intente adivinar tipos MIME
Header always set X-Content-Type-Options "nosniff"
# Previene ataques de clickjacking
Header always set X-Frame-Options "SAMEORIGIN"
# Referrer-Policy (limita la información enviada en el encabezado Referer)
Header always set Referrer-Policy "strict-origin-when-cross-origin"
# Obliga a usar HTTPS (solo si tu sitio usa SSL)
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
# -------------------------------------------------------------
# PERMISSIONS POLICY (ANTES Feature-Policy)
# Controla las APIs y características disponibles en el navegador
# -------------------------------------------------------------
Header always set Permissions-Policy "accelerometer=(), camera=(), geolocation=(), gyroscope=(), microphone=(), payment=(), usb=(), fullscreen=(self)"
# -------------------------------------------------------------
# CONTENT SECURITY POLICY (CSP)
# Define qué recursos puede cargar el navegador.
# Ajusta las URLs de scripts, estilos, imágenes, etc.
# -------------------------------------------------------------
Header always set Content-Security-Policy "
default-src 'self';
script-src 'self' 'unsafe-inline' 'unsafe-eval' https:;
style-src 'self' 'unsafe-inline' https:;
img-src 'self' data: https:;
font-src 'self' https: data:;
connect-src 'self' https:;
frame-ancestors 'self';
base-uri 'self';
form-action 'self';
object-src 'none';
upgrade-insecure-requests;
"
</IfModule>
🔌 MÉTODO CON PLUGIN
Plugin : HTTP Headers – Gratuito
Es un plugin muy completo que nos permite activar las cabeceras recomendadas

¿Te ha resultado útil este contenido?
Haz clic en las estrellas para dejar tu valoración
Your page rank: