Nødsituasjon

I nødstilfeller eller ved driftsstans kan du sende en SMS til vår nødtelefon

Vakttelefon (kun SMS)

+45 29 70 15 95

Send en SMS med følgende informasjon:

  • Ditt navn og nettbutikk
  • Beskrivelse av problemet
  • Telefonnummeret ditt for tilbakeringing

Notater: Denne tjenesten er kun for kritiske situasjoner der nettbutikken din er nede eller har alvorlige problemer. For vanlig support, vennligst bruk våre normale supportkanaler.

Implementer strukturerte data (Schema.org) i Shoporama-temaet ditt

Komplett veiledning til JSON-LD-strukturerte data i et Shoporama-tema. Smarty-eksempler for Product, Store, BreadcrumbList og AggregateRating med riktige sikre metoder.

Lesetid: ca. {åtte} minutter
Shopejer Utvikler

Strukturerte data (Schema.org) hjelper Google og andre søkemotorer med å forstå innholdet på sidene dine. For en nettbutikk er det spesielt relevant å merke produkter, butikkinformasjon, brødsmuler og produktomtaler slik at du kan oppnå rich snippets i søkeresultatene, for eksempel pris, lagerstatus og stjernerangering.

Tips: Shoporama legger automatisk til grunnleggende Schema.org-merking for produkter via våre innebygde SEO-funksjoner. Les mer om automatisk strukturerte data og SEO i Shoporama. Denne artikkelen er for deg som ønsker å bygge eller utvide markeringen selv i temaet ditt.

Hva er strukturerte data?

Strukturerte data er en standardisert måte å beskrive sideinnhold på i et format som søkemotorer forstår. JSON-LD er det anbefalte formatet og plasseres i en <script type="application/ld+json">-tag. Det påvirker ikke sidens visuelle utseende, men gir søkemotorene strukturert informasjon som kan brukes til rich snippets.

De riktige sikre metodene på SafeProduct, SafeWebshop og SafeCompany

Før du bygger din egen JSON-LD-oppmerking, er det viktig å kjenne til de sikre metodene som faktisk finnes på objektene i et Shoporama-tema. Dette er de stabile metodene du kan bruke i Smarty.

$product (SafeProduct):

  • getName(), getDescription( ), getOwnId(), getGtin(), getMpn(), getBrandName()
  • getPrice(), getSalePrice(), getRealPrice(), getLowest30DayPrice()
  • getStockCount() og getIsInStock()
  • getImage( ) og getImages ( ) returnerer SafeImage med getSrc($w, $h, $type)
  • getAvgRating($no_round), getReviewCount(), getProductReviews($limit)
  • getUrl() gir den relative banen til produktet

$webshop (SafeWebshop):

  • getName(), getDescription(), getCurrency(), getUrl(), getLogo ()
  • getCompany() returnerer SafeCompany

$webshop->getCompany() (SafeCompany):

  • getName(), getRegNr(), getEmail(), getPhone()
  • getAddress(), getZipcode(), getCity(), getCountry()

Merk: Ikke bruk $product->getStock(), $product->getAverageRating(), $webshop->getCurrencyCode(), $webshop->getDomain(), $webshop->getEmail () eller $webshop->getPhone ( ). De finnes ikke som sikre metoder, og temaet ditt vil mislykkes. Bruk i stedet getStockCount(), getAvgRating(), getCurrency(), getUrl () og getCompany()->getEmail()/getPhone().

Produktoppmerking (Produkt)

Den viktigste typen for en nettbutikk er produktmarkeringen. Sett inn blokken i produktmalen din (vanligvis product/view.html):

<script type="application/ld+json"> { "@context": "https://schema.org","@type":"Product","name":"<{$product->getName()|escape:'javascript'}>","description":"<{$product->getDescription()|strip_tags|escape:'javascript'}>","sku":"<{$product->getOwnId()|escape:'javascript'}>", <{{if $product->getGtin()}> "gtin": "<{$product->getGtin()|escape:'javascript'}>", <{/if}> <{if $product->getMpn()}> "mpn": "<{$product->getMpn()|escape:'javascript'}>", <{/if}> <{if $product->getBrandName()}> "brand": {"@type":"Brand", "name":"<{$product->getBrandName()|escape:'javascript'}>" }, <{/if}> <{if $product->getImage()}> "image": "<{$product->getImage()->getSrc(800, 800, 'fit')}>", <{/if}> "offers": {"@type":"Offer", "url": "<{$webshop->getUrl()}><{$product->getUrl()}>>", "price": "<{$product->getRealPrice()|string_format:"%.2f"}>", "priceCurrency": "<{$webshop->getCurrency()}>", "availability": "<{if $product->getStockCount() > 0}>>https://schema.org/InStock<{else}>https://schema.org/OutOfStock<{/if}>" } </script>

Tre viktige punkter i eksempelet:

  • Pris hentes med getRealPrice(), slik at eventuell salgspris og rabatt inkluderes, og merverdiavgift legges til.
  • Valuta hentes med getCurrency( ) på $webshop (returnerer f.eks. "DKK" eller "EUR").
  • Lagerstatus bestemmes med getStockCount(). Du kan også bruke getIsInStock() hvis du vil tillate salg av lagerførte produkter med 0 på lager.

Forhåndspris (Omnibus-direktiv)

Hvis produktet er på salg, anbefaler Google at du viser den laveste prisen de siste 30 dagene som referansepris. Bruk getLowest30DayPrice() for å hente den. Den returnerer null hvis det ikke finnes nok prishistorikk.

Produktanmeldelser (AggregateRating)

Hvis du bruker Shoporamas innebygde vurderingssystem, kan du legge til en gjennomsnittlig vurdering direkte i produktmarkeringen. Dette kan gi stjerner i Googles søkeresultater. Sett inn blokken inne i produktobjektet:

<{if $product->getReviewCount() > 0}>, "aggregateRating": {"@type":"AggregateRating", "ratingValue":"<{$product->getAvgRating(true)|string_format:"%.1f"}>", "reviewCount": "<{$product->getReviewCount()}>" } <{/if}>

True-parameteren til getAvgRating() gir et ikke-avrundet gjennomsnitt, som Google foretrekker (f.eks. 4,3 i stedet for bare 4).

Butikkinformasjon (Store / LocalBusiness)

Du kan også merke selve nettbutikken, for eksempel i bunntekstmalen. Hent kontaktdata fra $webshop->getCompany(), slik at informasjonen du allerede har angitt under Innstillinger, Bedriftsinformasjon, automatisk blir inkludert:

<{$company = $webshop->getCompany()}> <script type="application/ld+json"> { "@context": "https://schema.org", "@type":"Store", "name":"<{$webshop->getName()|escape:'javascript'}>", "url": "<{$webshop->getUrl()}>" <{if $company}> , <{if $company->getEmail()}> "email": "<{$company->getEmail()|escape:'javascript'}>", <{/if}> <{if $company->getPhone()}> "phone": "<{$company->getPhone()|escape:'javascript'}>", <{/if}> "address": {"@type":"PostalAddress", "streetAddress": "<{$company->getAddress()|escape:'javascript'}>", "postalCode": "<{$company->getZipcode()|escape:'javascript'}>", "addressLocality": "<{$company->getCity()|escape:'javascript'}>", "addressCountry": "<{$company->getCountry()|escape:'javascript'}>" } <{/if}> <{if $webshop->getLogo()}> , "logo": "<{$webshop->getLogo()->getSrc(400, 400, 'fit')}>" <{/if}> }

Sørg for at firmaopplysningene er fylt ut riktig i admin under Innstillinger, Firmaopplysninger. Hvis du har en fysisk butikk, kan du bruke LocalBusiness eller en mer spesifikk undertype (f.eks. ClothingStore) som @type.

Brødsmuler (BreadcrumbList)

På produkt- og kategorisider er det god SEO-praksis å markere brødsmuler. Eksempel for et produkt med hovedkategori:

<{if $product->getMainCategory()}> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { { "@type": "ListItem", "position": 1, "name": "<{$webshop->getName()|escape:'javascript'}>", "item": "<{$webshop->getUrl()}>" }, { "@type":"ListItem", "position": 2, "name": "<{$product->getMainCategory()->getName()|escape:'javascript'}>", "item": "<{$webshop->getUrl()}><{$product->getMainCategory()->getUrl()}>" }, { "@type": "ListItem", "position": 3, "name": "<{$product->getName()|escape:'javascript'}>", "item": "<{$webshop->getUrl()}><{$product->getUrl()}>" } ] } } </script> <{/if}

Test de strukturerte dataene dine

Bruk Google og Schema.org-verktøyene til å validere markeringen din før du går live:

  • Rich Results Test sjekker om markeringen din gir rich snippets i Google
  • Schema Markup Validator validerer JSON-LD-syntaksen
  • I Google Search Console kan du se rapporter om produktene dine og rike resultater etter at sidene har blitt gjennomsøkt

Tips: Hvis du allerede har aktivert automatisk strukturerte data i Shoporama, må du passe på å unngå duplikater. Sjekk hva som allerede finnes på siden før du legger til din egen markering.

Ofte stilte spørsmål

Trenger jeg å kode JSON-LD selv?

Nei, ikke nødvendigvis. Shoporama har innebygde automatiske strukturerte data for produkter, og det dekker det meste. Egen koding er hovedsakelig relevant hvis du vil legge til flere felt eller bruke en mer spesifikk @type, for eksempel for hoteller, restauranter eller arrangementer.

Hvilke skjematyper kan jeg bruke i tillegg til Produkt?

I et Shoporama-tema kan du bygge alle Schema.org-typer som finnes som JSON-LD. De mest brukte for e-handel er Product, Offer, AggregateRating, Review, BreadcrumbList, Store, LocalBusiness, Organisation, WebSite with SearchAction og FAQPage for faste FAQ-sider.

Hvorfor får jeg feil i Rich Results Test?

Typiske feil er manglende felter (f.eks. pris uten priceCurrency), feil formatering av tall eller anførselstegn som bryter JSON-syntaksen. Bruk alltid |escape:'javascript' på alle tekstverdier i Smarty.

Hvor lang tid tar det før jeg ser stjerner i Google?

Google må gjennomsøke siden på nytt før den nye markeringen brukes. Dette kan ta fra noen dager til noen uker. I Search Console kan du be om rask reindeksering av individuelle sider.

Påvirker det rangeringen min i Google?

Strukturerte data er ikke en direkte rangeringsfaktor, men rich snippets som pris og stjerner gjør søkeresultatet ditt mer synlig og kan øke klikkfrekvensen. I det lange løp bidrar det til å forbedre den generelle SEO-en din.

Hvordan håndterer jeg moms i prisfeltet?

Bruk getRealPrice(), som returnerer prisen inkludert mva. Dette er prisen kunden ser i butikken, og prisen Google forventer i produktmarkeringen i en B2C-butikk. Hvis du trenger å vise prisen ekskl. mva. (B2B), bruker du getPriceExVat() i stedet.

Trenger jeg anmeldelser før jeg viser AggregateRating?

Ja, det trenger du. Legg bare til AggregateRating hvis produktet faktisk har anmeldelser. Eksemplet ovenfor sjekker getReviewCount() > 0, slik at det ikke legges til merking for produkter uten anmeldelser. Falske eller tomme vurderinger kan utløse en straff fra Google.

Hvor finner jeg bedriftsopplysningene mine for butikkmarkering?

Gå inn i administratoren under Innstillinger, Bedriftsdetaljer. Dataene du fyller inn her blir tilgjengelige via $webshop->getCompany() i temaet ditt, slik at Store-blokken fylles ut automatisk.

Hvor skal JSON-LD-en plasseres på siden?

Du kan plassere den enten i <head> eller i <body>. Begge er gyldige i henhold til Google. For produktsider er det vanlig å plassere den nederst i produktmalen.

Nettbutikken min selger på flere språk. Trenger jeg markering per språk?

Ja, navnene og beskrivelsene i markeringen bør gjenspeile siden kunden ser på. Siden $product->getName() og $product->getDescription() automatisk returnerer den oversatte teksten for det aktive språket, skjer dette automatisk når du bruker eksemplene her.

Trenger du hjelp med strukturerte data? Kontakt oss på support@shoporama.dk.