Article schema with author markup that follows Google's guidance
A BlogPosting JSON-LD example with author, dates and image done Google's way: a Person with a url, one entry per author, dates matching the page.
LLaunchScaler·Published ·8 min read
Article schema for a blog post is a JSON-LD block of type Article or BlogPosting with headline, image, datePublished and dateModified in ISO 8601 format, and an author given as a Person (or Organization) with the name alone in name and a url to a page about that author. Google lists no required properties, so the quality of each one decides how useful the markup is.
Google's author guidance adds rules that templates often break: list every author as a separate object, keep job titles and "posted by" out of the name, and mark up only authors and dates that the page visibly shows. Below is a complete block, then each rule with a right and a wrong example.
What should Article schema include?
Google accepts three types for the same features, Article, NewsArticle and BlogPosting, and says "there are no required properties; instead, add the properties that apply to your content." The recommended set is short. Each property has a specific format, and getting the format right matters more than adding extra fields.
Property
Type Google expects
Questions, answered
What people ask about this
01
What are the required properties for Article schema?
None. Google's Article documentation says there are no required properties and asks you to add the recommended ones that apply: headline, image, datePublished, dateModified and author, with author.name and author.url.
The article's title; Google says long titles "may be truncated on some devices"
image
ImageObject or URL, repeatable
Relevant images, not logos; crawlable and indexable; Google suggests several high-resolution versions (at least 50K pixels, width times height) at 16x9, 4x3 and 1x1
datePublished
DateTime, ISO 8601
When the article was first published; add a timezone
dateModified
DateTime, ISO 8601
When it was last significantly updated; add a timezone
author
Person or Organization, repeatable
One object per author
author.name
Text
The name only
author.url
URL
A page that uniquely identifies the author; sameAs also works
Google is explicit that fewer, accurate properties beat many sloppy ones: it is "more important to supply fewer but complete and accurate recommended properties" than every property "with less complete, badly-formed, or inaccurate data."
What does a complete BlogPosting example look like?
This block follows every rule in Google's Article documentation and author best practices. It has two authors, each a Person with a profile URL and a separate jobTitle, dates with a timezone, and three image crops.
The page this sits on must show the same things: the headline, a byline naming Maya Patel and Tom Reyes, and the dates labelled as published and updated. Every value in the block is something a reader can see, which is the condition Google sets for all structured data.
How should you mark up the author?
Use Person for a person and Organization for a company, put only the name in name, and link each author to a page about them with url or sameAs. Google says it "strongly" recommends the type and url properties "to help Google better understand who the author is," and that it can "understand both sameAs and url when disambiguating authors."
Google's author best practices, with a wrong and a right version of each:
"name": "Maya Patel", "honorificPrefix": "Dr", "jobTitle": "Head of Product"
No introductory words
"name": "Posted by Maya Patel"
"name": "Maya Patel"
Publisher is not the author
"name": "Maya Patel at Acme"
"name": "Maya Patel" plus "publisher": {"@type": "Organization", "name": "Acme"}
Correct type
"@type": "Thing", or Organization for a person
"@type": "Person" for people, Organization for companies
Include every author shown
Only the first of three bylined authors marked up
All three, each in its own object
When a post is written by the company rather than a person, use Organization and link it to your homepage, which is Google's own example: an organization author "could link to the organization's home page." Do not invent a person to put a name on company content.
For url, Google's examples of a page that uniquely identifies an author are "the author's social media page, an 'about me' page, or a bio page." An author page on your own site is the most useful, because you control it and can describe the author's background there.
Does the author byline have to be visible on the page?
Yes. Google's author best practices say to "make sure that all the authors that are presented as authors on the web page are also included in markup," and its general guidelines say "don't mark up content that is not visible to readers of the page." An author in the markup with no byline on the page is content the reader cannot see.
The byline also matters beyond markup. Google's helpful content guidance asks, under "Who created the content": "Is it self-evident to your visitors who authored your content? Do pages carry a byline, where one might be expected? Do bylines lead to further information about the author or authors involved?" It adds that Google "strongly encourage[s] adding accurate authorship information, such as bylines to content where readers might expect it."
In practice that means a visible byline near the headline, the author's name as a link to their author page, and an author page that says who they are and what they write about. How that supports trust on a SaaS blog is covered in E-E-A-T for a SaaS blog.
How should dates be formatted, and must they match the page?
Use ISO 8601 with a timezone, and make the markup match the dates the page shows. Google's byline date guidance says "the date is required; the time is not," recommends a time and timezone "for added precision," and asks you to "ensure that the date (and optional time and timezone) match between the equivalent user-visible and structured values."
Its other date rules for articles:
Show the date prominently and label it: Google's examples include "Published February 4, 2019" and "Last updated: Feb 14, 2018".
Use the correct timezone, "taking into account daylight saving time as appropriate."
Don't specify future dates, or the date of an event the page describes. The dates describe the page, not the story in it.
If Google picks the wrong date, "consider removing some or all other dates that appear on the page."
Change dateModified only when the content substantially changes. Google's helpful content guidance lists "changing the date of pages to make them seem fresh when the content has not substantially changed" as a warning sign.
A mismatch is easy to create by accident: a template that prints a formatted date from one field while the JSON-LD reads another, or a build that stamps dateModified with the deploy time on every page. Generate the visible date and the markup from the same field. Why dates matter to AI answers as well as Google is covered in content freshness and AI citations.
How do you generate the block from your post data?
Build the object in code from the same fields that render the page, then serialise it, so the markup can never drift from what readers see. In the Next.js App Router, the documented pattern is a <script type="application/ld+json"> tag in the page component whose content is JSON.stringify(jsonLd).replace(/</g, "\\u003c"). The replace step is there because, as the Next.js guide warns, JSON.stringify "does not sanitize malicious strings used in XSS injection."
Map the fields once: the post title to headline, the cover image crops to image, the created and updated timestamps to the two dates, and each byline entry to one author object with its profile URL. Any CMS or framework can do the same; the rule is that the visible byline and the markup read one source.
Should the author page have ProfilePage markup?
It can. Google's ProfilePage markup is for pages whose "primary focus" is "a single person or organization that is affiliated with the overall website," and it lists "an author page on a news site" and "an 'About Me' page on a blog site" as valid uses. Its one required property is mainEntity, the Person or Organization the page is about.
Google notes that "Article and Recipe structured data have authors" and that these features can link to pages with ProfilePage markup, so the author url in your article and the ProfilePage on the author page describe the same person from both ends. A minimal author page block:
Run the article URL through the Rich Results Test, where it should be detected as an article with no critical issues. Because Article has no required properties, most problems show as non-critical warnings or not at all, so read the detected values rather than only the status. Then check the live page with URL Inspection after Google recrawls.
A short checklist for each article template:
The type is Article, NewsArticle or BlogPosting, spelled correctly.
headline matches the visible title.
Each author is a separate object with @type, name and url, and each appears in the visible byline.
datePublished and dateModified are ISO 8601 with a timezone and match the visible dates.
image URLs return 200 and are not blocked by robots.txt.
The JSON parses. A trailing comma or unescaped quote voids the whole block; structured data errors lists each parsing message and its fix.
Check your article pages for a missing author or broken JSON-LD
To check an article page as it is served now, run the free scan on LaunchScaler with its URL, no account needed. Its search checks flag content with no author byline or verifiable author entity, and its structured data checks flag JSON-LD that does not parse, uses a type that does not exist, or is missing properties its type requires. Fix what it finds, re-test in the Rich Results Test, then request indexing for the page.
Add an author property to the Article or BlogPosting object with @type Person (or Organization), the author's name only in name, and a url pointing to a page that identifies them, such as an author bio page. List each author as a separate object in an array.
03
Should the author name in schema include a job title?
No. Google says to put only the name in author.name, and to use jobTitle for the job title, honorificPrefix or honorificSuffix for titles, and publisher for the publication. Words like 'posted by' do not belong in the name either.
04
What date format does Article schema use?
ISO 8601, for example 2026-09-28T09:00:00+01:00. Google says the date is required for a byline date but the time is not, recommends adding a time and timezone, and asks that the dates match the dates shown on the page.
05
Should I use Article or BlogPosting schema for a blog post?
Either works. Google accepts Article, NewsArticle and BlogPosting for the same features. BlogPosting describes a blog post more precisely, and the properties Google reads are the same.
Get a Bolt site indexed: check which framework it uses, publish publicly on your own domain, add robots.txt and a sitemap, then verify in Search Console.