Shopify SEO Guide – Part 2
I mit første indlæg om Shopify – og Shopify SEO beskrev jeg platformen og nogle af de særlige udfordringer, svagheder og muligheder den giver. I dette indlæg vil jeg gå mere i dybden med hvordan du optimerer din Shopify-webshop bedst muligt.
I dette afsnit af guiden skal vi bl.a. se på :
- Hvordan du sikrer den bedst mulige indeksering af din Shopify webshop
- Hvordan du håndterer redirects i Shopify
- Hvordan du fjerner teknisk Duplicate Content i Shopify
- Hvordan du optimerer produktvarianter i Shopify
- Hvordan du optimerer billeder i Shopify
Husk også at læse første afsnit af Shopify SEO Guden her.
Hvad er Shopify SEO?
SEO er i princippet ikke afhængig af hvilken platform du bruger. Google er ligeglad. Og det er dine kunder sådan set også. Bare skidtet virker.
Det er de samme faktorer Google kigger på uanset om du bruger Shopify eller en anden platform.
Så når vi snakker om “Shopify SEO” så handler det om de særlige forhold på Shopify, som enten giver specielle udfordringer eller muligheder.
I forhold til tekster, user engagement og links er der i princippet ingen forskel på Shopify SEO og al anden SEO.
Som med alle andre platforme har Shopify nogle styrker – som du kan vælge at udnytte i mere eller mindre grad, men også nogle svagheder, som du bør forsøge at fikse, eller kompensere for, bedst muligt. I dag skal vi se nærmere på en masse af det …
Indeksering af Shopify Webshops
Et af de første skridt i arbejdet med SEO er, at sikre en korrekt indeksering. Målet er, at alle de sider du ønsker indekseret bliver det – og kun dem.
Som udgangspunkt er der ikke problemer med at få en Shopify Webshop indekseret. Google kan sagtens crawle siderne, læse tekst og links. med mindre du har lavet et virkelig skidt tema.
Det som er vigtigt er, at du får opbygget en god navigationsstruktur, så Google kan klikke sig vej til alle dine sider. Men det skal brugerne jo også kunne. Så det går jeg næsten ud fra, at du har nogenlunde styr på.
Et vigtigt navigationselement er bredcrumbs. Hvis de er kodet med korrekt Schema-data fremhæves disse også som regel som Rich Snippets i Googles søgeresultater.
Shopify laver automatisk XML-sitemaps til alle sidetyper. Der ligger et sitemap index på /sitemap.xml med links til individuelle sitemaps for:
- Produkter
- Kategorier (collections)
- Pages (almindelige indholds-sider)
- Blog posts
Man kan desværre ikke fravælge XML-sitemaps. Der kan ellers godt være situationer, hvor det kan være en fordel ikke at have dem. Og da Shopify automatisk henviser til de genererede sitemaps i Robots.txt finder Google dem uanset om du submitter dem (via Search Console) eller ej.
Der er ikke som standard indbygget mulighed i Shopify for udelukkelse af bestemte sider fra indeksering, eller sektioner, med META-robots. Du kan heller ikke, som standard, fjerne sider fra dine XML-sitemaps.
Men det kan godt lade sig gøre. Det kræver så enten en app – som f.eks. denne, eller at du selv koder en løsning. Men jeg savner lidt en løsning, som på en mere enkel måde kan håndtere administrationen af både META-robots, robots.txt og XML-sitemaps. Men det må jeg jo så måske få lavet …
Det er i princippet let nok at tilføje META-robots til en bestemt template – f.eks. din search template. Du kan bruge følgende kode i din tema-file.
{% if template contains 'search' %}
<meta name="robots" content="noindex">
{% endif %}
Hvis du ønsker blot at udelukke nogle få sider, kan det også gøres direkte i template koden. Er der mange, bliver det dog hurtigt en lidt bøvlet metode.
{% if handle contains 'page-handle-you-want-to-exclude' %}
<meta name="robots" content="noindex">
{% endif %}
I modsætning til hvad jeg skrev i mit første indlæg om Shopify SEO, så er der nu en mulighed for at redigere robots.txt. Det er dog en smule mere besværligt end på mange andre platforme. Det skyldes at Shopify automatisk – fra tid til anden, opdaterer den automatisk. Så hvis du bare rettede i en tekstfil ville den blive overskrevet.
Så derfor skal ændringer i din robotrs.txt file kodes via en liquid-file. Den kan du oprette under kode redigering. Du kan læse en mere detaljeret guide om hvordan du gør det her.
Der kan være mange situationer, hvor du gerne vil fjerne sider fra enten crawling eller indeksering – og disse skal naturligvis heller ikke inkluderes i dine XML-sitmaps. Det kan f.eks. være duplikerede sider, sider med tyndt indhold, eller sider der bare ikke egner sig til direkte besøg fra søgemaskinerne.
Som altid anbefaler jeg meget, at du holder nøje øje med din indeksering i Google Search Console. fejl bør rettes hurtigt.
Redirects i Shoppify
I modsætning til mange af de andre udfordringer jeg nævner i denne guide er muligheden for at redirecte sider indbygget som standard i Shoppify. Det er godt.
Du finder det under: Online Store -> Navigation -> URL Redirects
Desværre kan man kun redirecte sider, som er nedlagt. Det vil sige, at du skal slette en side inden du kan redirecte den. Så du skal være sikker inden du gør det.
Du kan heller ikke styre hvilken type redirect der bruges. Det er altid en 301 – hvilket så også normalt er den type du skal bruge. Men alligevel ville det være rart (for sådan en nørd som jeg) selv at kunne vælge.
Har du behov for mange rediretcs – f.eks. ved flytning af et website kan du uploade en samlet liste.
Duplicate Content i Shopify
Duplicate Content er en betegnelse vi bruger om indhold der helt eller delvist kan findes via flere forskellige unikke URL’er.
Da Google ikke ønsker at indeksere så godt som det samme indhold på flere adresser vil de forsøge, at fjerne dupletterne og kun indeksere en enkelt version. Problemet er, at de ikke altid gætter rigtigt og indekserer lige den version der er bedst for dig.
Denne form for Duplicate Content filtrering betyde, at Google generelt opfatter dit website som mindre godt. Det kan gå ud over synligheden af alle dine sider – også dem der ikke direkte har Duplicate Content problemer.
Det er derfor meget vigtigt at du i så høj grad som muligt får renset din website for Duplicate Content.
Man kan groft sagt opdele Duplicate Content i to dele:
- Redaktionelt Duplicate Content
- Teknisk Duplicate Content
Som med de fleste andre platforme er der også på Shopify en del problemer med Duplicate Content. Men det kan læses, så lad os se lidt nærmere på det.
Redaktionelt Duplicate Content
Redaktionelt Duplicate Content kan opstå, hvis du bruger de samme tekster på tværs af sider.
Det kunne f.eks. være dine produktbeskrivelser, hvor du f.es. bruger samme beskrivelse af produkter der minder om hinanden, eller bruger den beskrivelse du har fået fra din leverandør – og som mange andre også bruger på deres webshops.
Redaktionelt Duplicate Content er i princippet uafhængigt af den platform du bruger. Det handler mere om hvordan du administrerer dit indhold. Så den del vil jeg ikke gå mere i dybden med i denne omgang. Lad os i stedet for se lidt nærmere på teknisk Duplicate Content.
Teknisk Duplicate Content
Teknisk Duplicate Content opstår fordi der findes flere unikke URL’er der peger på det samme indhold.
Dette problem optræder som udgangspunkt i de fleste Shopify webshops fordi produkter vises både direkte under /products/ og under de kategorier (som Shopify kalder “collections”) de findes i.
OBS: Jeg har ikke noget med nedenstående webshop at gøre. Det er blot et eksempel.
Eksempel:
– begge URL’er viser samme side
- https://slikhaarshop.com/products/by-vilain-silver-fox
- https://slikhaarshop.com/collections/best-selling/products/by-vilain-silver-fox
Shopify har ganske vidst indsat CANONICAL-tag, der peger på den URL der ligger direkte under /products/.
Problemet med denne løsning er bare, at den ikke som sådan fjerner Duplicate Content-problemet. Det duplikerede indhold findes stadig. CANONICAL-tags kan blot hjælpe Google med at identificere den rigtige version, men du kan aldrig være sikker.
I det sidste årstid har jeg desværre oplevet mange problemer i Google med CANONICAL-tags. Ofte fortolkes de ikke korrekt og så står websitet tilbage med lorten – og den svækkede synlighed det kan føre til.
Og for at gøre det hele værre så linker Shopify (som udgangspunkt) ofte til den “forkerte” URL fra kategorisiderne – den der ligger under /collections/.
Det sender naturligvis et temmelig forvirrende signal til Google – her er et link til vores produkt, men iøvrigt skal I ikke indeksere det men bruge en anden URL. Det er noget skidt.
Jeg anbefaler altid, at forhold som dette løses på en bedre måde end blot med CANONICAL-tags. Det skal vi se lidt nærmere på nedenfor.
Et andet meget udbredt Duplicate Content problem på Shopify webshops er pagineringen på collections-sider. Når man klikker tilbage til den første side tilføjes parameteret ?page=1 som udgangspunkt. Dermed findes denne side i to versioner – med og uden ?page=1.
Dette kan heldigvis også rettes i Shopify.
Produktvarianter kan også udgøre et Duplicate Content problem i Shopify. Ofte er der kun meget lille forskel på varianterne – f.eks. farve eller størrelse.
Dette er dog en anelse mere tricky. For produktvarianter er ikke nødvendigvis altid et problem (hvis du overhovedet bruger det), det afhænger blandt andet af:
- Er der mange af dine potentielle kunder som søger direkte på produktvarianter (f.eks. “gule strømper med blomster” og “blå strømper med blomster”)?
- Har du resurser til at skrive tilstrækkeligt med unikt indhold til hver enkel produktvariant, så de ikke bliver filtreret ud som Duplicate Content?
Som regel oplever jeg, at der er meget få søgninger på produkt-varianter. Derimod kan der være mange søgninger på produkt-kategori varianter. Men det bør løses på kategori-niveau (mere om det om lidt).
Sådan fjerner du teknisk Duplicate Content i din Shopify Webshop
Ovenfor har jeg beskrevet tre af de vigtigste tekniske Duplicate Content problemer med Shopify Webshops. Så lad os se lidt nærmere på hvordan du kan fikse disse problemer.
Vis kun produkter under /products/
Den bedste løsning på problemet med, at produkter kan findes på flere URL’er er, at rette det i dine templates, så de kun vises i roden af /products/ mappen.
For at gøre det kommer du ikke udenom, at skulle rode lidt i koden.
Helt nøjagtigt hvilken template fil du skal rette i afhænger af temaet. Men i nogle temaer hedder den “product-grid-item.liquid”. Her skal du finde det sted i koden, hvor der linkes til produkter. Det kan f.eks. se således ud:
<a href="{{ product.url | within: current_collection }}" class="product-grid-item">
Du skal så fjerne denne del af koden: “| within: current_collection }}”, så du ender med dette:
<a href="{{ product.url }}" class="product-grid-item">
Det skal bemærkes, at nogle temaer måske allerede har gjort dette for dig. Jeg har f.eks. konstateret, at det er tilfældet i det nye Shoppify Online Store 2.0 tema Dawn. Så måske har Shoppify indset, at det trods alt er bedst.
Dette fjerner dog ikke de andre versioner – under /collections/. De eksisterer stadig. Men disse varianter inkluderes ikke i de automatisk genererede XML-sitemap (mere om det om lidt) og da der ikke længere linkes til dem på din webshop vil det sandsynligvis ingen problemer give.
Optimering af produktvarianter
I forhold til produktvarianter er problematikken som sagt lidt mere tricky. Det er løsningerne desværre også.
Som udgangspunkt sætter Shopify CANONICAL-tag på alle produktvarianter. Således bør det – hvis Google ellers læser og bruger de implementerede CANONICAL-tags korrekt, kun være den primære version der bruges. Det er som sagt bare ikke altid Google gør det. Men hvad gør man så?
Jeg synes den bedste løsning er, at flytte varianterne til klient-laget, sådan lidt fornklet sagt. Lad mig forklare lidt nærmere.
Som standard har hver variant sin egen URL, som med parameteret ?variant= angiver hvilken der er valgt. Når en variant vælges sendes forespørgslen til serveren, der så returnerer produktsiden med den valgte variant.
Med en klient-baseret løsning klares dette i klient-laget. Det betyder i praksis, at forespørgslen ikke sendes til serveren, men i stedet for udskifter indholdet direkte i browserens klient-lag.
For at sikre, at man stadig kan linke direkte til produktvarianter, kan der så dynamisk tilføjes variant ID med # frem for ?.
Informationer efter # er interne referencer – henvisninger til et punkt (en ID) på en side. I modsætning til ?-parametre er der således ikke tale om en ny side. Og sådan opfatter Google det også.
Så uanset hvor mange varianter der findes af en side – adskilt med #, opfatter Google det som en enkelt side og indekserer kun denne.
Der findes ikke i Shopify en standard-løsning til en klient-baseret model som beskrevet ovenfor og jeg har heller ikke kunne finde apps der gør det. Jeg har snakket med nogle udviklere om at lave en specialløsning til dette for en af mine kunder. Det kunne de godt, men ikke uden at det ville gå alvorligt ud over hastigheden.
Så lige i første omgang har jeg droppet det på de shops jeg arbejder med. Men jeg giver ikke op og håber på, at kunne få en løsning på plads på inden så længe. Måske endda i form af en app, som du så også kan bruge.
Men hvad så hvis du gerne vil have alle varianterne indekseret?
En løsning er, at oprette alle varianterne som selvstændige produkter. Men det er ikke en særlig elegant løsning – det tager længere tid, og man kan så ikke se varianterne samlet på produktsiden.
Der er ikke som standard en løsning i Shoppify til, at lave unikke beskrivelser til hver enkel variant. Men der findes apps som kan klare det – f.eks. denne (som jeg dog ikke selv har testet ordentligt endnu).
Såvidt jeg kan se fjerner denne app dog ikke de automatisk implementerede CANONICAL-tags på varianter. Så selvom du med ovenstående app får mulighed for at skrive unikke beskrivelser, giver den ikke mulighed for indeksering af dem. Der mangler også muligheden for at gøre gøre TITLE og H1-headline unikke for alle varianter.
Så det ryger også lige på listen over apps, som jeg måske bør få lavet … Indtil da kan du, hvis du selv eller dine udviklere kan finde ud af det, nok godt lave en custom-løsning.
Optimering af billeder i Shopify
En af de rigtig fede ting ved Shopify er, at de er begyndt helt automatisk at levere billeder i de mest optimale formater. Således får både webbrowsere der understøtter det og Google billeder i WebP-format. Og i dine templates kan du selv definere om du vil bruge traditionelle JPEGs eller progressive.
Det er blandt andet det, som er med til at give de gode hastigheds-scores, som jeg demonstrerede i mit første indlæg om Shopify SEO.
Nedenstående tal er fra min egen nye (keramik) webshop – endda med det “gamle” Shopify tema Debut. Med det nye Online Shop 2.0 tema Dawn bliver det endnu hurtigere.
Så langt så godt. Men du kan og bør stadig gøre mere for at optimere dine billeder. For nogle webshops kan det være en meget vigtig kilde til mere trafik.
Jeg arbejder for tiden bl.a. med en større webshop der sælger modetøj. Med forholdsvis enkle forbedringer har er shoppen gået fra 50 til over 100 daglige besøgende fra billedresultater i Google. Og det er ikke usædvanligt for webshops, der sælger produkter hvor det visuelle er vigtigt.
På mange søgninger indenfor både modebranchen, og mange andre, viser Google billedresultater direkte blandet ind i de almindelige søgeresultater. Derudover er der mange, som går direkte til Googles billedsøgning, når de skal finde inspiration til f.eks. nyt tøj.
Ikke alene er det en god kilde til en masse ekstra trafik. Den slags søgninger konverterer typisk også rigtig godt.
Angiv størrelsen på billeder rigtigt
Jeg har desværre oplevet, at nogle billeder, på nogle templates ikke eksplicit angiver størrelsen den bruges i. Selv på Shopify’s nuværende standard template Debut er det et problem, hvis du bruger et billede som top-logo.
Det kan man så naturligvis rette i koden på sine templates, men det skal man så huske!
Alt efter hvilket tema du bruger kan der være andre steder hvor det samme problem eksisterer. Det bør du rette. For hvis ikke højde og bredde eksplicit angives, kan det gøre indlæsningen lidt langsommere – og det skader din hastigheds-score i Google.
Komprimering af billeder i Shopify
Shopify komprimerer automatisk dine billeder. Men det kan ofte gøres bedre. Og da billeder ofte er en af de væsentligste årsager til langsomme websites kan det bestemt anbefales.
Der findes heldigvis mange apps til billedkomprimering på Shopify App Store – f.eks. AVADA SEO: Image Optimizer som iøvrigt er gratis, hvis du kan nøjes med at optimere 50 billeder om måneden.
Dette, og tilsvarende plugins, sørger så også for at der bliver genereret den korrekt Schema-data. Det er også godt.
Redaktionel optimering af billeder
Google ser ikke indholdet på billeder og forsøger at fortolke det. Det eneste de har til at matche dem korrekt med søgninger på er således:
- Teksten på den side de optræder på
- Billedfilens navn
- ALT-teksten
Teksten på siden vil normalt give sig selv. med mindre, naturligvis, at der slet ingen tekst er – men så har du et helt andet og meget mere alvorligt problem.
Et billede af en blomstret kjole vil helt naturligt være på en side, hvor der også i teksten – måske endda i både overskrift, TITLE, META-description of anden tekst, står netop “blomstret kjole”.
De to andre elementer skal du være lidt mere bevidst om og målrettet med.
Det første er billefilens navn. Den skal du angive inden du uploader dine billeder!
Meget ofte vil dine billeder som udgangspunkt bare have et filnavn noget i retning af img_123.jpg. Men uanset om du redigerer i dem inden upload eller ej, bør du ændre navnet.
Er det f.eks. den føromtalte blomstrede kjole, så bør det indgå i filnavnet så det f.eks. bliver: blomstret-kjole.jpg
Sælger du mange blomstrede kjoler må du gerne tilføje et ID. Det kunne f.eks. ende som: blomstret-kjole-1234.jpg
I navngivningen af dine billedfiler skal du bruge samme standarder, som jeg altid prædiker – herunder:
- Brug dine keywords i filnavnet
- Udelad gerne stop-ord (hvem, hvad, det, med, at osv)
- Brug bindestreg (-) mellem ord frem for understregning (_)
- Brug ikke danske (eller andre ikke-ASCII) tegn – omskriv danske tegn fonetisk
- Skriv dine keywords først – og evt. ID til sidst
ALT-teksten er det sidste element du skal optimere på dine billeder. For hvert eneste billede du bruger på Shopify kan du angive denne tekst.
ALT-teksten vises normalt ved mouse over på billedet, men bruges også af svagtseende der bruger skærmlæserprogrammer – og altså Google. Så det er et meget vigtigt element.
Nedenfor kan du se et eksempel på et produktbillede jeg har optimeret. Som du kan se heder produktet: “Blue Wood Fired Vase with Textures”. Det er også det navn (uden with, der er et stoord), som jeg har brugt i filnavnet, efterfulgt af et ID og det samme jeg har skrevet i ALT-teksten.
På produktbilleder vil netop produktets fulde navn – og eventuelle kategori normalt være fint at bruge. Det beskriver jo billedet korrekt, så både Google og (andre) svagtseende kan forstå hvad der er på det.
Meget mere Shoppify SEO …
Denne artikel, og den første i Shopify SEO-serien dækker naturligvis ikke alle SEO-udfordringer og -muligheder med Shopify. Men der er mere på vej …
Efterhånden som jeg får gravet mig endnu dybere ned i Shopify kommer jeg til at skrive meget mere. I de kommende indlæg skal vi bl.a. se nærmere på hvordan man bedst håndterer websites på flere sprog, hvordan du kan optimere dine Shopify designs – både i forhold til SEO og konverteringer, hvordan du kan udnytte alle de mange Online Shop 2.0 features og meget mere.
Har du spørgsmål så skriv dem meget gerne i kommentarfeltet nedenfor. Har du brug for hjælp, så kontakt mig på telefon: 22 27 07 10, eller email: mikkel@demib.com så tager vi en uforpligtende snak.
Michael skriver
” En løsning er, at oprette alle varianterne som selvstændige produkter. Men det er ikke en særlig elegant løsning – det tager længere tid, og man kan så ikke se varianterne samlet på produktsiden. ”
Man kan implementere det koncept der hedder linked products for at imødekomme denne udfordring. Vi har grundet vores lidt specielle produkter netop oprettet hver farve for sig og linket dem så de vises i en farvevælger på alle produktsiderne.
Det kunne være fedt hvis du fik udviklet nogle apps til nogle af de udfordringer vi har til daglig. Vær dog opmærksom på at det kræver en del at supportere apps (medmindre du tænker på unlisted apps)
Mikkel deMib Svendsen skriver
Tak og ja, der kan naturligvis findes på mange kreative løsninger, men de bliver hurtigt lidt bøvlede at administrere – ikke mindst hvis man (som nogle af mine kunder) har tusindvis af varer 🙂
Og ja, jeg kender godt til udfordringerne med Shopify Apps, men det skal vi nok klare. Vi er i fuld gang med de indledende øvelser.