Tools
Write your own schema markup
Schema markup is a block of code that states the facts about your firm in a form search engines read without guessing. Fill in the fields, copy the finished tag, paste it into your page. No sign-up, and nothing you type leaves your browser.
Pick a type, fill it in
Each pair below becomes one marked-up question. Use the questions and answers that actually appear on the page, word for word.
The code
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"@id": "https://www.example.co.uk/#business",
"name": "Example & Co Solicitors",
"legalName": "EXAMPLE & CO SOLICITORS LIMITED",
"address": {
"@type": "PostalAddress",
"streetAddress": "1 Example Street",
"addressLocality": "Exampletown",
"postalCode": "EX1 2AB",
"addressCountry": "GB"
},
"telephone": "01632 960000",
"url": "https://www.example.co.uk",
"image": "https://www.example.co.uk/photos/office-front.jpg",
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"opens": "09:00",
"closes": "17:30"
},
"priceRange": "££",
"areaServed": [
"Exampletown",
"Neighbourville"
],
"sameAs": "https://www.linkedin.com/company/example-and-co"
}
</script>The code is built in your browser as you type. Nothing you enter here is stored, or sent to us or anyone else. Fields you leave blank are left out of the code entirely, never included empty.
What the code is still missing
These recommended details are blank, and worth adding:
Nothing recommended for this type has been left blank.
Worth saying plainly, because most tools like this imply otherwise: valid code does not by itself produce a rich result. Google decides page by page whether to show one, and no generator can change that, this one included. What the markup does is make the facts about your firm machine-readable, which is where eligibility starts.
What each type is for
Local business
This one describes the firm itself: name, address, phone number and hours, stated once, in code. It belongs on your homepage or your contact page. The details must match your website and your Google Business Profile exactly, because agreement between the three is the point. Code that contradicts your own listing is worse than no code.
Service
One block per service page: probate, audits, lettings, whatever that page is about. It says what the service is, who provides it and where. If your site also carries your local business code, paste its @id into the last field and the service is tied to the firm as one connected record rather than two loose mentions.
FAQ page
For a page that genuinely answers questions, this marks each question and answer as a pair. Know what it no longer does before you spend time on it: Google removed FAQ rich results, the expandable questions under a search listing, from search on 7 May 2026, and deleted its documentation for them in June 2026. Both changes are logged on Google's Search Central updates page. This markup will not produce a dropdown in Google for anyone, including the government and health sites that kept the feature after the 2023 restriction. It is still valid schema.org, and other systems read it, which is the only reason left to add it.
Person
For the author bio on your advice pages. On legal and financial topics, search engines look for evidence that content comes from someone qualified to write it. This states who the author is, their role and their qualifications in a form machines can check against the visible page, so it only works when the page really does show the same person.
Where the code goes
Each block describes one page and belongs on that page, once. If someone else looks after your site, send them the copied code with one instruction: paste it into the page's head, unchanged. If you edit the site yourself, most builders have a box for exactly this. WordPress SEO plugins and themes call it something like header code, Squarespace calls it code injection, Wix calls it custom code. Paste the whole tag, including the script lines at either end. Then put the page's address into Google's Rich Results Test, which reads the live page and tells you what it found. One blind spot to expect: the test dropped its FAQ support in June 2026, so a page whose only markup is an FAQ comes back as nothing found. That is the test, not a fault in your code.
Schema markup is one small part of being findable. The free audit looks at the whole of it. A written audit of your site, your rankings and your ad account, back within five working days, plus a call to walk through it.
Ask for the free audit