Missing schema article

Moderate effort

Found on 16% of audited stores.

Add Article schema markup (JSON-LD) to every blog post and editorial page so Google can identify and rich-result-enhance your content in search.

What it is

Article schema is a small block of structured data — written in a format called JSON-LD — that you embed in a page's HTML to tell Google (and other search engines) that the page is an article, who wrote it, when it was published, and what it's about. Think of it as a machine-readable label that sits invisibly in your page code. Without it, Google has to guess at all of those details. With it, Google has certainty — and that certainty unlocks extra search features. This is especially important for the Answer Engine Optimization (AEO) pillar: search engines increasingly pull answers directly from structured, labeled content, and Article schema is the foundation that makes your editorial pages eligible for that treatment.

Why it matters

Pages with Article schema are eligible for Google's rich results — including enhanced article cards in Discover, "Top stories" carousels, and knowledge-panel-style answer snippets — which can dramatically increase click-through rates compared to plain blue links. As AI-driven search features (like Google's AI Overviews and Bing's Copilot) look for authoritative, well-labeled sources to cite in direct answers, missing Article schema means your content is less likely to be selected as a source, costing you visibility even when your writing is excellent. For ecommerce stores with blogs, guides, or how-to content, this directly affects the organic traffic those pages drive to product pages. It's a zero-cost technical change with a measurable traffic upside.

How to fix it

  1. Identify every blog post, news article, or editorial guide on your store — these are the pages that need Article schema.
  2. Choose the most specific Article sub-type that fits: use 'Article' for general editorial content, 'BlogPosting' for blog entries, or 'NewsArticle' for news-style pieces — all are valid sub-types of Article.
  3. Build a JSON-LD block containing at minimum: @context, @type, headline, author (with @type and name), datePublished, and dateModified. Also strongly recommended: image, publisher, description, and url.
  4. Embed the JSON-LD block inside a <script type='application/ld+json'> tag in the <head> section of each qualifying page — or use your platform's structured data fields/app to inject it automatically for all posts.
  5. Validate the markup using Google's Rich Results Test (search for 'Rich Results Test') to confirm there are no errors or warnings.
  6. After deploying, monitor Google Search Console > Enhancements for Article impressions and any new rich result appearances over the following weeks.

Fix it on your platform

Pick your platform for the exact steps.

How to fix missing schema article on Shopify
  1. Go to Online Store → Themes → click 'Customize' on your active theme.
  2. In the theme editor, navigate to a blog post template. Alternatively, click 'Edit code' from the Themes page.
  3. Open the file 'templates/article.liquid' (or 'sections/main-article.liquid' in newer themes).
  4. Paste the JSON-LD <script> block (see code snippet) just before the closing </article> tag or inside the <head> via 'layout/theme.liquid'. Use Liquid variables ({{ article.title }}, {{ article.author }}, {{ article.published_at | date: '%Y-%m-%d' }}, {{ article.metafields... }}) to populate fields dynamically.
  5. Save the file. Then open any live blog post and use Google's Rich Results Test to verify the schema is detected.
How to fix missing schema article on WooCommerce
  1. Install the free 'Yoast SEO' plugin (or 'Rank Math SEO') from Plugins → Add New.
  2. For Yoast: go to SEO → Search Appearance → Content Types → Posts, and confirm 'Show Posts in search results' is enabled — Yoast automatically outputs Article/BlogPosting JSON-LD for every post.
  3. For Rank Math: go to Rank Math → Titles & Meta → Posts → Schema Type and select 'Article' or 'BlogPosting'.
  4. To add or override schema manually, edit your child theme's 'single.php' and insert the JSON-LD <script> block in the loop, using PHP variables (get_the_title(), get_the_author(), get_the_date('Y-m-d'), get_the_modified_date('Y-m-d')) to populate fields.
  5. Validate any post URL with the Rich Results Test.
How to fix missing schema article on BigCommerce
  1. Go to Storefront → Script Manager → Create a Script.
  2. Set Location to 'Head', Pages to 'Store Pages' (or more precisely target blog pages), and paste the JSON-LD script block with static values as a test.
  3. For dynamic values, edit your Stencil theme files: open 'templates/pages/blog-post.html' and insert the JSON-LD block there, using Handlebars variables ({{blog.post.title}}, {{blog.post.author}}, {{blog.post.date.created_at}}) to populate fields.
  4. Upload the updated theme via Stencil CLI or the Theme Editor, then validate a blog post URL with the Rich Results Test.
How to fix missing schema article on Wix
  1. Open the Wix Editor for your site.
  2. Go to your Blog Post page template. In the left panel, click 'Add Elements' → 'Embed Code' → 'Custom Code'.
  3. Alternatively, go to Settings → Custom Code → Add Code → choose 'Head' and 'Apply to specific pages' → select Blog Post pages.
  4. Paste the JSON-LD script block. Note: Wix does not expose dynamic blog variables in custom code, so you will need to hard-code values per post or use the Wix SEO Wiz / Wix's built-in structured data which Wix injects automatically for blog posts in many templates — verify first by running a live blog URL through the Rich Results Test before adding manual code.
How to fix missing schema article on Squarespace
  1. Go to Settings → Advanced → Code Injection → 'Page Header' section — note this injects into ALL pages, so you will need conditional logic or use per-page injection instead.
  2. For per-post injection: open the Blog page, click a specific post to edit it, then go to the post Settings (gear icon) → Advanced → 'Post Header Code Injection', and paste the JSON-LD script block there with values filled in for that post.
  3. For a sitewide automated approach, Squarespace 7.1 injects some Article schema automatically for blog posts; verify by running a blog post URL through the Rich Results Test — if it is missing or incomplete, use the per-post injection method above.
  4. Validate with the Rich Results Test after saving.
How to fix missing schema article on Webflow
  1. Open your Webflow project and navigate to the CMS Blog Post Collection Template page in the Designer.
  2. Add an 'Embed' element (from the Add panel → Components → Embed) inside the page template, ideally near the top of the layout.
  3. In the Embed element's code editor, paste the JSON-LD script block. Use Webflow's dynamic CMS fields by clicking 'Add Field' within the embed to insert variables like post name, author, publish date, and modified date.
  4. Publish the site, then validate a live blog post URL with the Rich Results Test.
How to fix missing schema article on Adobe Commerce (Magento)
  1. If you use a blog extension (e.g., Magefan Blog, Aheadworks Blog), check the extension's configuration in Stores → Configuration → [Blog Extension] for a built-in structured data / schema.org toggle and enable it.
  2. For a custom or theme-level implementation, create or edit the blog post layout XML file (e.g., 'view/frontend/layout/blog_post_view.xml') and add a block that renders a PHTML template containing the JSON-LD script.
  3. In the PHTML template, use Magento's block methods and the post data object to populate headline, datePublished, dateModified, author, and image fields dynamically.
  4. Run 'bin/magento cache:flush' after deploying, then validate a live blog post URL with the Rich Results Test.
How to fix missing schema article on WordPress.org
  1. Install Yoast SEO or Rank Math from Plugins → Add New.
  2. Yoast SEO: navigate to SEO → Search Appearance → Content Types → Posts → Schema tab; set 'Page type' to 'Article' and 'Article type' to 'BlogPosting' (or your preferred sub-type). Yoast will automatically output the schema on all posts.
  3. Rank Math: go to Rank Math → Titles & Meta → Posts → Schema Type → select 'Article'. You can also set this per-post in the Rank Math sidebar within the post editor.
  4. Validate any post URL with Google's Rich Results Test to confirm Article schema appears without errors.
How to fix missing schema article on Ghost
  1. Ghost automatically outputs basic Article JSON-LD for posts. Verify by running a post URL through the Rich Results Test.
  2. To extend or customize the schema, go to Settings → Code Injection → 'Site Header' and paste a supplementary JSON-LD script, or edit your custom theme's 'post.hbs' file and add the JSON-LD block using Ghost's Handlebars helpers ({{title}}, {{published_at}}, {{updated_at}}, {{primary_author.name}}) to populate fields.
  3. Upload the updated theme via Settings → Design → Upload a Theme, then re-validate.
How to fix missing schema article on HubSpot CMS
  1. Go to Marketing → Website → Blog → Blog Settings → check if HubSpot is injecting Article schema automatically (it does for most templates since 2021). Verify with the Rich Results Test first.
  2. If schema is missing or incomplete, open the HubSpot Design Manager, locate your Blog Post template, and add an HubL 'html_tag' or raw HTML module containing the JSON-LD script block.
  3. Use HubL variables ({{ content.name }}, {{ content.publish_date }}, {{ content.blog_author.display_name }}) to populate fields dynamically.
  4. Publish and validate with the Rich Results Test.
How to fix missing schema article on Shopify Plus
  1. Follow the same steps as standard Shopify (edit article.liquid or use a structured data app).
  2. 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).
  3. Use the Shopify Storefront API fields: articles query returns title, authorV2.name, publishedAt, updatedAt, image.url — map these directly to your JSON-LD template.
  4. Validate with Google's Rich Results Test after deployment.
How to fix missing schema article on Next.js (Headless)
  1. Create a reusable `ArticleJsonLd` component at `components/seo/ArticleJsonLd.tsx` that accepts article metadata props and renders a `<script type='application/ld+json'>` tag using Next.js's `<Script>` (or a plain `<script>` inside a Server Component).
  2. In your blog post page — `app/blog/[slug]/page.tsx` (App Router) or `pages/blog/[slug].tsx` (Pages Router) — fetch the article data (title, description, author, dates, images) from your headless CMS/API inside `generateMetadata` / `getStaticProps` / `getServerSideProps`.
  3. Import and render `<ArticleJsonLd>` inside the page component, passing the fetched article fields as props. For the App Router this sits directly in the Server Component; for the Pages Router place it inside the JSX return alongside `<Head>`.
  4. Ensure every required Article schema field is populated: `headline`, `image`, `datePublished`, `dateModified`, `author` (with `@type: 'Person'` or `'Organization'`), `publisher`, and `url`. Fall back gracefully when optional CMS fields are absent.
  5. Extend the same `ArticleJsonLd` component to editorial/landing pages by passing `@type: 'Article'` or the more specific `'BlogPosting'` / `'NewsArticle'` depending on the content type returned by your CMS.
  6. Validate the rendered output with Google's Rich Results Test (https://search.google.com/test/rich-results) and the Schema Markup Validator (https://validator.schema.org/) before deploying.

Does your site have this issue?

Run a free SEOLZ scan to find missing schema article — and every other issue — across your whole site in minutes.

Scan my site free

Frequently asked questions

What is Missing schema article?

Article schema is a small block of structured data — written in a format called JSON-LD — that you embed in a page's HTML to tell Google (and other search engines) that the page is an article, who wrote it, when it was published, and what it's about. Think of it as a machine-readable label that sits invisibly in your page code. Without it, Google has to guess at all of those details. With it, Google has certainty — and that certainty unlocks extra search features. This is especially important for the Answer Engine Optimization (AEO) pillar: search engines increasingly pull answers directly from structured, labeled content, and Article schema is the foundation that makes your editorial pages eligible for that treatment.

Why does missing schema article matter?

Pages with Article schema are eligible for Google's rich results — including enhanced article cards in Discover, "Top stories" carousels, and knowledge-panel-style answer snippets — which can dramatically increase click-through rates compared to plain blue links. As AI-driven search features (like Google's AI Overviews and Bing's Copilot) look for authoritative, well-labeled sources to cite in direct answers, missing Article schema means your content is less likely to be selected as a source, costing you visibility even when your writing is excellent. For ecommerce stores with blogs, guides, or how-to content, this directly affects the organic traffic those pages drive to product pages. It's a zero-cost technical change with a measurable traffic upside.

How do I fix missing schema article?

Add Article schema markup (JSON-LD) to every blog post and editorial page so Google can identify and rich-result-enhance your content in search.

Authoritative references

Related Answer Engine Optimization issues