Fix · Identity

No machine-readable identity

Your page never states, in a form a machine can read, who this business is. So every system has to infer it from prose, or take a third party's word for it.

What we found

D1 · No structured data — The initial HTML declares no JSON-LD. Nothing on the page states the business name, address, telephone or opening hours in a machine-readable form. Evidence EV-003

Why it matters

An assistant asked "where can I get farm ice cream near Penrith" has to decide which business you are before it can recommend you. With structured data it reads your name, place and contact directly. Without it, it guesses from prose, or it uses a directory entry written by somebody else three years ago, and a system that is unsure tends to stay quiet rather than risk being wrong.

Before and after

Now

<head>
  <title>Wraycroft Creamery</title>
  <!-- nothing machine-readable -->
</head>

After

<!-- paste before </head> -->
<script type="application/ld+json">
{ "@context": "https://schema.org", … }
</script>

The full block

Wraycroft Farm Creamery is an invented business. The telephone number is from the range Ofcom reserves for fiction, so nothing here belongs to anybody. Replace every value with yours, and make sure each one is also visible to a human on the page.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FoodEstablishment",
  "@id": "https://wraycroftcreamery.co.uk/#business",
  "name": "Wraycroft Farm Creamery",
  "legalName": "Wraycroft Dairy Ltd",
  "url": "https://wraycroftcreamery.co.uk/",
  "telephone": "+44 1632 960142",
  "email": "hello@wraycroftcreamery.co.uk",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Wraycroft Farm, Nether Rigg",
    "addressLocality": "Kirkby Rigg",
    "addressRegion": "Cumbria",
    "postalCode": "CA00 0AA",
    "addressCountry": "GB"
  },
  "geo": { "@type": "GeoCoordinates", "latitude": 54.6000, "longitude": -2.7000 },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
    "opens": "11:00",
    "closes": "17:00"
  }],
  "sameAs": [
    "https://www.facebook.com/yourpage",
    "https://www.tripadvisor.co.uk/your-listing"
  ]
}
</script>

What each field is for

FieldWhat to put there
@typeThe most specific type that fits. FoodEstablishment, Dentist, Plumber, Store; fall back to LocalBusiness.
@idA stable identifier for the business. Pick it once and never change it; every page uses the same one.
nameThe trading name, exactly as it appears on the page.
legalNameThe registered company name, if it differs. This is what connects the website to the company register.
telephoneInternational format: +44 then the number without its leading zero.
addressThe postal address, one field per part. It must match the address shown on the page and on your listings.
geoCoordinates of the premises. Any map service gives them.
openingHoursSpecificationReal hours, kept current. Stale hours here are worse than none.
sameAsOnly profiles you control and have checked resolve. A dead link here weakens you.

The one rule that breaks this. Every value must also be visible to a human on the page. Structured data that claims hours, prices or an address the page does not show is a policy breach, and it is the fastest way to lose the benefit you were adding.

Where it goes

PlatformWhere
WordPressTheme header, or a header-scripts plugin. Not inside a post body.
SquarespaceSettings → Advanced → Code Injection → Header
WixSettings → Custom Code → add to Head, all pages
Shopifytheme.liquid, before </head>
Hand-builtIn <head> of every page, with the same @id

Prove it worked. Paste your page URL into Google's Rich Results Test. Expected: the business type detected, zero errors, and every field matching what a visitor can see. Then view source and search for ld+json — if it is missing there but visible in dev tools, it is being injected by JavaScript and some crawlers will never see it.

What it will not do

It will not make you rank, and it will not make an assistant recommend you. It removes the guesswork about who you are, which is a precondition for both and a guarantee of neither.