Cómo ocultar la versión de WordPress por seguridad
Por defecto, WordPress publica su versión en varios lugares visibles: el metatag generator del HTML (<meta name="generator" content="WordPress 6.7">), el feed RSS, y los parámetros de versión en las URLs de scripts y estilos (?ver=6.7). Los escáneres automáticos de vulnerabilidades cruzan esa versión con bases de datos de CVEs y añaden tu web a listas de objetivos antes de que tú lo sepas. Ocultarla no es seguridad real por sí sola, pero elimina un vector de reconocimiento fácil.
Eliminar el metatag generator
Añade este código al functions.php del tema hijo o mediante un plugin de snippets como WPCode:
remove_action('wp_head', 'wp_generator');
Eso elimina el tag <meta name="generator"> del HTML de todas las páginas. Es el lugar más visible donde WordPress expone su versión.
Eliminar la versión de scripts y estilos
WordPress añade el número de versión como parámetro en las URLs de todos los scripts y hojas de estilo que carga: wp-includes/js/jquery/jquery.min.js?ver=3.7.1. Eso expone tanto la versión de WordPress como las versiones de las librerías incluidas.
function eliminar_version_scripts_estilos($src) {
if (strpos($src, '?ver=') !== false) {
$src = remove_query_arg('ver', $src);
}
return $src;
}
add_filter('style_loader_src', 'eliminar_version_scripts_estilos', 9999);
add_filter('script_loader_src', 'eliminar_version_scripts_estilos', 9999);
Este código elimina el parámetro ?ver= de todos los scripts y estilos. Tiene un efecto secundario positivo en caché: algunos sistemas de caché tratan URLs con parámetros diferentes como páginas distintas, lo que puede reducir la eficiencia de la caché.
Eliminar la versión del feed RSS
El feed RSS de WordPress incluye también la versión en la etiqueta del generador. Para eliminarlo:
add_filter('the_generator', '__return_empty_string');
Hacerlo con Rank Math sin código
Si tienes Rank Math instalado, ve a Rank Math → Ajustes generales → Avanzado → y activa «Eliminar versión de WordPress». Rank Math aplica automáticamente los filtros para quitar la versión del HTML y del RSS sin necesidad de tocar código.
Desactivar el XML-RPC si no lo usas
Mientras estás en modo hardening, el XML-RPC de WordPress es otro vector de ataque que merece atención. Si no usas aplicaciones móviles de WordPress ni Jetpack, desactívalo:
add_filter('xmlrpc_enabled', '__return_false');
O desde el .htaccess:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
Lo que esto no hace
Ocultar la versión dificulta el reconocimiento automatizado pero no protege contra ataques dirigidos ni contra vulnerabilidades activas. La medida de seguridad con más impacto real sigue siendo mantener WordPress, plugins y temas actualizados. Un WordPress con la versión oculta pero desactualizado sigue siendo vulnerable. Ocultar la versión es una capa adicional de un sistema de seguridad, no el sistema en sí.
Combina esta medida con las guías de proteger el wp-admin y proteger el directorio wp-content para tener una base de seguridad sólida.