112-Page Personal-Injury Law Firm WordPress Build in 116 Days — White-Label Delivery for a US Marketing Agency

A 112-page law firm WordPress build: 9 templates across 66 hours, two QA backlogs closed (35 SEO and 25 CX items), shipped on schedule in 116 days.

End client Jae Lee Law
Sector Legal
Engagement White-label delivery for a US marketing agency specialising in local-business websites
Timeline 116 calendar days
66h across 116 days
www.jaeleelaw.com · desktop
www.jaeleelaw.com · mobile

Screenshots captured by automated tooling — some elements may not have loaded fully or may layer on top of each other. For the most accurate view, visit the live site →

— The brief

Build the URLs across the agency's templates, wire the conversion primitive, then work the QA backlogs to closure.

The Craft of a Build

112 URLs across 9 templates, built to Figma desktop and mobile specs — 83 of those pages on a single Individual Practice Areas template, applied once per practice area, sub-area, and jurisdiction page across the firm’s full service tree. The agency delivered the template library and the sitemap. We scoped the per-row hours, mapped every URL to its assigned template, and held the 66-hour budget across a 116-day build-and-feedback cycle.

Snapshot

Field Value
End-client industry Legal — Personal Injury, Employment Law, DWI Defense, Medical Malpractice, Immigration
End-client Jae Lee Law (New Jersey)
Engagement White-label WordPress build for a US marketing agency specialising in local-business websites
Project Type WordPress build with Elementor on Kinsta, followed by a fix-and-feedback reconciliation tail
Scope 112 URLs — homepage, practice-area landers (Bergen, Hudson, Passaic counties), individual practice-area pages (83 pages across 11 practice trees), attorney pages (4), about pages (3), case results, contact, blog (10 posts + lander), disclaimer, privacy policy, and supporting default pages
Timeline 116 days (5 Jun – 29 Sep 2025), on schedule
Effort 66 hours against a 66-hour estimate — no overrun
Team 4 specialists (46h dev · 10h QA · 10h PM — dev-heavy distribution appropriate for a single-phase content-volume build)
Templates 9 active templates from the agency’s standard legal template library (Attorney Page, Practice Areas, Individual Practice Areas, About Us, Blog, Blog Lander, Homepage, Contact, Default Template)
Tech Stack WordPress · Elementor · Gravity Forms · Kinsta · Rank Math · GTranslate · Site Checker ( QA plugin)
Delivered 112 URLs built across 9 templates, 35/35 Issues Backlog(SEO) closed as Completed, 24/25 Issues Backlog(CX) closed as Completed or in QA
Engagement cadence 35 agency-raised issues · all closed by handoff (42-day active span, 2025-06-20 – 2025-07-31)
Review rounds ≈5 review rounds
Launch checklist 30 items, signed off before cutover

The Brief

A US marketing agency retained by Jae Lee Law — a New Jersey personal-injury and employment-law firm serving clients across Bergen, Hudson, and Passaic counties — handed us a Google Sheets workbook with a full URL map, a templates catalogue, a launch checklist, and pre-populated issues backlogs. The build ran on their Kinsta environment; the page builder was Elementor; contact forms ran through Gravity Forms. The workbook’s Template tab carried a LEGAL-section library: Attorney Page, Practice Areas lander, Individual Practice Areas, About Us, Blog, Blog Lander, Homepage, Contact, Default Template, Results, and supporting policy pages.

The ask: build all 112 pages against the agency’s template library — mapping each individual practice-area URL to its assigned template from the sitemap row — and work down two parallel QA backlogs, the SEO track and the CX track, until the agency accepted the site. Throughout, stay out of the end-client-facing loop; surface ambiguity back to the agency; do not improvise practice-area descriptions, attorney credentials, or navigational hierarchy.

Risk Context. Law firm websites operate under attorney-advertising rules that vary by state. A dev partner building a New Jersey personal-injury site does not write copy, does not decide which practice areas are listed or how they are described, and does not make judgements about case-result language. What the dev partner does own is structural accuracy: every page in the sitemap must be built on its assigned template, every practice-area page must exist and be reachable, and the navigation must reflect the agreed scope. When mid-build sitemap or content changes are raised through the agency’s QA backlog, the risk is a site that goes live with stale links, orphaned pages, or inconsistent navigation. Closing those backlog items cleanly, before handoff, is what the dev partner is accountable for. An additional constraint on this engagement was content readiness: several practice-area CTAs and location-specific page sections lacked pre-written copy at build time and were flagged in the SEO backlog for post-launch addition rather than delaying the build cycle — a consequence of the agency’s content pipeline running in parallel with development rather than ahead of it.

How We Did It

1. Nine templates, 112 pages, one build pipeline. Jae Lee Law’s pages spread across the agency’s legal template library: Homepage, the individual Attorney Page (applied four times, once per attorney in the initial sitemap), a Practice Areas lander (applied at Bergen, Hudson, Passaic county levels and at the main /practice-areas/ level — 4 times total), and the Individual Practice Areas template, the heaviest — applied 83 times across the firm’s practice trees: personal injury, motor vehicle accidents, construction site accidents, premises liability, products liability, employment law, medical malpractice, DWI/DUI defense, nursing home negligence, and county-specific location pages. We built each page on its assigned template. No page was hand-rolled outside the template system.

2. Spec followed line-for-line, within the hours we scoped. We scoped per-row hours ourselves. We costed the core build row by row — Homepage (7h), Case Results (3h), Practice Areas lander (3h), attorney bio pages (0.15–2.5h per attorney). The 83 Individual Practice Areas pages at 0.15h per page reflect the agency’s content-import pattern: each page receives a template application and content population from the agency’s existing copy. The aggregate came in at the agreed 66 hours.

3. Two parallel QA loops, closed before launch. The agency structured QA as separate SEO and CX tracks rather than a single merged backlog — because SEO findings were actionable by the dev team directly (meta titles, nav hierarchy, redirects) while CX items often required agency-side input or client approval before they could be implemented. Issues were tracked in two agency-side backlog tabs — the Issues Backlog(SEO) (35 rows, all Completed) and the Issues Backlog(CX) (25 rows, 24 Completed, 1 in QA at data export). The SEO backlog’s first items flagged nav hierarchy and Figma-fidelity corrections on the homepage; the CX backlog’s first items covered structural sitemap adjustments and contact form configuration. The 30-item launch checklist — Design, Functionality, Pre-Migration, Post-Migration columns — ran alongside both backlogs.

The H1 had been set to zero font size to match the Figma layout — a workaround that left the homepage with no effective heading in SEO tools. That catch, and case-result post types flagged as publicly indexable, went through the fix loop before sign-off. Neither required a scope change; both required the QA round to find them.

Results

Metric Outcome
URLs built 112 across 9 templates (83 Individual Practice Areas · 10 Blog posts + lander · 4 Attorney Pages · 4 Practice Areas landers · 3 About Us · 1 Homepage · 1 Case Results · 1 Contact · 4 Default supporting pages)
Templates applied 9 / 9 from the agency’s standard legal template library
Issues Backlog(SEO) 35 / 35 closed as Completed
Issues Backlog(CX) 24 / 25 closed as Completed; 1 in QA at data export
Launch checklist 30-item checklist covering Design, Functionality, Pre-Migration, Post-Migration
Multilingual layer GTranslate plugin configured for Spanish-language accessibility — a common requirement for New Jersey legal practices serving Spanish-speaking communities
Timeline 116 days (5 Jun – 29 Sep 2025), on schedule
Effort 66h / 66h estimate — no overrun, no scope creep
Site status Live on Kinsta at https://www.jaeleelaw.com/ — verified April 2026.

Operational Integrity at handoff

The agency’s post-handoff review round surfaced two structural issues that ran through the shared fix loop: the homepage H1 had been set to zero font size — a Figma-fidelity workaround that left the page with no effective heading in SEO tools — and the case-results internal post type was publicly accessible and indexable, requiring per-entry noindex treatment before launch. Pre-handoff QA ran through Site Checker — see how we run QA for the categories and the pass-clean bar we hold before handoff. After handoff the agency ran its own checks and surfaced issues into the shared backlog, which our fix loop closed before sign-off.

Process

Phase Duration Outcome
Brief & estimation ~1 week Workbook reviewed, row-level hours confirmed, 66h quoted and agreed
Build phase (pages + templates) ~2 weeks All 112 URLs built across 9 templates on staging; both QA backlogs opened
Content rounds + multilingual setup ~4 weeks (in parallel with QA) GTranslate wired for Spanish; content rounds on CX-flagged pages; agency-raised structural updates absorbed through the standard QA loop
QA reconciliation tail (SEO + CX backlogs) ~8 weeks SEO backlog closed 35/35; CX backlog closed 24/25; checklist worked through Design / Functionality / Pre-Migration
Post-launch follow-ons Final ~4 weeks Homepage design review, CSS fixes, Elementor loop-item display corrections

Phases overlap — the content rounds and structural updates ran in parallel with the QA backlog rounds, which is why the calendar is 116 days rather than the sum of individual phases.

Team

Delivery team

  • Natalia Bogatel — lead developer across build and feedback phases
  • Nikita Tumasevic — developer support on late-phase CSS and Elementor fixes
  • Pavel Sazhin — QA iterations
  • Anton Hersun, — project lead (estimation, agency-side communication, sign-off)

Agency-side project management and client-facing communication remained with the partner agency throughout. Jae Lee Law dealt with the agency on the brand; the firm never saw our names, and every build decision reached them as the agency’s work.

For agencies commissioning a white-label WordPress build

On a multi-practice legal build, the taxonomy dictates the schema graph and the rankings the agency already owns. For a single-city PI practice the architecture stays in one lane; for a multi-city firm with PI and Employment Law it must flex without breaking. When scope shifts add a practice area mid-project, the taxonomy cannot stretch. The schema for the first area breaks for the second. Form-to-CRM links lose tracked contacts — all silently, all at the agency’s cost.

The question to ask a dev partner before committing is not “can you build the pages?” — it is “how exactly will you build a taxonomy and schema layer that survives the next practice area?”

Send us a current build workbook, a draft sitemap, or your design files. We will walk the taxonomy plan against your practice-area goals and flag where the schema could fragment. You will get back a fixed-hours quote. Free review, fixed quote in hours.

Request a spec review →

Don't have a spec yet? Send a one-paragraph description — we'll come back with the questions worth asking. Send a description →

Curious if your engagement fits this pattern?

Scroll to Top