We respect your privacy.

We use strictly necessary cookies to keep you signed in and to protect against CSRF. With your permission we also use a small amount of first-party analytics to improve the product. We do not sell your data and we do not use third-party advertising trackers. See our cookie policy and privacy policy .

← All learn topics

Rule page.author.schema-missing

Replace string bylines with a Person object that includes name + url

page.author.schema-missing is a check in Crawlmind's site audit that grades medium-impact issues of this kind. This page explains why the rule matters and the exact fix.

Impact: mediumEffort: lowFixable: 1-click

Why it matters

AI engines use the author URL to verify a byline against a real author page. A bare `"author": "John Smith"` string is treated as anonymous because the engine can't distinguish a real journalist from a username someone typed in a CMS field. Pages with verifiable authors get cited at noticeably higher rates than identically-written pages with anonymous bylines.

The fix

Wrong (bare string):

```json
{
  "@type": "BlogPosting",
  "headline": "Why we built Crawlmind",
  "author": "Alexandru Dumea"
}
```

Right (Person object with url):

```json
{
  "@type": "BlogPosting",
  "headline": "Why we built Crawlmind",
  "author": {
    "@type": "Person",
    "name": "Alexandru Dumea",
    "url": "https://crawlmind.ai/blog/author/alexandru-dumea",
    "sameAs": [
      "https://www.linkedin.com/in/alexandru-dumea",
      "https://github.com/testdumea10"
    ]
  }
}
```

The `url` field must point to a real author page that returns 200 and contains a bio. The `sameAs` array is optional but high-leverage: it lets the engine cross-reference the byline against LinkedIn / GitHub and confirm a real person is behind the post.

For multi-author pieces, use an array of Person objects:

```json
"author": [
  { "@type": "Person", "name": "Alice", "url": "/blog/author/alice" },
  { "@type": "Person", "name": "Bob",   "url": "/blog/author/bob" }
]
```

References