Lab note
Building a Free Local Business Schema Generator with Next.js
Waterloo, Ontario · SFMC architect & product builder · 3 min read
- Local SEO
- Next.js
- Structured Data
- Technical SEO
- JSON-LD
I built a free Local Business Schema Generator on ujjwaltiwari.com. You fill in your business details, preview the JSON-LD live, and copy either raw JSON or a full <script type="application/ld+json"> tag into your site.
Structured data helps search engines understand your name, address, phone, hours, and location. It pairs well with a complete Google Business Profile and a quick Google Review Audit of your listing.
How to use it
- Go to ujjwaltiwari.com/tools/local-business-schema
- Enter business name, type, address, phone, and hours
- Optional: add website URL, geo coordinates, image, and price range
- Copy the JSON or script tag into your site header or layout
No account required. Nothing is sent to a server—the generator runs in your browser.
What you get
- Valid LocalBusiness JSON-LD with
@context,@type, and nestedPostalAddress - Opening hours as
OpeningHoursSpecificationblocks for weekdays, Saturday, and Sunday - Geo coordinates when you provide latitude and longitude
- Copy buttons for raw JSON and a ready-to-paste script tag
- Business type picker — Restaurant, Dentist, AutoRepair, and other common
@typevalues
Paste the output into your site, then validate it in Google's Rich Results Test.
Why structured data matters for local SEO
Google uses many signals for local rankings—reviews, relevance, proximity, and profile completeness. Structured data does not replace a strong GBP, but it gives crawlers a machine-readable version of your NAP (name, address, phone) and hours on your own domain.
That matters when:
- Your website and GBP need to stay aligned on address and phone
- You want rich result eligibility where Google supports it for your business type
- AI search engines and crawlers ingest your site without guessing field meanings
The generator outputs schema.org vocabulary that Google documents for LocalBusiness markup.
How it is built
| Layer | Technology |
|---|---|
| Frontend | Next.js 16, React 19, TypeScript, Tailwind CSS 4 |
| Logic | Client-side only — no API routes, no database |
| Hosting | Vercel |
The form state lives in React. A useMemo hook rebuilds the JSON object whenever fields change. Validation checks required fields before previewing output.
There is no server round-trip, which keeps the tool fast, free to host, and private—your business details never leave your browser.
The tool sits in the free tools hub next to the Google Review Audit. Same navigation, same SEO metadata pattern (WebApplication JSON-LD, Open Graph, sitemap entry).
Things to know
Schema is not a ranking guarantee. It helps Google parse your site; it does not replace reviews, citations, or a complete GBP.
Match your GBP. Use the same business name, address, and phone on your website schema as on your Google listing. Inconsistency hurts trust.
Validate after publishing. Always run Rich Results Test on the live URL, not just the copied snippet in isolation.
Geo is optional but useful. If you know your coordinates, add them. Many businesses skip this; it is worth filling in when you have accurate lat/lng.
Try it
Generate LocalBusiness schema →
Already checked your Google listing? Run the free Google Review Audit →
If you have any questions, contact me.