Cómo ocultar la versión de WordPress y otros datos sensibles (seguridad)
¿Por qué es tan importante ocultar la versión de WordPress?
Cuando un atacante quiere entrar en tu sitio web, lo primero que hace es recopilar información. Es como un ladrón que estudia una casa antes de intentar abrir la puerta: mira las cerraduras, las ventanas y busca cualquier señal de descuido. En el mundo digital, una de esas señales es la versión de WordPress que estás usando.
Si un hacker sabe que tu sitio usa, por ejemplo, WordPress 5.2.4, puede buscar en internet exactamente qué vulnerabilidades tiene esa versión concreta. Existen listas públicas con todos los fallos de seguridad conocidos para cada versión. Si tu versión es antigua y tiene un agujero de seguridad famoso, el atacante ya sabe por dónde atacar.
Ocultar la versión de WordPress no hace tu sitio invulnerable, pero sí elimina una capa de información gratuita que le das a los malos. Es una medida de hardening WordPress básica y muy efectiva, que además es gratuita y no requiere conocimientos avanzados.
En este artículo, te voy a enseñar, paso a paso y sin tecnicismos, cómo ocultar la versión de WordPress y otros datos sensibles que tu web expone sin que te des cuenta. Al final, también veremos cómo ocultar información del servidor y de plugins, porque todo suma para tener una web más segura.
¿Qué datos sensibles expone WordPress por defecto?
Antes de ponernos manos a la obra, es importante que sepas qué es lo que WordPress muestra al mundo sin que tú hagas nada. Muchos de estos datos se ven en el código fuente de tu página (puedes verlo haciendo clic derecho y seleccionando "Ver código fuente" en tu navegador).
Estos son los principales datos que se filtran:
- La versión exacta de WordPress: Aparece en el meta tag "generator" en el
<head>de tu web. - La versión de los plugins: Cada plugin puede añadir su propia meta etiqueta con su nombre y versión.
- La versión del tema: Similar a los plugins, el tema también puede exponer su versión.
- El nombre del servidor y del sistema operativo: A veces, en las cabeceras HTTP.
- La versión de PHP: También puede aparecer en cabeceras o en páginas de error.
- La ruta absoluta de tus archivos: En algunos errores, WordPress muestra la ruta completa en el servidor, como
/home/usuario/public_html/wp-content/....
No te asustes, no tienes que ser un experto para solucionarlo. Vamos a ver cómo hacerlo de forma sencilla.
Cómo ocultar la versión de WordPress: método manual (sin plugins)
Si prefieres no instalar más plugins en tu web (cada plugin añade peso y potenciales vulnerabilidades), puedes hacerlo manualmente. No te preocupes, es más fácil de lo que parece. Solo tienes que añadir un pequeño código al archivo functions.php de tu tema.
Ojo: Antes de tocar nada, te recomiendo hacer una copia de seguridad de tu sitio. Si te equivocas, siempre puedes volver atrás.
Paso 1: Accede al editor de archivos de tu tema
Desde el panel de administración de WordPress, ve a Apariencia > Editor de archivos de tema. En la columna derecha, busca el archivo llamado functions.php y haz clic en él.
Paso 2: Añade el código para eliminar el meta generator
El meta generator es la etiqueta que dice "WordPress 6.x.x". Copia y pega este código al final del archivo functions.php, justo antes de la línea que cierra con ?> o al final si el archivo no tiene esa línea:
remove_action('wp_head', 'wp_generator');
Este simple comando elimina la línea que muestra la versión de WordPress en el código fuente de tu web. Guárdalo y listo.
Paso 3: Añade código para ocultar la versión en scripts y hojas de estilo
A veces, la versión también aparece en las URL de tus archivos CSS y JavaScript, así: /wp-includes/css/style.css?ver=6.4.2. Eso también hay que limpiarlo. Añade este otro código justo debajo del anterior:
function eliminar_ver_scripts($src) {
if (strpos($src, 'ver=')) {
$src = remove_query_arg('ver', $src);
}
return $src;
}
add_filter('style_loader_src', 'eliminar_ver_scripts', 9999);
add_filter('script_loader_src', 'eliminar_ver_scripts', 9999);
Este código elimina el parámetro ?ver= de todos los archivos CSS y JS.
Paso 4: Oculta la versión en el feed RSS
Tu feed RSS (el canal de suscripción) también puede mostrar la versión. Para ocultarla, añade este otro código:
function ocultar_version_rss() { return ''; }
add_filter('the_generator', 'ocultar_version_rss');
Con estos tres bloques de código ya has tapado las vías más comunes de fuga de la versión de WordPress.
Cómo ocultar la versión de WordPress con plugins (método fácil)
Si no te sientes cómodo tocando código, hay plugins que hacen esto por ti en un clic. Son herramientas de seguridad WordPress muy populares y fiables.
Te recomiendo dos opciones:
- iThemes Security: Es uno de los plugins de seguridad más completos. Entre sus muchas opciones, tiene una sección específica para "Ocultar versión de WordPress" y otros datos del sistema.
- WP Hide & Security Enhancer: Este plugin está especializado precisamente en ocultar información. Puedes cambiar las URLs de wp-admin, ocultar la versión, los plugins, etc.
¿Cómo se usa? Es muy sencillo:
- Ve a Plugins > Añadir nuevo.
- Busca "iThemes Security" o "WP Hide".
- Instálalo y actívalo.
- Sigue el asistente de configuración y activa la opción de "Ocultar versión de WordPress".
- Guarda los cambios.
En la mayoría de estos plugins, la opción está en el panel de "Configuración" o "Ajustes" y se llama algo así como "Hide WordPress version" o "Remove generator meta tag".
Eliminar el meta generator de plugins y temas
No solo WordPress muestra su versión. Los plugins y temas también lo hacen, y a veces con más descaro. Por ejemplo, si usas un plugin de formularios de contacto, es posible que en el código fuente aparezca algo como <meta name="generator" content="Contact Form 7 5.8.1" />.
Para eliminar estos meta tags, puedes usar el mismo plugin "WP Hide" que mencionamos antes, ya que tiene una opción específica para "Eliminar meta generator de plugins".
Si prefieres hacerlo manualmente, tendrás que añadir un código más complejo en tu functions.php. Aquí tienes uno que elimina todos los meta generadores que no sean de WordPress:
function limpiar_meta_generadores() {
remove_action('wp_head', 'wp_generator');
// Añade aquí los hooks de tus plugins específicos si los conoces
}
add_action('wp_head', 'limpiar_meta_generadores', 999);
El problema es que cada plugin usa un hook diferente, así que es difícil hacer uno genérico. Por eso, el plugin es la opción más práctica para la mayoría de usuarios.
Ocultar datos sensibles del servidor y de PHP
La versión de PHP y del servidor web también son datos muy valiosos para un atacante. Si saben que usas, por ejemplo, PHP 7.4 y Apache 2.4, pueden buscar vulnerabilidades específicas de esas versiones.
Oculta la versión de PHP en las cabeceras
A veces, el servidor envía una cabecera HTTP llamada X-Powered-By: PHP/7.4.33. Para ocultarla, tienes que modificar la configuración de PHP. Esto se hace desde el panel de control de tu hosting.
Si usas Syspanel (el panel de control con puerto 2106), el proceso es muy intuitivo:
- Accede a tu Syspanel escribiendo en el navegador
https://tu-dominio.com:2106. - Inicia sesión con tus credenciales.
- Busca la sección "Configuración de PHP" o "PHP Settings".
- Busca la directiva
expose_phpy cámbiala aOff. - Guarda los cambios.
Con expose_php = Off, el servidor ya no enviará la versión de PHP en las cabeceras.
Oculta la versión del servidor web (Apache/Nginx)
Para ocultar la versión de Apache, tienes que modificar el archivo de configuración httpd.conf o usar un archivo .htaccess en la raíz de tu WordPress.
Añade estas líneas a tu .htaccess:
ServerSignature Off
ServerTokens Prod
ServerSignature Offelimina la firma del servidor en las páginas de error.ServerTokens Prodhace que el servidor solo envíe "Apache" sin el número de versión.
Si usas Nginx, el proceso es similar pero en el archivo nginx.conf, cambiando server_tokens off;.
Protege el archivo wp-config.php (el más importante)
El archivo wp-config.php contiene las credenciales de tu base de datos y las claves secretas de tu sitio. Es el archivo más sensible de todo WordPress. Por defecto, está en la raíz de tu instalación.
Para protegerlo, añade estas líneas al archivo .htaccess de la raíz:
<files wp-config.php>
order allow,deny
deny from all
</files>
Esto bloquea el acceso directo a ese archivo desde el navegador. Si alguien intenta visitar tudominio.com/wp-config.php, verá un error 403 (Prohibido).
Desactiva la edición de archivos desde el panel de administración
WordPress tiene un editor de archivos integrado en el panel (el que usamos antes para el functions.php). Si un atacante consigue acceder a tu panel, podría usar ese editor para inyectar código malicioso.
Para desactivarlo, añade esta línea a tu wp-config.php:
define('DISALLOW_FILE_EDIT', true);
Esta línea deshabilita el editor de temas y plugins. Es una medida de hardening WordPress muy recomendada.
Evita que se listen los directorios de tu servidor
A veces, si alguien navega a una carpeta que no tiene un archivo índice (como tudominio.com/wp-content/uploads/), el servidor muestra un listado de todos los archivos. Esto es una mina de oro para los atacantes.
Para evitarlo, añade esta línea a tu .htaccess:
Options -Indexes
Cambia el prefijo de la base de datos (para avanzados)
El prefijo por defecto de las tablas de WordPress es wp_. Cambiarlo a algo aleatorio (como x7k9m2_) dificulta los ataques de inyección SQL, ya que los atacantes asumen que las tablas se llaman wp_usuarios, wp_options, etc.
Para cambiarlo, tendrás que editar el wp-config.php y después cambiar el nombre de las tablas en la base de datos desde phpMyAdmin o la herramienta de bases de datos de tu panel.
En Syspanel, puedes acceder a la base de datos desde la sección "Bases de datos" y usar phpMyAdmin para hacer el cambio.
[WARNING] Cambiar el prefijo de la base de datos es un proceso delicado. Si no sabes lo que haces, puedes romper tu sitio. Haz una copia de seguridad completa antes de intentarlo.
Preguntas frecuentes (FAQ)
¿Ocultar la versión de WordPress me hace invulnerable?
No. Es una capa más de seguridad, pero no la única ni la más importante. Debes combinar esto con actualizaciones periódicas, contraseñas fuertes, plugins de seguridad y copias de seguridad.
¿Puedo ocultar la versión sin usar plugins?
Sí, tal y como hemos visto con los códigos en functions.php y .htaccess. Es la opción más ligera, pero requiere un poco de maña con el código.
¿Es legal ocultar la versión de WordPress?
Por supuesto. WordPress es software libre y puedes modificar tu instalación como quieras. Eso sí, no puedes eliminar la atribución de la licencia si tu tema lo requiere, pero eso es otro tema.
¿Cada cuánto debo revisar la seguridad de mi WordPress?
Idealmente, una vez al mes. Revisa que no haya plugins desactualizados, que tu versión de WordPress sea la última, y que no haya archivos extraños en tu servidor.
¿Syspanel me ayuda a ocultar la versión de WordPress?
Syspanel te ayuda con la configuración del servidor (como ocultar la versión de PHP), pero para ocultar la versión de WordPress tendrás que usar los métodos que hemos visto (código o plugin).
Conclusión: la seguridad es un proceso, no un destino
Ocultar la versión de WordPress y otros datos sensibles es un paso esencial en el hardening WordPress, pero no es el único. Piensa en la seguridad de tu web como un escudo con varias capas: cada capa que añades hace más difícil que un atacante tenga éxito.
Te recomiendo que combines todas las medidas que hemos visto hoy:
- Elimina el meta generator con código o plugin.
- Oculta la versión de PHP desde tu panel (Syspanel: puerto 2106).
- Desactiva el listado de directorios.
- Protege el
wp-config.php. - Desactiva la edición de archivos desde el panel.
Con estos pasos, tu web será un hueso mucho más duro de roer. Y recuerda: la seguridad no es algo que haces una vez, sino algo que mantienes día a día. Mantén todo actualizado, haz copias de seguridad periódicas y no te confíes.
[TIP] Después de hacer estos cambios, verifica el código fuente de tu web (clic derecho > ver código fuente) para asegurarte de que ya no aparece la versión de WordPress. También puedes usar herramientas online gratuitas como "WhatWP" o "WPScan" para comprobar si tu sitio filtra información sensible.
[INFO] Si tienes dudas sobre si un cambio concreto puede afectar al funcionamiento de tu web, hazlo en un entorno de pruebas primero. Muchos hostings ofrecen un entorno de staging que es perfecto para esto.
