
What search engines read
Google's Article structured data documentation lists author as a recommended property and gives specific advice: use a Person or Organization type, put only the name in the name field, give each author their own object, and add a url that identifies the author, such as an author page or a profile. The schema.org Person type defines further fields, of which sameAs and jobTitle are the most useful for bylines.
| Property | Example value | Why it helps |
|---|---|---|
| name | Jane Park | Matches the visible byline |
| url | https://example.com/author/jane-park/ | One stable page per author |
| sameAs | Profile URLs on other sites | Connects the author to a public record |
| jobTitle | Staff writer | Context for readers and machines |
Setting it up
Check what you already output
View source on a post and search for
"author"inside the ld+json blocks. Most SEO plugins output an Article with an author already; you may only need to fill in the profile fields.Complete the author profiles
In each user's profile, add a biography, a photo and links to public profiles. Plugins typically map those links to sameAs.
Build real author pages
The author archive is the url in the markup. Give it a short biography, contact route and the author's articles, and make sure it is not set to noindex.
Handle guest and co-authors
Each co-author needs a separate Person object in an author array. Do not join two names in one name field.
Validate
Run a post through a structured data testing tool and fix warnings on author, headline, image and dates.
Example markup
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How we tested five share plugins",
"datePublished": "2026-09-01",
"dateModified": "2026-09-20",
"author": [{
"@type": "Person",
"name": "Jane Park",
"url": "https://example.com/author/jane-park/",
"sameAs": ["https://social.example/@janepark"]
}]
}Common mistakes
- Listing the site or the brand as author on signed articles, which hides the person readers are trying to find.
- A name in the markup that differs from the visible byline, for example a full name in one and initials in the other.
- Author pages set to noindex by an SEO plugin default, so the url in the markup points to a page search engines ignore.
- Several plugins each printing an Article object with different authors. Keep one source, the same rule as for Open Graph output in WordPress.
Author schema markup: a worked example
Take a site with 320 published posts, 5 staff writers and 11 guest contributors. The numbers are invented for this example. A crawl of the rendered pages shows that 290 posts output an Article with a Person author, 22 posts output the organisation as author because they were imported without a user, and 8 have no author at all. Of the 290, 41 show a name that differs from the visible byline, mostly initials in the markup and a full name on the page.
Fixing it in the example takes three changes rather than 320 edits. Assigning the 22 imported posts to the correct users fixes their markup at once. Editing the 41 display names to match the byline fixes the mismatch. Filling in the profile links for all 16 people adds sameAs to every post they wrote. A second crawl then shows 320 posts with a Person author whose name matches the byline and whose url resolves to an indexable author page.
Pitfalls
- Author archives disabled to prevent username enumeration. That is a valid security choice, but the url in the markup then points at a redirect or a 404, so give each author a real page instead.
- Caching plugins serving an old ld+json block after a profile change. Purge the page cache before re-testing.
- Guest authors created as a shared account called Guest. Every guest article then shares one Person with no biography.
- Renaming a writer's display name without redirecting the old author archive, which breaks the url other sites and search engines have recorded.
- A migration that keeps the visible byline in post content and loses the user link, so the page names a writer while the markup names nobody.
Check it worked
Validate three posts per author, including one old post and one with two authors, in a structured data testing tool. Then open each author url in a private window and confirm it loads without a login and is not marked noindex. Record the run so the next check can compare against it.
| Page | Tool | Time (UTC) | Author shown | Author url |
|---|---|---|---|---|
| /2026/09/five-plugins-tested/ | Rich results test | 2026-09-20 10:02 | Person: Jane Park | 200, indexable |
| /2024/03/older-review/ | Rich results test | 2026-09-20 10:09 | Person: Jane Park | 200, indexable |
| /2026/08/joint-report/ | Schema validator | 2026-09-20 10:15 | 2 Person objects | Both 200 |
| /2026/07/guest-column/ | Rich results test | 2026-09-20 10:22 | Organization (wrong) | n/a, fix assigned |
The preview integrity test routine uses the same log format for the card side, so one spreadsheet can hold both. The provenance hub lists the other authorship signals.
Author pages that earn trust
The url in the markup is only useful if the page behind it answers a reader's questions. A good author page gives the person's name and role, a short account of their experience with the subject, a way to contact them or the editor, and a dated list of what they have written. It should be reachable from every byline, load without a login, and stay at the same address when the site is redesigned, because other sites and search engines will have recorded it.
Where it fits with disclosure
Structured data states who is accountable for a piece. It does not certify that a person typed every word, and it should not be used to imply that. If a generative tool contributed, say so on the page in line with your disclosure policy, and keep the human author who reviewed and approved the work in the byline. That pairing, a named person plus an honest note, is what the publisher checklist for AI content recommends.
Search engines read byline schema; social feeds generally do not. To carry the author into link previews as well, add the head tags from the guide to authorship meta tags.
Sources
Questions
Does author schema improve rankings?
Not directly. It helps search engines understand who wrote a page, which supports the trust signals they look for.
Should the author url be a social profile or my author page?
Your own author page is the better url. Put social profiles in sameAs.
How do I mark up an article with two authors?
Use an array with one Person object per author, each with its own name and url.
What is the difference between author schema and the author meta tag?
Schema is structured data inside an ld+json block, read by search engines. The author meta tag is a head tag read by browsers, readers and some networks. Output both from the same user record.
Do I need a Person object for every contributor?
Yes, one per named writer. A shared Guest account gives every guest post the same anonymous author, which defeats the purpose of the markup.
Hannah Voss, Editor. Checks every guide against a working WordPress install and the networks' current documentation. Last reviewed September 2026.
Related reading
- Authorship tags for shared links: author, article:author and fediverse:creatorAdd authorship signals to link previews: the author meta tag, article:author, twitter:creator and fediverse:creator, with WordPress code and testing steps.6 min read
- AI-generated content in social feeds: what publishers should doHow AI-generated images and text change what happens when your posts are shared, and the practical steps publishers can take: disclosure, provenance, bylines.7 min read
- Adding Open Graph tags in WordPressAdd Open Graph tags to WordPress with an SEO plugin or theme code: the four required tags, image tags, per-post overrides, and how to avoid duplicate tags.7 min read
- About mashshare.netWho writes mashshare.net, how guides are researched and checked, the site's independence from the MashShare plugin, and how corrections are handled.