I Audited a 30-Year NYC
CPA Partnership. Hundreds of
Blog Posts and a Silent Form.

By Lesli Rose · May 6, 2026 · 8 min read

An established Manhattan accounting partnership. Two named partners. Thirty-plus years in business. A genuine niche in real estate investor tax strategy and 1031 exchanges. Hundreds of blog posts already published, with the most recent updated less than a week before I ran the audit. Active on Facebook, LinkedIn, Instagram, Yelp, Bark, and the local Chamber of Commerce.

By every visible signal, the firm has done the work. By every measurable conversion signal, the firm is invisible.

The audit surfaced one finding that explains most of the gap. The contact form -- the only meaningful conversion event on the entire site -- was running on the most popular contact-form plugin in WordPress, on managed hosting that silently blocks PHP outbound mail. Submissions were being sent into a void. The owner had been telling people for months that "the form just doesn't seem to email me anymore." It does not. And it has not for a while.

The Scores

55

Technical SEO

58

On-Page SEO

68

Content

25

Schema

28

AI Discoverability

48

Social SEO

22

Earned Visibility

Content scored well. Schema scored 25. AI Discoverability scored 28. Earned Visibility scored 22. The pattern is clear: a content-heavy practice that has invested in writing but not in the structural and earned-side work that turns content into clients.

Finding #1: The Contact Form Was Silently Dropping Leads

The site uses Contact Form 7 -- the most installed form plugin in WordPress, and the one with the most well-known delivery problem. CF7 sends notifications using PHP's wp_mail() function. Most managed WordPress hosts block or rate-limit that function to prevent spam abuse. Notifications either never leave the server, get marked as spam at the receiving inbox because the sending domain does not pass SPF / DKIM / DMARC, or fail silently because the from-address does not match the domain.

And CF7 does not store submissions in the database by default. So when delivery fails, the lead is not just delayed. It is gone.

The fix is two plugins (WP Mail SMTP routed through a verified domain, plus Flamingo for database backup) or a one-afternoon migration to Fluent Forms or WPForms. Cost: under three hours. Impact: every other recommendation in the audit can finally compound, because the door at the end of the funnel is no longer locked.

Finding #2: Default Yoast Schema Is the Floor, Not the Stack

The firm runs Yoast SEO -- which adds Organization, WebSite, WebPage, and BreadcrumbList schema on every page. That is the floor. For an accounting firm with a real specialty, two named partners, and 30 years of credentials, the floor is not enough.

Missing: LocalBusiness or AccountingService schema (the core entity type for a service business). Person schema for both partners (the credential signal AI uses to identify "who is the expert here"). Service schema for each offering. FAQPage schema (the format AI prefers most). AggregateRating linked to the entity (the reviews exist; they are just not structured for AI extraction).

Three of eight recommended schema types are present. Adding the other five is the single highest-leverage owned-side fix for AI citation. It is also a one-time deployment -- copy-paste JSON-LD blocks into the page heads.

Finding #3: Hundreds of Posts, Zero Pillar Architecture

The blog has hundreds of posts going back years. Sampled 5 informational posts: zero linked to a service / money page in the first two paragraphs. Three of five had no clear next-step CTA at the close. Two were dead-end.

Volume is not the bottleneck. Architecture is. The existing content is feeding Google instead of the inbox. Restructuring the existing posts into 5 pillars (small business, real estate / 1031, personal tax, tax planning, entity / about) and adding internal links from the top 30 highest-traffic posts to the relevant pillar pages is the highest-ROI work because no new writing is required. The investment has already happened. It just is not compounding.

Finding #4: Invisible on Category Queries, Mixed on Brand Queries

I tested four AI / search queries: "best NYC small business CPA," "best CPA for real estate investors NYC 1031," "best NYC accountant for restaurants and freelancers," and the firm's brand name. The firm appeared in 1 of 4 -- only the brand-name query. On the three category queries, citations went to competitors who have invested heavily in earned visibility (Clutch profiles, listicle placements, Trustpilot reviews, RealEstateBees inclusion).

The brand query, when it did surface, pulled from an unclaimed Birdeye profile with old unanswered reviews dragging the snapshot. The firm's actual review base across Google and Yelp is strong. The earned-side hygiene work to bring that into AI's view is hours, not months.

Finding #5: Two Typos in Public URLs

Two URLs ship with visible typos in the slug -- one for a real estate page, one for the mailing list. They have probably been live for years. Beyond the credibility hit, they split topical authority between near-duplicate pages and confuse internal linking. The fix is a one-hour 301 redirect pass.

What's Actually Working

Real specialty. Real estate investor tax strategy and 1031 exchanges in NYC is a defensible niche. Most NYC competitors are generalists.

Two named partners. Founder + bilingual partner is a real differentiator in a category where most firms are faceless.

Hundreds of blog posts. The hard part is done. The architecture work just needs to ship.

Active social channels. Facebook, LinkedIn, Instagram, Yelp, Bark all in use. Cross-platform consistency is mostly there.

30 years of trust. Real client testimonials. Real reviews. The reputation just is not surfaced as schema for AI.

Does This Look Like Your Firm?

If you run a service-based small business with a long track record, an active blog, and the nagging feeling that all the work you have invested in marketing is not turning into the leads you would expect, the structural diagnosis is almost always the same: forms that drop, schema that's default-only, content that does not link to money pages, and earned-side hygiene that has been left to the side. None of these are content problems. All of them are plumbing. Schema, local SEO, and architecture are what turn 30 years of trust into 30 years of leads.

Frequently Asked Questions

Why do contact forms on managed WordPress fail silently?

Most form plugins use PHP's wp_mail() function to send notifications. On managed WordPress hosts, outbound mail from PHP is often blocked or routed without proper authentication. Submissions appear to succeed in the browser, but the notification never arrives. And most form plugins do not store submissions to the database, so the lead is gone.

Why does schema matter for a service business with 30 years of trust?

Trust does not transfer to AI through reputation alone. AI builds an entity graph from explicit signals: Organization, LocalBusiness, Person, Service, AggregateRating. A 30-year-old firm with default schema and one with the full stack look identical to a human buyer, but very different to ChatGPT, Claude, and Perplexity.

How does hundreds of blog posts fail to generate leads?

Volume without architecture. If posts are not organized into pillars, do not internally link to money pages, and do not include clear next-step CTAs, traffic arrives and leaves. The content is feeding Google instead of the inbox. Restructuring existing content into pillars is one of the highest-ROI engagements -- no new writing required.

What is the difference between owned SEO and earned visibility?

Owned SEO is everything on your own site -- schema, content, technical, internal linking. Earned visibility is everything else -- listicle placements, review platforms, press, third-party citations. AirOps research shows 85 percent of brand mentions in AI search come from third-party sources. Most agencies focus only on owned, leaving the larger opportunity untouched.

Is Your Firm Invisible Too?

I'll audit your firm the same way -- technical SEO, schema, AI discoverability, earned visibility, and a 90-day roadmap. Free, no commitment.

Run Your AI Visibility Action Plan