Ugentlig SEO Q&A - Hump Day Hangouts - Afsnit 91

Jeg følger Googles officielle eksempler for at gøre JSON-LD-markering til anmeldelser og test i Googles testværktøj til strukturerede data.

Når der oprettes en liste med anmeldelser for den samme organisation (alle anmeldelser handler om den samme organisation), viser testværktøjet duplikater.

For eksempel to anmeldelser af det samme Thing (en bog) bestå testen OK:

<script type='application/ld+json'> [{ '@context': 'http://schema.org/', '@type': 'Review', 'itemReviewed': { '@type': 'Thing', 'name': 'Super Book' }, 'author': { '@type': 'Person', 'name': 'Joe' }, 'reviewRating': { '@type': 'Rating', 'ratingValue': '8', 'bestRating': '10' }, 'publisher': { '@type': 'Organization', 'name': 'Washington Times' } }, { '@context': 'http://schema.org/', '@type': 'Review', 'itemReviewed': { '@type': 'Thing', 'name': 'Super Book' }, 'author': { '@type': 'Person', 'name': 'Jane' }, 'reviewRating': { '@type': 'Rating', 'ratingValue': '7', 'bestRating': '10' }, 'publisher': { '@type': 'Organization', 'name': 'Washington Times' } }] </script> 

Resultater: Google registrerer korrekt to anmeldelser af en bog med en enkelt henvisning til bogenavnet i hver anmeldelse.

Nu skifter jeg bare Thing til Organization, og hvad jeg får, er et rod.

<script type='application/ld+json'> [{ '@context': 'http://schema.org/', '@type': 'Review', 'itemReviewed': { '@type': 'LocalBusiness', '@id': 'www.some-url.com', 'name': 'Company Name' }, 'author': { '@type': 'Person', 'name': 'Jack' }, 'reviewRating': { '@type': 'Rating', 'ratingValue': '5', 'bestRating': '5' }, 'publisher': { '@type': 'Organization', '@id': 'www.some-url.com', 'name': 'Company Name' } }, { '@context': 'http://schema.org/', '@type': 'Review', 'itemReviewed': { '@type': 'LocalBusiness', '@id': 'www.some-url.com', 'name': 'Company Name' }, 'author': { '@type': 'Person', 'name': 'Jane' }, 'reviewRating': { '@type': 'Rating', 'ratingValue': '4', 'bestRating': '5' }, 'publisher': { '@type': 'Organization', '@id': 'www.some-url.com', 'name': 'Company Name' } } ] </script> 

Outputtet i testværktøjet viser flere referencer til organisationsnavnet:

Fire gange for to anmeldelser. Når jeg tilføjer hundrede anmeldelser, vil hver indeholde hundredvis af referencer til organisationen.

Hvorfor er det sådan et rod? hvis dette påvirker koden, hvordan løser det det?

Nu skifter jeg bare Thing til Organization, […]

Dette var ikke den eneste ændring. Dit andet eksempel indeholder også en @id for hver knude om virksomheden.

Det er en god praksis at give sådanne node-identifikatorer. I dit tilfælde formidler det, at alle anmeldelser handler om det samme firma, og at det anmeldte firma også er forlagsfirmaet.

Det bør ikke være relevant hvordan Googles SDTT viser det, så længe det ikke viser noget, der er forkert. Det ser ud til at vise alle egenskaber fra alle noder med det samme @id, selvom de har den samme værdi (som de typisk skulle have). Det er bare et skærmproblem, intet galt med dine data.

Alternativ: reference i stedet for at integrere

Der er en måde, der ikke kræver, at du tilføjer en fuld node, hver gang du vil sige noget om virksomheden: brug @id for at henvise til den fulde node.

Dette sparer ikke kun plads og undgår mulige datadubliseringsproblemer, det slipper også skærmproblemerne i SDTT.

Du kan finde et komplet eksempel i dette svar.

I dit tilfælde:

Tilføj en topniveau knude med '@type': 'LocalBusiness', giv det din organisations @idog give alle relevante egenskaber:

{ '@context': 'http://schema.org/', '@type': 'LocalBusiness', '@id': 'http://www.example.com/#organization', 'name': 'Company Name' } 

Henvis denne knude fra Review genstande:

'itemReviewed': {'@id': 'http://www.example.com/#organization'} 
'publisher': {'@id': 'http://www.example.com/#organization'} 
  • Tak! Udeladelse '@type': 'LocalBusiness' og bare holde '@id': 'www.some-url.com' gør tricket. Den eneste note er, at SDTT viser, at gennemgået emne som standard er en @Thing, ikke en LocalBusiness. Jeg håber, at Google bot kan forstå, at det er en lokal virksomhed, fordi den er unik @id.
  • @AlexV: Det skal analysere typen korrekt, ikke som Thing (det virker for mig). Kopierede du mit første uddrag nøjagtigt sådan? Det skal vise @type angivet der.
  • 1 Åh, ja, jeg ser det nu. Jeg testede først kun anmeldelser. Nu fungerer det virkelig og giver mening. Tak!

arbejdet for dig: Charles Robertson | Ønsker du at kontakte os?

nyttige oplysninger