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
noindexog 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(ikkeAggregateOffer) 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.
| Element | Shopify | WooCommerce (WordPress) |
|---|---|---|
| XML-sitemap | /sitemap.xml, automatisk | /wp-sitemap.xml siden WordPress 5.5, eller et SEO-plugins eget |
| robots.txt | Automatisk; redigeres med robots.txt.liquid | Virtuel fil fra WordPress, der angiver kernens sitemap |
| Canonical-tags | Tilføjes automatisk | Kernen tilføjer dem kun på enkeltsider |
| Metabeskrivelse | Felt i hvert produkts søgemaskineopslag | SEO-plugin eller tema |
| Product-strukturerede data | Temaet, via filteret structured_data | WooCommerce-kernens JSON-LD på produktsider |
| Open Graph-tags | Temaet (Dawn: meta-tags.liquid) | SEO-plugin eller tema |
| Kurv og kasse | Udelukket (Disallow) i robots.txt | Markeret 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 filteretwithin, 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 etProductfor produkter uden varianter og enProductGroupfor 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 etOffer.
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.liquidudskriver 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«.
- Shopify: åbn produktet, klik på billedet, vælg Rediger alt-tekst (Edit alt text) og derefter Gem alt-tekst (Save alt text) (Shopify Help Center (åbner i en ny fane)).
- WooCommerce: angiv Alternativ tekst (Alt Text) i hvert billedes vedhæftningsdetaljer i Mediebiblioteket (WordPress.org (åbner i en ny fane)).
Hvordan finder og retter du døde interne links?
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
- Block search indexing with noindex (åbner i en ny fane), Google Search Central, opdateret 10. december 2025
- Introduction to robots.txt (åbner i en ny fane), Google Search Central, opdateret 10. december 2025
- Build and submit a sitemap (åbner i en ny fane), Google Search Central, opdateret 8. juli 2026
- Page indexing report (åbner i en ny fane), Search Console Help (Google), tilgået 22. oktober 2026
- Influencing your title links (åbner i en ny fane), Google Search Central, opdateret 10. december 2025
- Control your snippets in search results (åbner i en ny fane), Google Search Central, opdateret 20. april 2026
- SEO starter guide (åbner i en ny fane), Google Search Central, opdateret 10. december 2025
- How to specify a canonical URL (åbner i en ny fane), Google Search Central, opdateret 10. juli 2026
- Designing a URL structure for ecommerce sites (åbner i en ny fane), Google Search Central, opdateret 10. december 2025
- Product structured data (åbner i en ny fane), Google Search Central, opdateret 10. december 2025
- Merchant listing structured data (åbner i en ny fane), Google Search Central, opdateret 8. september 2026
- Product variant structured data (åbner i en ny fane), Google Search Central, opdateret 8. september 2026
- Merchant return policy structured data (åbner i en ny fane), Google Search Central, opdateret 8. september 2026
- General structured data guidelines (åbner i en ny fane), Google Search Central, opdateret 10. juli 2026
- Introduction to structured data markup (åbner i en ny fane), Google Search Central, opdateret 10. december 2025
- Image SEO best practices (åbner i en ny fane), Google Search Central, opdateret 2. marts 2026
- Make your links crawlable (åbner i en ny fane), Google Search Central, opdateret 10. december 2025
- How HTTP status codes and network errors affect Google Search (åbner i en ny fane), Google Search Central, opdateret 4. februar 2026
- Headings (åbner i en ny fane), W3C Web Accessibility Initiative, opdateret 4. maj 2017
- The Open Graph protocol (åbner i en ny fane), ogp.me, tilgået 22. oktober 2026
- Editing robots.txt.liquid (åbner i en ny fane), Shopify Help Center, tilgået 22. oktober 2026
- Hide a page from search engines (åbner i en ny fane), Shopify Help Center, tilgået 22. oktober 2026
- Finding and submitting your sitemap (åbner i en ny fane), Shopify Help Center, tilgået 22. oktober 2026
- SEO overview (åbner i en ny fane), Shopify Help Center, tilgået 22. oktober 2026
- Adding keywords to your store (åbner i en ny fane), Shopify Help Center, tilgået 22. oktober 2026
- Adding and updating products (åbner i en ny fane), Shopify Help Center, tilgået 22. oktober 2026
- URL redirects (åbner i en ny fane), Shopify Help Center, tilgået 22. oktober 2026
- Online store preferences (åbner i en ny fane), Shopify Help Center, tilgået 22. oktober 2026
- Liquid filters: structured_data (åbner i en ny fane), Shopify, tilgået 22. oktober 2026
- Liquid filters: within (åbner i en ny fane), Shopify, tilgået 22. oktober 2026
- Dawn theme: snippets/meta-tags.liquid (åbner i en ny fane), Shopify på GitHub, tilgået 22. oktober 2026
- Settings Reading screen (åbner i en ny fane), WordPress.org-dokumentation, opdateret 8. juni 2024
- Media Library screen (åbner i en ny fane), WordPress.org-dokumentation, opdateret 6. juni 2024
- New XML sitemaps functionality in WordPress 5.5 (åbner i en ny fane), Make WordPress Core, 22. juli 2020
- rel_canonical() (åbner i en ny fane), WordPress developer reference, tilgået 22. oktober 2026
- Permalinks (åbner i en ny fane), WooCommerce-dokumentation, tilgået 22. oktober 2026
- WooCommerce 9.2: A better experience for all users (åbner i en ny fane), WooCommerces udviklerblog, august 2024
- class-wc-structured-data.php (åbner i en ny fane) og wc-template-functions.php (åbner i en ny fane), WooCommerce på GitHub, kontrolleret mod version 11.2.1, oktober 2026
Alle guides
- Core Web Vitals for webshops: LCP, INP og CLS forklaretHvad LCP, INP og CLS måler, grænserne for god og dårlig ved 75. percentil, labdata vs. feltdata og de typiske rettelser i Shopify- og WooCommerce-webshops.
- European Accessibility Act og webshops: det gælder fra juni 2025Siden 28. juni 2025 gælder tilgængelighedsdirektivet (EAA) for webshops med EU-kunder: hvem er omfattet, mikrovirksomheder, EN 301 549, WCAG og oplysningskrav.
- Fået et ADA-kravbrev om din hjemmeside? Det skal du tjekke førstHvad ADA-kravbreve påstår, WCAG’s rolle, hvad du skal samle, hvorfor overlays ikke retter koden, og hvornår du skal have advokat. Ikke juridisk rådgivning.