How to Add Article Schema to a Blog Post

Article schema tells search engines your page is an article with a headline, author, and publication date. Here is how to write it and add it.

Some Assembly Required - How to Add Article Schema
How to Add Article Schema - Some Assembly Required

Article schema is structured code that tells search engines a page contains a written article. It identifies the headline, author, publisher, publication date, and featured image in a format that machines can read directly - without having to infer these details from the page content.

Adding Article schema to every post you publish is the baseline for schema implementation on a content-focused website. It is the most widely applicable schema type and the practical starting point before adding more specific types like FAQPage or HowTo schema.

This guide explains what Article schema includes, how to write it, and how to add it to your website.

For an overview of how schema markup works and why it matters, read What is Schema Markup?

What Article Schema Includes

Article schema uses a set of standard fields defined by Schema.org. Not all fields are required, but several are recommended by Google to be eligible for rich result features.

The key fields for Article schema are:

  • @type - specifies the content type. Use Article for general articles and blog posts.
  • headline - the title of the article. Must match the H1 heading on the page.
  • description - a brief summary of the article content. This is typically your meta description.
  • author - the name of the person who wrote the article, with their type specified as Person.
  • publisher - the organisation publishing the article, with a name and logo URL.
  • image - the URL, width, and height of the featured image.
  • datePublished - the date the article was first published, in ISO 8601 format (YYYY-MM-DD).
  • dateModified - the date the article was last updated, if different from the published date.
  • mainEntityOfPage - the canonical URL of the article page.

The Full Article Schema Template

Here is a complete Article schema template you can adapt for each post:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "@id": "https://yourdomain.com/section/article-slug/#article",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://yourdomain.com/section/article-slug/"
  },
  "headline": "Your Article Title Here",
  "description": "A brief description of what the article covers.",
  "inLanguage": "en-AU",
  "author": {
    "@type": "Person",
    "name": "Your Name"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Your Business Name",
    "logo": {
      "@type": "ImageObject",
      "url": "https://yourdomain.com/path/to/logo.png"
    }
  },
  "image": {
    "@type": "ImageObject",
    "url": "https://yourdomain.com/content/images/YYYY/MM/article-slug.png",
    "width": 1200,
    "height": 630
  },
  "datePublished": "YYYY-MM-DD",
  "isAccessibleForFree": true
}
</script>

Replace each placeholder value with the correct details for the article. The @id and mainEntityOfPage fields should use the canonical URL of the article. The image URL should point to the actual feature image for that post.

How to Add Article Schema to Ghost

On Ghost, schema is added through the post code injection field. This field accepts raw HTML, which is where the JSON-LD script tag goes.

Step 1. Open the post in the Ghost editor.

Step 2. Open the post settings panel. On Ghost, this is the gear icon in the top right of the editor.

Step 3. Scroll down to find the Code injection section. There are two fields: header and footer. Add your schema to the footer field only.

Step 4. Paste the complete schema block - including the opening and closing script tags - into the footer field.

Step 5. Save or update the post.

Step 6. Validate the schema using Google's Rich Results Test. Enter the post URL and check the results. For a full walkthrough of this step, read How to Test Schema Markup with Google's Rich Results Test.

What to Check Before Adding the Schema

Before pasting the schema into Ghost, check three things.

The headline matches the H1. The headline field in the schema must match the actual title of the article as it appears on the page. If they differ, the schema may generate a warning in Google's validation tools.

The image URL is correct. The image URL must point to a real, accessible image. If the image has not been uploaded yet, update the schema URL after uploading. A schema block pointing to a non-existent image will generate a validation warning.

The canonical URL is accurate. The @id and mainEntityOfPage values must match the exact published URL of the post, including the trailing slash. An incorrect canonical URL in the schema is a common source of errors.

Keeping Article Schema Consistent

If you publish articles regularly, it helps to have a template you fill in for each post rather than writing the schema from scratch every time.

Keep the following fields the same across all articles:

  • @context - always https://schema.org
  • inLanguage - always en-AU for this site
  • author - same name and type for every post by the same author
  • publisher - same organisation name and logo URL for every post
  • isAccessibleForFree - true for all publicly accessible content

Change the following fields for each article:

  • headline - the article title
  • description - the meta description
  • @id and mainEntityOfPage - the article's canonical URL
  • image - the featured image URL for that specific post
  • datePublished - the publication date

Having a template with the fixed fields already filled in reduces the time to add schema to each new post and reduces the chance of errors.

Combining Article Schema with Other Schema Types

Article schema can be combined with other schema types on the same page. A blog post with a FAQ section can have both Article schema and FAQPage schema - each as a separate JSON-LD script block in the footer.

The two blocks do not interfere with each other. Google's Rich Results Test will detect and validate both independently.

For a guide to adding FAQPage schema, read How to Add FAQ Schema to Your Pages.

For the full overview of schema types and when to use them, read What is Schema Markup?

Common Mistakes

Using the wrong @type value. The value Article is correct for most blog posts and editorial content. NewsArticle and BlogPosting are subtypes of Article and are also valid. Avoid using a type that does not match the content.

Mismatched headline. If the headline field in your schema does not match the H1 heading on the page, Google's tools will flag it as a warning. Copy the title directly from the post to avoid this.

Incorrect JSON formatting. Every opening brace, bracket, and quote must be correctly closed and matched. A single formatting error breaks the entire schema block. Use a JSON validator or Google's Rich Results Test to catch errors before they cause problems.

Adding schema to the header instead of the footer. On Ghost, schema belongs in the post code injection footer. Adding it to the header can cause rendering issues on some themes.

Not updating the image URL after uploading the image. If you write the schema before uploading the feature image, remember to update the image URL in the schema once the image is in place. An image URL pointing to a file that does not exist will generate a validation warning.

Frequently Asked Questions

Is Article schema required for a blog post to rank? No. Schema markup is not a ranking requirement. A well-written, well-structured article can rank without it. What Article schema does is help search engines understand the page more precisely and makes the page eligible for certain rich result features in search.

What is the difference between Article, BlogPosting, and NewsArticle schema? All three are valid schema types for written content. Article is the broadest type and is appropriate for most blog posts and guides. BlogPosting is a subtype of Article specifically for blog content. NewsArticle is for time-sensitive news reporting. For a small business content site, Article is the correct choice.

Can I use the same schema template for every post? Yes, with post-specific fields updated each time. The publisher, author, language, and accessibility fields stay the same. The headline, description, URL, image, and date fields change for each post.

Do I need to add a dateModified field? It is not required but it is good practice. If you update an article significantly, adding a dateModified field tells search engines the content has been reviewed and updated. This can support freshness signals for content on topics that change over time.

What happens if my Article schema has an error? An error in the JSON-LD formatting means the schema block will not be read by search engines. The page still appears in search results - schema errors do not remove a page from the index - but the structured data is not available. Fix the error and revalidate the page.

Summary

Article schema is structured code that tells search engines a page contains a written article, identifying the headline, author, publisher, image, and URL in a machine-readable format.

Write the schema using the JSON-LD format. Use the standard template, updating the headline, description, URL, image, and date fields for each post.

On Ghost, add the schema block to the post code injection footer field - not the header.

Check that the headline matches the H1, the image URL points to a real file, and the canonical URL is accurate before saving.

Validate the schema using Google's Rich Results Test after publishing.

Keep a template with fixed fields pre-filled to make adding schema to new posts faster and more consistent.