WebSite Schema Missing
Issue No: 58
Category: Structured Data & Rich Results
Issue type: Issue
Priority: CRITICAL
Description
The homepage is missing WebSite schema markup, which is required to establish the site as a named entity and to enable the Sitelinks Search Box in Google SERPs.
How do we capture it
- Fetch homepage HTML and extract all
<script type="application/ld+json">blocks - Check if any block contains
"@type": "WebSite" - If absent → trigger issue; if present → validate
nameandurlfields
What to store
StructuredDataAudit record with schemaType = WebSite, issueNumber = 58, plus StructuredDataField rows:
| Field | Type | Comment |
|---|---|---|
has_name | boolean | name property present |
has_url | boolean | url property present |
has_description | boolean | description property present |
has_id | boolean | @id declared as the canonical site URL |
Core audit fields used: isPresent, hasName, hasUrl, hasContext, hasType, isServerSide, rawJson
Condition for trigger
The following rules trigger this issue:
-
Trigger Rule 1: Schema absent
- Target Field:
isPresent - Evaluation Logic:
isPresent = false - Severity: CRITICAL
- Diagnostic Message: "No WebSite schema block found on homepage."
- Target Field:
-
Trigger Rule 2: Name missing
- Target Field:
has_name - Evaluation Logic:
has_name = false - Severity: CRITICAL
- Diagnostic Message: "WebSite schema present but
nameproperty is missing."
- Target Field:
-
Trigger Rule 3: URL missing
- Target Field:
has_url - Evaluation Logic:
has_url = false - Severity: IMPORTANT
- Diagnostic Message: "WebSite schema present but
urlproperty is missing."
- Target Field:
Sources
- Schema.org — WebSite
- Google — Sitelinks Searchbox (WebSite schema)
- Google — Intro to Structured Data
- Schema Markup Validator
Long description
WebSite is placed on the homepage and declares the site as a named entity. It is the anchor schema that other page-level schemas reference via isPartOf, allowing Google to associate all content on the domain with one known brand or publisher.
Without WebSite schema, Google has no machine-readable declaration of the site's identity, which weakens entity recognition in the Knowledge Graph and AI-powered search features.
Minimal example:
{
"@context": "https://schema.org",
"@type": "WebSite",
"@id": "https://www.example.com/#website",
"name": "Example Corp",
"url": "https://www.example.com",
"description": "Official website of Example Corp."
}
The @id value (#website) is important — it allows Article, BreadcrumbList, and other schemas to reference the site entity cleanly using "isPartOf": { "@id": "https://www.example.com/#website" }.
How to Fix
- Add a
WebSiteJSON-LD block to the homepage<head> - Include
name,url, and@idat minimum - Add
descriptionfor additional entity context - Use
@idas a consistent anchor (e.g.https://www.example.com/#website) so other schemas can reference it viaisPartOf - Validate at Rich Results Test