Technical SEO

Why structured data should match the page instead of the keyword

We build schema around real page types and stable business entities instead of treating JSON-LD as a bag of SEO labels.

Structured data is useful when it describes what a page actually is.

It becomes less useful when schema is treated like a bag of SEO labels that can be attached to any URL.

We build structured data around page types and real business entities.

The organization should remain one organization

A company should not become a completely different entity in JSON-LD on every route.

On our service-business sites, the root business entity has a stable @id. Service schema can point back to that provider. Article schema can point to the same publisher. Breadcrumbs can describe the path without inventing another company record.

That creates a coherent graph instead of a stack of unrelated objects.

Page type determines schema type

A service page can use Service.

An article can use Article or BlogPosting.

A documentation page can use TechArticle.

A breadcrumb is a BreadcrumbList.

A contractor site can identify the business with an appropriate business type.

We do not label a page as a local business merely because it mentions a city, and we do not attach FAQ markup to text that is not actually presented as questions and answers.

Real content should drive the values

On one project, service schema receives the actual service name, description, route, and optional service area.

The provider is not typed manually every time. It points to the stable business entity.

On another, FAQ schema is generated from the same FAQ data rendered on the page. If the visible FAQ changes, the schema changes with it because both come from the same source.

That relationship matters.

Why we use helpers

Structured data is verbose and easy to make inconsistent.

Reusable helpers give us one implementation for breadcrumbs, one for services, one for FAQs, and one for article markup.

The page supplies the facts. The helper supplies the syntax and shared identifiers.

That keeps schema easier to review and less likely to become stale copy pasted from another route.

Schema does not create truth

If a company does not offer a service, declaring it in JSON-LD does not make the page stronger.

If a page has no meaningful local content, adding an area-served field does not turn it into a useful location page.

Structured data helps machines interpret information. It does not substitute for the information.

This distinction matters because schema can look impressive in an audit. There are lots of fields, the validator turns green, and the page appears technically sophisticated.

None of that means the content deserves to rank.

We prefer a smaller correct graph

A concise accurate graph is easier to maintain than a giant one assembled from every property we can find.

We include identifiers, URLs, provider relationships, service areas, article dates, images, and other fields when they describe something real and useful.

We do not believe more JSON-LD is automatically better SEO.

The standard is simpler: if a search engine followed the graph literally, would it understand the business and page correctly?

If the answer is yes, the schema is doing its job.

From explanation to proof

Where this connects to the work

This category connects our search recommendations to implementation details that can be inspected, tested, and maintained.