SEO for Accountants: Evidence From the Near-Me SERP

Two of the ten organic results for "tax preparer near me" belong to independent firms whose domains have an Ahrefs Domain Rating of 5 and 9. They sit above Thumbtack (DR 90) and Yelp (DR 94), and the DR 9 firm pulls an estimated 34,332 organic visits a month. We pulled that result set before writing this, on 2026-08-28, US results.
That measurement should change what you think the job is. You are not trying to out-authority a national directory. You are trying to be the clearest, best-marked-up, fastest accounting site inside one metro area, which is work a two-person firm can actually finish.
The other thing almost nobody writing about accountant SEO covers is the part where the standard tactics list collides with your professional code. "Ask clients for reviews at pickup" and "promise a bigger refund" are both on that list. One is restricted by Google's own contribution policy, and the other lands squarely inside the AICPA's advertising rule. Google states on its own documentation that "No one can guarantee a #1 ranking on Google", and nothing below changes that. What follows is what you can control.
The near-me query you can win is not the one you think
Search difficulty across the near-me family is not proportional to volume, and the ordering is not what anyone would guess. Here is the measured set, Ahrefs, United States, 2026-08-28:
| Query | Volume / month | KD | Traffic potential |
|---|---|---|---|
| cpa near me | 21,854 | 30 | 80 |
| tax preparer near me | 18,941 | 7 | 63,000 |
| accountant near me | 14,056 | 55 | 17,000 |
| tax accountant near me | 13,702 | 55 | 31,000 |
| bookkeeper near me | 3,310 | 48 | 12,000 |
| small business accountant near me | 2,989 | 31 | 3,100 |
| how much does a cpa cost | 1,634 | 1 | 3,300 |
| best cpa near me | 589 | 31 | 16,000 |
| cpa for small business | 542 | 1 | 31,000 |
| business tax accountant near me | 436 | 10 | 3,000 |
Read the second row twice. "Tax preparer near me" carries 18,941 monthly US searches at a difficulty of 7, while "accountant near me" carries fewer searches at a difficulty of 55. The two phrases describe the same office. One of them is eight times harder to rank for.
The same non-monotonic pattern showed up when we measured the therapy vertical, where two long modifiers turned out harder than the 225,000-volume head term. The lesson generalises: never assume a longer or more specific phrase is an easier one. Measure it.
Two more rows deserve attention. "How much does a cpa cost" (1,634, KD 1) and "cpa for small business" (542, KD 1) are the questions a prospect asks before they search for a firm at all. Ahrefs puts the parent topic of "cpa for small business" at "tax accountant near me", which means Google already treats the pricing question and the hiring query as one journey.
Who actually holds those positions
We bought the live result set for "tax preparer near me" rather than describing it from memory. Ahrefs localises near-me queries, and this one resolved to Wichita, Kansas, so treat the domains as an example of a shape rather than as national rankings.
| Pos | Result | DR | Est. traffic | Backlinks |
|---|---|---|---|---|
| 1 | Local pack: two independent firms plus a TurboTax office | n/a | n/a | n/a |
| 3 | hrblock.com local office page | 80 | 60,682 | 4 |
| 4 | phelpstax.com homepage | 5 | 21,995 | 526 |
| 5 | thumbtack.com city listing | 90 | 21,088 | n/a |
| 6 | jacksonhewitt.com location page | 69 | 14,426 | 4 |
| 7 | yelp.com search page | 94 | 22,779 | n/a |
| 8 | cookcpaglobal.com homepage | 9 | 34,332 | 436 |
| 9 | blockadvisors.com local page | 61 | 5,135 | 0 |
| 10 | turbotax.intuit.com local page | 92 | 6,275 | 6 |
Three facts fall out of that table.
The two independent firms rank with their homepage, not a blog post and not a dedicated landing page. Ahrefs classifies both as /Core_Page/Homepage, and the page each one is best known for is a near-me phrase: "tax services near me" for one, "cpa near me" for the other. Their homepage is doing the local ranking work.
They are not zero-effort sites. Phelps carries 526 backlinks and Cook CPA carries 436, against four backlinks on the H&R Block office page above them. Independent firms win these positions by having been around and linked to locally, not by outspending anyone. If your site has under twenty referring domains, this is the gap to close first, and the same pattern held in the results we measured for contractors.
Directories occupy two of the ten slots and national chains occupy four. Half the page is not available to you at any price. Plan for the other half.
The local pack and the blue links are two different contests
The three-result map block at the top and the ten organic results below it are ranked by different systems, fed by different data, and won by different work. Treating them as one project is the most common structural mistake in local SEO, and it shows up in every vertical we have measured, from restaurants to dental practices.
The pack is driven by your Google Business Profile: category, verified address or service area, hours, review volume and the searcher's distance from you. Your website influences it but does not control it.
The organic list is driven by your pages. That is where structured data, page speed, internal linking and content depth do their work, and it is the only half you own outright.
An accounting firm with no website can still appear in the pack. An accounting firm with an excellent website and a neglected profile will lose the pack every time and pick up whatever organic traffic its pages earn. Both halves are worth doing, and they are not the same list of tasks.
Your Business Profile: the rules that decide if you appear
Google publishes the guidelines that govern profiles, and four clauses matter disproportionately for accounting firms. All four are quoted from support.google.com/business/answer/3038177, checked on 2026-08-28.
Service area size is capped. "The boundaries of your profile's overall service area shouldn't extend farther than about 2 hours of driving time from where your business is based." Firms that file returns remotely often list a whole state, or several. That is outside the stated guideline.
Hide the address if clients do not come to you. "If you're a service-area business, you should hide your business address from customers." A home-office practice that publishes its street address is showing prospects a residential address for no ranking benefit.
The name field is not a keyword field. "Your name should reflect your business's real-world name, as used consistently on your storefront, website, stationery, and as known to customers." "Reed CPA | Small Business Tax Wichita" is not the real-world name.
The practitioner rule. Google lists "doctors, dentists, lawyers, financial planners, and insurance or real estate agents" as individual practitioners eligible for their own profile. Accountants are not named in that list, but the criteria are stated generally: the person must "operate in a public-facing role" and "be contacted directly at the verified location during stated hours". Two further clauses bind: "A practitioner shouldn't have multiple Business Profiles to cover all of their specializations", and for a solo practitioner inside a branded organization, "Create a single Business Profile, named using the following format: [brand/company]: [practitioner name]".
The practical reading for a two-partner firm: one profile for the firm, and at most one profile per public-facing partner, never one profile per service line.
The schema type for an accounting firm exists, and it is not ProfessionalService
Most accountant SEO guides that mention structured data at all tell you to use LocalBusiness or ProfessionalService. Both are wrong, and the second is worse than merely imprecise.
Pulling the current schema.org vocabulary file directly (schema.org/version/latest/schemaorg-current-https.jsonld, fetched 2026-08-28) settles it. AccountingService exists. Its definition reads "Accountancy business. As a LocalBusiness it can be described as a provider of one or more Service(s)." Its inheritance chain is AccountingService to FinancialService to LocalBusiness to Organization and Place.
ProfessionalService is in the vocabulary too, and its own description says it was retired: "The general ProfessionalService type for local businesses was deprecated due to confusion with Service. For reference, the types that it included were: Dentist, AccountingService, Attorney, Notary" and several construction trades. So ProfessionalService is the deprecated parent of the type you actually want.
This matters because Google's LocalBusiness documentation (last updated 2025-12-10) instructs you to "Use the most specific LocalBusiness sub-type possible". In the therapy vertical that advice runs out of road, because no Therapist type exists. In accounting it does not: the specific type is there, and using the deprecated grandparent instead is a choice, not a limitation. Note also that TaxService does not exist, so a tax-prep-only shop uses AccountingService as well.
Here is a complete block. Google's documentation requires only name and address; everything else below is recommended and earns its place.
{
"@context": "https://schema.org",
"@type": "AccountingService",
"name": "Phelps & Reed CPAs",
"url": "https://example-cpa.com/",
"telephone": "+13165550137",
"address": {
"@type": "PostalAddress",
"streetAddress": "412 N Market St Suite 300",
"addressLocality": "Wichita",
"addressRegion": "KS",
"postalCode": "67202",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 37.68990,
"longitude": -97.33755
},
"areaServed": [
{ "@type": "City", "name": "Wichita" },
{ "@type": "City", "name": "Derby" }
],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:30",
"closes": "17:00"
}
],
"priceRange": "$$",
"sameAs": ["https://www.linkedin.com/company/example-cpa"]
}
Three details from Google's documentation that people get wrong. Coordinates need "at least 5 decimal places" of precision, so 37.69 is not enough. priceRange must stay under 100 characters or Google will not display it. And aggregateRating is "only recommended for sites that capture reviews about other local businesses", which your firm's site does not do.
To check what your site currently ships, paste this:
curl -sL https://yourfirm.com/ | python3 -c "
import sys, re, json
html = sys.stdin.read()
blocks = re.findall(r'<script[^>]*application/ld\+json[^>]*>(.*?)</script>', html, re.S)
print(len(blocks), 'JSON-LD block(s)')
for b in blocks:
try:
d = json.loads(b)
print(' type:', d.get('@type'), '| keys:', sorted(d)[:8])
except Exception as e:
print(' PARSE ERROR:', e)
"
A parse error there is worth finding. Malformed JSON-LD is ignored silently, so the block looks present in your source and does nothing.
Service pages, city pages, and the doorway line
The measured result set says homepages win near-me queries in this vertical, which is a licence to stop building landing pages you do not need. It is not a licence to skip service pages entirely.
A firm selling four distinct things (individual returns, business returns, bookkeeping, IRS representation) should have four pages, because those are four different searches with four different buyers. "Cpa for small business" and "how much does a cpa cost" both carry a difficulty of 1 and both describe a page you can write in an afternoon.
City pages are where accounting sites get themselves in trouble. Google's spam policies, last updated 2026-08-28, define doorway abuse as pages "created to rank for specific, similar search queries" that "lead users to intermediate pages that aren't as useful as the final destination", and name "having multiple domain names or pages targeted at specific regions or cities that funnel users to one page" as an example.
The line is not the existence of a city page. It is whether the page says something true and specific about working with clients in that city: the state filing rules you handle, the local business types you serve, staff who work there, cases you can describe without naming anyone. If the only difference between two pages is the city name, they are the example in the policy.
One more clause from the same document is worth reading if you are considering an AI writing tool for these pages. Scaled content abuse covers "using generative AI tools or other similar tools to generate many pages without adding value for users". The mechanism is not the issue and Google says so plainly. The absence of value is.
Reviews: what the policies actually allow
Reviews drive local pack placement, and the advice to "just ask" is closer to correct here than in the therapy or medical verticals, where a professional code restricts solicitation. There is no equivalent AICPA prohibition on asking a satisfied client for a review. Google's own contribution policy, though, is stricter than most firms realise.
Merchants may not "Offer incentives, such as payment, discounts, free goods and/or services, in exchange for posting any review or revision or removal of a negative review". A discount on next year's return in exchange for a review is exactly that.
Merchants also may not "Discourage or prohibit negative reviews, or selectively solicit positive reviews from customers". Asking only the clients whose refunds came in large is selective solicitation as the policy defines it.
And the policy addresses the moment most tax offices choose: "merchants should not require or pressure users to leave ratings or write reviews while on the premises, nor should they request that specific content be included". A card handed over at return pickup asking for five stars and a mention of your business-tax work fails on both halves.
The star-rating markup deserves a separate warning. Google's review snippet documentation, last updated 2026-07-24, states that "If the entity that's being reviewed controls the reviews about itself, their pages that use LocalBusiness or any other type of Organization structured data are ineligible for star review feature", and names the embedded Google or Facebook reviews widget as the example. Testimonials on your own site, marked up with aggregateRating, will not produce stars in search. Publish them because prospects read them, not because you expect a rich result.
What the AICPA rule forbids in your marketing copy
This is the section nobody in the top ten results for "seo for accountants" writes, and it is the one that changes what your pages say.
The AICPA Code of Professional Conduct rule 1.600.001, the Advertising and Other Forms of Solicitation Rule, reads in full: "A member in public practice shall not seek to obtain clients by advertising or other forms of solicitation in a manner that is false, misleading, or deceptive. Solicitation by the use of coercion, over-reaching, or harassing conduct is prohibited."
Interpretation 1.600.010 then enumerates what counts. Promotional efforts are false, misleading or deceptive if they:
- "create false or unjustified expectations of favorable results"
- "imply the ability to influence any court, tribunal, regulatory agency, or similar body or official"
- quote a fee for services when it was likely that fee "would be substantially increased" without telling the prospect
- "contain any other representations that would be likely to cause a reasonable person to misunderstand or be deceived"
Now reread your homepage. "We maximize your refund", "we get audits resolved", "our clients pay less tax" are all claims of favorable results. "We know how the local IRS office works" edges toward implied influence over a regulatory body. A "returns from $199" banner needs to be a fee you will actually honor.
The interpretation extends the obligation to work you did not do yourself. If a third party promotes your services, "the member should determine that the third party's promotional efforts comply" with the rule, "because members must not do through others what they are prohibited from doing themselves". If you hire a marketing agency and it writes refund promises into your ad copy, that is your exposure, not theirs. It is the same reason we argue for reading what an agency actually ships before signing.
The honest version of this copy converts better anyway, because it is specific. "We handle multi-state returns for e-commerce sellers, and we will tell you in the first call if your situation needs a specialist" is a sentence a competitor cannot copy and a claim you can defend.
There is a related credibility asset most firms ignore. The IRS maintains a public Directory of Federal Tax Return Preparers with Credentials and Select Qualifications, and its guidance distinguishes "unlimited representation rights" (enrolled agents, CPAs, attorneys, who "may represent their clients on any matters including audits, payment/collection issues, and appeals") from preparers with only a PTIN. If you hold unlimited representation rights, say so in those words on the page. It is a verifiable, differentiating fact, and it maps directly onto the questions prospects are searching.
Speed, and the three numbers Google measures
Core Web Vitals are three thresholds, and Google measures them at the 75th percentile of page loads, segmented across mobile and desktop. Largest Contentful Paint should occur within 2.5 seconds. Interaction to Next Paint should be 200 milliseconds or less. Cumulative Layout Shift should be 0.1 or less.
Accounting sites fail these in predictable ways: a hero image exported at 4000 pixels wide, a chat widget and three tracking scripts loading before content, and a cookie banner that shifts the page after paint. All three are fixable without a redesign.
Measure before you touch anything. This returns real field or lab data for your homepage:
curl -s "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://yourfirm.com/&strategy=mobile" \
| python3 -c "
import sys, json
d = json.load(sys.stdin)['lighthouseResult']['audits']
for k in ['largest-contentful-paint', 'cumulative-layout-shift', 'total-blocking-time']:
print(k, '->', d[k]['displayValue'])
"
Run it against your two nearest competitors as well. In most metros the entire field is slow, and being the fast one is a smaller job than it sounds. The same audit routine works for any local business, and we walked through it end to end for owner-operators doing their own SEO.
Getting cited in AI answers
An AI Overview occupies the top of the results for "seo for accountants" today, and the near-me queries increasingly return one too. That changes the shape of the traffic: fewer clicks on informational queries, and a new placement to compete for.
Google's documentation on AI features is unusually direct about eligibility. "To be eligible to be shown as a supporting link in AI Overviews or AI Mode, a page must be indexed and eligible to be shown in Google Search with a snippet, fulfilling the Search technical requirements. There are no additional technical requirements."
There is no separate AI markup, no file to add, no schema that buys a citation. The pages that get pulled into AI answers are indexed pages that answer a question cleanly, which is the same work as ranking. We have written at length about what actually earns a citation from an assistant and about measuring whether your brand appears at all.
What is worth doing specifically: answer the pricing and credential questions in plain sentences near the top of the relevant page, because those are the questions assistants get asked about accountants. "A straightforward individual return in our office costs between X and Y" is the kind of sentence that gets quoted. A brochure paragraph is not. The mechanics of that are the same across professions, and the pattern held for coaches and photographers too.
A ten-minute audit you can run today
Nine checks, in the order that finds the most damage fastest.
- Search your firm name plus your city in a private window. Is your Business Profile there, verified, with correct hours?
- Check the service area on the profile. Is it inside two hours of driving time from your office?
- If clients never visit you, is the street address hidden?
- Is the profile name your real-world name, with no keywords appended?
- Run the JSON-LD snippet above against your homepage. Is there a block, does it parse, and is the type
AccountingService? - Run the PageSpeed snippet. Are LCP, CLS and TBT in range?
- Read your homepage against the four AICPA clauses. Delete every claim of a favorable result.
- Count your city pages. Does each say something true that the others do not?
- Count your referring domains. Under twenty is the number to work on, starting with your chamber of commerce, your state society listing, and the local businesses you already serve.
None of this guarantees a position. Rankings depend on competitors you do not control and on systems that change without notice, and results vary between firms in the same city. What the measured results do show is that the ceiling in this vertical is set by effort rather than by domain authority, which is not true of every market. A DR 9 firm holding position 8 against Yelp is evidence of that, and it is the reason the work is worth starting.
FAQ
What is SEO in accounting?
It is the work that makes your firm appear when someone searches for an accountant, a CPA or a tax preparer in your area. It splits into two contests: the map pack, driven mostly by your Google Business Profile, and the organic results, driven by your website's pages, structured data, speed and links. The two are ranked separately and won separately.
Which keyword should a small accounting firm target first?
Start with the near-me phrase that has the lowest measured difficulty rather than the highest volume. In our 2026-08-28 US measurement, "tax preparer near me" carried 18,941 monthly searches at a difficulty of 7, while "accountant near me" carried 14,056 at a difficulty of 55. Then add the pre-hire questions, "how much does a cpa cost" and "cpa for small business", both at difficulty 1.
What schema markup should an accounting firm use?
AccountingService, which is a subtype of FinancialService and therefore of LocalBusiness. Avoid ProfessionalService: the schema.org vocabulary itself records that it "was deprecated due to confusion with Service", and lists AccountingService among the types it used to cover. Only name and address are required by Google, but geo with at least 5 decimal places, areaServed and openingHoursSpecification are worth adding.
Can I offer clients a discount for leaving a Google review?
No. Google's contribution policy states that merchants may not "Offer incentives, such as payment, discounts, free goods and/or services, in exchange for posting any review". The same policy prohibits selectively soliciting positive reviews and pressuring clients to review while on the premises. Ask every client, ask afterward, and ask without a reward attached.
Does the AICPA code restrict what I can put on my website?
Yes. Rule 1.600.001 prohibits advertising that is "false, misleading, or deceptive", and interpretation 1.600.010 specifies that promotional efforts qualify if they "create false or unjustified expectations of favorable results" or imply an ability to influence a regulatory body. Refund-maximization headlines and audit-outcome promises are the common failures. The obligation extends to marketing an agency writes on your behalf.
How long does SEO take for an accounting firm?
Nobody can tell you honestly, and anyone offering a date is guessing. Google's own guidance says some changes take effect in hours and others take months. Profile corrections and schema fixes are the fastest to show; link acquisition and content depth are measured in quarters. Seasonality compounds it in this vertical, since demand concentrates between January and April.
Get cited by ChatGPT. Rank on Google.
You found this article through search. That is the whole product.
- One researched article a day
- Published on your own domain
- Keywords checked against live results
Get cited by ChatGPT. Rank on Google.
You found this article through search. That is the whole product.
- One researched article a day
- Published on your own domain
- Keywords checked against live results
