MYCPE ONE

Schema markup for accountants is structured code, usually written in JSON-LD, that tells search engines and AI tools exactly who your firm is, what services you offer, where you operate, and who works there. Visitors never see it. 

What changes is how machines read your site. For a CPA firm, the right schema supports richer Google results, ties your Google Business Profile to your website, and hands AI tools like Google AI Overviews, ChatGPT, and Perplexity a clean summary of your practice.

Plenty of accounting firm websites have little or no schema, or they're running generic markup a plugin added years ago and nobody has looked at since. That's a missed chance, because search is moving from ranking pages to understanding entities. 

Below: what schema is, which types matter for accounting firms, how to add it, and the mistakes that quietly break it.

Key Takeaways

  • Schema is a translation layer. It labels your firm, services, people, and content so search engines and AI tools don't have to guess.
  • AccountingService is the core type for CPA firms. It's a subtype of FinancialService, which is a type of LocalBusiness, and it supports address, hours, services, and areas served.
  • Use JSON-LD. It's the format Google recommends, and it sits in one script block away from your page design.
  • FAQ rich results are gone. Google still uses FAQPage markup to understand pages, but AI tools quote the visible Q&A, not the code.
  • Schema only works when it matches the page. Markup describing content visitors can't see may be ignored or flagged.
  • Schema supports SEO. It doesn't replace it. Content, reviews, and authority still decide who ranks.

What Is Schema Markup?

Schema markup is a shared vocabulary, maintained at Schema.org and backed by Google, Microsoft, Yahoo, and Yandex, for describing what web content means in a way machines can read. Your page might say "Smith & Lee CPAs, 120 Main Street, open Monday to Friday." A person gets that instantly. A crawler just sees text. Schema turns it into labeled facts: this is an organization, here's its address, these are its hours.

You can write schema three ways: JSON-LD, Microdata, or RDFa. Go with JSON-LD. Google recommends it, and because it lives in a single script block, your developer can update it without touching the visible HTML.

Why Does Schema Markup Matter for Accounting Firms?

Three reasons: visibility, accuracy, and trust. (Schema is one piece of a bigger strategy; our AI SEO playbook for accounting firm websites covers the rest of what gets a firm cited.)

It Supports Richer Search Results

Valid markup makes pages eligible for enhanced features such as breadcrumbs, article details, and better knowledge panel data. Eligibility isn't a guarantee. Without schema, though, you can't qualify at all.

It Helps AI Search Understand Your Firm

AI answer engines build responses around entities: firms, people, services, places. Schema hands them those facts in a tidy format. Google has said its AI features need no special markup, and that structured data helps it understand page content. 

Microsoft's Bing team has said schema helps its AI systems interpret content too. So schema won't win you an AI citation by itself, but it does cut down the guesswork. Our guide on why CPA firms are missing from Google AI Overviews covers the other factors.

It Connects Your Online Presence

Through the sameAs property, schema links your website to your Google Business Profile, LinkedIn page, AICPA or state society listings, and review profiles. That helps search engines confirm all of those belong to one firm, which strengthens your entity in Google's Knowledge Graph. Your review profiles matter here as well; see how Google and Yelp reviews support AEO for accounting firms.

Which Schema Types Should Accountants Use?

Most CPA firm sites need six to eight schema types. Here's where each one goes and what it does.

Schema TypeWhere to Use ItWhat It Tells Search Engines
AccountingServiceHomepage, contact page, each office pageFirm name, address, phone, hours, area served
OrganizationHomepage (sitewide)Legal name, logo, founders, social profiles
ServiceEach service pageSpecific service, provider, and audience
PersonPartner and staff bio pagesName, job title, credentials, employer
Article / BlogPostingBlog posts and guidesAuthor, publish date, update date, publisher
FAQPagePages with visible Q&A sectionsQuestion and answer pairs
BreadcrumbListAll inner pagesSite structure and page hierarchy
WebSiteHomepageSite name (and alternate name) for search results

AccountingService: The Foundation

AccountingService is a subtype of FinancialService, which is a type of LocalBusiness. It's the most specific type there is for accounting practices, so use it instead of plain LocalBusiness. Include your name, address, phone, URL, logo, hours, geo-coordinates, priceRange, areaServed, and sameAs links. 

Firms with more than one office should put separate AccountingService markup on each location page, matching each Google Business Profile exactly. If your profile still needs work, start with our Google Business Profile guide for CPA firms.

Person Schema: Your E-E-A-T Signal

Accounting runs on credentials, and Person schema puts them in front of search engines. Mark up partner and team bios with name, jobTitle, worksFor, alumniOf, and hasCredential for licenses like CPA, EA, or CMA, and link each person's LinkedIn profile with sameAs. Then reference that Person in your Article schema, so search engines can tie your tax content to a real, licensed professional.

One caution that generic schema guides skip: list only licenses the person actually holds and that someone could verify, including the licensing state. State boards of accountancy regulate how CPA credentials are presented, and that applies to your markup as much as your bio copy.

Service Schema: One per Service Page

Every core service page (tax preparation, bookkeeping, audit, advisory) should carry Service schema with serviceType, provider pointing to your firm, areaServed, and audience. That gives search engines a clear map of what you offer and helps your pages match specific, long-tail searches.

What Does AccountingService Schema Look Like?

Here's a JSON-LD example for a single-office CPA firm. Swap every value for your firm's real details.

AccountingService Schema (JSON-LD)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "AccountingService",
  "@id": "https://www.examplecpa.com/#firm",
  "name": "Example CPA Group",
  "url": "https://www.examplecpa.com",
  "logo": "https://www.examplecpa.com/images/logo.png",
  "image": "https://www.examplecpa.com/images/office.jpg",
  "telephone": "+1-512-555-0100",
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "100 Congress Ave, Suite 400",
    "addressLocality": "Austin",
    "addressRegion": "TX",
    "postalCode": "78701",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 30.2650,
    "longitude": -97.7444
  },
  "areaServed": {
    "@type": "City",
    "name": "Austin"
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday"
    ],
    "opens": "09:00",
    "closes": "17:00"
  }],
  "sameAs": [
    "https://www.linkedin.com/company/example-cpa-group",
    "https://www.google.com/maps?cid=YOUR_CID"
  ]
}
</script>

Two details worth noticing. Hours use openingHoursSpecification, the shape Google's local business documentation uses, so it'll match what you see there. And areaServed is a City object rather than a plain string, which is more precise.

The @id is the important part. It gives your firm a stable identifier that every other block on the site can point to instead of repeating your details. Here's what that connected graph looks like for a partner bio, a service page, and a blog post:

Person, Service & BlogPosting Schema (JSON-LD)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Person",
      "@id": "https://www.examplecpa.com/team/jane-lee/#person",
      "name": "Jane Lee",
      "jobTitle": "Tax Partner",
      "worksFor": {
        "@id": "https://www.examplecpa.com/#firm"
      },
      "hasCredential": {
        "@type": "EducationalOccupationalCredential",
        "credentialCategory": "license",
        "name": "Certified Public Accountant (CPA)",
        "recognizedBy": {
          "@type": "Organization",
          "name": "Texas State Board of Public Accountancy"
        }
      },
      "sameAs": [
        "https://www.linkedin.com/in/janelee-cpa"
      ]
    },
    {
      "@type": "Service",
      "@id": "https://www.examplecpa.com/services/tax-planning/#service",
      "serviceType": "Small business tax planning",
      "provider": {
        "@id": "https://www.examplecpa.com/#firm"
      },
      "areaServed": {
        "@type": "City",
        "name": "Austin"
      }
    },
    {
      "@type": "BlogPosting",
      "headline": "S Corp Reasonable Salary: What the IRS Expects",
      "author": {
        "@id": "https://www.examplecpa.com/team/jane-lee/#person"
      },
      "publisher": {
        "@id": "https://www.examplecpa.com/#firm"
      },
      "datePublished": "2026-09-02",
      "dateModified": "2026-10-10"
    }
  ]
}
</script>

Each block references the firm's @id, and the blog post points to the partner's @id as its author. Search engines see one firm, one credentialed person, one service, and one article, all connected. That's an entity graph rather than a pile of separate snippets.

CMS warning: JSON-LD breaks if straight quotation marks get converted to curly ones, which often happens when code is pasted from Word or typed into a rich-text editor. Paste into an HTML or code block, and check the live page source afterward.

How Do You Add Schema Markup to an Accounting Firm Website?

Five steps, whether you're on WordPress, Webflow, Squarespace, or a custom build.

  • Audit what you have.
  • Run your homepage and a few key pages through the Schema Markup Validator (validator.schema.org), plus Google's Rich Results Test for supported types like breadcrumbs and articles. Note what exists, what's broken, and what's duplicated.
  • Map types to pages.
  • Use the table above to decide which schema belongs on each template: homepage, service pages, bios, blog posts, location pages.
  • Write or generate the JSON-LD.
  • On WordPress, Yoast SEO, Rank Math, or Schema Pro will handle Organization, Article, and Breadcrumb markup. AccountingService, Person credentials, and Service schema usually need custom JSON-LD added through the plugin or theme.
  • Validate before and after publishing.
  • Fix every error. Read the warnings too; some can be ignored, but others flag missing fields that weaken the markup.
  • Monitor in Google Search Console.
  • Check the enhancement reports for breadcrumbs and other supported types after site updates, theme changes, or plugin updates, which often break schema silently. Search Console no longer reports on FAQ markup, so recheck FAQPage in the Schema Markup Validator.

Schema is one layer of a broader technical foundation. Our technical SEO guide for accountants covers the crawlability, speed, and indexing issues that decide whether search engines read your markup at all.

Does FAQ Schema Still Matter After Google Removed FAQ Rich Results?

Yes, though for a different reason than before. Google limited FAQ rich results to government and health sites in August 2023 and stopped showing them for all sites on May 7, 2026. In June 2026 it also dropped FAQ support from the Rich Results Test and removed the FAQ report from Search Console, with API support ending in August. Google says it still uses FAQ structured data to understand pages, and FAQPage hasn't been deprecated as a Schema.org type.

So what's it good for now? FAQPage markup may help machines interpret your Q&A content. What AI tools actually quote, though, is the visible question and answer on the page. Google hasn't said FAQ markup affects AI Overviews or AI Mode. 

The practical takeaway: write clear, visible Q&A on topics like "Do I need a CPA for an S corp?" or "When are estimated tax payments due?", mark it up if you like, and only mark up questions that appear on the page. For how this fits the wider picture, read our breakdown of SEO vs AEO vs GEO for accounting firms.

Best Practices for Schema Markup on CPA Firm Websites

  • Match visible content exactly.
  • Every value in your schema should appear on the page.
  • Keep NAP consistent.
  • Firm name, address, and phone should match your Google Business Profile, Yelp, BBB, and directory listings.
  • Use the most specific type.
  • AccountingService over LocalBusiness. BlogPosting over CreativeWork.
  • Connect entities with @id.
  • Reference one firm entity across every page instead of repeating details.
  • Add dateModified to articles.
  • Tax and compliance content changes every year, and update dates show it's current.
  • Revalidate after every major site change.
  • Redesigns and theme swaps often strip schema without anyone noticing.

Planning a redesign? Build schema into the templates from day one. Our guide to SEO-optimized web design for accountants explains how to plan structure, speed, and markup together.

Common Schema Mistakes Accounting Firms Make

  • Self-serving review markup.
  • Since 2019, Google hasn't shown star ratings for reviews a business publishes about itself on its own site using LocalBusiness or Organization schema. Marking up your own testimonials with AggregateRating won't produce stars. Build reviews on Google instead, with a compliant review program for CPA firms.
  • Marking up hidden content.
  • FAQ or service schema for text that isn't visible can be treated as spam.
  • Duplicate schema from multiple plugins.
  • A theme and an SEO plugin both outputting Organization schema sends conflicting signals.
  • Wrong or generic types.
  • Using Organization alone, or ProfessionalService, when AccountingService fits better.
  • Outdated details.
  • Old addresses, closed offices, or departed partners left in the markup.
  • Treating schema as a ranking shortcut.
  • It doesn't directly boost rankings. It helps search engines understand content that has to be strong already.

If your firm still isn't showing up despite good markup, the cause is usually elsewhere. Our checklist on why a CPA firm doesn't show up on Google walks through the usual suspects.

Schema Markup and AI Search: What to Expect

Schema won't make an AI tool recommend your firm on its own. AI answer engines weigh content quality, reviews, third-party mentions, and authority. What schema does is remove ambiguity. When ChatGPT, Gemini, or Google AI Mode pulls information about a firm, structured data helps it get your name, location, services, and credentials right.

Think of it as a well-organized tax file. Clean, labeled records don't change the facts, but they make the facts quicker to verify and harder to misread. A firm with clean schema, a complete Google Business Profile, and strong content gives AI systems fewer reasons to skip it.

Client testimonial

Jane Watkins Founder, Koru Accounting
⭐⭐⭐⭐⭐
"The team went one step further with almost everything. We wanted an insights page with a blog, and they even wrote the first blog for us. They understood our positioning, were very receptive to feedback, and helped turn my ideas into something clear, professional, and ready to share with clients. I'm really thrilled with the outcome."

How MYCPE ONE Help Accounting Firms With Schema

MYCPE ONE builds and optimizes websites for CPA and accounting firms across the US, Canada, and the UK, with schema built into every template. Our website development for CPA firms includes AccountingService, Person, Service, and Article markup, and our SEO services for accounting firms cover schema audits, validation, and ongoing monitoring. If you want it all handled together, our digital marketing for accounting firms connects schema, local SEO, and AI search visibility in one plan.

Schedule a Free Consultation to Improve Your Firm’s Schema Markup and Search Visibility.

Conclusion

Schema markup is one of the few SEO tasks that's fully in your control, cheap to do, and useful for both traditional and AI search. For an accounting firm, it turns a website into a clear, verifiable record of who you are, what you do, and who does it.

Start with AccountingService on your homepage, add Person schema to partner bios, mark up each service page, and validate everything. Then keep it current. If your firm moves, adds a partner, or launches a service, update the schema that same week.

Frequently Asked Questions

Schema markup for accountants is structured code, usually JSON-LD, that describes a firm's name, location, services, people, and content in a format search engines and AI tools can read directly.

Use AccountingService as the primary type. It's a subtype of FinancialService, which is a type of LocalBusiness, and it's the most specific type for accounting practices. Add Organization, Service, Person, Article, and BreadcrumbList schema on the relevant pages.

Not directly. Schema helps Google understand your content and can make pages eligible for some search features. Rankings still depend on content quality, relevance, and authority.

It can be, as long as the questions and answers are visible on the page. Google stopped showing FAQ rich results on May 7, 2026, but says it still uses the markup to understand pages. AI tools quote the visible Q&A content itself; the markup may simply help machines interpret it.

Partly. WordPress plugins like Yoast SEO and Rank Math add basic schema automatically. AccountingService details, credentials, and Service markup usually need custom JSON-LD from a developer or SEO specialist.

Use Google's Rich Results Test for types Google still supports, such as breadcrumbs and articles, and the Schema Markup Validator (validator.schema.org) for everything else, including FAQPage. Since June 2026, the Rich Results Test no longer checks FAQ markup and Search Console no longer reports on it.

Ben Kumar

Ben Kumar

Ben Kumar is a passionate digital marketer with over nine years of experience in helping businesses grow through smart strategy and data-driven marketing. At MYCPE ONE, he brings together creativity, technology, and teamwork to build meaningful digital experiences. Ben is passionate about innovation and how AI and automation are reshaping marketing. He enjoys exploring digital trends and performance strategies that make marketing smarter and more impactful. He believes marketing goes beyond metrics, it’s about building connections, solving real challenges, and helping professionals succeed in today’s fast-moving digital space.

Must Read Blogs