Structured data is a short block of JSON in the page that states the facts an assistant needs: who you are, where, when you are open, what you serve, where the menu is, whether you take bookings. It is the single cheapest fix on this site and the one every assistant reads first.
Replace the values, keep the keys. One block on the homepage is enough.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "Your Business",
"url": "https://yourbusiness.com/",
"telephone": "+351 21 000 0000",
"address": {
"@type": "PostalAddress",
"streetAddress": "Rua Exemplo 1",
"addressLocality": "Lisbon",
"postalCode": "1100-000",
"addressCountry": "PT"
},
"openingHoursSpecification": [
{ "@type": "OpeningHoursSpecification", "dayOfWeek": ["Tuesday","Wednesday","Thursday","Friday","Saturday"], "opens": "12:00", "closes": "23:00" },
{ "@type": "OpeningHoursSpecification", "dayOfWeek": "Sunday", "opens": "12:00", "closes": "16:00" }
],
"servesCuisine": "Portuguese",
"priceRange": "€€",
"hasMenu": "https://yourbusiness.com/menu",
"acceptsReservations": "https://yourbusiness.com/book"
}
</script>
Not a restaurant? Change the type: HairSalon, Dentist, Store, TouristAttraction, or LocalBusiness when nothing fits, and drop servesCuisine and hasMenu.
| Where your site is built | Where the setting lives, October 2026 |
|---|---|
| WordPress | Yoast and Rank Math generate a LocalBusiness block from their Local SEO settings; or paste the block into the header with a code snippets plugin, or the theme's header scripts field. |
| Wix | SEO, then Structured data markup on the homepage settings, add a custom markup; or Wix's own Restaurant preset, then add the missing fields. |
| Squarespace | Settings, Developer tools, Code injection, Header. Squarespace adds a basic block of its own; yours can sit next to it. |
| Shopify | Online Store, Themes, Edit code, theme.liquid, before the closing head tag. |
| Webflow | Site settings, Custom code, Head code; or on the homepage's page settings. |
| GoDaddy, Jimdo, Duda, Weebly | Look for header code or custom code in the site settings; where there is none, the host's support can add it. |
Dashboards move things around. If a name here does not match, search the dashboard for the word in bold.
Paste your page address into Google's Rich Results Test or schema.org's validator, then rescan here: the report lists address, phone and hours as found or missing.
Already have a block and not sure it is complete? Run the free scanner on your address: the report names each crawler that was refused, what it found for the menu, the structured data and the booking path, and what to fix first. Rescans are free.
Updated 2026-10-14. Dashboard names are as of that date.