Free tool
Local Business Schema Generator
Fill in what you already tell customers and get a block of structured data you can paste into your site. It runs in your browser, it never sends anything anywhere, and it will not make you publish a street address you do not want public.
Your structured data
Where this goes
Paste the whole block, including the opening and closing tags, into the
<head> of your home page. One block per business, on one page.
Repeating it on every page does nothing good and gives you more places for it to
go stale.
Then check two things. The facts in it must match what a person reads on the page. And it describes you, it does not promote you: this is how a machine understands what you already say, not a ranking lever. Anyone selling it as one is selling you something else.
What structured data actually does
It describes your business to a machine in a format the machine does not have to guess at. That is the whole job.
A person reading your page understands that the phone number near the top is a phone number, that the bold line is your name and that the list at the bottom is your opening hours. A search engine is reading markup and inferring all of that. Usually it infers correctly. Sometimes it takes the phone number from the testimonial, decides your business is called Contact Us, or reads your hours off a plugin that has been wrong since 2022.
A block of structured data removes the guessing. It states the same facts your page already states, in a vocabulary built for the purpose, and it sits in the source rather than on the screen.
What it does not do
It is not a ranking factor. Adding it will not move you up. Anybody telling you otherwise is selling a service that is easy to deliver and hard to disprove.
What it does is make you eligible for things. Your hours showing in a result. A review count appearing under your listing. An assistant answering a question about you with the facts you published rather than the ones it found on a directory site that last updated in 2019. Those are worth having. None of them is a ranking.
It also only works if it is true. Structured data that contradicts the visible page is worse than none, because it is the one category of mistake a search engine will take as a signal about your trustworthiness rather than your competence.
The address problem, which is why this exists
Nearly every generator on the web makes the street address a required field. If you run a real business from your house, and a great many good businesses are run from houses, that field is asking you to publish where you and your family sleep so that a search engine can read a tidier file.
That is a bad trade and you do not have to make it. The vocabulary has never required a street address. Google has supported service area businesses for years and explicitly allows hiding the address on a Business Profile. The requirement is an artifact of generators written for storefronts.
So this tool offers three honest positions instead of one:
- Customers come to you. A shop, a yard, an office. Publish the address, because people need to find it and hiding it would cost you business.
- You go to them, and your town is public. Locality and region, no street and no postal code. This is the right answer for most businesses run from home, and it is what this site itself publishes.
- You go to them and publish no location at all. Only the areas you serve. Some directories will want an address anyway. That is their requirement and not a rule of the vocabulary.
In the second and third cases the service area carries the geography instead. That is what
areaServed is for, and it is a more accurate description of a mobile business than
an address ever was.
The mistakes worth avoiding
Putting it on every page. One block describing the business, on one page, usually the home page. Repeating it site wide achieves nothing and gives you more places for it to go stale.
Choosing a type that flatters rather than describes. Pick the most specific type that is honestly true. If two apply, pick the one you want to be known for and say the rest in your copy, where a person will read it.
Listing hours you do not keep. Wrong hours are worse than absent hours. Absent hours make somebody call. Wrong hours make somebody drive over.
A service area of forty towns you have never worked in. It reads as a bluff because it is one, and the pages built to support it tend to read the same way.
Linking profiles you abandoned. The sameAs list tells a search
engine those accounts are you. Think about whether you want to be told apart from or
associated with a page you have not touched in four years.
After you paste it in
Check two things, in this order.
First, that every fact in the block matches what a person reads on the page. Same name, same phone, same hours. If they disagree, the page is right and the block is wrong.
Second, that it validates. Google publishes a Rich Results Test and schema.org publishes a validator, and either will tell you if the syntax is broken. Neither will tell you if the facts are wrong, which is the failure that actually costs you something.
Then leave it alone until something changes. This is not a thing that needs maintaining monthly. It needs updating the day your hours, your phone number or your service area changes, and not otherwise.
Nothing here leaves your browser
There is no server behind this page. What you type is held in the tab you are looking at, it is not sent anywhere, it is not stored, and closing the tab discards it. You can confirm that yourself: open your browser's network panel and use the tool. Nothing goes out.
And no email address
A tool that holds its answer back until you identify yourself is not a tool, it is a form with a costume on. If this is useful, use it. If you later want someone to do the work, you know where to find me.
Start here
Tell me what you are trying to fix
Send over the site you have now, or the one you wish you had. I will tell you honestly whether I am the right person for it.
info@palmprojects.com