Teknisk SEO-tjekliste til webshops på Shopify og WooCommerce

Tjek teknisk SEO i Shopify- og WooCommerce-webshops: noindex, robots.txt, sitemap, titler, H1, canonical, strukturerede data, Open Graph og alt-tekst.

FixReports’ redaktion12 min. læsetid

En teknisk SEO-tjekliste til en webshop bekræfter tre ting: at søgemaskinerne kan crawle og indeksere de sider, du vil have fundet, at de kan forstå, hvad hver side er, og at de kan vise den godt i søgeresultaterne. I praksis betyder det: ingen utilsigtede noindex-regler, en robots.txt, der ikke blokerer vigtige sider, et sitemap med kanoniske URL’er, en unik title og metabeskrivelse på hver side, én tydelig H1, canonical-tags, der samler dubletter fra varianter og kollektioner, gyldige Product-strukturerede data, Open Graph-tags, beskrivende alt-tekst og ingen døde interne links. Disse tjek fjerner tekniske forhindringer; de garanterer ikke placeringer eller trafik.

Det vigtigste kort fortalt

  • robots.txt styrer crawling, ikke indeksering. Hvis en side skal holdes ude af Google, skal du bruge noindex og ikke blokere siden i robots.txt, for så ser Google aldrig reglen (Google Search Central (åbner i en ny fane)).
  • Én sitemap-fil kan indeholde op til 50.000 URL’er eller 50 MB ukomprimeret, og Google ignorerer <priority> og <changefreq> (Google Search Central (åbner i en ny fane)).
  • Google siger, at der ikke findes et ideelt antal overskrifter, men én H1, der navngiver produktet, er den tydeligste hovedtitel for kunder og skærmlæsere.
  • Merchant listings (Googles produktvisninger for sider, hvor man kan købe) kræver et produktnavn, et billede og et indlejret Offer (ikke AggregateOffer) med en pris over nul og en valuta (Google Search Central (åbner i en ny fane)).

Hvad håndterer Shopify og WooCommerce som standard?

Shopify klarer de fleste grundlæggende dele af teknisk SEO i platformen og temaet, mens en WooCommerce-butik for flere af dem er afhængig af WordPress-kernen plus et SEO-plugin.

ElementShopifyWooCommerce (WordPress)
XML-sitemap/sitemap.xml, automatisk/wp-sitemap.xml siden WordPress 5.5, eller et SEO-plugins eget
robots.txtAutomatisk; redigeres med robots.txt.liquidVirtuel fil fra WordPress, der angiver kernens sitemap
Canonical-tagsTilføjes automatiskKernen tilføjer dem kun på enkeltsider
MetabeskrivelseFelt i hvert produkts søgemaskineopslagSEO-plugin eller tema
Product-strukturerede dataTemaet, via filteret structured_dataWooCommerce-kernens JSON-LD på produktsider
Open Graph-tagsTemaet (Dawn: meta-tags.liquid)SEO-plugin eller tema
Kurv og kasseUdelukket (Disallow) i robots.txtMarkeret noindex af WooCommerce

Detaljer og kilder til hver række følger nedenfor (pr. oktober 2026).

Hvordan sikrer du, at webshoppens sider kan indekseres?

En side kan indekseres, når den returnerer status 200, ikke er blokeret af robots.txt og ikke har nogen noindex-regel.

En noindex-regel kan stå i et metatag eller i en HTTP-header, og Google understøtter den ikke i robots.txt (Google (åbner i en ny fane)):

<meta name="robots" content="noindex">
X-Robots-Tag: noindex

robots.txt styrer crawlernes trafik; en blokeret URL kan stadig dukke op i resultaterne, uden beskrivelse, hvis andre sider linker til den (Google (åbner i en ny fane)). Search Consoles rapport om sideindeksering (åbner i en ny fane) viser hver URL, der ikke er indekseret, med en årsag som »URL marked ‘noindex’«. Ikke alle URL’er behøver at blive indekseret, men dine produkter og kollektioner skal.

Shopify

Standardfilen robots.txt blokerer stierne til admin, kurv, kasse, konto og ordrer samt filtrerede (/collections/*+*) og sorterede (sort_by) kollektions-URL’er, der dublerer kollektionssiderne. Du kan redigere den med en robots.txt.liquid-skabelon, men Shopify kalder det en tilpasning uden support og advarer om, at fejl kan koste en butik al dens trafik (Shopify Help Center (åbner i en ny fane)).

For at skjule en side, et blogindlæg eller et produkt sætter du et heltals-metafelt seo.hidden til 1, hvilket skjuler det for sitemaps, søgemaskiner og butikkens egen søgning; produktstatussen Unlisted skjuler også produkter fra kollektioner og anbefalinger (Shopify Help Center (åbner i en ny fane)). Så længe en butik er beskyttet med adgangskode, kan søgemaskinerne ikke læse dens sitemap.

WooCommerce

Tjek Indstillinger > Læsning > Synlighed for søgemaskiner (Settings > Reading > Search engine visibility). Når »Bed søgemaskiner om ikke at indeksere dette websted« (Discourage search engines from indexing this site) er markeret, tilføjer WordPress (siden 5.3) et robots-metatag med noindex, nofollow på dine sider (WordPress.org (åbner i en ny fane)) og slår kernens sitemap fra. Hvis butikken blev bygget på et staging-site, skal du sikre dig, at markeringen blev fjernet ved lanceringen. WooCommerce markerer selv siderne for kurv, kasse og Min konto med noindex og sender X-Robots-Tag: noindex på endpoints som ordrebekræftelsen (order received) (WooCommerces kildekode (åbner i en ny fane)), og det er forventet.

Hvad skal en webshops XML-sitemap indeholde?

Sitemappet bør kun indeholde kanoniske, indekserbare URL’er, du vil have med i søgningen: produkter, kollektioner eller kategorier, indholdssider og blogindlæg.

Googles regler: op til 50.000 URL’er eller 50 MB pr. fil, et sitemapindeks til større mængder, absolutte URL’er, kun URL’er, du vil have vist i resultaterne, og <lastmod> kun når datoen er korrekt (Google (åbner i en ny fane)). Indsend sitemappet i Search Consoles rapport Sitemaps, eller henvis til det i robots.txt:

Sitemap: https://example.com/sitemap.xml

I Shopify har hvert domæne en automatisk sitemap.xml, der linker til underordnede sitemaps for produkter, kollektioner, blogs og sider og opdateres, efterhånden som du tilføjer dem; hvert internationalt domæne får sit eget (Shopify Help Center (åbner i en ny fane)).

I WooCommerce leverer WordPress 5.5 og nyere et sitemapindeks fra kernen på /wp-sitemap.xml, som WordPress’ robots.txt henviser til, med op til 2.000 poster pr. sitemap som standard. SEO-plugins som Yoast SEO erstatter det med deres eget (Make WordPress Core (åbner i en ny fane)). Tjek, hvilket sitemap der faktisk er aktivt, før du indsender det.

Hvordan skriver du produkttitler og metabeskrivelser?

Giv hver side en unik, beskrivende title og en metabeskrivelse, der opsummerer den, med de vigtigste ord først, fordi Google afkorter begge, så de passer til skærmen.

Googles råd om titler: gør dem beskrivende og præcise, undgå keyword stuffing og gentagen standardtekst, og sæt sitets navn i starten eller slutningen adskilt med et skilletegn. Der er ingen længdegrænse, men titellinks afkortes efter enhedens bredde (Google (åbner i en ny fane)). Google kan også danne titellinket ud fra anden tekst, for eksempel H1’en eller og:title.

I snippets bruger Google mest sidens indhold og bruger metabeskrivelsen, når den beskriver siden mere præcist. Google foreslår at tage produktfakta som pris eller producent med og siger, at genererede beskrivelser er fine, hvis de er læsbare og varierede (Google (åbner i en ny fane)).

<title>Linen shirt, natural, relaxed fit | Example Store</title>
<meta name="description" content="Relaxed-fit shirt in European linen. Sizes XS to XXL, $68, free returns within 30 days.">
  • Shopify: rediger Sidetitel (Page title), Metabeskrivelse (Meta description) og URL-handle (URL handle) i sektionen for søgemaskineopslag på hvert produkt (Shopify Help Center (åbner i en ny fane)). Shopify accepterer op til 70 tegn i titlen, foreslår omkring 60 og anbefaler 160 tegn til beskrivelsen (Shopify Help Center (åbner i en ny fane)).
  • WooCommerce: WordPress-kernen udskriver ikke nogen metabeskrivelse (kontrolleret i kildekoden til 7.1.3), så brug et SEO-plugin eller dit tema.

Skal hver side have præcis én H1?

Google kræver ikke et bestemt antal, men én H1, der navngiver siden, er den tydeligste hovedtitel for kunder, skærmlæsere og søgemaskiner.

Googles SEO-startguide siger, at der ikke findes et ideelt antal overskrifter, og at overskrifternes rækkefølge ikke har betydning for Google Søgning, selv om en semantisk rækkefølge hjælper skærmlæsere (Google (åbner i en ny fane)). Googles vejledning om titellinks foreslår at gøre hovedtitlen til den mest fremtrædende tekst, for eksempel som den første synlige <h1>. W3C’s vejledning tilføjer, at overskrifter formidler sidens opbygning, og at man bør undgå at springe niveauer over (W3C WAI (åbner i en ny fane)).

Typiske fejl i webshops: logoet i en H1 på hver side, produktnavnet i en <div> eller en H2, en ekstra H1 fra en app og kollektionssider helt uden H1.

Hvordan håndterer kanoniske URL’er dubletter fra varianter og kollektioner?

Et canonical-tag fortæller Google, hvilken af flere URL’er med samme indhold der skal indekseres, så URL’er med variantparametre og kollektionsstier bør pege på én foretrukken produkt-URL.

Google betragter omdirigeringer og rel="canonical" som stærke signaler og medtagelse i sitemappet som et svagt signal. Brug absolutte URL’er, og brug ikke robots.txt eller noindex til at vælge en kanonisk URL (Google (åbner i en ny fane)). For varianter på en valgfri forespørgselsparameter som ?color=green foreslår Google URL’en uden parameteren som kanonisk. Google ignorerer #-fragmenter, så varianter skal have stier eller parametre, og Google anbefaler selvrefererende canonicals på indekserbare sider og ensartede URL’er på tværs af links, sitemaps og canonical-tags (Google (åbner i en ny fane)).

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

Hvis Google ignorerer dit valg, viser rapporten om sideindeksering »Duplicate, Google chose different canonical than user«, hvilket som regel er et tegn på modstridende signaler.

  • Shopify: canonical-tags genereres automatisk (Shopify Help Center (åbner i en ny fane)); temaet Dawn udskriver <link rel="canonical" href="{{ canonical_url }}">. Temaer, der bruger filteret within, danner produkt-URL’er, der afhænger af kollektionen (/collections/summer/products/linen-shirt), og Shopify påpeger, at de dublerer den almindelige produktside (Shopify (åbner i en ny fane)). Tjek, at deres canonical peger på /products/linen-shirt.
  • WooCommerce: WordPress-kernen udskriver kun et canonical-tag på enkeltvisninger som produkter og sider (WordPress developer reference (åbner i en ny fane)), så butiks- og kategoriarkiver afhænger af dit SEO-plugin eller tema. Hvis du ændrer permalink-strukturen for produkter, ændres alle produkt-URL’er, og gamle links returnerer 404-fejl, medmindre du tilføjer omdirigeringer (WooCommerce (åbner i en ny fane)).

Hvordan sætter du Product-strukturerede data op til merchant listings?

Tilføj Product-markup med et indlejret Offer, der matcher prisen og lagerstatussen på siden, og test det derefter i Googles Rich Results Test.

Google bruger produktuddrag (product snippets) til produktsider, hvor man ikke kan købe direkte, og merchant listings til sider, hvor man kan (Google (åbner i en ny fane)). Google anbefaler generelt JSON-LD (Google (åbner i en ny fane)). Merchant listings kræver name, image og offers som et Offer med price over nul og priceCurrency i ISO 4217-format. Anbefalede egenskaber omfatter availability, gtin, brand, aggregateRating, shippingDetails og hasMerchantReturnPolicy (Google (åbner i en ny fane)). Til varianter understøtter Google ProductGroup med hasVariant, variesBy og productGroupID (Google (åbner i en ny fane)).

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Linen shirt, natural",
  "image": ["https://example.com/images/linen-shirt-1x1.jpg"],
  "sku": "LS-NAT-M",
  "brand": { "@type": "Brand", "name": "Example Store" },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/linen-shirt",
    "price": "68.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}
</script>

Opmærk kun det, kunderne kan se; Google garanterer ikke, at strukturerede data bliver vist i resultaterne (Google (åbner i en ny fane)).

  • Shopify: {{ product | structured_data }} udskriver et Product for produkter uden varianter og en ProductGroup for produkter med varianter (Shopify (åbner i en ny fane)); Dawn har det med i sin produktsektion. Hvis en app til anmeldelser eller SEO tilføjer sin egen markup, så tjek for dubletter.
  • WooCommerce: kernen udskriver Product-JSON-LD på produktsider med SKU, tilbud (offers), bedømmelser, når der findes anmeldelser, og et GTIN, når feltet GTIN, UPC, EAN eller ISBN (tilføjet i WooCommerce 9.2 (åbner i en ny fane)) er udfyldt. Variable produkter med forskellige variantpriser får et prisinterval i et AggregateOffer, medmindre URL’en vælger én bestemt variant (WooCommerces kildekode (åbner i en ny fane)), så test dem, da merchant listings kræver et Offer.

Til returnering accepterer Google også en returpolitik på organisationsniveau i markup, men indstillinger i Merchant Center eller Search Console har forrang (Google (åbner i en ny fane)).

Hvilke Open Graph-tags skal produktsider have?

Produktsider bør have og:title, og:type, og:image og og:url plus og:description og og:image:alt, så delte links viser den rigtige titel og det rigtige foto.

Open Graph-protokollen angiver de fire første som påkrævede, definerer og:url som den kanoniske URL og siger, at og:image:alt bør ledsage hvert og:image (ogp.me (åbner i en ny fane)).

<meta property="og:type" content="product">
<meta property="og:title" content="Linen shirt, natural">
<meta property="og:url" content="https://example.com/products/linen-shirt">
<meta property="og:image" content="https://example.com/images/linen-shirt-1200x630.jpg">
<meta property="og:image:alt" content="Natural linen shirt on a hanger">
<meta property="og:description" content="Relaxed-fit shirt in European linen.">
  • Shopify: Dawns snippets/meta-tags.liquid udskriver dem ud fra sidetitlen, den kanoniske URL og produktbilledet (Shopify Dawn på GitHub (åbner i en ny fane)). Angiv et reservebillede under Webshop > Præferencer (Online Store > Preferences) (Shopify Help Center (åbner i en ny fane)).
  • WooCommerce: hverken WordPress-kernen (7.1.3) eller WooCommerce (11.2.1) udskriver Open Graph-tags, så tilføj dem med et SEO-plugin eller dit tema.

Hvorfor er alt-tekst vigtig for produktbilleder?

Alt-tekst fortæller søgemaskiner og skærmlæserbrugere, hvad et produktbillede viser, og Google bruger den sammen med computer vision og sidens indhold.

Googles vejledning om billeder beder om nyttig, specifik alt-tekst uden keyword stuffing; det bedste eksempel er »Dalmatian puppy playing fetch« (en dalmatinerhvalp, der apporterer). Google indekserer ikke CSS-baggrundsbilleder, så produktfotos hører hjemme i <img>-elementer (Google (åbner i en ny fane)). For en webshop betyder det alt-tekst som »Naturfarvet hørskjorte set bagfra«, ikke »skjorte skjorte hør køb«.

Crawl din webshop, lav en liste over interne links, der returnerer en 4xx-fejl, og opdater enten hvert link, eller lav en 301-omdirigering fra den gamle URL til den nærmeste aktive side.

Google crawler links, der er bygget som <a>-elementer med en href, og anbefaler, at alle vigtige sider linkes fra mindst én anden side (Google (åbner i en ny fane)). URL’er, der returnerer 4xx-koder, bliver ikke indekseret, og allerede indekserede fjernes; en 301 er et stærkt omdirigeringssignal, en 302 et svagt (Google (åbner i en ny fane)). Links i webshops går i stykker, når produkter slettes eller omdøbes, handles ændres eller kollektioner nedlægges, mens de gamle links bliver stående i menuer, beskrivelser og blogindlæg.

  • Shopify: gå til Indhold > Menuer > Vis URL-omdirigeringer > Opret URL-omdirigering (Content > Menus > View URL redirects > Create URL redirect). Shopify omdirigerer kun URL’er, der faktisk er døde (Shopify Help Center (åbner i en ny fane)).
  • WooCommerce: tilføj serverregler eller et omdirigeringsplugin, hver gang du ændrer slugs eller permalink-indstillinger.

En gratis scanning markerer mange af disse problemer på omkring et minut. Vores SEO-rapport tjekker titler, metabeskrivelser, H1’er, canonicals, noindex, robots.txt, sitemappet, Product-strukturerede data, Open Graph, alt-tekst og døde interne links på op til 25 sider med rettelser til din platform.

Ofte stillede spørgsmål

Garanterer rettelser af teknisk SEO bedre placeringer?

Nej. Rettelserne fjerner årsager til, at en side ikke kan crawles, indekseres eller forstås; placeringerne afhænger stadig af relevans og mange andre faktorer.

Skal hver produktvariant have sin egen indekserede URL?

Det afhænger af, hvordan varianterne er bygget. Hvis de deler én side og kun adskiller sig ved en valgfri forespørgselsparameter, foreslår Google URL’en uden parameteren som kanonisk; hvis hver variant har sin egen side, behandler Googles vejledning om varianter hver side for sig.

Hvorfor viser mit produkt ikke udvidede resultater, selv om markuppen er gyldig?

Google garanterer ikke udvidede resultater (rich results) for gyldige strukturerede data. Tjek, at markuppen matcher det synlige indhold, bruger et Offer med en pris over nul og består Rich Results Test.

Skal jeg blokere filtrerede kollektionssider i robots.txt?

I Shopify udelukker standardfilen robots.txt allerede filtrerede og sorterede kollektions-URL’er, fordi de dublerer kollektionssiderne. Hvis du redigerer robots.txt.liquid, så behold de regler, medmindre du har en konkret grund til at ændre dem.

Kilder