Blog Page Schema Reference

2025-02-22 by Thomas

4 minutes reading time

Blog Page Schema 2

This outlines the recommended schema types and key properties for a typical blog post page on a website representing a business with multiple physical locations.

  • WebPage: Describes the blog post page itself.
    • mainEntity: Should point to the BlogPosting (or Article) schema. This is consistent.
    • isPartOf: Should point to the WebSite schema. This remains consistent.
    • publisher: Should point to the overall Organization schema, not to a specific LocalBusiness schema. This is a key difference from a single-location business.
    • Breadcrumb: Include correct breadcrumb schema.
  • BlogPosting (or Article): Describes the content of the blog post.
    • headline: The title of the blog post.
    • datePublished: The original publication date (ISO 8601 format).
    • dateModified: The date the post was last modified (ISO 8601 format).
    • publisher: A link to the overall Organization schema Do not use LocalBusiness here.
    • image: A relevant image for the blog post (with ImageObject details).
    • description: The excerpt or meta description of the blog post.
    • wordCount: (Optional)
    • articleSection: (Optional)
  • Person: Describes the author of the blog post.
    • The full Person schema should not be embedded within the BlogPosting. It should exist separately (ideally on an author profile page).
    • The blog post should link via author.
  • Organization: Describes the overall business (e.g., “Fur Life Vet”).
    • The full Organization schema should only appear on the homepage, and potentially “About Us” and general “Contact Us” pages.
    • The article should link back via the publisher.
  • LocalBusiness:NOT directly on the blog post page.
    • LocalBusiness schema is critically important for multi-location businesses, but it belongs on the individual location pages, not on general blog posts.
    • If a specific blog post is primarily about a particular location, you could use the about or mentions property within the BlogPosting to reference the relevant LocalBusiness schema, but the LocalBusiness schema itself would not be the primary focus of the blog post page.
  • WebSite Describes the website.
    • Exists on the home page
  • BreadcrumbList Present on all pages, reflecting the structure.
Visual Blog Schema

Conceptual JSON-LD Example (Multi-Location Business Blog Post):

HTML

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebPage",
      "@id": "[Blog Post URL]#webpage",
      "url": "[Blog Post URL]",
      "name": "[Blog Post Title] - [Website Name]",
      "description": "[Blog Post Excerpt/Meta Description]",
      "isPartOf": {
        "@type": "WebSite",
        "@id": "[Homepage URL]#website"
      },
      "publisher": { // <-- Points to the overall Organization
        "@type": "Organization",
        "@id": "[Homepage URL]#organization"
      },
       "breadcrumb": {
        "@type": "BreadcrumbList",
        "@id": "[Blog Post URL]#breadcrumb",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Home",
            "item": "[Homepage URL]"
          },
          {
             "@type": "ListItem",
            "position": 2,
            "name": "Blog",
            "item": "[Blog URL]"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "[Blog post Title]",
            "item": "[Blog Post URL]"
          }
        ]
      },
      "mainEntity": {  // <-- Points to the BlogPosting
        "@type": "BlogPosting",
        "@id": "[Blog Post URL]#article"
      }
    },
       {
        "@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": "BlogPosting",
      "@id": "[Blog Post URL]#article",
      "headline": "[Blog Post Title]",
      "datePublished": "[YYYY-MM-DDTHH:MM:SS+ZZ:ZZ]",
      "dateModified": "[YYYY-MM-DDTHH:MM:SS+ZZ:ZZ]",
      "author": { // <-- Reference to Person schema
        "@type": "Person",
        "@id": "[Author Profile Page URL]#person",
         "name": "[Author Name]",
        "url": "[Author URL]"
      },
      "publisher": { // <-- Reference to Organization schema
        "@type": "Organization",
        "@id": "[Homepage URL]#organization"
      },
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "[Blog Post URL]#webpage"
       },
      "image": {
        "@type": "ImageObject",
        "url": "[Featured Image URL]",
        "width": [Image Width],
        "height": [Image Height]
      },
      "description": "[Blog Post Excerpt/Meta Description]",
      "wordCount": "[Blog Post Word Count]",
      "articleSection": "[Blog Post Category/Section]"
      // ... other BlogPosting properties ...
    },
    {
      "@type": "Organization",
      "@id": "[Homepage URL]#organization",
      // ... *Full* Organization schema for the overall business ...
      // (This appears on the homepage, About, Contact)
    },
    {
        "@type" => "Person",
        "@id" => "[Author Page URL]#person",
        //Person details.
    }
    // NO LocalBusiness schema here, unless the post is *specifically* about a location
  ]
}
</script>

Key Differences from Single-Location:

  • publisher in BlogPosting: Points to the overall Organization schema, not to a location-specific LocalBusiness.
  • No LocalBusiness on Blog Post (Generally): The LocalBusiness schema belongs on the individual location pages, not on general blog posts.
  • About/Mentions: If you have a post specifically about a location, consider mentioning it, but do not use LocalBusiness as the main schema.

Implementation Notes:

  • Dynamic Values: As always, use your CMS and schema plugin to dynamically populate the placeholders (URLs, dates, titles, etc.).
  • Remove any other schema: Ensure no other schema is present.

In summary, for a multi-location business, the blog post schema should reference the overall Organization as the publisher, link to the Person schema for the author, and not include LocalBusiness schema unless the post is exclusively about a single location. The WebPage and BlogPosting schemas remain essential, and the structure is very similar to a single-location setup, but the publisher and the absence of LocalBusiness are the key distinctions.

Related Posts

Frequently Asked Questions about Blog Page Schema Reference

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