Skip to content
Issue docs

No Person schema on an author profile

Importantperson_schema_authorIssue 99

What is this issue?

This issue reports a Person schema block your page already declares that is missing name — the only property this check requires. It does not report a page that has no Person schema at all.

What this issue is not: it does not guess that an /author/, /team/ or /about/ page, or one showing a byline or bio, ought to declare Person schema. A page with none declared is never reported. Recommended enrichments — jobTitle, worksFor, sameAs, knowsAbout, @id — are good practice for E-E-A-T, but are not checked by this issue.

Why it matters

Person schema is critical for E-E-A-T and content attribution:

  • E-E-A-T signals: Creates a machine-readable chain: article → written by → person → works for → organization
  • Author attribution: Enables proper attribution of content to specific authors
  • Rich results: Author information can appear in article rich results
  • AI search readiness: AI engines use Person schema to understand author expertise and authority
  • Entity linking: Using @id enables cross-page entity linking between articles and author profiles
  • Social proof: Links to LinkedIn and other professional profiles via sameAs build credibility

Resolving this issue improves your SEO health score by strengthening E-E-A-T signals and ensuring proper content attribution.

How to fix it

If this issue was raised, your page already declares a Person with no name — that is the only property this check requires; everything else below is recommended enrichment for E-E-A-T, not something PixyScan verifies. The steps below are for a page that declares no Person schema yet: worthwhile to add, and never reported as a defect while absent.

  1. Create author profile pages: Create dedicated pages for each author at URLs like /author/name or /team/member-name

  2. Add Person JSON-LD structured data to author profile pages:

    {
      "@context": "https://schema.org",
      "@type": "Person",
      "@id": "https://www.example.com/author/jane-smith",
      "name": "Jane Smith",
      "jobTitle": "Senior SEO Analyst",
      "worksFor": {
        "@type": "Organization",
        "name": "Example Corp"
      },
      "knowsAbout": ["SEO", "Structured Data", "Technical SEO"],
      "sameAs": [
        "https://linkedin.com/in/janesmith",
        "https://twitter.com/janesmith"
      ]
    }
  3. Include recommended properties:

    • name: Author's full name
    • jobTitle: Professional title
    • worksFor: Organization the author works for (link to Organization schema)
    • sameAs: Array of URLs to social profiles (LinkedIn, Twitter, etc.)
    • knowsAbout: Array of topics/expertise areas
    • @id: Unique identifier for entity linking (use author profile URL)
  4. Link from Article schema: In your Article schema, reference the Person entity:

    "author": {
      "@type": "Person",
      "@id": "https://www.example.com/author/jane-smith"
    }
  5. Validate with Google's Rich Results Test

Examples

Example 1: No Schema Declared — Not This Issue

<!-- Author page with a visible bio, but no Person schema -->
<html>
  <head>
    <title>Jane Smith - Author</title>
  </head>
  <body>
    <h1>Jane Smith</h1>
    <p>Senior SEO Analyst at Example Corp</p>
  </body>
</html>

Nothing is reported, however clearly the page profiles a person.

Example 2: A Minimal Person Schema (passes)

{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "John Doe",
  "jobTitle": "Content Writer"
}

name is present, so this passes. No @id, worksFor or sameAs are required — this check verifies only that a declared Person has a name. Adding those properties is good practice for E-E-A-T (see How to fix it), but their absence is not reported.

Example 3: Person Schema Missing name (fails)

Problematic state:

{
  "@context": "https://schema.org",
  "@type": "Person",
  "jobTitle": "Content Writer"
}

Reported: name missing.

Corrected state:

{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "John Doe",
  "jobTitle": "Content Writer"
}
{
  "@context": "https://schema.org",
  "@type": "Person",
  "@id": "https://www.example.com/author/jane-smith",
  "name": "Jane Smith",
  "jobTitle": "Senior SEO Analyst",
  "worksFor": { "@type": "Organization", "name": "Example Corp" },
  "knowsAbout": ["SEO", "Structured Data", "Technical SEO"],
  "sameAs": ["https://linkedin.com/in/janesmith", "https://twitter.com/janesmith"]
}

How PixyScan detects this

  1. Read the declared structured data: every JSON-LD block is parsed, and @graph wrappers are flattened.

  2. Select declared Person entities: any schema block whose @type is Person. A page that declares none is not examined — this check does not infer an author or team page from its URL (/author/, /team/) or from a visible byline.

  3. Check the required property: a declared Person must have a name.

  4. This is reported when: the page declares a Person schema missing name. A page with a visible author bio or team profile and no Person schema at all is never reported. Properties such as jobTitle, worksFor, sameAs and knowsAbout are not required and are not checked today.

What we store

Storage Level

Page Level — This issue is evaluated for each individual URL that contains structured data.


Database Table / Prisma Model

PageStructuredData


Stored Fields

Field Type Description
schemaType SchemaType The type of schema (e.g., Organization, Person)
schemaFormat SchemaFormat The format of the schema (JSON-LD, Microdata, RDFa)
schemaIdentifier String? Unique identifier for the schema
rawJson Json? The raw JSON-LD or structured data content
schemaErrors Json? Array of validation errors found in the schema
isValidSchema Boolean? Whether the schema is valid according to validation
missingFields Json? Reserved for future use — the crawler always writes null here today; no check currently populates it

Detection Dependencies

  • The following data sources are required to evaluate this issue:
  • HTML Document — The crawler parses the HTML to find structured data (JSON-LD, Microdata, RDFa)
  • Structured Data Validation — The extracted schema is validated against Schema.org definitions
  • Schema Parser — JSON-LD scripts, Microdata attributes, and RDFa markup are parsed

Further reading