Phase 2 · ExecutionModule 9 of 15

Schema markup

Schema will not move you up the page. What it can do is change how your result looks once you are on it, which is a different and narrower benefit than most guides imply.

What this actually costs you

Hours to learn
4
Hours / month
1 to 2
Tools
Free
Difficulty
Low with generators

What this looks like when it is done badly. A site marks up five-star aggregate ratings that appear nowhere on the page, gets rich results for a few months, and then gets a manual action that removes rich result eligibility across the whole domain. The markup was the easy part. The honesty was the part that mattered.

Hours and tool costs are RedSEO’s own estimates from client work and from teaching this material, not industry survey data. They assume a business owner doing the work themselves on a site under about 50 pages.

Schema markup is the part of SEO with the widest gap between what it is sold as and what it does. So the useful thing to establish first is what you are actually buying with the hour.

Schema does not improve rankings

It is not a ranking factor. What structured data does is describe your page to a machine in terms it already understands, which can make you eligible for a different appearance in the results, and increasingly for being quoted correctly by an assistant.

Eligible, not entitled. Google’s general guidelines say it plainly: “Google does not guarantee that your structured data will show up in search results, even if your page is marked up correctly.” The decision depends on “many variables, including search history, location, and device type,” and Google may decide “that a text result is best.”

So the honest pitch for this module is: a modest chance of a better-looking result, for about fifteen minutes per page type, once. That is a good trade. It is not the transformative thing it gets sold as.

The one rule that gets sites penalised

Google requires that markup describe what is actually on the page. Specifically, do not “mark up content that is not visible to readers of the page,” and do not use structured data to “deceive or mislead users.”

The common version of this is review markup. A business adds an aggregate rating of 4.9 from 87 reviews that appear nowhere on the site, gets stars in the results, and then loses rich result eligibility across the whole domain when a manual action lands. Google’s relevance examples are equally blunt: a woodworking site labelling instructions as recipes, a streaming site labelling broadcasts as local events.

The test is simple. Could a person reading the page verify every value in your markup? If not, either display it or remove it.

Have us handle the markup across your templates

Which types are worth your time

For most small businesses, in order of return:

  • Organization and LocalBusiness. Once, on your homepage or about page. This is the block that tells search engines and assistants who you are, where you are and how to contact you, and it is the one most likely to be read by something other than Google.
  • BreadcrumbList. Cheap, template-level, and it changes how your URL displays in results. Good return for near-zero effort.
  • Article. On your posts, via the template. Fifteen minutes once.
  • FAQPage. Only where you genuinely answer questions on the page. Note that Google narrowed FAQ rich results considerably, so treat this as description rather than as a display win.
  • Service and Product. On the pages that sell things, where the details in the markup match the details on the page.

Everything else on the list below is worth doing when it genuinely describes your page and not otherwise. Recipe markup on a page that is not a recipe is the example Google itself gives of a violation.

Do it in templates

The reason this module is rated four hours rather than forty is that schema belongs in your page templates. One Article block covering every post. One LocalBusiness block on the site. One BreadcrumbList generated from the page’s position.

If you find yourself pasting JSON into individual posts, stop, because you have turned a one-time job into a permanent tax on publishing. That is also the moment module 6 gets harder for no reason.

What I would do in your position

Add Organization or LocalBusiness once. Add BreadcrumbList to the template. Add Article to your post template. Stop there, validate all three with the Rich Results Test, and check the Enhancements reports in Search Console two weeks later.

That is about an hour total and it covers the large majority of the available benefit. Everything past it has a genuinely lower return, and the time is better spent on content.

Pick the type, generate the markup

Thirteen generators, sorted by the question rather than the schema name. Find the row that describes your page and the generator will produce valid JSON-LD you can paste straight in.

Add schema to one page, correctly

Fifteen minutes per page type, once. Do it for your templates rather than page by page, or this becomes a job you repeat forever.

  1. Decide what the page genuinely is

    One primary type per page. A services page is a Service, not a Service and an Article and a Product because more markup felt better.

  2. Generate the JSON-LD

    Use the generator below for the type you picked. JSON-LD in a script tag is the format Google prefers and the only one worth using on a new site.

  3. Fill in every required property, then the recommended ones

    Google says required properties must be present, and that "the more recommended properties that you provide, the higher quality the result is to users".

  4. Check every value matches what is visible on the page

    This is the rule people break. Google is explicit that you must not "mark up content that is not visible to readers of the page". Marking up a rating you do not display is a manual action waiting to happen.

  5. Paste it into the page head, or into your CMS schema field

    One script tag per schema object is fine. Several objects on one page is normal and expected.

  6. Validate it with the Rich Results Test

    Google's own tool tells you whether the page is eligible for a rich result, which is a different and more useful question than whether the syntax parses.

  7. Add it to the template, not just the one page

    The value of this module comes from doing it once per page type. Hand-adding schema to individual posts is a way to spend forever on a fifteen-minute job.

  8. Check the Enhancements reports in Search Console a fortnight later

    That is where errors on live pages surface, and it is the only feedback loop that reflects your whole site rather than one URL.

Can you do this yourself?

You can do this yourself if

  • You can edit your page templates or your CMS has a field for custom head markup. This is a copy-and-paste job once the JSON is generated.
  • Your page types are few and stable. Five templates covered once is fifteen minutes each and then it is done.
  • You accept that this changes how a result looks rather than where it ranks, and are doing it for that reason.

You cannot do this yourself if

  • You need schema to validate at scale across thousands of templated pages where the underlying data is inconsistent. At that point the markup is a data-quality project.
  • You cannot edit the head or add custom markup, which is true of some hosted platforms and locked-down themes.
  • You are tempted to mark up ratings, prices or availability that are not actually displayed on the page. That is the specific thing Google issues manual actions for, and the honest answer is to display them or leave the markup out.

Questions people ask about this

Does schema markup improve rankings?
No. It is not a ranking factor. What it does is describe your page in terms a machine already understands, which can make you eligible for a different appearance in results and helps assistants describe you correctly. Google is explicit that it "does not guarantee that your structured data will show up in search results, even if your page is marked up correctly".
Which schema types should a small business add first?
Organization or LocalBusiness once, BreadcrumbList in the template, and Article on your post template. That is roughly an hour and covers most of the available benefit. Everything beyond it has a genuinely lower return.
Can schema markup get you penalised?
Yes, if it describes things that are not on the page. Google requires that you do not "mark up content that is not visible to readers of the page" and spammy or misleading markup can trigger a manual action removing rich result eligibility. The usual offender is aggregate review ratings that appear nowhere on the site.
Should I use JSON-LD or microdata?
JSON-LD, in a script tag. It is the format Google prefers, it keeps the markup separate from your visible HTML so it is far easier to maintain, and every generator here produces it.
How many schema types can one page have?
Several objects on one page is normal. What you should not do is claim several primary identities for the same page because more markup felt safer. Pick what the page genuinely is, then add supporting types like BreadcrumbList that describe its context.
Do I need to add schema to every page by hand?
No, and doing so turns a one-time job into a permanent tax on publishing. Schema belongs in your page templates: one Article block covering every post, one LocalBusiness block for the site, one BreadcrumbList generated from position.