Nobody hires a remodeler by searching for "remodeling company" and stopping there. Homeowners search for the job: the specific repair, the specific room, the specific upgrade they have been putting off. If your website only has a services page, you are invisible for almost all of those searches.
America Premier is a residential general contractor in Richmond, Virginia. Their site is 470 pages. Thirteen of those are the usual suspects: home, services, pricing, projects, about, contact. Forty are service pages. The other 417 are structured sub-service pages, and they are the reason the site exists at the scale it does.
One library, 417 pages
We did not hand-write 417 pages, and we did not spin up thin doorway pages either. Every sub-service lives in a single structured data library: 3,440 lines of typed content covering 39 service categories. One page template renders them all.
Each entry in the library carries the same anatomy, so every page arrives with real content rather than a swapped keyword over boilerplate:
- A name and short description that match how homeowners describe the job
- A hero lede and an overview written for that specific piece of work
- A seven-item checklist of what the work includes
- Metadata and structured data generated from the same fields the page renders
The library is produced and regenerated as one unit through a structured content process, never hand-edited, so the 417 pages stay consistent with each other and with the 40 service pages above them. When the catalog of services changes, the whole tier changes together.
Local signals, engineered
Every one of the 417 sub-service pages carries Richmond, Virginia in its metadata, generated through a central factory that holds titles under the length crawlers truncate and clamps descriptions at word boundaries around 158 characters. Every page is self-canonical.
Under the pages sits one interlinked structured-data graph. The business node is a general contractor with eight cities in its service area and an offer catalog of all 40 services, and each catalog entry shares its identifier with the matching service page's own schema node, so crawlers merge everything into one entity instead of 470 fragments. Breadcrumbs run everywhere, and the FAQ markup mirrors the rendered questions verbatim.
The sitemap emits 467 URLs with tiered priorities and truthful last-modified dates. The comment in the code explains the reasoning:
“A lastmod that is always 'now' is noise crawlers learn to ignore.”
— a comment in the sitemap code
The search engines without a search box
The site is also built for AI assistants that answer questions directly. It serves an llms.txt guide plus a full llms-full.txt that serializes every service, all 417 sub-services, the FAQs, and the cited cost ranges into one plain-text fetch, generated from the same data sources as the pages so it can never say more than the pages do.
The robots file explicitly welcomes 18 named AI crawlers, and an IndexNow pipeline submits the full sitemap so new pages do not sit around waiting to be discovered. There is even a ReserveAction schema on the business and the booking page, so an assistant asked "how do I get an estimate" can resolve straight to the booking flow.
470 pages, 4 dependencies
All 470 pages are pre-rendered as static HTML, so the site serves flat files at speed no page builder matches. The whole build runs on four runtime dependencies: no theme framework, no plugin runtime, no inherited weight. The entire image folder weighs 27 MB, shared across service pages instead of duplicated per page.
And every call to action across all 470 pages leads to the same place: one booking wizard. More pages does not mean more paths. It means more doors into the same room.
The honesty rules scale with the pages, too. The site's ballpark pricing tool cites every dollar range to named industry sources, displayed on the page, and labels the company's own planning estimates as exactly that. The content library's header states the standing rule: no fabricated specs, prices, or company claims. When a claim cannot be sourced, it does not ship.
Scale is not the achievement
Anyone can generate pages. Search engines have seen twenty years of that, and they punish it. The discipline is that every one of the 417 maps to a real service this contractor performs, carries real structured content, and is held to the same technical bar as the homepage. That bar includes our in-house accessibility widget, seven one-click profiles over two dozen adjustments, mounted on every page of the site, not just the ones a visitor is likely to screenshot.
That is the difference between coverage and clutter. A homeowner lands on a page about the exact job they typed, reads what the work includes, and finds one clear way to book. The library made it possible to do that 417 times without doing it 417 times by hand.
