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.
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.
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.)
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.
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.
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.
Most CPA firm sites need six to eight schema types. Here's where each one goes and what it does.
| Schema Type | Where to Use It | What It Tells Search Engines |
|---|---|---|
| AccountingService | Homepage, contact page, each office page | Firm name, address, phone, hours, area served |
| Organization | Homepage (sitewide) | Legal name, logo, founders, social profiles |
| Service | Each service page | Specific service, provider, and audience |
| Person | Partner and staff bio pages | Name, job title, credentials, employer |
| Article / BlogPosting | Blog posts and guides | Author, publish date, update date, publisher |
| FAQPage | Pages with visible Q&A sections | Question and answer pairs |
| BreadcrumbList | All inner pages | Site structure and page hierarchy |
| WebSite | Homepage | Site name (and alternate name) for search results |
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.
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.
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.
Here's a JSON-LD example for a single-office CPA firm. Swap every value for your firm's real details.
<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:
<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.
Five steps, whether you're on WordPress, Webflow, Squarespace, or a custom build.
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.
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.
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.
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 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.
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.
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.
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 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.
Start a Forensic Accounting Practice with Confidence
Marketing Strategies for Small Firm Success
How to Craft High-Impact PPC Ad Visuals for Accountants
Ben Kumar
AI Search: The Role That Google and Yelp Reviews Play in AEO
Ben Kumar
Google Business Profile for Accountants: The Complete Local SEO Guide for CPA Firms (2026)
Ben Kumar