SEO Playbook · Element

Ankarlänkar: Stabila navigeringsregler inom sidan

Använd ankarlänkar för att skapa stabil navigering inom sidan, bevara rubrik-ID:n, skydda citerade fragment-URL:er och hjälpa läsare att nå svar utan friktion.

13 min read

Ankarlänkar är länkar inom sidan som skickar läsaren till ett namngivet avsnitt av det aktuella dokumentet. De förvandlar en lång sida till en uppsättning hållbara, adresserbara svar – men bara när varje destination har ett stabilt rubrik-ID.

Hoppa till: Varför ankarlänkar är viktiga · När de ska användas · Anatomi för stabila ID:n · Implementeringssyntax · QA-checklista

Raden ovan är elementet återgivet i sin kompakta inlineform. Varje länk innehåller en fragmentidentifierare, delen efter #, och varje fragment löses upp mot en rubrik på denna sida.

Varför detta element är viktigt

Långa dokument skapar ett återvinningsproblem innan de skapar ett läsproblem. En besökare som kommer från en sökning, ett supportärende eller ett meddelande från en kollega vill ofta ha en enda uppgift snarare än hela argumentationen. En beskrivande hopplänk eliminerar scrollande och försäkrar besökaren om att svaret finns. Den stödjer också icke-linjär läsning: någon kan kontrollera parametrar, återvända till anatomin och sedan gå vidare till QA utan att låtsas att varje användbart besök börjar vid introduktionen.

Den psykologiska fördelen bygger på förtroende. Länktexten gör ett löfte om destinationen, och klicket måste uppfylla det omedelbart. En vag etikett som “Läs mer” tvingar läsaren att komma ihåg omgivande sammanhang. En länk som landar under en sticky header känns trasig även om webbläsaren tekniskt sett nådde rätt koordinat. En lista med 25 nästan identiska poster skapar ytterligare en skanningsuppgift istället för att minska en.

Ankarlänkar förbättrar också maskinell extraherbarhet: förmågan hos programvara att isolera ett avsnitt och bevara dess innebörd utanför den fullständiga sidan. En URL som /guide/#renewal-terms identifierar ett mindre svarsområde än /guide/. Söksystem, webbläsartillägg, dokumentationsverktyg och AI-hämtningssystem kan citera eller dela det området direkt. Fragmentet skapar inte auktoritet eller garanterar ett citat, men det ger ett redan användbart avsnitt en precis offentlig adress.

Den adressen är ett gränssnitt, inte en oavsiktlig biprodukt av rubriken. Många publiceringssystem genererar renewal-terms från den synliga rubriken “Renewal terms.” Om en redigerare senare ändrar rubriken till “How renewals work” kan generatorn producera how-renewals-work. Varje inkommande länk som fortfarande slutar på #renewal-terms pekar nu på ett ID som inte längre finns. Detta inkluderar länkar i andra artiklar, webbläsarbokmärken, kampanjmeddelanden, supportcentersvar, sökresultat och citerade AI-svar. Sidans URL returneras fortfarande framgångsrikt, vilket kan dölja regressionen, men besökaren förlorar den utlovade destinationen på avsnittsnivå.

Följ skrivreglerna för element innan du lägger till navigering. Prioritetsregeln gäller fortfarande: ankarlänkar navigerar till innehållselement; de ersätter inte en nödvändig definition, jämförelse, varning, FAQ eller annat typat block. Rubriksystemet äger dokumenthierarkin och de stabila ID:n som är kopplade till rubriker. Ankarlänkar använder dessa ID:n.

När det ska användas

Använd ankarlänkar när en sida innehåller flera destinationer som läsare kan behöva oberoende av varandra. Starka exempel inkluderar en lång referens med diskreta parametrar, dokumentation med installations- och felsökningsavsnitt, en rapport med separat metodik och resultat, en policy med namngivna skyldigheter och ett FAQ-nav med frågegrupper.

Använd en synlig hopplänksuppsättning när minst ett av dessa villkor är uppfyllt:

  • Sidan har fem eller fler meningsfulla H2-avsnitt och läsare sannolikt kommer in med olika mål.
  • Sidan är 1 800 ord eller längre och dess avsnitt kan förstås icke-linjärt.
  • Support-, försäljnings-, juridik- eller redaktionella team delar regelbundet länkar till enskilda avsnitt.
  • Ett avsnitt sannolikt kommer att citeras, bokmärkas, återbesökas eller uppdateras oberoende.
  • Mobila läsare annars skulle behöva scrolla avsevärt för att nå ett förutsägbart svar.

Varje substantiell rubrik kan fortfarande få ett ID även när ingen synlig hopplänkslista finns. Stabila destinationer är billiga att bevara och dyra att återskapa efter att länkar har spridits.

Närmissar förtjänar återhållsamhet. En trestegs linjär procedur bör vanligtvis hålla läsaren i rörelse i ordning; en hopplista kan uppmuntra någon att hoppa över förkunskaper. En kort sida vars rubriker redan är synliga ovanför vecket ger ingen användbar navigering. Flikar och accordion-kontroller växlar gränssnittstillstånd snarare än att navigera till dokumentplatser, så de är inte substitut för ankarlänkar. Pagineringslänkar flyttar mellan dokument. En länk till en annan sida är en intern länk även om dess destination råkar innehålla ett fragment.

Lägg inte till ankare som en nyckelordstaktik eller skapa extra rubriker för att få fler fragment-URL:er. Navigeringsenheten måste vara ett verkligt avsnitt med ett distinkt syfte och tillräckligt med innehåll för att uppfylla länketiketten.

Var den ska placeras

Placera en hopplänksgrupp på sidnivå efter hjälten, det direkta svaret eller den korta omfattningsbeskrivningen och före det första större brödtextavsnittet. Läsaren behöver förstå sidan innan hen väljer en väg genom den. När sidan också använder en snabböversikt och innehållsförteckning , lägg inte till en andra lista med samma destinationer. Innehållsförteckningen är en presentation av ankarlänkar; konfigurera eller förenkla det elementet istället för att duplicera navigering.

Placera en lokal hopplänksgrupp omedelbart före den avgränsade region den styr, till exempel ett alfabetiskt register eller en flerdelad API-referens. Ge den en etikett som namnger omfattningen: “Hoppa till produktfamilj” är tydligare än ännu ett generiskt “På denna sida.” Placera en inline-korsreferens i meningen där destinationen blir användbar, med ord som namnger målet.

Placera inte ankarnavigering:

  • Mellan en rubrik och stycket som besvarar den.
  • Mellan ett påstående och dess bevis, kvalificering eller källa.
  • Bredvid en orelaterad CTA, annons, nyhetsbrevsformulär eller reklamkort som konkurrerar om samma klick.
  • Inuti en annan länk, knapp, rubrik eller interaktiv kontroll.
  • I ett sticky-område som täcker målrubriken efter navigering.
  • Efter innehållet den är avsedd att hjälpa läsare att upptäcka.

Om en sticky sidhuvud är 72 pixlar hög, behöver målet minst så mycket scroll-offset plus bekvämt avstånd. Lös detta på destinationen med en konsekvent scroll-margin-top, inte genom att infoga tomma spacer-element eller ändra fragmentet med JavaScript.

Anatomi

Ett ankarlänksystem har sju delar:

  1. Navigeringsetikett: namnger uppsättningen, vanligtvis “På denna sida” eller ett omfattningsspecifikt alternativ.
  2. Länktext: beskriver destinationen när den läses utan den omgivande meningen.
  3. Fragment href: börjar med # för den aktuella sidan, till exempel #renewal-terms.
  4. Mål-ID: det unika värdet på destinationen, exakt matchande href utan #.
  5. Destinationsrubrik: berättar för den ankommande läsaren var de hamnat och vad som följer.
  6. Ankomstoffset: håller rubriken synlig under sticky gränssnittskrom.
  7. Interaktionstillstånd: gör hover, tangentbordsfokus, besökta tillstånd där det är lämpligt och aktuell plats märkbar.

Den synliga rubriken och ID:t är relaterade men inte identiska. Rubriken kan ändras för tydlighets skull. När den väl är offentlig förblir ID:t fixerat så länge avsnittet har samma syfte. ID:n använder gemener i ASCII, siffror när de är meningsfulla och bindestreck: #cancel-subscription är portabelt; #Section 4! är det inte.

Designexempel

Varje variant använder samma länk-till-ID-kontrakt. Varianter skiljer sig åt beroende på sammanhang och täthet, inte genom att uppfinna ny destinationsbeteende.

Kompakt inline: använd tre till sex jämställda destinationer nära öppningen. Tillåt radbrytning och håll avskiljare utanför tillgängliga länknamn.

Staplad lista: använd fem till tolv destinationer när etiketter behöver utrymme eller skanning betyder mer än vertikalt utrymme. Detta är standard för långa guider och policyer.

Nästlad lista: använd H2-destinationer som huvudväg och inkludera endast substantiella H3-barn. Begränsa djupet till två navigeringsnivåer; djupare träd hör hemma i dokumentationsnavigering.

Lokalt index: använd bokstäver, kategorier eller referensgrupper för att navigera en avgränsad region. Återge destinationer som inte finns som vanlig inaktiverad text, inte som länkar med tomma eller falska mål.

Rubrik-permalink: tillhandahåll en liten kopieringslänkkontroll bredvid en rubrik när läsare ofta citerar enskilda avsnitt. Dess tillgängliga namn måste inkludera rubriken, till exempel “Kopiera länk till Renewal terms.” Rubriken i sig förblir text, inte en stor självlänk.

Inline-korsreferens: använd en vanlig meningslänk när ett avsnitt är beroende av ett annat avsnitt. Föredra “granska villkoren för förnyelse” framför “hoppa hit.”

Parametrar

Samlingen och varje destination har separata fält. Den första rubriken i en portabel direktivkropp mappas till navigeringsetiketten under standardregeln för brödtext; efterföljande listobjekt tillhandahåller länkarna.

NamnTypKrävsMin/maxStandardKälla
labelEnkel strängJa för en grupp2–6 ord; max 60 teckenOn this pageAttribut eller första rubrik i brödtext
variantEnumNejinline, stacked, nested, local-index, permalinkstackedAttribut
itemsLänksamlingJa för en grupp3–12 synliga objekt; 26 tillåtna för A–Z-indexIngenBrödtextlista
textEnkel inline-textJa per objekt2–10 ord; max 70 teckenDestinationsrubriktextBrödtextlänketikett
hrefFragment-URLJa per objektEtt #id; inget tomt fragmentHärlett från targetIdBrödtextlänkdestination eller objektattribut
targetIdUnikt HTML-IDJa1–8 token med gemener och bindestreckGenererad från rubriktext före första publicering, därefter låstDestinationsrubrikattribut eller redigerarens ankarefält
depthHeltalsenumNej1 eller 21Attribut; kan härledas från brödtextnästling
copyableBooleskNejtrue eller falsefalseAttribut
contentMarkdown-länklistaJa för gruppvarianterEn lista som matchar items; ingen ren brödtext-prosaAllt efter första brödtextrubrikenBrödtext

Det redaktionella målantalet är avsiktligt mindre än det tekniska maxvärdet. Om en sida behöver 18 destinationer, gruppera först relaterade avsnitt, använd en genererad innehållsförteckning eller dela upp dokumentet. Ett A–Z-index är det snäva undantaget eftersom dess ordning och etiketter redan är förutsägbara.

Syntax och kodexempel

Den portabla källan lagrar länktext och fragment explicit så att den kan flytta mellan renderingsmotorer utan att förlora publicerade ID:n.

Portabel Markdown-direktiv

:::anchor-links{variant=stacked depth=1}
### On this page

- [Eligibility](#eligibility)
- [Required documents](#required-documents)
- [Renewal terms](#renewal-terms)
:::

## Eligibility {#eligibility}

Den första brödtextrubriken blir label; listan blir content och tillhandahåller items. Fäst destinations-ID:t när sidan publiceras första gången.

Hugo-shortcode

{{< anchor-links variant="stacked" label="On this page" >}}
- [Eligibility](#eligibility)
- [Required documents](#required-documents)
- [Renewal terms](#renewal-terms)
{{< /anchor-links >}}

## Eligibility {#eligibility}

Detta är Hugo-adapterkontraktet, inte ett påstående att denna databas redan registrerar en anchor-links-shortcode. En Hugo-implementering kan generera listan från .TableOfContents eller återge vanliga Markdown-länkar, förutsatt att den bevarar samma ID:n, semantik, begränsningar och tillgänglighetsbeteende.

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 -->

Ange WordPress Avancerat → HTML-ankare explicit för publicerade destinationer. Förlita dig inte på ett tema eller plugin för att återskapa ID:n från ändrad synlig text.

Exempel

Bra: etiketter och ID:n överlever redaktionell förbättring

**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}

Detta fungerar eftersom navigeringsetiketterna förutsäger distinkta svar, ID:t är läsbart och unikt, och rubriken kan bli mer specifik utan att ändra den publicerade adressen #compare-contract-terms. Ett citat som skapats före förbättringen av formuleringen når fortfarande rätt avsnitt.

Dåligt: genererade ID:n behandlas som engångsartiklar

- [More information](#more-information)
- [Click here](#section-4)
- [Pricing](#pricing-2026)

## New pricing details

Detta misslyckas eftersom två etiketter behöver omgivande sammanhang, section-4 kodar position snarare än betydelse, och pricing-2026 kommer att bli missvisande när året ändras. Rubriken har också ändrats utan att behålla det gamla id="pricing-2026", så befintliga inkommande fragment löses inte längre. Att byta namn på listposten kan inte reparera länkar som redan publicerats någon annanstans.

Schema-markup och tillgänglighet

Ankarlänkar matar inte en dedikerad Schema.org-typ. Markera inte en hopplänkslista som ItemList bara för att den använder <ul>; dess syfte är navigering, inte en rankad eller kurerad samling av entiteter. Ett destinationsavsnitt kan bidra med synligt innehåll till Article, FAQPage, HowTo eller en annan lämplig schematyp på sidnivå, men fragmentet i sig är inte separata strukturerade data.

Använd inbyggda <a href="#target-id">-länkar. Slå in en grupp på sidnivå eller lokal grupp i <nav aria-label="On this page"> när det är en distinkt navigeringsregion. Lägg inte till role="link" på ett inbyggt ankare. Varje mål-ID måste vara unikt, och href måste matcha det exakt, inklusive versaler/gemener.

Tangentbordsanvändare behöver en synlig fokusindikator. Pekmål behöver tillräckligt med avstånd för att undvika oavsiktlig aktivering. Länktext måste identifiera destinationen utan att förlita sig på färg, närliggande prosa eller en title-attribute. Om en kopierings-permalink-kontroll använder en knapp, meddela framgång utan att flytta fokus oväntat.

Fragmentnavigering måste lämna målrubriken synlig under sticky headers. Föredra CSS scroll-margin-top på mål. Mjuk scrollning är valfritt och måste respektera inställningar för minskad rörelse. Undvik JavaScript som avbryter inbyggt länkbeteende, tar bort fragmentet från webbläsarhistoriken eller ändrar scrollposition utan att uppdatera URL:en.

Flytta inte automatiskt fokus för varje vanligt fragmentklick; inbyggt webbläsarbeteende bör förbli förutsägbart. Om en anpassad meny eller avslöjande stängs efter aktivering och fokus annars skulle gå förlorat, flytta fokus avsiktligt till ett mål som kan ta emot det, till exempel rubriken med tabindex="-1", testa sedan med tangentbords- och skärmläsarnavigering. En ihållande navigeringskontroll kan indikera den aktuella destinationen med aria-current="location", men endast när tillståndet uppdateras korrekt.

Skrivregler

Skriv destinationer efter att sidans disposition är stabil och innan länkar sprids. Använd meningars namnform och konkreta substantiv eller verb. En etikett bör vara begriplig i isolering eftersom kopierade länkar, skärmläsares länklistor och maskincitat kan ta bort den från sitt ursprungliga visuella sammanhang.

  • Använd tre till tolv länkar i en synlig grupp; föredra fem till åtta för en kompakt öppningsuppsättning.
  • Håll etiketter på två till tio ord och under 70 tecken.
  • Inkludera H2-destinationer som standard. Inkludera H3 endast när det besvarar ett oberoende behov.
  • Håll ett grammatiskt mönster inom en grupp: alla frågor, alla nominalfraser eller alla imperativa verb.
  • Använd ID:n med en till åtta gemener, avskilda med bindestreck. Börja med en bokstav och utelämna skiljetecken, emoji, diakritiska tecken, datum som kommer att löpa ut och positionsnummer.
  • Frys varje offentligt ID. En synlig rubrik kan ändras utan att dess ID ändras när avsnittets syfte förblir detsamma.
  • Återanvänd aldrig ett pensionerat ID för orelaterat innehåll. En gammal länk får inte verka fungera samtidigt som den landar på ett annat påstående.
  • Placera aldrig citat, fotnotsmarkörer, priser, reklammärken eller brådskande påståenden i en navigeringsetikett.
  • Placera aldrig knappar, formulärkontroller, bilder eller en annan länk inuti en ankarlänk.
  • Använd aldrig “klicka här,” “läs mer,” “detaljer” eller “avsnitt” som den fullständiga etiketten.

När ett avsnitt tas bort, avgör vad det gamla fragmentet lovade. Om dess innehåll flyttades till ett motsvarande avsnitt på samma sida, bevara det gamla ID:t som ett alias intill den nya destinationen där plattformen stödjer flera ankare. Om ingen motsvarighet finns, koppla inte tyst det gamla ID:t till ett annat avsnitt. Dokumentera borttagningen och uppdatera varje känd intern referens.

Inläggstyper som använder det

Fältet postTypes i frontmatter driver denna relation. Inkludering innebär att formatet ofta drar nytta av stabila avsnittdestinationer; det kräver inte en synlig hopplista på varje kort instans.

InläggstypVarför det använder ankarlänkarTypiska destinationer
Ultimate guidesBred täckning skapar flera legitima ingångspunkter och citeringsmål.Stora ämnesområden, metoder, begränsningar, nästa steg
How-to guidesLäsare återvänder till förkunskaper, faser, verifiering och återställningsvägar.Förkunskaper, faser, felsökning, verifiering
Documentation articlesSupport och produktgränssnitt länkar ofta direkt till en underhållen instruktion.Konfigurationsgrupper, fält, fel, exempel
FAQ hubsBesökare kommer med en fråga och behöver en kort väg till sin svarsgrupp.Frågekategorier och omfattande enskilda svar
Benchmark reportsResultat måste förbli kopplade till metod, population och begränsningar när de delas.Metodik, kohorter, resultat, begränsningar
Policy pagesLäsare och team citerar enskilda regler, undantag och ansvar.Omfattning, skyldigheter, undantag, ikraftträdandedatum
Directory indexesStora förutsägbara samlingar drar nytta av alfabetiska hopp eller kategorihopp.Bokstäver, kategorier, regioner, entitetsgrupper

QA-checklista

  • Sidan har ett verkligt icke-linjärt navigeringsbehov; listan är inte dekoration.
  • Varje synlig länketikett beskriver sin destination när den läses ensam.
  • Varje href börjar med # för en länk på samma sida och matchar ett befintligt mål-ID exakt.
  • Varje mål-ID är unikt, skrivet med gemener, läsbart och fritt från tillfälliga datum eller positionsnummer.
  • Publicerade ID:n har jämförts med föregående version och förblir oförändrade om inte en migrering är dokumenterad.
  • En omdöpning av synlig rubrik bevarar sitt gamla ID när avsnittets syfte är oförändrat.
  • Borttagna eller sammanslagna destinationer återanvänder inte gamla ID:n för annat innehåll.
  • Gruppen innehåller 3–12 användbara objekt, förutom ett motiverat A–Z lokalt index.
  • H3-destinationer förekommer endast när de är substantiella och korrekt nästlade under en H2.
  • Gruppen dupliceras inte av en innehållsförteckning eller intilliggande navigeringskomponent.
  • Navigeringen avbryter inte en rubrik och dess svar, ett påstående och dess bevis, eller en nödvändig sekvens.
  • Gruppen använder inbyggda länkar och, när den är distinkt, en namngiven navigeringslandmärke.
  • Tangentbordsfokus är synligt och följer en logisk ordning.
  • Målrubriken förblir synlig under sticky headers vid både desktop- och mobilbredder.
  • Inställningar för minskad rörelse respekteras när mjuk scrollning används.
  • Kopieringslänkkontroller namnger destinationen och meddelar framgång utan att tappa fokus.
  • Direkt inladdning av varje full URL plus fragment landar på det avsedda avsnittet efter en ny sidladdning.
  • Kända inkommande interna länkar, bokmärken som används i supportmaterial och citerade fragment-URL:er har regressionstestats efter redigeringar.

Neka publicering när sidan i sig laddas men ett känt fragment inte längre löses upp. Ett trasigt ankare är en trasig inkommande länk på avsnittsnivå, även när övervakning på sidnivå rapporterar ett lyckat svar.

FAQ

Frågorna ovan täcker de underhållsbeslut som oftast bryter ankarnavigering efter publicering. Deras auktoritativa svar finns i den strukturerade [[faq]]-frontmatter så att synlig FAQ-utdata och eventuell berättigad schemautdata kan använda samma källa.

← All SEO Playbook guides

Redo att omsätta det i praktiken?

Gratis kontroll · 7 dagars provperiod · inget kreditkort