Enlaces Ancla: Reglas de Navegación Estable Dentro de la Página
Usa enlaces ancla para crear navegación estable dentro de la página, conservar IDs de encabezados, proteger URLs de fragmento citadas y ayudar a los lectores a llegar a las respuestas sin fricción.
Los enlaces ancla son enlaces dentro de la página que envían al lector a una sección nombrada del documento actual. Convierten una página larga en un conjunto de respuestas duraderas y direccionables, pero solo cuando cada destino tiene un ID de encabezado estable.
Salta a: Por qué importan los enlaces ancla · Cuándo usarlos · Anatomía del ID estable · Sintaxis de implementación · Lista de verificación QA
La línea de arriba es el elemento renderizado en su forma compacta en línea. Cada enlace contiene un identificador de fragmento, la parte después de #, y cada fragmento resuelve a un encabezado de esta página.
Por qué importa este elemento
Los documentos largos crean un problema de recuperación antes de crear un problema de lectura. Un visitante que llega desde una búsqueda, un ticket de soporte o el mensaje de un colega a menudo quiere un dato concreto en lugar de todo el argumento. Un enlace de salto descriptivo elimina el desplazamiento y tranquiliza al visitante de que la respuesta existe. También admite la lectura no lineal: alguien puede consultar parámetros, volver a la anatomía y luego pasar a QA sin fingir que cada visita útil comienza en la introducción.
El beneficio psicológico depende de la confianza. El texto del enlace hace una promesa sobre el destino, y el clic debe cumplirla de inmediato. Una etiqueta vaga como «Más información» obliga al lector a recordar el contexto circundante. Un enlace que cae debajo de un encabezado fijo se siente roto incluso cuando el navegador técnicamente alcanzó la coordenada correcta. Una lista con 25 entradas casi idénticas crea otra tarea de escaneo en lugar de reducir una.
Los enlaces ancla también mejoran la capacidad de extracción automática: la capacidad del software de aislar una sección y conservar su significado fuera de la página completa. Una URL como /guide/#renewal-terms identifica una región de respuesta más pequeña que /guide/. Los sistemas de búsqueda, las extensiones del navegador, las herramientas de documentación y los sistemas de recuperación de IA pueden citar o compartir esa región directamente. El fragmento no crea autoridad ni garantiza una cita, pero le da a una sección ya útil una dirección pública precisa.
Esa dirección es una interfaz, no un subproducto incidental del encabezado. Muchos sistemas de publicación generan renewal-terms a partir del encabezado visible «Renewal terms». Si un editor luego cambia el encabezado a «How renewals work», el generador puede producir how-renewals-work. Cada enlace entrante que aún termina en #renewal-terms ahora apunta a un ID que ya no existe. Esto incluye enlaces en otros artículos, marcadores del navegador, mensajes de campaña, respuestas del centro de ayuda, resultados de búsqueda y respuestas citadas de IA. La URL de la página aún se devuelve con éxito, lo que puede ocultar la regresión, pero el visitante pierde el destino a nivel de sección prometido.
Sigue las reglas de redacción de elementos antes de agregar navegación. La regla de precedencia sigue aplicando: los enlaces ancla navegan a elementos de contenido; no reemplazan una definición, comparación, advertencia, FAQ u otro bloque tipificado requerido. El sistema de encabezados es dueño de la jerarquía del documento y de los IDs estables adjuntos a los encabezados. Los enlaces ancla consumen esos IDs.
Cuándo usarlo
Usa enlaces ancla cuando una página contenga múltiples destinos que los lectores puedan necesitar de forma independiente. Los casos sólidos incluyen una referencia extensa con parámetros discretos, documentación con secciones de configuración y solución de problemas, un informe con metodología y hallazgos separados, una política con obligaciones nombradas y un centro de FAQ con grupos de preguntas.
Usa un conjunto visible de enlaces de salto cuando al menos una de estas condiciones sea verdadera:
- La página tiene cinco o más secciones H2 significativas y es probable que los lectores entren con diferentes objetivos.
- La página tiene 1800 palabras o más y sus secciones pueden entenderse de forma no lineal.
- Los equipos de soporte, ventas, legal o editorial comparten regularmente enlaces a secciones individuales.
- Es probable que una sección sea citada, marcada, revisitada o actualizada de forma independiente.
- Los lectores móviles necesitarían un desplazamiento sustancial para alcanzar una respuesta predecible.
Cada encabezado sustantivo puede recibir un ID incluso cuando no hay una lista visible de enlaces de salto. Los destinos estables son baratos de conservar y costosos de reconstruir después de que los enlaces circulan.
Los casi aciertos merecen moderación. Un procedimiento lineal de tres pasos normalmente debería mantener al lector moviéndose en orden; una lista de salto puede invitar a alguien a saltarse los prerrequisitos. Una página corta cuyos encabezados ya son visibles sobre el pliegue no gana navegación útil. Las pestañas y los controles de acordeón cambian el estado de la interfaz en lugar de navegar a ubicaciones del documento, por lo que no son sustitutos de los enlaces ancla. Los enlaces de paginación se mueven entre documentos. Un enlace a otra página es un enlace interno incluso si su destino contiene un fragmento.
No agregues anclas como táctica de palabras clave ni fabriques encabezados adicionales para obtener más URLs de fragmento. La unidad de navegación debe ser una sección real con un propósito distinto y suficiente contenido para satisfacer la etiqueta del enlace.
Dónde colocarlo
Coloca un grupo de enlaces de salto a nivel de página después del héroe, la respuesta directa o la declaración breve de alcance y antes de la primera sección de contenido principal. El lector necesita entender la página antes de elegir una ruta a través de ella. Cuando la página también usa un resumen rápido y tabla de contenido , no agregues una segunda lista de los mismos destinos. La tabla de contenido es una presentación de los enlaces ancla; configura o simplifica ese elemento en lugar de duplicar la navegación.
Coloca un grupo de enlaces de salto local inmediatamente antes de la región acotada que controla, como un directorio alfabético o una referencia de API de varias partes. Dale una etiqueta que nombre el alcance: «Saltar a la familia de productos» es más claro que otro genérico «En esta página». Coloca una referencia cruzada en línea en la oración donde el destino se vuelve útil, usando palabras que nombren el destino.
No coloques navegación de ancla:
- Entre un encabezado y el párrafo que lo responde.
- Entre una afirmación y su evidencia, calificación o fuente.
- Junto a un CTA, anuncio, formulario de boletín o tarjeta promocional no relacionada que compita por el mismo clic.
- Dentro de otro enlace, botón, encabezado o control interactivo.
- En una región fija que cubra el encabezado destino después de la navegación.
- Después del contenido que pretende ayudar a descubrir a los lectores.
Si un encabezado de sitio fijo tiene 72 píxeles de alto, el destino necesita al menos ese desplazamiento adicional más un espacio cómodo. Soluciona esto en el destino con un scroll-margin-top consistente, no insertando elementos espaciadores vacíos ni cambiando el fragmento con JavaScript.
Anatomía
Un sistema de enlaces ancla tiene siete partes:
- Etiqueta de navegación: nombra el conjunto, generalmente «En esta página» o una alternativa específica del ámbito.
- Texto del enlace: describe el destino cuando se lee sin la oración circundante.
- Fragmento href: comienza con
#para la página actual, como#renewal-terms. - ID destino: el valor único en el destino, que coincide exactamente con el href sin
#. - Encabezado destino: indica al lector que llega dónde ha aterrizado y qué sigue.
- Desplazamiento de llegada: mantiene el encabezado visible debajo del marco fijo de la interfaz.
- Estado de interacción: hace perceptibles el hover, el enfoque de teclado, el estado visitado cuando corresponde y la ubicación actual.
El encabezado visible y el ID están relacionados pero no son idénticos. El encabezado puede cambiar por claridad. Una vez público, el ID permanece fijo mientras la sección conserve el mismo propósito. Los IDs usan letras ASCII minúsculas, números cuando son significativos y guiones: #cancel-subscription es portátil; #Section 4! no lo es.
Ejemplos de diseño
Cada variante usa el mismo contrato de enlace a ID. Las variantes difieren por contexto y densidad, no por inventar un nuevo comportamiento de destino.
Compacto en línea: usa de tres a seis destinos pares cerca de la apertura. Permite el ajuste y mantiene los separadores fuera de los nombres de enlace accesibles.
Lista apilada: usa de cinco a doce destinos cuando las etiquetas necesitan espacio o el escaneo importa más que el espacio vertical. Esta es la opción predeterminada para guías y políticas extensas.
Lista anidada: usa destinos H2 como ruta principal e incluye solo hijos H3 sustanciales. Limita la profundidad a dos niveles de navegación; los árboles más profundos pertenecen a la navegación de documentación.
Índice local: usa letras, categorías o grupos de referencia para navegar una región acotada. Renderiza los destinos que no existen como texto simple de aspecto deshabilitado, no como enlaces con destinos vacíos o falsos.
Enlace permanente de encabezado: proporciona un pequeño control de copia de enlace junto a un encabezado cuando los lectores citan comúnmente secciones individuales. Su nombre accesible debe incluir el encabezado, como «Copiar enlace a Renewal terms». El encabezado en sí sigue siendo texto, no un gran autoenlace.
Referencia cruzada en línea: usa un enlace de oración normal cuando un pasaje depende de otra sección. Prefiere «revisa los términos de renovación» a «salta aquí».
Parámetros
La colección y cada destino tienen campos separados. El primer encabezado en el cuerpo de una directiva portátil se asigna a la etiqueta de navegación según la regla de cuerpo predeterminada; los elementos de lista subsiguientes proporcionan los enlaces.
| Nombre | Tipo | Obligatorio | Mín/máx | Predeterminado | Fuente | |
|---|---|---|---|---|---|---|
label | Cadena simple | Sí para un grupo | 2–6 palabras; 60 caracteres máximo | On this page | Atributo o primer encabezado del cuerpo | |
variant | Enumeración | No | inline, stacked, nested, local-index, permalink | stacked | Atributo | |
items | Colección de enlaces | Sí para un grupo | 3–12 elementos visibles; 26 permitidos para un índice A–Z | Ninguno | Lista del cuerpo | |
text | Texto en línea simple | Sí por elemento | 2–10 palabras; 70 caracteres máximo | Texto del encabezado destino | Etiqueta del enlace en el cuerpo | |
href | URL de fragmento | Sí por elemento | Un #id; sin fragmento vacío | Derivado de targetId | Destino del enlace en el cuerpo o atributo del elemento | |
targetId | ID HTML único | Sí | 1–8 tokens en minúscula separados por guiones | Generado a partir del texto del encabezado antes de la primera publicación, luego fijado | Atributo del encabezado destino o campo de ancla del editor | |
depth | Entero enumerado | No | 1 o 2 | 1 | Atributo; puede derivarse del anidamiento del cuerpo | |
copyable | Booleano | No | true o false | false | Atributo | |
content | Lista de enlaces Markdown | Sí para variantes de grupo | Una lista que coincida con items; sin cuerpo de solo prosa | Todo después del primer encabezado del cuerpo | Cuerpo |
El límite editorial de elementos es intencionalmente menor que el máximo técnico. Si una página necesita 18 destinos, primero agrupa las secciones relacionadas, usa una tabla de contenido generada o divide el documento. Un índice A–Z es la excepción limitada porque su orden y etiquetas ya son predecibles.
Sintaxis y ejemplos de código
La fuente portátil almacena el texto del enlace y los fragmentos explícitamente para que pueda moverse entre renderizadores sin perder los IDs publicados.
Directiva portátil Markdown
:::anchor-links{variant=stacked depth=1}
### On this page
- [Eligibility](#eligibility)
- [Required documents](#required-documents)
- [Renewal terms](#renewal-terms)
:::
## Eligibility {#eligibility}
El primer encabezado del cuerpo se convierte en label; la lista se convierte en content y proporciona items. Fija el ID de destino cuando la página se publica por primera vez.
Shortcode de Hugo
{{< anchor-links variant="stacked" label="On this page" >}}
- [Eligibility](#eligibility)
- [Required documents](#required-documents)
- [Renewal terms](#renewal-terms)
{{< /anchor-links >}}
## Eligibility {#eligibility}
Este es el contrato del adaptador de Hugo, no una afirmación de que este repositorio ya registre un shortcode anchor-links. Una implementación de Hugo puede generar la lista desde .TableOfContents o renderizar enlaces Markdown ordinarios, siempre que conserve los mismos IDs, semántica, límites y comportamiento de accesibilidad.
WordPress
<!-- wp:group {"tagName":"nav","ariaLabel":"On this page"} -->
<nav aria-label="On this page">
<ul>
<li><a href="#eligibility">Eligibility</a></li>
<li><a href="#required-documents">Required documents</a></li>
<li><a href="#renewal-terms">Renewal terms</a></li>
</ul>
</nav>
<!-- /wp:group -->
<!-- wp:heading {"level":2,"anchor":"eligibility"} -->
<h2 id="eligibility">Eligibility</h2>
<!-- /wp:heading -->
Establece el campo de ancla HTML de WordPress en Avanzado → Ancla HTML explícitamente para los destinos publicados. No confíes en un tema o plugin para regenerar IDs a partir del texto visible cambiado.
Ejemplos
Bueno: las etiquetas y los IDs sobreviven a las mejoras editoriales
**On this page**
- [Calculate the total cost](#calculate-total-cost)
- [Compare contract terms](#compare-contract-terms)
- [Choose a plan](#choose-plan)
## Compare annual and monthly contract terms {#compare-contract-terms}
Esto funciona porque las etiquetas de navegación predicen respuestas distintas, el ID es legible y único, y el encabezado puede volverse más específico sin cambiar la dirección publicada #compare-contract-terms. Una cita creada antes de la mejora en la redacción aún llega a la sección correcta.
Malo: los IDs generados se tratan como desechables
- [More information](#more-information)
- [Click here](#section-4)
- [Pricing](#pricing-2026)
## New pricing details
Esto falla porque dos etiquetas necesitan contexto circundante, section-4 codifica posición en lugar de significado, y pricing-2026 será engañoso cuando cambie el año. El encabezado también ha cambiado sin conservar el antiguo id="pricing-2026", por lo que los fragmentos entrantes existentes ya no se resuelven. Renombrar la entrada de la lista no puede reparar enlaces ya publicados en otros lugares.
Marcado de esquema y accesibilidad
Los enlaces ancla no alimentan un tipo de Schema.org dedicado. No marques una lista de enlaces de salto como ItemList meramente porque use <ul>; su propósito es la navegación, no una colección clasificada o curada de entidades. Una sección de destino puede contribuir con contenido visible a Article, FAQPage, HowTo u otro tipo de esquema a nivel de página apropiado, pero el fragmento en sí no son datos estructurados separados.
Usa enlaces nativos <a href="#target-id">. Envuelve un grupo a nivel de página o local en <nav aria-label="On this page"> cuando sea una región de navegación distinta. No agregues role="link" a un ancla nativa. Cada ID de destino debe ser único, y el href debe coincidir exactamente, incluyendo mayúsculas y minúsculas.
Los usuarios de teclado necesitan un indicador de enfoque visible. Los objetivos táctiles necesitan suficiente espacio para evitar la activación accidental. El texto del enlace debe identificar el destino sin depender del color, la prosa cercana o un atributo title. Si un control de copia de enlace permanente usa un botón, anuncia el éxito sin mover el foco inesperadamente.
La navegación por fragmentos debe dejar el encabezado destino visible debajo de los encabezados fijos. Prefiere CSS scroll-margin-top en los destinos. El desplazamiento suave es opcional y debe respetar las preferencias de movimiento reducido. Evita JavaScript que cancele el comportamiento nativo del enlace, elimine el fragmento del historial del navegador o cambie la posición de desplazamiento sin actualizar la URL.
No muevas el foco automáticamente para cada clic de fragmento ordinario; el comportamiento nativo del navegador debe seguir siendo predecible. Si un menú personalizado o un panel desplegable se cierra después de la activación y el foco se perdería, mueve el foco deliberadamente a un destino que pueda recibirlo, como el encabezado con tabindex="-1", luego prueba con navegación de teclado y lector de pantalla. Un control de navegación persistente puede indicar el destino actual con aria-current="location", pero solo cuando el estado se actualice con precisión.
Reglas de redacción
Escribe los destinos después de que el esquema de la página esté estable y antes de que los enlaces circulen. Usa mayúscula de tipo oración y sustantivos o verbos concretos. Una etiqueta debe tener sentido de forma aislada porque los enlaces copiados, las listas de enlaces de lectores de pantalla y las citas automáticas pueden eliminarla de su contexto visual original.
- Usa de tres a doce enlaces en un grupo visible; prefiere de cinco a ocho para un conjunto compacto de apertura.
- Mantén las etiquetas de dos a diez palabras y menos de 70 caracteres.
- Incluye destinos H2 por defecto. Incluye H3 solo cuando responda a una necesidad independiente.
- Mantén un patrón gramatical dentro de un grupo: todas las preguntas, todos los sintagmas nominales o todos los verbos imperativos.
- Usa IDs de uno a ocho tokens en minúscula separados por guiones. Comienza con una letra y omite puntuación, emojis, diacríticos, fechas que expirarán y números de posición.
- Congela cada ID público. Un encabezado visible puede cambiar sin cambiar su ID cuando el propósito de la sección sigue siendo el mismo.
- Nunca reutilices un ID retirado para contenido no relacionado. Un enlace antiguo no debe parecer que funciona mientras aterriza en una afirmación diferente.
- Nunca pongas citas, marcadores de notas al pie, precios, insignias promocionales o afirmaciones de urgencia en una etiqueta de navegación.
- Nunca coloques botones, controles de formulario, imágenes u otro enlace dentro de un enlace ancla.
- Nunca uses «haz clic aquí», «lee más», «detalles» o «sección» como etiqueta completa.
Cuando se elimina una sección, decide qué prometía el fragmento antiguo. Si su contenido se movió a una sección equivalente en la misma página, conserva el ID antiguo como alias junto al nuevo destino cuando la plataforma admita múltiples anclas. Si no existe un equivalente, no adjuntes silenciosamente el ID antiguo a una sección diferente. Registra la eliminación y actualiza cada referencia interna conocida.
Tipos de contenido que lo usan
El arreglo postTypes del frontmatter impulsa esta relación. La inclusión significa que el formato se beneficia comúnmente de destinos de sección estables; no requiere una lista de salto visible en cada instancia corta.
| Tipo de contenido | Por qué usa enlaces ancla | Destinos típicos |
|---|---|---|
| Guías definitivas | La cobertura amplia crea varios puntos de entrada legítimos y objetivos de cita. | Áreas temáticas principales, métodos, limitaciones, pasos siguientes |
| Guías prácticas | Los lectores revisitan prerrequisitos, fases, verificación y rutas de recuperación. | Prerrequisitos, fases, solución de problemas, verificación |
| Artículos de documentación | El soporte y las interfaces de producto a menudo enlazan directamente a una instrucción mantenida. | Grupos de configuración, campos, errores, ejemplos |
| Centros de FAQ | Los visitantes llegan con una pregunta y necesitan una ruta corta a su grupo de respuesta. | Categorías de preguntas y respuestas individuales sustanciales |
| Informes de referencia | Los hallazgos deben permanecer conectados al método, la población y las limitaciones al compartirse. | Metodología, cohortes, hallazgos, limitaciones |
| Páginas de políticas | Los lectores y equipos citan reglas, excepciones y responsabilidades individuales. | Alcance, obligaciones, excepciones, fechas de vigencia |
| Índices de directorio | Las colecciones predecibles grandes se benefician de saltos alfabéticos o por categoría. | Letras, categorías, regiones, grupos de entidades |
Lista de verificación QA
- La página tiene una necesidad real de navegación no lineal; la lista no es decoración.
- Cada etiqueta de enlace visible describe su destino cuando se lee sola.
- Cada href comienza con
#para un enlace en la misma página y coincide exactamente con un ID de destino existente. - Cada ID de destino es único, está en minúsculas, es legible y está libre de fechas transitorias o números de posición.
- Los IDs publicados se han comparado con la versión anterior y permanecen sin cambios a menos que se haya documentado una migración.
- Un cambio de nombre de encabezado visible conserva su ID antiguo cuando el propósito de la sección no ha cambiado.
- Los destinos eliminados o fusionados no reutilizan IDs antiguos para contenido diferente.
- El grupo contiene de 3 a 12 elementos útiles, excepto un índice local A–Z justificado.
- Los destinos H3 aparecen solo cuando son sustanciales y están correctamente anidados bajo un H2.
- El grupo no está duplicado por una tabla de contenido o componente de navegación adyacente.
- La navegación no interrumpe un encabezado y su respuesta, una afirmación y su evidencia, o una secuencia requerida.
- El grupo usa enlaces nativos y, cuando es distinto, un hito de navegación nombrado.
- El enfoque de teclado es visible y sigue un orden lógico.
- El encabezado destino permanece visible debajo de los encabezados fijos en anchos de escritorio y móvil.
- Se respetan las configuraciones de movimiento reducido cuando hay desplazamiento suave presente.
- Los controles de copia de enlace nombran el destino y anuncian el éxito sin perder el foco.
- Cargar directamente cada URL completa más el fragmento aterriza en la sección prevista después de una carga de página nueva.
- Los enlaces internos entrantes conocidos, los marcadores utilizados en material de soporte y las URLs de fragmento citadas se han sometido a pruebas de regresión después de las ediciones.
Rechaza la publicación cuando la página en sí se cargue pero un fragmento conocido ya no se resuelva. Un ancla rota es un enlace entrante roto a nivel de sección, incluso cuando el monitoreo a nivel de página informa una respuesta exitosa.
FAQ
Las preguntas anteriores cubren las decisiones de mantenimiento que más a menudo rompen la navegación por anclas después de la publicación. Sus respuestas autorizadas residen en el frontmatter estructurado [[faq]] para que la salida FAQ visible y cualquier salida de esquema elegible puedan usar la misma fuente.
Más tutoriales en esta sección
¿Listo para ponerlo en práctica?
Revisión gratuita · Prueba de 7 días · sin tarjeta de crédito