Missing schema article
Moderate effortFound on 7% of audited stores.
Add Article and BreadcrumbList JSON-LD structured data to every editorial/blog page so search engines and AI answer engines can correctly identify, understand, and feature your content.
What it is
Structured data is a standardised block of code — written in a format called JSON-LD — that you add to a page to tell search engines and AI systems exactly what kind of content they're looking at. For an article or blog post, two types matter most: "Article" (which names the headline, author, publish date, and topic) and "BreadcrumbList" (which tells search engines the logical navigation path, e.g. Home › Blog › Category › Post Title). Without this code, search engines must guess those details from your raw text — and they often guess wrong.
Why it matters
Pages with correct Article schema are eligible for rich result features in Google Search — such as top stories carousels, author bylines, and date stamps — that dramatically increase click-through rates compared to plain blue links. AI answer engines (like Google's AI Overviews, Bing Copilot, and ChatGPT browsing) rely heavily on structured data to extract trustworthy facts and cite sources; missing schema means your expertise is less likely to be surfaced as an authoritative answer. BreadcrumbList schema gives your site better sitelinks-style display in search results and helps Google understand your site architecture, which supports broader crawling and indexing. Together, these two schema types directly affect organic visibility, traffic, and the extent to which your content is used as a source by AI-powered search features — making them essential for any Answer Engine Optimisation (AEO) strategy.
How to fix it
- Identify every page that publishes editorial content — blog posts, guides, news articles, how-to pages — that is currently missing Article and/or BreadcrumbList schema.
- Create a JSON-LD script block for the Article type, populating at minimum: @context, @type (Article or BlogPosting), headline, author (with @type Person and name), datePublished (ISO 8601 format: YYYY-MM-DD), dateModified, image, and url.
- Create a second JSON-LD script block for BreadcrumbList, listing each navigation level as a ListItem with its position number, name, and full URL — starting from the homepage and ending at the current page.
- Embed both <script type='application/ld+json'> blocks inside the <head> section (or immediately after the opening <body> tag) of each qualifying page.
- Validate both blocks using Google's Rich Results Test (search 'Rich Results Test' in Google) and fix any errors or warnings before publishing.
- After deploying, monitor Google Search Console under Enhancements to confirm schema is detected without errors, and track impression/click changes for affected pages over the following 4–8 weeks.
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Your Article Headline Here",
"author": {
"@type": "Person",
"name": "Author Full Name"
},
"datePublished": "2024-01-15",
"dateModified": "2024-06-01",
"image": "https://www.example.com/images/article-image.jpg",
"url": "https://www.example.com/blog/your-article-slug",
"publisher": {
"@type": "Organization",
"name": "Your Store Name",
"logo": {
"@type": "ImageObject",
"url": "https://www.example.com/logo.png"
}
}
}
---
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://www.example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://www.example.com/blog/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Your Article Headline Here",
"item": "https://www.example.com/blog/your-article-slug"
}
]
}Fix it on your platform
Pick your platform for the exact steps.
How to fix missing schema article on Shopify
- From your Shopify admin, go to Online Store › Themes › Actions › Edit code.
- Locate the article template file: templates/article.liquid (or sections/article-template.liquid in newer themes).
- Scroll to just before the closing </article> or </div> tag, and paste both JSON-LD <script> blocks (Article and BreadcrumbList) using Liquid variables: {{ article.title }}, {{ article.author }}, {{ article.published_at | date: '%Y-%m-%d' }}, {{ article.url }}, etc.
- For BreadcrumbList, use Liquid to output: Home (/) › Blog (/blogs/{{ blog.handle }}) › Article title ({{ article.url }}).
- Alternatively, install a structured data app such as 'JSON-LD for SEO' or 'Schema Plus for SEO' from the Shopify App Store — these auto-generate Article and Breadcrumb schema for all blog posts without manual coding.
- Validate with Google's Rich Results Test after saving.
How to fix missing schema article on WooCommerce
- Install and activate the free 'Yoast SEO' plugin (or 'Rank Math SEO') from WordPress.org › Plugins › Add New.
- Yoast SEO automatically outputs Article schema on posts and BreadcrumbList schema sitewide once breadcrumbs are enabled: go to Yoast SEO › Search Appearance › Breadcrumbs tab › Enable Breadcrumbs.
- To set the correct Article sub-type (Article, BlogPosting, NewsArticle), edit each post and use the Yoast SEO sidebar › Schema tab › Page type / Article type dropdowns.
- If you prefer manual control, add a custom plugin or use the theme's functions.php to inject JSON-LD via the wp_head action hook, outputting dynamic values via WordPress template tags (get_the_title(), get_the_author(), get_the_date('Y-m-d')).
- Validate the output at any URL using Google's Rich Results Test.
How to fix missing schema article on BigCommerce
- In BigCommerce admin, go to Storefront › Script Manager › Create a Script.
- Set Location to 'Head', Pages to 'Store Pages', and Script Category to 'Essential'.
- Paste a JavaScript snippet that detects when the current page is a blog post (check the URL pattern or a page-level variable) and then document.writes or injects the Article and BreadcrumbList JSON-LD blocks using Handlebars template variables available in Stencil themes ({{page.title}}, {{urls.current}}).
- Alternatively, edit the Stencil theme directly: in your local Stencil CLI setup, open templates/pages/blog-post.html and add the JSON-LD <script> blocks using Handlebars variables for post title, date, author, and URL.
- Push the theme update via Stencil CLI (stencil push) and validate with Google's Rich Results Test.
How to fix missing schema article on Wix
- Wix automatically adds some structured data to blog posts, but you can extend it via Wix's built-in SEO tools: go to the Wix Editor › Blog Post page › click SEO (Google) in the left panel.
- For custom JSON-LD, use Wix's 'Custom Meta Tags' field (available per-page under SEO Settings › Advanced SEO) — note Wix does not support injecting arbitrary <script> tags in page <head> for most plans.
- For full Article + BreadcrumbList schema control, upgrade to a Wix Business/Unlimited plan and use Wix Velo (Developer Mode): enable Velo, then add code in the page's code panel or in a backend/masterPage.js file that injects JSON-LD into the page head using wixWindow or $w API.
- Alternatively, use a third-party SEO app from the Wix App Market (search 'structured data' or 'JSON-LD') that supports blog post schema injection.
- Validate via Google's Rich Results Test after publishing.
How to fix missing schema article on Squarespace
- Squarespace outputs some built-in structured data for blog posts, but Article schema completeness varies by template version.
- To inject custom JSON-LD, go to Settings › Advanced › Code Injection › Header, and paste a <script type='application/ld+json'> block. Note: this injects on ALL pages, so use JavaScript to conditionally check document.location to only apply to blog post URLs.
- For per-post injection on Squarespace 7.1, open the Blog Post editor, click the '+' block inserter, add a Code Block, paste your JSON-LD there — Squarespace renders Code Blocks in the page body, which search engines can still read.
- Populate values manually or use JavaScript to pull values from the page's existing meta tags (document.querySelector('meta[property="og:title"]').content) to build the schema dynamically.
- Validate with Google's Rich Results Test after publishing the post.
How to fix missing schema article on Webflow
- In the Webflow Designer, open your Blog Post Collection Template page.
- In the Page Settings panel (click the gear icon while on the template page) › Custom Code › Head Code — paste your Article JSON-LD <script> block here, using Webflow's CMS dynamic embed syntax to insert collection field values: wrap field references in %% or use Webflow's 'Embed' element for richer dynamic output.
- For fully dynamic schema (recommended), drag an 'Embed' HTML element onto the blog post template canvas, then use Webflow's 'Add Field' picker inside the embed to bind CMS fields (Post Title, Author, Publish Date, Slug) directly into your JSON-LD template.
- For BreadcrumbList, add a second Embed element and bind the post's collection name and slug to build the three-level breadcrumb (Home › Blog › Post Title).
- Publish the site and validate a live blog post URL with Google's Rich Results Test.
How to fix missing schema article on Adobe Commerce (Magento)
- Adobe Commerce does not include a native blog, so most stores use an extension such as Magefan Blog or Aheadworks Blog — check which blog extension is installed first.
- For Magefan Blog: go to Admin › Magefan Blog › Configuration › SEO — enable structured data options if available in your extension version; newer versions auto-generate Article schema.
- For manual implementation, create or edit the blog post view template: app/design/frontend/<Vendor>/<Theme>/Magefan_Blog/templates/post/view.phtml (or the equivalent for your blog extension) and add the JSON-LD <script> blocks using PHP to output dynamic post data ($post->getTitle(), $post->getPublishTime(), etc.).
- For BreadcrumbList, edit the breadcrumb template or add JSON-LD alongside the existing visual breadcrumb, pulling the same crumb array your theme already builds.
- Clear the Magento cache (Admin › System › Cache Management › Flush Magento Cache) after changes, then validate with Google's Rich Results Test.
How to fix missing schema article on WordPress.org
- Install Yoast SEO or Rank Math (free versions) from Plugins › Add New — both automatically generate Article schema for posts and pages.
- In Yoast SEO: enable breadcrumbs at Yoast SEO › Search Appearance › Breadcrumbs › Enable breadcrumbs, then replace your theme's breadcrumb output with the Yoast breadcrumb function: <?php if (function_exists('yoast_breadcrumb')) { yoast_breadcrumb('<nav>','</nav>'); } ?>
- Per-post schema type is set in the Yoast SEO metabox at the bottom of the post editor › Schema tab › choose Article / BlogPosting / NewsArticle.
- For manual control without a plugin, add a wp_head action hook in functions.php that outputs JSON-LD using get_the_title(), get_the_author(), get_the_date('c'), and get_permalink().
- Validate any post URL using Google's Rich Results Test.
How to fix missing schema article on Shopify Plus
- Follow the same steps as standard Shopify (edit article.liquid or use a structured data app).
- Shopify Plus merchants with a custom storefront or Hydrogen (headless) build should add Article and BreadcrumbList JSON-LD in the React/Next.js component that renders article pages — inject via a <script type='application/ld+json'> tag inside the page's <Head> component, populating values from the Storefront API response (article.title, article.author.name, article.publishedAt).
- Use the Shopify Storefront API fields: articles query returns title, authorV2.name, publishedAt, updatedAt, image.url — map these directly to your JSON-LD template.
- Validate with Google's Rich Results Test after deployment.
Does your site have this issue?
Run a free SEOLZ audit to find missing schema article — and every other issue — across your whole site in minutes.
Scan my site freeFrequently asked questions
What is Missing schema article?
Structured data is a standardised block of code — written in a format called JSON-LD — that you add to a page to tell search engines and AI systems exactly what kind of content they're looking at. For an article or blog post, two types matter most: "Article" (which names the headline, author, publish date, and topic) and "BreadcrumbList" (which tells search engines the logical navigation path, e.g. Home › Blog › Category › Post Title). Without this code, search engines must guess those details from your raw text — and they often guess wrong.
Why does missing schema article matter?
Pages with correct Article schema are eligible for rich result features in Google Search — such as top stories carousels, author bylines, and date stamps — that dramatically increase click-through rates compared to plain blue links. AI answer engines (like Google's AI Overviews, Bing Copilot, and ChatGPT browsing) rely heavily on structured data to extract trustworthy facts and cite sources; missing schema means your expertise is less likely to be surfaced as an authoritative answer. BreadcrumbList schema gives your site better sitelinks-style display in search results and helps Google understand your site architecture, which supports broader crawling and indexing. Together, these two schema types directly affect organic visibility, traffic, and the extent to which your content is used as a source by AI-powered search features — making them essential for any Answer Engine Optimisation (AEO) strategy.
How do I fix missing schema article?
Add Article and BreadcrumbList JSON-LD structured data to every editorial/blog page so search engines and AI answer engines can correctly identify, understand, and feature your content.
Authoritative references
- Intro to structured data — Google Search Central
- Breadcrumb structured data — Google Search Central
- Getting started with schema.org — Schema.org
- Rich Results Test — Google Search Central