Author and Organization schema is the highest-leverage E-E-A-T move in AEO right now. Pages with named, credentialed authors get 58% more AI citations than anonymous content, and authors with visible credentials earn 40% more citations from AI models, according to authority research compiled by Qwairy (2026). Most B2B sites still publish under "Admin" or empty Organization markup. This guide shows the exact Person, Organization, and Article JSON-LD to ship -- plus how to claim a Wikidata entry for your company in under an hour.

Why do AI engines weight author credentials so heavily?

AI engines weight author credentials because language models need a verifiable expertise signal before they will cite a source. Domain authority alone no longer works -- its correlation with AI citation has dropped to r=0.18, while E-E-A-T signals correlate at r=0.81 with citation probability, per AuthorityTech's 2026 signal audit.

When ChatGPT, Perplexity, or Google's AI Overview decides whether to quote a page, it asks a structural question: can I attribute this claim to a real, identifiable expert? If the byline says "Admin," the answer is no. If the byline links to a Person entity with credentials, a LinkedIn profile, and an Organization affiliation, the answer is yes.

Google made this explicit on February 1, 2026, when it added a dedicated Authors section to Search Central documentation -- the clearest signal yet that authorship transparency is a direct quality consideration, not a soft signal. Anonymous content lost Discover ground in the February 2026 core update regardless of how well it was written.

The Princeton GEO study quantified the upstream version of the same effect: adding expert quotes boosts citation visibility by 41%, statistics by ~30%, and inline citations by ~30%, per the Princeton/Georgia Tech/Allen Institute study (2024). The model treats attributed expertise as a proxy for trust. Schema gives that attribution a machine-readable form.

AI Citation Lift from Author E-E-A-T Signals
Named byline vs anonymous
58%
Visible credentials vs no credentials
40%
Author authority investment (multiplier)
180%
Article+FAQ+ItemList schema vs none (Top-3 rate)
47%
Source: Qwairy / AuthorityTech / Bemodo / Soar Agency, 2026 AEO benchmarks
Princeton GEO Study: Citation Lift by Tactic
Expert quotes
41%
Statistics
30%
Inline citations
30%
Quotation addition
28%
Source: Princeton/Georgia Tech/Allen Institute GEO Study (2024)

What goes into a Person schema that boosts AI visibility?

A citation-grade Person schema includes seven fields: name, jobTitle, description (the bio with credentials), url (canonical author page), image (headshot URL), sameAs (array of profile links), and worksFor (Organization reference). Skip any of these and the entity is incomplete.

The sameAs array is the most important field. It is what lets an LLM resolve "Peter Foy" the byline string into "Peter Foy" the unique entity. Schema.org's spec defines it as URLs that unambiguously indicate the item's identity -- LinkedIn, X, GitHub, Crunchbase, ORCID, personal website, and a Wikidata entity URL if one exists.

Use this as your starter template:

{
  "@context": "https://schema.org",
  "@type": "Person",
  "@id": "https://growthengineer.ai/authors/peter-foy#person",
  "name": "Peter Foy",
  "jobTitle": "Head of Growth",
  "description": "Head of Growth at Growth Engineer. 10+ years building AI-powered growth systems for B2B SaaS. Previously led content/SEO at [prior companies].",
  "url": "https://growthengineer.ai/authors/peter-foy",
  "image": "https://growthengineer.ai/img/peter-foy.jpg",
  "sameAs": [
    "https://www.linkedin.com/in/peterfoy/",
    "https://x.com/peterjfoy",
    "https://github.com/peterjfoy",
    "https://www.wikidata.org/entity/Q1234567"
  ],
  "worksFor": { "@id": "https://growthengineer.ai/#organization" },
  "knowsAbout": ["Answer Engine Optimization", "Generative Engine Optimization", "B2B SaaS Growth"],
  "alumniOf": { "@type": "CollegeOrUniversity", "name": "University Name" }
}

Two non-obvious rules: sameAs must always be an array, never a single string, and the @id should be a stable URL fragment you reuse on every article the person writes. That stability is how engines build a citation history.

How do I get my B2B company a Wikidata entry?

Most B2B founders assume Wikidata requires a Wikipedia page. It does not. Unlike Wikipedia, Wikidata lets businesses create entries manually without meeting Wikipedia notability, per Wikidata's notability policy -- as long as the entity is "clearly identifiable and described with reliable, public sources." That means a Crunchbase profile, press coverage, and a public website are usually enough.

A Wikidata entity URL in your Organization sameAs array is the strongest entity disambiguation signal you can give an AI engine. It is also the move 90% of B2B sites have not made.

Step 1: Create a Wikidata account

Go to wikidata.org and create an account using a real email (not a marketing@ alias). Wikidata editors flag accounts that look promotional, per ReputationX's Wikidata guide (2026). Make 5-10 small edits to existing items first to build edit history before creating your own.

Step 2: Search for an existing entry

Use the search bar at the top to confirm no entry exists. Search both your company name and any abbreviations. Duplicate items get merged or deleted, which wastes the work.

Step 3: Click 'Create a new item'

The link sits in the left-hand menu. Add a label (your company's official name), description (one short factual sentence -- "American B2B AEO software company"), and aliases (common variations: "GrowthEngineer", "Growth Engineer AI").

Step 4: Add core statements

Click "add statement" to add: instance of (business or company), inception (founding date), headquarters location, founded by, country, industry, official website, and logo image. Each statement needs a reference -- link to the source URL that proves the claim. References are what keep the entry from being deleted as promotional.

Step 5: Add identifier statements

These are the high-value entity links: Crunchbase organization ID, LinkedIn company ID, X (Twitter) username, GitHub username. Each one strengthens the cross-reference graph that LLMs use to confirm your company is a real, persistent entity.

Step 6: Reference the entry in your Organization schema

Once the entry is live (it has a Q-number like Q12345678), add https://www.wikidata.org/entity/Q12345678 to your Organization schema's sameAs array. That closes the loop -- your site points to Wikidata, Wikidata points back to your site, and AI engines can resolve the entity from either direction.

What does a complete Organization schema look like for AEO?

A complete Organization schema for AEO has eight required fields: name, url, logo, description, founder (linked Person), address (PostalAddress), contactPoint, and sameAs (Wikidata + Crunchbase + LinkedIn + social). Half-filled markup is barely better than no markup -- LLMs penalize partial entities because incomplete data signals a content farm.

Ship this once, sitewide, in your <head>:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://growthengineer.ai/#organization",
  "name": "Growth Engineer",
  "alternateName": "GrowthEngineer.ai",
  "url": "https://growthengineer.ai",
  "logo": {
    "@type": "ImageObject",
    "url": "https://growthengineer.ai/img/logo.png",
    "width": 600,
    "height": 60
  },
  "description": "AI-powered growth agency helping B2B SaaS companies rank in AI search engines.",
  "foundingDate": "2025-01-01",
  "founder": { "@id": "https://growthengineer.ai/authors/peter-foy#person" },
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Toronto",
    "addressRegion": "ON",
    "addressCountry": "CA"
  },
  "contactPoint": {
    "@type": "ContactPoint",
    "email": "hello@growthengineer.ai",
    "contactType": "customer support"
  },
  "sameAs": [
    "https://www.linkedin.com/company/growthengineer",
    "https://x.com/growthengineer",
    "https://www.crunchbase.com/organization/growthengineer",
    "https://www.wikidata.org/entity/Q12345678",
    "https://github.com/growthengineer"
  ]
}

Note the @id. That stable identifier is the anchor every Article and Person references. When your blog post's author field points to Peter Foy, and Peter Foy's worksFor points to #organization, you have built a connected entity graph -- not three disconnected blobs.

How do I bind an Article to its author and Organization?

Bind an Article to its author by setting the author field to a Person entity using @id, not a plain string. The same applies to publisher. This three-way link -- Article to Person, Person to Organization, Organization to Wikidata -- is what creates the entity graph LLMs traverse during retrieval.

Pages with Article + FAQPage + ItemList schema achieve a 47% Top-3 AI citation rate versus 28% for unstructured pages, per Conductor's 2026 schema benchmark cited in the Soar Agency 2026 schema report. The author binding is what turns a generic Article into a citation-eligible one.

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Author and Organization Schema: The E-E-A-T Lever AI Engines Reward",
  "datePublished": "2026-05-03",
  "dateModified": "2026-05-03",
  "author": { "@id": "https://growthengineer.ai/authors/peter-foy#person" },
  "publisher": { "@id": "https://growthengineer.ai/#organization" },
  "mainEntityOfPage": "https://growthengineer.ai/author-schema-eeat-ai",
  "image": "https://growthengineer.ai/img/author-schema-hero.jpg"
}

Three common mistakes to avoid:

  1. Author as string ("author": "Peter Foy"). Engines cannot resolve the entity. Use the @id reference.
  2. No dateModified field. 50% of AI citations come from content under 13 weeks old, per the Princeton GEO research compiled by Atina Technology (2026). Update dateModified every refresh.
  3. Mismatched @ids across pages. If your homepage uses #org and your blog uses #organization, engines treat them as two entities. Pick one and enforce it.

Should every blog post have a unique author schema or one site-wide?

Use one canonicalPerson entity per author, referenced everywhere, never a fresh Person object inlined in each Article. The canonical entity lives at a stable URL like /authors/peter-foy#person. Every blog post points to it via @id. This is how engines build citation history across an author's body of work.

Inlining a fresh Person object on every post fragments the entity. An LLM sees 50 separate "Peter Foy"s instead of one author with 50 articles. That fragmentation costs you the 2.8x citation improvement that organizations investing in author authority see, per the Bemodo 2026 AI citation playbook.

The correct architecture:

  • One Person entity per author, defined on a dedicated /authors/{slug} page with full schema.
  • Article pages reference by @id: "author": { "@id": "https://site.com/authors/peter-foy#person" }.
  • Author bio component on each article displays name, headshot, one-line credential, and link to full bio. AI engines weight the first 30% of page content heavily, so byline placement matters.
  • Update the canonical Person page when credentials change (new role, new credential, new publication). Every Article downstream inherits the update.

For multi-author sites, create one Person entity per real human contributor. Avoid pseudonymous "editorial team" bylines -- they carry zero E-E-A-T weight.

How does sameAs linking strengthen brand authority for AI?

sameAs is the entity disambiguation primitive of the semantic web. It tells an LLM that the "Peter Foy" on your site is the same Peter Foy on LinkedIn, X, GitHub, and Wikidata. Without it, the model has to guess -- and guessing means it usually picks a more famous Peter Foy, or skips the citation entirely.

The Princeton-style intuition: AI models build a confidence score for every potential citation. Each verified sameAs link increases that score because it cross-references the entity against an authoritative graph. Schema.org's spec calls these "reference Web pages that unambiguously indicate the item's identity."

For B2B authors, the high-value sameAs targets in priority order are:

  1. LinkedIn personal profile -- the strongest single signal for B2B authority.
  2. X (Twitter) profile -- public posting history, network graph.
  3. Wikidata entity URL -- if you have one, top of the array.
  4. Personal website -- canonical first-party source.
  5. GitHub -- for technical authors, builds expertise signal.
  6. ORCID -- for academic / research authors.
  7. Crunchbase person profile -- for founders and operators.
  8. Industry association profiles (AMA, IAB, etc.) -- niche authority.

For Organizations, add Crunchbase, Wikidata, LinkedIn company page, GitHub org, and any industry directories. Skip Facebook unless it is genuinely active. Stale links hurt -- engines penalize sameAs targets that 404 or have been abandoned. Audit quarterly.

How do I validate and test author/Organization schema?

Validate schema in three places before shipping, and re-test after every site change. Author and Organization markup are the easiest schema types to break silently because they involve cross-references between separate JSON-LD blocks.

1. Schema Markup Validator

Run every page through validator.schema.org. It surfaces type errors and missing required fields that Google's tester ignores. Fix errors first, then warnings.

2. Google Rich Results Test

Google's Rich Results Test shows whether your Article schema is eligible for rich snippets. Article markup that fails here is also less likely to get parsed by AI Overviews, since both pipelines share infrastructure.

3. Manual @id resolution check

Open the rendered page, copy each @id from the JSON-LD, and confirm every reference resolves to a real entity defined somewhere in the site's schema. Broken @id chains are the #1 reason author binding fails. If your Article references peter-foy#person but no page actually defines that Person, the binding is dead.

4. Prompt-test in ChatGPT and Perplexity

Ask each engine: "Who wrote [article title] on [domain]?" and "What does [your company] do?" If the answer is wrong, missing, or attributed to someone else, the entity graph is not resolving. Iterate on schema, wait 5-7 days for re-crawl, retest. Content typically enters AI citation pools within 3-5 business days of publishing.

What is the minimum E-E-A-T schema checklist before publishing?

Before any new article goes live, every B2B site should clear this checklist. It takes 30 minutes the first time and 5 minutes per article afterward. Skip steps and citation rates stall.

  • [ ] One canonical Person entity per author at /authors/{slug}, with name, jobTitle, description (with credentials), image, sameAs array, worksFor, knowsAbout.
  • [ ] One Organization entity sitewide at /#organization, with name, logo, founder (Person @id), address, contactPoint, sameAs (including Wikidata if available).
  • [ ] Wikidata entry created for the company, with at least 8 referenced statements and identifier links to Crunchbase + LinkedIn + X.
  • [ ] Article schema on every post with author and publisher referenced by @id, datePublished, dateModified, headline, image, mainEntityOfPage.
  • [ ] Visible byline in the first 30% of the rendered page (name + one-line credential + link to full bio).
  • [ ] Author bio page is indexable, has the full Person schema, and gets internal links from every article.
  • [ ] All sameAs URLs resolve (no 404s, no abandoned profiles).
  • [ ] Validated in validator.schema.org and Rich Results Test with zero errors.

Teams that ship this checklist see a measurable lift within one refresh cycle. Teams that skip it stay structurally invisible to AI engines, regardless of content quality.

Schema ElementAnonymous SiteCitation-Ready Site
Byline"Admin" or "Editorial Team"Named author, linked Person @id
Person schemaNone or inlined per postOne canonical entity at /authors/{slug}
CredentialsNot displayedIn description + jobTitle + knowsAbout
sameAs (author)Empty or LinkedIn onlyLinkedIn + X + GitHub + Wikidata
Organization schemaName + URL onlyFounder + address + 5+ sameAs links
Wikidata entryNoneActive entry with 8+ referenced statements
Article bindingauthor as stringauthor as @id reference
AI citation rate~28% Top-3~47% Top-3