Canonical URLs

Undgå duplicate content og konsolider SEO-værdi med canonical tags

Hvad er en canonical URL?

En canonical URL er den foretrukne version af en side når der findes flere versioner. Du bruger rel="canonical" tag til at fortælle søgemaskiner hvilken version de skal indexere.

Hvorfor er canonical URLs vigtige?

  • Undgår duplicate content problemer
  • Konsoliderer link juice og SEO-værdi
  • Hjælper Google med at vælge korrekt URL til indexering
  • Forbedrer crawl efficiency
  • Sikrer korrekt URL vises i søgeresultater

Hvornår skal du bruge canonical?

URL-parametre

Når samme indhold er tilgængeligt på flere URLs med forskellige parametre:

example.com/product?color=red
example.com/product?color=blue
→ Canonical: example.com/product

HTTP vs HTTPS

Hvis både HTTP og HTTPS versioner eksisterer:

http://example.com/page
→ Canonical: https://example.com/page

WWW vs non-WWW

Vælg én version og canonical den anden:

www.example.com/page
→ Canonical: example.com/page

Trailing Slash

Konsistent håndtering af trailing slash:

example.com/page/
→ Canonical: example.com/page

Implementation

HTML <head> Tag

Den mest almindelige metode - placer i HTML head:

<head>
  <link rel="canonical" href="https://example.com/page" />
</head>

HTTP Header

For non-HTML ressourcer (PDF, billeder):

Link: <https://example.com/document.pdf>; rel="canonical"

Next.js Implementation

// app/page.tsx
export const metadata = {
  alternates: {
    canonical: 'https://example.com/page',
  },
}

// Eller dynamisk
export async function generateMetadata({ params }) {
  return {
    alternates: {
      canonical: `https://example.com/${params.slug}`,
    },
  }
}

Best Practices

✓ Gør dette

  • • Brug absolute URLs (fuld URL med https://)
  • • Self-referencing canonical på hver side
  • • Konsistent URL-struktur gennem hele sitet
  • • Canonical til den mest relevante version
  • • Test canonical tags fungerer korrekt

✗ Undgå dette

  • • Relative URLs i canonical tags
  • • Canonical til ikke-eksisterende sider
  • • Multiple canonical tags på samme side
  • • Canonical chains (A→B→C)
  • • Canonical til 404 eller redirect sider

Canonical vs 301 Redirect

AspektCanonical Tag301 Redirect
Bruger serBesøger URL'enRedirectes automatisk
SøgemaskineHint (kan ignoreres)Direkte (følges altid)
AnvendelseVarianter af samme sidePermanent URL-ændring
SEO-værdiKonsolideresOverføres
StyrkeAnbefaling/signalDirekte instruktion
ImplementeringHTML tag i <head>Server-level redirect

Hvornår skal du bruge hvilken?

Brug Canonical Tag når: Du vil beholde begge URLs tilgængelige for brugere, men fortælle Google hvilken der er den primære. F.eks. produktsider med farve-varianter, eller indhold syndikeret på flere platforme.

Brug 301 Redirect når: Du permanent flytter indhold fra én URL til en anden, og brugere ikke skal have adgang til den gamle URL længere. F.eks. ved site migration eller permanent URL-ændringer.

Avancerede Use Cases

📄Paginering & Infinite Scroll

Når du har pagineret indhold (side 1, 2, 3...), skal du overveje om du vil:

Option 1: View All Page

Hvis du har en "se alle" side, kan paginerede sider pege på denne med canonical

<!-- På /produkter?page=2 -->
<link rel="canonical" href="https://example.com/produkter/alle" />
Option 2: Self-Referencing

Hver pagineret side har canonical til sig selv + prev/next tags

<!-- På /produkter?page=2 -->
<link rel="canonical" href="https://example.com/produkter?page=2" />
<link rel="prev" href="https://example.com/produkter?page=1" />
<link rel="next" href="https://example.com/produkter?page=3" />

🔗Syndicated Content

Hvis du publicerer dit indhold på flere platforme (dit eget site + Medium, LinkedIn, etc.):

Bed den eksterne platform om at inkludere canonical tag der peger tilbage til din originale artikel

<!-- På Medium/LinkedIn -->
<link rel="canonical" href="https://yoursite.com/original-article" />

Dette fortæller Google at din version er originalen, selvom indholdet også findes andre steder

🛍️E-commerce Product Variants

Produkter med farve/størrelse varianter kan have separate URLs:

/produkt/t-shirt?color=red
/produkt/t-shirt?color=blue
/produkt/t-shirt?color=green

Alle peger på hovedproduktet:

<link rel="canonical" href="https://example.com/produkt/t-shirt" />

📱Mobile vs Desktop URLs

Hvis du har separate mobile URLs (m.example.com) - hvilket ikke anbefales længere:

<!-- På m.example.com/page -->
<link rel="canonical" href="https://example.com/page" />

<!-- På example.com/page -->
<link rel="alternate" media="only screen and (max-width: 640px)"
href="https://m.example.com/page" />

Note: Responsive design er dog den anbefalede løsning i dag

Almindelige Fejl med Canonical Tags

❌ Multiple Canonical Tags

Mere end én canonical tag på samme side forvirrer Google.

Løsning: Én side = én canonical tag. Tjek at din CMS eller plugins ikke indsætter flere.

❌ Canonical til 404/5xx Sider

Canonical tag peger på en side der returnerer 404, 500 eller anden error.

Løsning: Sørg for canonical URL'er altid er live og tilgængelige.

❌ Canonical Chains (A→B→C)

Side A canonical til B, B canonical til C - Google følger måske ikke hele vejen.

Løsning: Alle varianter skal pege direkte til den endelige canonical (A→C, B→C).

❌ Relative Canonical URLs

Brug af relative URLs (/page) i stedet for absolute (https://example.com/page).

Løsning: Brug altid fulde absolute URLs i canonical tags for at undgå tvetydighed.

❌ Canonical + Noindex

En side har både canonical tag OG noindex meta robots - modsatrettede signaler.

Løsning: Hvis siden er noindex, skal den ikke have canonical (den indexeres alligevel ikke).

❌ Canonical på Forskelligt Indhold

To sider med væsentligt forskelligt indhold peger på samme canonical.

Løsning: Canonical bør kun bruges på sider med identisk eller næsten identisk indhold.

Test & Valider Canonical Tags

🔍 View Page Source

Højreklik på siden → "View Page Source" → Søg efter "canonical"

Den nemmeste måde at tjekke om canonical er til stede og korrekt.

🛠️ Browser DevTools

F12 → Elements tab → Find <head> → Søg efter canonical link

Mere interaktiv måde at inspicere canonical tags.

📊 Google Search Console

Se hvilken URL Google har valgt som canonical for dine sider

Coverage report viser "Google-selected canonical" vs "User-declared canonical"

🔗 URL Inspection Tool

Search Console → URL Inspection → Se canonical info for specific URLs

Viser om Google respekterer din canonical eller har valgt en anden.

🕷️ Screaming Frog

Crawl dit site og se alle canonical tags på én gang

Find nemt canonical chains, broken canonicals, eller manglende tags.

🔌 SEO Browser Extensions

Extensions som "SEO Meta in 1 Click" viser canonical direkte

Hurtig måde at tjekke canonical mens du browser sider.

Real-World Eksempler

Eksempel 1: E-commerce Filtering

En produktkategori-side med forskellige filter kombinationer:

✓ /sko
• /sko?farve=sort&size=42
• /sko?brand=nike&price=low
• /sko?sort=pris-lav

Løsning:

// Alle filtered URLs canonical til base category
<link rel="canonical" href="https://shop.dk/sko" />

Dette konsoliderer SEO-værdi på hovedkategorien og undgår tusindvis af tynde filtrerede sider.

Eksempel 2: Blog med Print Version

En blog artikel har en print-venlig version:

✓ /blog/seo-guide
• /blog/seo-guide?print=true
<!-- På print version -->
<link rel="canonical" href="https://blog.dk/blog/seo-guide" />

Eksempel 3: Multi-Domain Brand

Samme indhold på forskellige lande-domæner med samme sprog:

✓ example.com/product
• example.co.uk/product (same content, UK audience)

Bemærk: Her bør du IKKE bruge canonical!

I stedet brug hreflang tags for at signalere at begge versioner er legitime for forskellige regioner. Canonical ville fortælle Google at kun én skal indexeres.

Ofte Stillede Spørgsmål

Skal alle sider have en canonical tag?

Ja, best practice er at alle indexable sider har en canonical - selv om det er self-referencing (peger på sig selv). Dette gør din intention klar for Google og beskytter mod uventede duplicate content issues.

Hvad hvis Google ignorerer min canonical?

Canonical tags er anbefalinger, ikke direktiver. Google kan vælge en anden URL som canonical hvis:

  • • Canonical URL'en er utilgængelig eller giver errors
  • • Siderne har væsentligt forskelligt indhold
  • • Der er canonical chains eller konflikter
  • • Andre stærke signaler (interne links, sitemap) peger på en anden URL

Kan jeg canonical på tværs af domæner?

Ja! Cross-domain canonical er mulig og bruges ofte ved content syndication. Men vær forsigtig - hvis Google respekterer den, vil den ikke-canonical side ikke blive indexeret.

Hvor lang tid tager det før Google respekterer canonical?

Det afhænger af hvor ofte Google crawler dine sider. For nogle sites sker det inden for dage, for andre kan det tage uger. Request re-indexing i Search Console for at speed up processen.

Skal canonical URL inkludere query parameters?

Kun hvis parametrene er en del af den canonical version. Ofte er canonical URL'en clean versionen uden parameters (medmindre parametrene ændrer indholdet væsentligt, som produkt IDs).