Versión ampliada y actualizada de esta guía: Como limpiar el header de WordPress (eliminar RSS, emojis, shortlinks).
Abre el código fuente de tu sitio web en el navegador (Ctrl+U en Windows o Cmd+Option+U en macOS). Examina con atención la sección <head>. En muchas instalaciones de WordPress encontrarás docenas de líneas de código cuyo propósito resulta confuso. En 2026, la inmensa mayoría de esos elementos representan rémoras del pasado: manifiestos de programas descontinuados, canales RSS para cada hilo de comentarios, scripts auxiliares para emojis y etiquetas de metadatos procedentes de la época de Windows Live Writer.
Limpiar la cabecera del documento no responde a una motivación puramente estética. Cada elemento <link> sobrante y cada script en línea prescindible aumentan el peso del archivo HTML, retrasan el procesamiento del navegador y, en ocasiones, fuerzan peticiones de resolución DNS innecesarias. En tiendas con WooCommerce y múltiples plugins, esta acumulación de código se incrementa con rapidez. Mantener una salida limpia en wp_head() agiliza la depuración y evita exponer detalles sobre las versiones del software.
Referencias técnicas: función wp_head(), Manual de desarrollo de WordPress y la documentación sobre LCP de web.dev.
Qué elementos incluye WordPress por defecto en la cabecera
Una instalación limpia de WordPress junto con un tema moderno introduce de manera automática diversos elementos en la cabecera pública:
- Enlaces RSS para entradas, categorías, etiquetas y comentarios
- Archivo de manifiesto
wlwmanifestpara Windows Live Writer - Enlaces Really Simple Discovery (
rsd_link) - La etiqueta
meta name="generator"con el número de versión exacta - Scripts y estilos CSS para la emulación de emojis
- Enlaces cortos automáticos (
?p=123) - Enlaces de paginación para artículos contiguos (
rel="prev"yrel="next") - Declaraciones de descubrimiento para la API REST y oEmbed
| Elemento de la cabecera | Utilidad en 2026 | Riesgo al eliminar |
|---|---|---|
| Feeds de comentarios | Muy baja | Muy bajo |
Canal principal /feed/ | Media (lectores, boletines) | Medio |
| wlwmanifest y RSD | Obsoletos | Muy bajo |
| Generador de versión | Nula (posible fuga) | Muy bajo |
| Scripts de emojis | Soportados de forma nativa por el navegador | Muy bajo |
| Detección API REST | Alta en entornos desacoplados o móviles | Alto si usas la API |
| Enlaces cortos | Muy baja | Muy bajo |
Esta tabla resume el criterio de decisión: eliminar el código obsoleto y las etiquetas que revelan versiones, preservando aquellos puntos de acceso que tu proyecto utiliza de forma consciente.
Por qué conviene limpiar la cabecera head en WordPress
Rendimiento y reducción del tamaño del documento HTML
Antes de la optimización, una página habitual puede contener entre diez y veinte etiquetas sobrantes, además de una petición de script a los servidores de s.w.org. Suprimir estas líneas aligera el código HTML, disminuye el tiempo de análisis en el navegador y evita consultas remotas innecesarias. La diferencia resulta especialmente notable en terminales móviles con cobertura limitada.
Seguridad y prevención de filtraciones de versiones
La línea meta name="generator" content="WordPress x.y.z" comunica abiertamente la versión instalada. Aunque ocultarla no sustituye a la aplicación de parches de seguridad, retirar este dato priva a los rastreadores automatizados de una pista sencilla para identificar vulnerabilidades conocidas. Es aconsejable aplicar una medida equivalente a los parámetros de versión de estilos y scripts (style.css?ver=6.x).
Mantenimiento y claridad en entornos de prueba
Una estructura limpia en la cabecera facilita el seguimiento de cambios en entornos de desarrollo. Cuando un plugin nuevo introduce de repente etiquetas no deseadas o precargas de recursos, la alteración resulta visible de inmediato al comparar las revisiones de código.
1. Eliminar feeds de comentarios y fuentes adicionales
WordPress genera canales RSS independientes para cada entrada, categoría y sección de comentarios. A menos que gestiones un medio informativo donde los lectores sigan las conversaciones mediante lectores de feeds, estos enlaces no aportan valor:
// Desactivar enlaces a feeds de comentarios
add_filter( 'feed_links_show_comments_feed', '__return_false' );
// Suprimir feeds adicionales de taxonomías y archivos
remove_action( 'wp_head', 'feed_links_extra', 3 );
// Solo si no necesita ningún canal RSS en absoluto:
// remove_action( 'wp_head', 'feed_links', 2 );Conviene conservar el enlace general feed_links si utilizas plataformas de automatización de correo o agregadores externos de noticias.
2. Eliminar etiquetas wlwmanifest y enlaces RSD
Windows Live Writer dejó de utilizarse hace años, pero WordPress sigue incluyendo su archivo de enlace por compatibilidad. Del mismo modo, el protocolo Really Simple Discovery (RSD) se diseñó para la edición remota a través de XML-RPC, un mecanismo innecesario en flujos actuales:
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'rsd_link' );Estas dos líneas eliminan:
<link rel="wlwmanifest" type="application/wlwmanifest+xml" ...><link rel="EditURI" type="application/rsd+xml" ...>
3. Desactivar scripts y estilos de emojis en WordPress
Durante años, WordPress cargó una librería de JavaScript y estilos adicionales para convertir combinaciones de caracteres en imágenes de emojis. Hoy en día, todos los sistemas operativos y navegadores modernos representan emojis de forma nativa. Mantener el cargador antiguo supone una petición HTTP superflua y una conexión DNS externa a s.w.org:
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );Para acelerar la carga en la parte pública, las acciones vinculadas a wp_head y wp_print_styles son las más determinantes.
4. Ocultar la versión de WordPress en la cabecera
Evitar que la versión del núcleo aparezca en el código fuente es una buena práctica elemental de seguridad:
remove_action( 'wp_head', 'wp_generator' );
add_filter( 'the_generator', '__return_empty_string' );El filtro se encarga también de suprimir la etiqueta en las fuentes de sindicación. Si bien no reemplaza la necesidad de actualizar el sistema con regularidad, entorpece las labores de escaneo automatizado.
5. Eliminar enlaces cortos (shortlinks) y rel prev y next
Los enlaces cortos (?p=123) y los indicadores de relación entre artículos contiguos carecen de utilidad para los motores de búsqueda actuales y sobrecargan la cabecera:
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
remove_action( 'template_redirect', 'wp_shortlink_header', 11 );
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );6. Gestión de enlaces de la API REST y oEmbed
// Desactivar únicamente si su web no requiere autodescubrimiento de la API:
// remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
// remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
// remove_action( 'template_redirect', 'rest_output_link_header', 11 );Los proyectos headless desarrollados con herramientas como Astro o Next.js y las aplicaciones para teléfonos suelen servirse de estas cabeceras para comunicarse con WordPress. En sitios web corporativos tradicionales sin integraciones complejas, estas declaraciones pueden retirarse sin inconvenientes.
Implementación de la limpieza mediante un plugin must-use (MU)
En lugar de incorporar este código en el archivo functions.php del tema (donde podría sobrescribirse tras una actualización), es preferible crear un plugin imprescindible (Must-Use) en la ruta wp-content/mu-plugins/wppoland-clean-head.php:
<?php
/**
* Plugin Name: WPPoland Clean Head
* Description: Elimina etiquetas innecesarias y código obsoleto de wp_head.
* Author: wppoland.com
*/
function wppoland_cleanup_head(): void {
remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
add_filter( 'feed_links_show_comments_feed', '__return_false' );
add_filter( 'the_generator', '__return_empty_string' );
}
add_action( 'init', 'wppoland_cleanup_head' );Los plugins alojados en la carpeta mu-plugins se ejecutan siempre de forma automática y no pueden desactivarse por error desde el panel de control.
Cómo verificar los cambios en el código fuente
- Abre una ventana de incógnito y examina el HTML: constata la ausencia del generador, los enlaces wlwmanifest y el código de emojis.
- Comprueba la pestaña Red (Network) de las herramientas de desarrollo para asegurarte de que no se solicita el archivo
wp-emoji-release.min.js. - Verifica que la dirección principal
/feed/responde correctamente si tu estrategia de comunicación requiere sindicación. - Confirma que la edición de artículos en Gutenberg continúa guardando los cambios sin advertencias de error en la API.
- Realiza una compra de prueba en caso de gestionar una tienda con WooCommerce.
Qué etiquetas de la cabecera nunca deben eliminarse
Optimizar la cabecera consiste en depurar elementos obsoletos, no en retirar etiquetas esenciales para el funcionamiento de la web. Deben mantenerse siempre:
- Las directivas de viewport y la codificación de caracteres (
charset) - La etiqueta canónica (
canonical) y las anotaciones multilingüeshreflang - Los scripts necesarios para la gestión del consentimiento de cookies
- Los datos estructurados en formato JSON-LD (Schema)
- Las etiquetas de precarga indispensables para tipografías e imágenes principales
Lista de control previa a la puesta en producción
- Comprobaciones realizadas en un entorno de pruebas con todos los plugins activos.
- Inspección del código en la página de inicio, una entrada de blog y una ficha de producto.
- Verificación del canal RSS principal en un lector externo.
- Edición correcta en Gutenberg sin fallos de comunicación con la API.
- Vaciado de la caché en el servidor (FastCGI / Varnish) y en la red de entrega de contenidos (Cloudflare).
Preguntas frecuentes sobre la optimización de la cabecera
Si necesitas apoyo técnico para auditar el rendimiento de tu plataforma o sanear el código de tu instalación, consulta nuestros servicios como desarrollador WordPress o explora nuestras soluciones de desarrollador WooCommerce. Puedes plantearnos tus dudas directamente a través de nuestra página de contacto.







