New ChatGPT vs Google Search Volume: What OpenAI’s 20% Claim Really Means

Technical SEO

Article Structured Data: How to Mark Up Blog Posts and News

Which schema type to pick for blog posts and news, which properties Google actually recommends, a clean JSON-LD example, and the mistakes I see most often.

Article Structured Data: How to Mark Up Blog Posts and News

Quick Answer

Article structured data is JSON-LD code that tells Google an article's headline, images, author and dates. Use BlogPosting for blog posts, NewsArticle for news and Article otherwise. Google lists no required properties, but recommends headline, image, datePublished, dateModified and author with name and URL. It does not boost rankings, but it helps Google show the right title, image and date.

Key Takeaways

  • Google supports three types for this markup: Article, BlogPosting and NewsArticle, all with the same properties.
  • Google lists no required properties; headline, image, dates and author are all recommended.
  • Images should be at least 50,000 pixels in total, ideally in 16x9, 4x3 and 1x1 crops.
  • Always add a time zone to datePublished and dateModified, and only change dateModified for real edits.
  • List each author separately, with only their name in author.name and a profile link in author.url.
  • Keep one Article block per page; duplicate markup from a theme and plugin is the most common problem.
In this article
  1. What Article Structured Data Is and What It Does
  2. Article, BlogPosting or NewsArticle: Which Type to Use
  3. The Article Structured Data Properties Google Recommends
  4. A Clean Example for a Blog Post
  5. How to Add Article Structured Data to Your Site
  6. How to Test and Check Your Markup
  7. Common Mistakes I See With Article Schema
  8. How Article Markup Fits With the Rest of Your Page
  9. Conclusion
  10. Frequently asked questions

Article structured data is a small block of code that tells Google the basic facts about a blog post or news story: its headline, its images, who wrote it, and when it was published and updated. It does not make you rank higher. But it helps Google show the right title, image and date for your article in Search and Google News.

If you run a blog or a news site, you probably have some of this markup already, often added by your theme or SEO plugin. In this guide I explain which type to use, which properties matter, what a clean example looks like, and how to add and test it without guesswork.

What Article Structured Data Is and What It Does

Structured data is code that labels the content on a page in a format search engines read easily. Google prefers a format called JSON-LD (a short script block that sits in the page and does not change what visitors see). The labels come from schema.org, a shared vocabulary that Google, Bing and others support.

For articles, the markup says things like “this is the headline”, “this is the main image”, “this person wrote it” and “it was published on this date”. Google can already guess most of this from the page. The markup removes the guessing.

What Google Uses It For

Google says Article markup helps it understand the page and show better title text, images and date information for the article. That applies across Google Search, Google News and Google Assistant.

In practice, I think of it as a way to make sure Google picks up:

  • the correct headline, not a menu label or a widget title
  • a good image you chose, not a logo or a random icon
  • the real publish date and last updated date
  • the real author, with a link to their profile

What It Does Not Do

Article markup is not a ranking factor, and it does not give you stars or any special visual feature on its own. Google is also clear that Article markup is not required to appear in Top stories. A news article can show there without it.

So I’d set expectations simply. This markup is about accuracy and clarity, not a boost. On most sites I review, the real value is in fixing wrong dates and missing authors, which can quietly confuse Google.

Article, BlogPosting or NewsArticle: Which Type to Use

Google supports three schema.org types for this markup: Article, NewsArticle and BlogPosting. BlogPosting and NewsArticle are more specific kinds of Article, so all three share the same properties.

Google’s general rule is to use the most specific type that fits your content. Here is how I decide.

Type Use it for Example
BlogPosting Posts on a blog, guides, opinion pieces and how-to posts with an author and date A company blog post about choosing a CRM
NewsArticle Timely news reporting about recent events A story about a new law passed this week
Article Other editorial content, or when you are unsure A long reference article in a resources section

Don’t overthink this choice. Google treats the three types the same way and recommends the same properties for each. A blog post marked as Article is not “wrong”. It is just less specific.

The one thing I avoid is marking evergreen guides or product pages as NewsArticle to look newsy. It does not help, and it describes the page falsely. Only use it for real news.

What About Product, Service and Category Pages?

Article markup belongs on article pages only. A service page, a product page or a blog category page is not an article. Those pages need other markup, or none at all. Google’s general structured data guidelines say the markup must describe the main content of the page it sits on.

The Article Structured Data Properties Google Recommends

Here is something many older guides get wrong. Google lists no required properties for Article markup. Every property is recommended, and Google asks you to add the ones that apply to your content.

These are the recommended properties:

  • headline: the title of the article
  • image: one or more images that represent the article
  • datePublished: when the article was first published
  • dateModified: when it was last changed
  • author: the person or organisation who wrote it
  • author.name: the author’s name
  • author.url: a page that identifies the author, such as a bio page

Headline

Use the article’s actual title. Google asks you to keep it short, because long titles can get cut off on some devices.

You may see advice that the headline must be under 110 characters. That was an old limit that Google no longer lists. I still keep headlines short, but for readers, not to pass a rule. The headline should match the title people see on the page, which is usually your H1.

Image

Google wants images that represent the article, not your logo or a caption graphic. Its image guidance is specific:

  • Each image should be at least 50,000 pixels in total (width multiplied by height). An image of 300 by 170 pixels already passes, but bigger is better.
  • Give several high-resolution images in these aspect ratios: 16×9, 4×3 and 1×1.
  • Use a format Google Images supports, such as JPEG, PNG or WebP.
  • Make sure Google can crawl and index the image URLs. They should not be blocked in robots.txt.

In my experience, the easy win is to point the markup at the same featured image you already use, in three crops. Many CMS platforms create those crops for you.

datePublished and dateModified

Dates use the ISO 8601 format, for example 2025-03-18T10:00:00+05:30. The last part is the time zone. Google says that if you leave out the time zone, it will assume Googlebot’s own time zone, which can shift your date by a day.

Only change dateModified when you make a real change to the article. I often see sites that update this date on every page load, or after fixing a typo. That sends a mixed signal and does not fool anyone.

The dates in your markup should also match the dates shown on the page. If the page says “Updated 2 March” and the code says 15 March, Google has to guess which one is right.

Author, author.name and author.url

Author markup is where I find the most mistakes. Google gives clear best practices:

  • Include every author shown on the page, each as a separate entry. Don’t put “Jane Smith and Raj Patel” in one name field.
  • Set the right type: Person for a person, Organization for a company or team.
  • Put only the name in author.name. No job title, no “Posted by”, no company name.
  • Add author.url pointing to a page that identifies that author, such as a bio page on your site or a social profile. You can use sameAs for extra profile links.

If you want to add a job title, there is a separate jobTitle property for it. The same goes for the publisher, which has its own property.

Publisher and Other Optional Properties

Many guides still say a publisher with a logo is required. Google does not list it as a recommended property for Article markup today. Adding it does no harm, and I usually include it so the markup is complete. Just don’t panic if a tool complains it is missing.

Other schema.org properties, such as description, mainEntityOfPage or articleSection, are allowed. Google may not use them, but they are fine to include if your plugin adds them.

A Clean Example for a Blog Post

Here is a simple BlogPosting example in JSON-LD. You would place it in the page’s HTML, in the head or the body. Replace the example values with your own.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "How to Choose a CRM for a Small Team",
  "image": [
    "https://example.com/images/crm-guide-1x1.jpg",
    "https://example.com/images/crm-guide-4x3.jpg",
    "https://example.com/images/crm-guide-16x9.jpg"
  ],
  "datePublished": "2025-03-18T10:00:00+05:30",
  "dateModified": "2025-03-18T10:00:00+05:30",
  "author": [{
    "@type": "Person",
    "name": "Jane Smith",
    "url": "https://example.com/authors/jane-smith/"
  }],
  "publisher": {
    "@type": "Organization",
    "name": "Example Co",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/images/logo.png"
    }
  }
}
</script>

A few things to notice. The images come in the three aspect ratios. Both dates include a time zone. The author is a Person with a profile URL, and the author is inside a list, so adding a second author later is easy.

The Same Markup for a News Story

For a news article, change "@type" to "NewsArticle". Everything else stays the same. For a story with two reporters, add a second object to the author list:

"author": [
  {
    "@type": "Person",
    "name": "Jane Smith",
    "url": "https://example.com/authors/jane-smith/"
  },
  {
    "@type": "Person",
    "name": "Raj Patel",
    "url": "https://example.com/authors/raj-patel/"
  }
]

If an article is written by a team rather than a named person, use Organization as the author type and point the URL at your about page.

How to Add Article Structured Data to Your Site

How you add the markup depends on your platform. The goal is the same everywhere: one correct block of Article markup on every article page, filled in from the page’s own data.

  1. Check what you already have. Run one of your article URLs through Google’s Rich Results Test. Many themes and plugins already add Article markup, and you don’t want two competing blocks.
  2. Pick the type for each content section. For example, BlogPosting for the blog and NewsArticle for a news section.
  3. Set up author pages. Make sure each author has a bio page on your site. This gives you a solid URL for author.url.
  4. Add the markup to your article template. Fill the headline, images, dates and author from the post’s fields, not by hand. Hand-typed markup gets out of date fast.
  5. Test a few live articles. Check one new post, one old post and one post with several authors. Fix any errors and look at the detected values, not just the green ticks.
  6. Ask Google to recrawl key pages. Use the URL Inspection tool for a few important articles. The rest will be picked up as Google recrawls the site, which can take days or weeks.

On WordPress

Popular SEO plugins such as Yoast SEO and Rank Math add Article markup to posts automatically. In most cases you only need to check their settings: the default article type, the publisher name and logo, and that each author has a proper profile.

The problem I usually see on WordPress sites is double markup. The theme adds one Article block and the SEO plugin adds another, with different dates or authors. If that happens, turn off the theme’s version and keep one source.

On a Custom Site or Other CMS

Ask your developer to add the JSON-LD block to the article template and fill it from the CMS fields. On Shopify, Webflow, Wix and similar platforms, check whether the blog template already outputs markup before adding your own.

Using Google Tag Manager

Google can read structured data that JavaScript adds to the page, so you can inject JSON-LD with a Custom HTML tag in Google Tag Manager. I treat this as a last resort. It works, but the markup sits away from the content, and it is easy to break when the site changes. Putting it in the template is safer.

How to Test and Check Your Markup

Testing has two parts: checking the code is valid, and checking it says the right things.

The Rich Results Test shows whether Google can read your Article markup and lists any errors or warnings. Errors need fixing. Warnings about missing recommended properties are worth fixing if the data exists, but they won’t stop Google using the markup.

Then look at the values the tool detected. Is the headline the real title? Is the image the featured image, not the logo? Are the dates right, with the correct time zone? A tool can pass broken data that is valid code.

For live pages, the URL Inspection tool in Search Console shows what Google found the last time it crawled the page, including detected structured data. It is also how you request a recrawl after a fix.

One thing to know: Search Console does not have a separate rich result report for Article markup, as it does for some other types. So don’t wait for a report to appear. Spot check your templates now and then instead, especially after a theme or plugin update.

Common Mistakes I See With Article Schema

Most problems are not in the code. They come from data that is wrong, out of date or duplicated.

  • Two or three Article blocks on one page. Usually from a theme plus a plugin. They often disagree on dates or authors.
  • A logo used as the article image. Google asks for images that represent the article itself.
  • Dates with no time zone. This can push the date shown in Google off by a day.
  • dateModified that changes on its own. Some setups update it every time the page is cached or rebuilt.
  • Author set to “admin” or the company name. If a real person wrote the post and their name is on the page, put them in the markup.
  • Extra words in the author name. “By Jane Smith, Head of Content” belongs in separate properties, not the name field.
  • Headline that doesn’t match the page. The markup says one thing and the H1 says another, often after the title was edited.
  • Article markup on pages that are not articles. Home pages, service pages and category pages should not carry it.

Google also warns that markup which misleads, for example a fake author or content hidden from users, can lead to a manual action. In that case Google ignores your structured data, though the page can still appear in results.

Multi-Page Articles

If you split long articles across several pages, Google asks that each page’s canonical tag (the code that tells Google which URL is the main version) points to itself or to a “view all” page. Don’t point every page’s canonical to page one.

How Article Markup Fits With the Rest of Your Page

Structured data works best when it confirms what the page already shows clearly. A visible headline, a byline that links to the author’s bio, a visible date and a strong featured image all help readers first. The markup then repeats those facts in a form Google can trust.

That is why I check Article markup as part of a normal on-page review, alongside titles, headings and internal links. My on-page SEO checklist covers those other parts.

Article markup is also separate from Open Graph tags. Open Graph controls how your link looks when someone shares it on Facebook, LinkedIn or WhatsApp. Google uses structured data. Most blogs need both, and they should use the same title and image. I cover the social side in my guide to Open Graph tags.

Conclusion

Article structured data is simple once you know what matters. Pick the right type, fill in the headline, images, dates and authors correctly, and make sure there is only one block per page. There are no required properties, so focus on accuracy over adding every field you can find.

For your next step, open two or three of your own articles in the Rich Results Test today. Check the detected headline, image, dates and author against what the page shows. If anything is wrong, fix it in the template once, and every article benefits. For the full details, Google’s Article structured data documentation is the reference I keep coming back to.

Frequently Asked Questions

Does article schema help SEO rankings?

Not directly. Article markup is not a ranking factor. It helps Google understand the page and show the correct title, image and date, which can make your result clearer in Search and Google News.

What is the difference between Article, BlogPosting and NewsArticle schema?

BlogPosting and NewsArticle are more specific kinds of Article. Use BlogPosting for blog posts, NewsArticle for timely news and Article for other editorial content. Google recommends the same properties for all three.

Which properties are required for Article structured data?

None. Google lists no required properties for Article markup. It recommends headline, image, datePublished, dateModified, author, author.name and author.url, and asks you to add the ones that apply.

Is the publisher logo still required for article schema?

Google does not list publisher as a recommended property for Article markup today. Older guides and some tools still say it is required. Adding it does no harm, but leaving it out will not stop Google using your markup.

Do I need article structured data to appear in Top stories?

No. Google says Article markup is not required for Top stories. News content can appear there without it, though the markup still helps Google read your dates, images and authors correctly.

How do I add article schema in WordPress?

SEO plugins such as Yoast SEO and Rank Math add Article markup to posts automatically. Check the plugin's settings for the article type, publisher details and author profiles. Then make sure your theme is not adding a second block.

How long does it take Google to pick up new article markup?

Google reads the markup the next time it crawls each page. For important pages you can request a recrawl with the URL Inspection tool. Across a whole site, expect it to take days to weeks.

Can I use JSON-LD and microdata for articles at the same time?

You can, but I would not. Two formats describing the same article can disagree and are harder to maintain. Google recommends JSON-LD, so pick that and remove the other.

Get the Next Guide in Your Inbox

Google updates, AI search changes and practical SEO guides. We email you when a new article is published, nothing else.

One email when we publish something new. No spam, unsubscribe in one click. Privacy

Written by Lovepreet Singh Digital Marketing Manager @ Softtrix
  • 12+ years in SEO
  • 331 articles
  • Punjab, India

Lovepreet Singh has been working in SEO for the last 12 years. He started as an SEO analyst, checking rankings and fixing on-page issues, and today he is Digital Marketing Manager at Softtrix Tech Solutions, looking after search and growth for client websites, from online stores to local service businesses.

  • AI Search & AEO
  • Technical SEO
  • Local SEO
  • Google Business Profile

Keep Reading