PUNTOS CLAVE
- Los enlaces de descubrimiento actúan como faros que anuncian la ubicación de la REST API y endpoints de oEmbed.
- Eliminarlos no afecta la previsualización en WhatsApp, Telegram o redes sociales (OpenGraph).
- Previene que bots automáticos mapeen la estructura de tu sitio y la lista de usuarios.
- Reduce el ruido visual en el encabezado HTML, manteniendo un enfoque minimalista y técnico.
En el proceso de blindaje de una instalación de WordPress, el encabezado HTML suele ser la zona donde más información se «filtra» hacia el exterior. Por defecto, WordPress añade etiquetas de enlace que indican dónde se encuentra la REST API y cómo pueden otros sitios «descubrir» tu contenido. Aunque estas funciones están diseñadas para la interoperabilidad, en un blog personal o corporativo suelen ser puertas abiertas innecesarias para scrapers y herramientas de reconocimiento automatizado.
#¿Qué son los Discovery Links?
Los enlaces de descubrimiento son etiquetas <link rel="alternate"> que se inyectan en el <head> de cada página. Su función es informar a los clientes HTTP (como otros sitios de WordPress o herramientas de auditoría) que existe una versión estructurada de la página en formato JSON o XML disponible a través de la REST API u oEmbed.
DATO TÉCNICO
OEmbed es el protocolo que permite a WordPress transformar un simple enlace (como uno de YouTube) en un reproductor de vídeo o una tarjeta visual de forma automática.
#¿Por qué eliminarlos del Encabezado?
La principal razón es el reconocimiento de la superficie de ataque. Un atacante o un bot de spam utiliza estos enlaces para encontrar rápidamente la lista de usuarios (vía /wp/v2/users) o para clonar contenido de forma automatizada. Al eliminar estos enlaces del encabezado público, obligas a cualquier herramienta a trabajar mucho más duro para encontrar tus endpoints, reduciendo el ruido en tus registros del servidor.
#Mitos sobre las Redes Sociales
Existe el temor de que al eliminar los enlaces de oEmbed se pierda la «tarjeta» que aparece al compartir en WhatsApp o Twitter. Es importante aclarar que esto es falso. Las redes sociales no utilizan oEmbed para generar previsualizaciones; utilizan las etiquetas de OpenGraph (Facebook/WhatsApp) y Twitter Cards. Por lo tanto, tu sitio seguirá viéndose perfecto al ser compartido.
ACLARACIÓN IMPORTANTE
Eliminar los enlaces del encabezado no desactiva la REST API. La API sigue funcionando igual para tus propios scripts, pero deja de «gritar» su ubicación a todo el que visita la web.
Veamos el ejemplo de un desarrollador llamado Álex, que quería un sitio con estética «minimalista radical». Al ver el código fuente de su WordPress, se encontró con una decena de etiquetas que sobraban.
Aplicando una política de limpieza, integró estos filtros en su núcleo de seguridad:
// Archivo: inc/security.php
remove_action('wp_head', 'rest_output_link_wp_head');
remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'wp_oembed_add_host_js');
remove_action('template_redirect', 'rest_output_link_header', 11);Tras la implementación, Álex notó que su HTML era más liviano, más difícil de escanear para bots de spam y, sobre todo, mucho más profesional a ojos de otros desarrolladores que inspeccionaran su código.
Recuerda que el functions.php apunte a este archivo
require get_template_directory() . '/inc/security.php';
#Resumen de Acciones y Efectos
| Elemento Eliminado | Beneficio Directo |
|---|---|
| rest_output_link_wp_head | Oculta el enlace JSON de la API en el HTML. |
| wp_oembed_add_discovery_links | Evita que otros sitios «descubran» metadatos técnicos. |
| wp_oembed_add_host_js | Elimina el script encargado de gestionar incrustaciones externas. |
| rest_output_link_header | Limpia la cabecera HTTP de la respuesta del servidor. |