Skip to content

Case study

One accounting firm, one working day, git init to live

NJ's Accounting & Tax Services went from an empty repository to a deployed site on a custom domain with full schema markup inside a single working day. Here is what shipped and what we decided along the way.

What shipped

The build, itemised

Every line below is verifiable from the repository's own commit history. Nothing here is an estimate.

  • Next.js App Router site, seven routes, custom-domain HTTPS
  • Organization, ProfessionalService, Service and FAQPage schema across the site
  • A researched pillar blog post with BlogPosting, FAQPage and BreadcrumbList markup
  • One city landing page with genuinely local content, not a find-and-replace
  • Dynamic sitemap and a robots.txt pointing at it
  • Search Console property verified and sitemap submitted
  • A keyword log with one entry per targeted primary, no duplicates

Judgement calls

The four decisions that shaped the build

These are the choices that separate a site that ranks from a site that merely exists. Each one cost something to make.

Roughly three in four keyword rows were thrown out

The raw export was full of career searches, software login queries, and government lookups that Google answers with a .gov result. Targeting those would have produced pages that rank for nothing anybody would buy.

The city page got three brand-new components

Named neighbourhoods, county framing, and local regulatory notes — not the home page with the city name swapped in. Thin location pages are detectable and they drag the rest of the site with them.

Tax specifics were hedged on purpose

Thresholds and local rates change. The page gives general guidance and says the exact figure gets confirmed on the call. A confidently stale number is worse than an honest deferral.

The blog post opens with a named character who does not exist

Clearly framed as an illustrative composite, never as a testimonial. Invented client quotes are a reputation risk that pays for itself exactly once.

Why there are no numbers on this page

The results section is empty, and that is deliberate

A case study with traffic charts is worth more to us than one without. We have not published them for two reasons, and both of them will still be true next month if we have not fixed them.

First, client performance data belongs to the client. It gets published when they have cleared it for public use, in writing, and not before. Second, a site that launched recently does not yet have a fair sample. Reading three weeks of search data and calling it a result is how agencies end up quoting a spike that was one journalist and a slow news day.

When there is a clean quarter and written approval, the numbers go here — the flat months included.

Get started

Want to see the audit before the pitch?

We will show you what your site currently ranks for and what your three closest competitors hold. You keep the findings either way.