Case Study: Rebuilding Craft Construction Management on Statamic
How we rebuilt Craft-Mgmt.com — an Indianapolis general contractor — on Statamic 6. Why we moved off Craft CMS, what the portfolio-first build gains, and the local-SEO groundwork that shipped with launch.
The Client
Craft Construction Management is an Indianapolis-based general contractor specializing in commercial, hospitality, office, retail, and multifamily construction across Central Indiana. Their portfolio includes high-profile Indianapolis builds — Shin Dig, The Bemberg, Shiloh's Corner, Exchange Whiskey Bar, and BRU Burger Bar locations in Bloomington and South Bend — many of them tenant-finish and restaurant-concept build-outs where construction quality meets design sensibility.
Why Rebuild?
The previous site was a Craft CMS build we shipped in 2024. It did the job, but as the portfolio grew and the marketing team took on more content work, a few pain points compounded: adding a new completed project meant wrangling Craft's matrix fields, image transforms required explicit template wiring, and the hosting/licensing overhead of Craft started to feel disproportionate to a brochure-plus-portfolio site that didn't actually need a relational database.
We proposed a rebuild on Statamic 6 for three concrete reasons: a simpler content model for the portfolio team, static-caching performance that wouldn't require a caching plugin to manage, and a cost-of-ownership that dropped by roughly two-thirds in year one once the Craft Pro + plugin stack dropped off the books.
The New Stack
Statamic 6 on Laravel 12 — flat-file content, Bard editor, Antlers templating.
Tailwind CSS + Alpine.js for the frontend — no framework heavy lifting for what is fundamentally a content-led site.
Glide image transforms — all project photography auto-resized, WebP-converted, and responsive-served without template gymnastics.
Static caching out of the box — pages serve as pre-rendered HTML, under 200ms TTFB on modest hosting.
JsonLD.io for automated Schema.org structured data — LocalBusiness, ConstructionBusiness, and individual Project markup generated without hand-writing JSON-LD per page.
Cloudflare + Turnstile on the contact form to keep bot traffic out of the inbox.
Portfolio-First Content Model
Construction clients hire GCs based on trust and track record. So the content architecture leads with the work. The homepage opens with a 'Selected Work' grid of featured project photography; each project gets its own entry with hero image, scope, client type, and photography. The marketing team can add a new completed build in five minutes using the Bard editor — no developer required, no deploy step.
Project entries are grouped by vertical: commercial, hospitality and restaurant, multifamily, office and tenant finish, retail. That mirrors how clients actually search — 'restaurant build-out contractor Indianapolis' is a real query with real intent, and the new IA gives Google a clean category page to rank.
Local SEO Groundwork (What Shipped with Launch)
Keyword-targeted page titles on every indexable page — 'Indianapolis General Contractor,' 'Commercial Construction Indianapolis,' 'Restaurant Build-Out Contractor Indiana,' 'Tenant Finish Contractor Indianapolis.'
Structured data — LocalBusiness, ConstructionBusiness, and a Project schema on each featured build. Address, service area, and business hours baked into the homepage JSON-LD.
Service-area pages naming Indianapolis, Carmel, Fishers, Noblesville, Bloomington, South Bend, and Lafayette — signaling regional authority without keyword-stuffing.
Alt text on every project photograph with descriptive, search-aligned language (client name + build type + location).
Internal linking between category pages, project entries, and the services section — so every page has a clear path back to the conversion points.
Clean URL structure ('/projects/shin-dig,' '/services/commercial-construction') that reads well in search results and social shares.
Open Graph + Twitter Card metadata on every entry so project pages preview cleanly when shared in email or on social.
Performance
Lighthouse scores in the mid-90s on mobile at launch, up from mid-70s on the previous Craft build. Time-to-first-byte under 200ms thanks to Statamic's static cache. First Contentful Paint and Largest Contentful Paint comfortably in the 'Good' zone of Core Web Vitals. The construction-photography hero images — normally a performance killer — ship as appropriately-sized WebP via Glide.
What Other Indianapolis GCs Can Learn
Three patterns from this project that apply to most construction and trades marketing sites:
Lead with the portfolio. If your work is your best sales asset, it should be the first thing above the fold and the most reachable content on the site.
Get the structured data in on day one. LocalBusiness + service-area markup takes a few hours to implement and compounds for years — retrofitting it after launch means waiting for Google to re-crawl and re-index everything.
Think in verticals, not just keywords. 'Restaurant build-out contractor' and 'tenant finish contractor' are high-intent queries where a category page beats a blog post every time. Map them to pages, not posts.
See It Live
Visit craft-mgmt.com. If you're an Indianapolis-area general contractor, design-build firm, or trades business thinking about a website refresh, we'd be happy to chat about what a Statamic rebuild would look like for you.
Let's Talk
If you're evaluating your next website — contractor, trades, or anyone else — we'd love to help you think through it. Reach out and we'll set up a call.