Author Page Schema Reference

2025-02-22 by Thomas

5 minutes reading time

Profile Page Schema

An author page is primarily about a person. Therefore, the core schema type is Person. You’ll also use WebPage to describe the page itself, and you’ll link to the Organization that the author works for.

Schema Types to Include:

  1. WebPage: Describes the author page as a page.
    • @type: WebPage (or ProfilePage if your schema tool supports it – they are equivalent for this purpose)
    • @id: [Author Page URL]#webpage (e.g., https://www.example.com/authors/jane-doe/#webpage)
    • url: [Author Page URL] (e.g., https://www.example.com/authors/jane-doe/)
    • name: “About [Author Name] – [Website Name]” (e.g., “About Jane Doe – Example Company”)
    • description: A short description of the page, mentioning the author and their role. (e.g., “Learn more about Jane Doe, lead writer at Example Company.”)
    • isPartOf: { "@type": "WebSite", "@id": "[Homepage URL]#website" } (Links to the WebSite schema)
    • publisher: { "@type": "Organization", "@id": "[Homepage URL]#organization" } (Links to the Organization schema. The publisher of the page is the organization.)
    • mainEntity: { "@type": "Person", "@id": "[Author Page URL]#person" } (Crucially Important: This links the WebPage to the Person schema, indicating the page is about this person.)
    • breadcrumb: (See BreadcrumbList below)
  2. Person: Describes the author. This is the primary schema type for this page.
    • @type: Person
    • @id: [Author Page URL]#person (e.g., https://www.example.com/authors/jane-doe/#person)
    • name: [Author's Full Name]
    • url: [Author Page URL] (Same as the page URL)
    • givenName: [Author's First Name]
    • familyName: [Author's Last Name]
    • jobTitle: [Author's Job Title] (e.g., “Senior Writer,” “Chief Editor,” “Veterinarian”)
    • description: A biographical description of the author. Include relevant keywords (e.g., their areas of expertise).
    • image: JSON{ "@type": "ImageObject", "url": "https://www.reddit.com/r/selfpublish/comments/18q9107/is_it_all_right_to_use_a_picture_that_is_not_of/", "width": [Width in Pixels], "height": [Height in Pixels], "caption": "Photo of [Author's Name]" }
    • sameAs: URLs of the author’s personal, professional social media profiles (LinkedIn, a professional website, etc.). Do not include the general company social profiles here.
    • worksFor: { "@type": "Organization", "@id": "[Homepage URL]#organization" } (Links to the Organization schema, indicating where the author works).
    • knowsAbout: (Optional, but highly recommended) An array of strings representing the author’s areas of expertise. Use keywords relevant to their field. Example: JSON"knowsAbout": [ "veterinary medicine", "animal health", "pet care", "dog training", "cat behavior" ]
    • email: (Optional) The author’s professional email address.
    • alumniOf: (Optional) If the author’s education is relevant, you can list schools/universities using Organization schema.
    • memberOf Add any memberships or affiliations the person may be a member of.
  3. Organization: Describes the business/organization that the website (and the author) belongs to.
    • The main organisation details.
  4. Website: Describes the overall website.
  5. BreadcrumbList: Describes the navigational breadcrumb trail for the author page.
    • @type: BreadcrumbList
    • @id: [Author Page URL]#breadcrumb
    • itemListElement: JSON"itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "[Homepage URL]" }, { "@type": "ListItem", "position": 2, "name": "Authors", // Or "Team", "About", etc. - whatever the parent page is "item": "[Authors Page URL]" // If you have a general authors/team page }, { "@type": "ListItem", "position": 3, "name": "[Author's Name]", "item": "[Author Page URL]" } ]

What Not to Include on an Author Page:

  • BlogPosting / Article: An author page is not a blog post.
  • LocalBusiness: Unless the author page is also serving as a contact page for a specific location of a multi-location business (which is unusual), do not include LocalBusiness schema.

Conceptual JSON-LD Example (Generic):

HTML

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebPage",
      "@id": "[Author Page URL]#webpage",
      "url": "[Author Page URL]",
      "name": "About [Author Name] - [Website Name]",
      "description": "Learn more about [Author Name], [Author's Job Title] at [Website Name].",
      "isPartOf": {
        "@type": "WebSite",
        "@id": "[Homepage URL]#website"
      },
       "publisher": {
        "@type": "Organization",
        "@id": "[Homepage URL]#organization"
      },
      "breadcrumb": {
          "@type": "BreadcrumbList",
          "@id": "[Author Page URL]#breadcrumb",
          "itemListElement": [
            {
              "@type": "ListItem",
              "position": 1,
              "name": "Home",
              "item": "[Homepage URL]"
            },
           {
              "@type": "ListItem",
              "position": 2,
              "name": "Authors",
              "item": "[Authors page URL]"
            },
            {
              "@type": "ListItem",
              "position": 3,
              "name": "[Author Name]",
              "item": "[Author Page URL]"
            }
          ]
        },
      "mainEntity": { // <-- Points to Person
        "@type": "Person",
        "@id": "[Author Page URL]#person"
      }
    },
       {
      "@type": "WebSite",
      "@id": "[Homepage URL]#website",
      "url": "[Homepage URL]",
      "name": "[Website Name]",
      "potentialAction": {
          "@type": "SearchAction",
          "target": {
              "@type": "EntryPoint",
              "urlTemplate": "[Homepage URL]/?s={search_term_string}"
           },
          "query-input": "required name=search_term_string"
       }
      },
    {
      "@type": "Person",
      "@id": "[Author Page URL]#person",
      "name": "[Author's Full Name]",
      "url": "[Author Page URL]",
      "givenName": "[Author's First Name]",
      "familyName": "[Author's Last Name]",
      "jobTitle": "[Author's Job Title]",
      "description": "[Author's Biographical Description]",
      "image": {
        "@type": "ImageObject",
        "url": "https://www.reddit.com/r/selfpublish/comments/18q9107/is_it_all_right_to_use_a_picture_that_is_not_of/",
        "width": [Image Width],
        "height": [Image Height],
        "caption": "Photo of [Author's Name]"
      },
      "sameAs": [
        "[Author's LinkedIn URL]",
        "[Author's Twitter URL]",
        // ... other *personal* professional profiles ...
      ],
      "worksFor": { // <-- Links to the Organization
        "@type": "Organization",
        "@id": "[Homepage URL]#organization"
      },
      "knowsAbout": [ // <--  Important for expertise
        "[Area of Expertise 1]",
        "[Area of Expertise 2]",
        "[Area of Expertise 3]"
        // ... more keywords ...
      ]
      // Optional: email, alumniOf, etc.
    },
    {
        "@type": "Organization",
        "@id": "[Homepage URL]#organization",
         // ... organization details
      }
  ]
}
</script>

Generic Placeholders:

  • [Author Page URL]: The full URL of the author’s profile page.
  • [Homepage URL]: The full URL of your website’s homepage.
  • [Website Name]: The name of your website.
  • [Author's Full Name]: The author’s full name.
  • [Author's First Name]: The author’s given name.
  • [Author's Last Name]: The author’s family name.
  • [Author's Job Title]: The author’s professional title.
  • https://www.reddit.com/r/selfpublish/comments/18q9107/is_it_all_right_to_use_a_picture_that_is_not_of/: The URL of a photo of the author.
  • [Image Width] and [Image Height]: The dimensions (in pixels) of the author’s photo.
  • [Author's LinkedIn URL], etc.: The URLs of the author’s personal professional social media profiles.
  • [Authors Page URL]: Url of the page listing all authors, if applicable.

Implementation Steps:

  1. Create a Dedicated Author Page: If you don’t already have one, create a page specifically for the author.
  2. Configure Person Schema: Use your schema plugin (Slim SEO) to create a Person schema and target it to this author page using the “Location” settings.
  3. Fill in Fields: Use the correct fields and, wherever possible, hardcode the values (especially for sameAs URLs). If you must use placeholders, double-check that they are resolving correctly in the rendered source code.
  4. Configure WebPage Schema: Set the mainEntity of the WebPage schema to point to the Person schema (either using a placeholder like {{ schemas.person }} if it works reliably, or by hardcoding the @id of the Person schema: [Author Page URL]#person).
  5. Add Organisation and Website schema.
  6. Validate: Use the Google Rich Results Test.

This generic guide provides a solid foundation for implementing schema on an author page. Remember to adapt it to your specific website’s structure and content. The key is to use Person as the primary schema type and link it correctly to the WebPage and Organization schemas.

Related Posts

Frequently Asked Questions about Author Page Schema Reference

Listed below are some of the main areas you should have an understanding on about Author Page Schema Reference.