Skip to main content
All Docs
FeaturesMaking Tax DigitalUpdated March 10, 2026

Structured Data & Rich Results: How We Added JSON-LD Schema Markup

Structured Data & Rich Results: How We Added JSON-LD Schema Markup

Release: v1.0.363 · Category: SEO / Structure

Background

Search engines like Google can display richer, more interactive search results — known as rich results — when a page includes machine-readable structured data. This structured data is provided as JSON-LD (JavaScript Object Notation for Linked Data), embedded in a <script> tag inside the page's HTML. Without it, a page can only ever appear as a standard blue-link result, regardless of how relevant its content is.

Before this release, no structured data existed anywhere in the platform's public-facing pages. This release adds three distinct schema types, each targeting a specific page and a specific class of rich result.


What was added

1. FAQPage schema — Pricing page

Schema type: FAQPage
Rich result type: FAQ dropdowns in Google SERP

The pricing page contains six frequently asked questions. These are now exposed to Google via FAQPage JSON-LD. When Google indexes this markup, the FAQ pairs can appear as expandable dropdowns directly beneath the pricing page's search result — without the user needing to click through to the site.

The markup is generated dynamically from the page's existing faqs array, so there is a single source of truth for the content:

<script
  type="application/ld+json"
  dangerouslySetInnerHTML={{
    __html: JSON.stringify({
      '@context': 'https://schema.org',
      '@type': 'FAQPage',
      mainEntity: faqs.map(f => ({
        '@type': 'Question',
        name: f.q,
        acceptedAnswer: {
          '@type': 'Answer',
          text: f.a
        }
      }))
    })
  }}
/>

Why it matters: FAQ rich results typically increase organic CTR significantly by making results taller and more informative on the SERP. They are particularly effective for high-intent commercial pages like pricing.


2. Organization schema — Root layout

Schema type: Organization
Rich result type: Knowledge Panel, entity recognition

Added to the root layout so it is present on every page of the site. Organization schema tells Google the canonical identity of the business — its name, website URL, logo, and other identifying attributes. This is the foundation for:

  • Appearing in Google's Knowledge Graph
  • Powering a Knowledge Panel in branded search results
  • Enabling Google to confidently associate content with the correct entity

Because this is in the root layout, it does not need to be added to individual pages.


3. SoftwareApplication schema — Homepage

Schema type: SoftwareApplication
Rich result type: Software rich results (pricing, rating, category)

Added to the homepage to classify the product as a software application. This schema allows Google to surface structured information about the product alongside search results, including:

  • Product category (e.g. FinanceApplication)
  • Operating system / platform support
  • Pricing model
  • Aggregate rating (once review markup is added)

Technical implementation notes

  • All schema is injected as <script type="application/ld+json"> tags — the standard, Google-recommended approach.
  • No visible changes are made to any page. The markup lives entirely in the document <head>.
  • The FAQPage schema is data-driven from the existing faqs array in pricing/page.tsx, ensuring content stays in sync automatically.
  • JSON-LD is preferred over Microdata or RDFa because it is decoupled from the HTML structure and easier to maintain.

Validating the markup

You can verify the structured data is correctly implemented using Google's official tooling:

  • Rich Results Test — confirms eligibility for specific rich result types
  • Schema Markup Validator — validates schema.org conformance
  • Google Search Console → Enhancements — shows indexing status and any errors once the pages are crawled

What's not yet covered

This release targets the three highest-value opportunities. Future improvements could include:

Page / FeatureRecommended schema
Blog postsArticle or BlogPosting
Individual feature pagesWebPage + BreadcrumbList
Aggregate user reviewsAggregateRating (within SoftwareApplication)
Help / support articlesHowTo or FAQPage