Work / Build / 112-Page Personal-Injury Law Firm WordPress Build

112-Page Personal-Injury Law Firm WordPress Build

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 112-Page Personal-Injury Law Firm WordPress Build
Sector Legal (Personal Injury & Employment Law)
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.

Client (end user): Jae Lee Law — New Jersey
Engagement: White-label development for a US marketing agency
Delivered: Jun – Sep 2025 · 116 days · 66 hours across build and fix-and-feedback phases

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, the sitemap, and the per-row hour estimate; we 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
Per-ticket effort 11 internal Redmine tickets · median 1.3h / P75 10h per ticket
Launch checklist 39 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 the dev discipline that matters. 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. Each page was built on its assigned template; no page was hand-rolled outside the template system.

2. Spec followed line-for-line — including the per-page Hours Estimated column. The workbook carried per-row hour estimates. The core build — Homepage (7h), Case Results (3h), Practice Areas lander (3h), attorney bio pages (0.15–2.5h per attorney) — was costed row by row. 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 35-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 35-row 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
Handoff Site live on Kinsta, https://www.jaeleelaw.com/ returning HTTP 200
Site status, verified 2026-04 Production live and serving 200 from a fresh curl check

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 our QA discipline for the categories and the fail-zero gate. The agency’s own QA layer — their tools, their process — ran post-handoff and surfaced issues into the shared backlog for our fix loop until they signed 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. Our team was invisible to the end client.

For agencies commissioning a white-label WordPress build

If you’ve had a law-firm build go sideways when the sitemap changed mid-build — new practice areas added, content-not-ready pages deferred, attorney bio structure revised — the fix is a QA track that separates what the dev team can close directly from what needs your input before it moves. Send a current sitemap or workbook. We will scope the build row by row and return a fixed-hours estimate within 24 hours. No cost. No obligation to proceed.

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 →


xaver.pro · 2026 · Case #77 White-label · Partner agency not named
Scroll to Top