CRAFT DIGITAL × CF NAPA · PREPARED FOR STOLLER FAMILY ESTATE
A pioneer's next move.
In 1943 the Stoller family bought a hillside farm. They turned it into Oregon's largest contiguous Dundee Hills vineyard, built the world's first LEED Gold winery, and earned the nation's best tasting room. That's not a legacy business — that's a pattern of going first.
Your RFP asks for a new stollerfamilyestate.com, and you already know CF Napa, one of the most awarded brand agencies in wine — the team shaping how this estate looks and feels. We're Craft Digital. CF Napa recently met with us to understand what we're capable of, and thought it was worth the three of us being in a room together. So we put this together to show both Stoller and CF Napa exactly that. Yes: everything in the RFP can be done in WordPress. We're here to show you what the modern version looks like — built with today's AI tooling, and improving itself every day after launch.
03 · WHAT WE FOUND
We did the homework before the first meeting.
Clicked in from the portfolio: this is the deep scan of stollerfamilyestate.com — the property this RFP is about.
Before anyone asks "will our content survive the move?" — here's the answer. We scanned the live site the way a surveyor walks a vineyard: every page, every plugin, every integration, every URL, recorded. Migration starts from a map, not a guess.
289 URLs, accounted for
Most of those event pages are years expired — today they slow the site and dilute search signals. In the new site, they could become redirects that invite past guests to engage, join a newsletter, or something else entirely — a decision we'd make together.
10 plugins today → 0 to maintain
Each of these needs updates, and any update can break the site — the Friday-night-patch problem. Every job they do gets replaced by the platform itself.
After launch: nothing to patch, ever.
Every required integration, verified live
- Commerce7 already loads on the site (wine club) — we'd restyle the handoff so it feels native
- Tock live, with 5 bookable experiences we'd carry over by ID
- Klaviyo email live; Google Tag Manager live
- Tripleseat (weddings & events) is net-new — its public lead API accepts exactly what the RFP describes
We even found that this domain quietly hosts the privacy & terms pages the whole wine group links to — the kind of dependency that breaks launches when nobody mapped it. We mapped it.
And yes — we found things worth fixing
A methodical scan surfaces what hand-managed sites quietly accumulate. A system that scans continuously catches these before anyone outside the building ever could.
The group's legal pages live on this one site
The Privacy Policy and Terms for the entire wine group are hosted here, on stollerfamilyestate.com — the shop and sister brands all link to this one domain. Update them carelessly, or move them without redirects, and every property's legal links break at once. Nobody mapped that dependency. Now it's mapped — and in Mission Control (10), it could become a non-issue.
A retired analytics tag, still firing
One sister site still loads a Google Universal Analytics tag — a product Google shut down — sending data nowhere. Another runs two tag containers side by side. Measurement is leaking quietly across the family.
A full store engine loading for no reason
WooCommerce — an entire ecommerce system — loads on every page of this site, even though all sales happen on the separate shop. Pure weight, pure attack surface, zero function.
Time-capsule details
Copyright years across the family's sites read 2021 on some, 2023 on others — the small tells of sites edited by hand, one page at a time. 151 expired event pages on this site alone are still live in Google's index.
04 · HOW WE BUILD
How we build — in plain terms.
No jargon required. CF Napa designs the site; we build it pixel-perfect on a modern, proven technology stack — and every version is saved in a vault called GitHub that Stoller owns. Think of GitHub like your cellar log: every barrel, every racking, recorded — you can always trace a change, and always roll one back.
01The process
- 1STEP 1
CF Napa designs
Brand, layout, photography direction — the look is theirs, approved by you.
- 2STEP 2
Handoff & review
Every screen walked through with CF Napa, so intent is locked before any code.
- 3STEP 3
Development
We build the approved designs exactly, with best practices at every step.
- 4STEP 4
Live builds & notes
Review real working builds and pin feedback right on the page.
- 5STEP 5
Your GitHub vault
Every version saved in a repository Stoller owns — traceable and reversible.
- ∞ONGOING
Crafty improves
Our AI layer monitors, recommends and — with your approval — updates.
02The technology stack — includes, but isn’t limited to
03Revisions, built into the site itself
See something? Click it, note it.
During the build you browse live working versions of the site — not PDFs or screenshots. Click anything you’d change and type the note right there. It lands with us pinned to that exact element, becomes a tracked change, and you watch it get resolved.
- 1Click the element
- 2Type the note
- 3Watch it resolve
Review gates: design review before code · staging before live · accessibility & speed checks · one-click rollback.
04The big moment: the honest comparison
06 · THE NEW SITE
The new
stollerfamilyestate.com
A wireframe, deliberately — the design belongs to CF Napa. What we're showing is the structure: the full-bleed estate imagery the RFP asks for, the live weather from the vineyard (because guests check conditions before the drive from Portland), and every integration in its place.
Illustrative wireframe only. The weather chip is real functionality: a server-cached feed with a static fallback — zero cost to page speed, with pause/reduced-motion respected per the RFP.
Every page in the RFP, planned
| PAGE | COMES FROM | CONNECTS TO |
|---|---|---|
| Home | Current homepage | Weather feed · GA4 |
| About — Legacy · Vineyard · Winery · Team | 4 existing pages (winery + sustainability merge) | Team profiles self-serve; old links redirect |
| Wine — Red · White · Gifting | Nav links only | Out to the shop's collections (measured with UTM) |
| Hospitality — Tastings · Events · Guest Homes | /visit, /events, /guest-houses | Tock embed + 5 experiences · auto-expiring events · external stay booking |
| Celebrations — Weddings · Private · Corporate | /private-events, /group-experiences, /corporate | Tripleseat lead API · routed corporate form |
| Membership | /club | Commerce7 sign-up & account, styled native |
| Where to Buy | /wine-locations | Locator service via API — designed, not a plugin box |
| Blog (incl. culinary) · FAQ · Press · Contact | 83 posts migrate; FAQ net-new | FAQ answers feed AI search directly |
| Privacy · Terms | Group-wide pages | URLs preserved — locked, universal content |
08 · SELF-OPTIMIZING
A site that improves itself.
Three letters you'll hear a lot, in plain English: SEO — showing up when people search Google. AEO — being the answer when someone asks ChatGPT or Google's AI "best tasting room in the Willamette Valley." AIO — structuring your content so AI systems understand and cite it. Today, all three are manual chores someone has to remember. Here, they're a running system.
Built for how people search today
SEO + AEO from day one — structured for the engines people actually ask.
SEO
Traditional search visibility and technical optimization.
AEO + AI Search
Structured, useful content designed for discovery through AI-powered search.
Performance
Site speed, accessibility, usability, and technical health.
Ongoing Optimization
Monitoring, recommendations, and approved improvements after launch.
MONITOR → IDENTIFY → IMPROVE → MEASURE ↺ · Monitoring is automated — changes go live only once approved. Accessibility checked against ADA, WCAG 2.2 AA, the Unruh Act and Section 508, and kept current — a step past the RFP’s 2.1 AA ask.
How it runs, every week
Crafty works in a simple five-step loop. It does the watching and the writing — you only make the call.
Scan the live site
Pages, metadata, schema, speed, internal links — continuously.
Against the market
Ranking & keyword intelligence from Ahrefs / SEMrush: what people actually search, and who's winning the answer.
Draft the fix
New titles, descriptions, FAQ answers, blog drafts, schema, llms.txt updates — written, not just suggested.
You say yes
Preview → one click to publish, one click to undo. Or have Craft apply recommendations proactively.
Watch it climb
Positions, AI citations, bookings — back into the loop.
What the reporting looks like
Each week you see where you rank, which searches you're winning, and whether AI assistants name Stoller as the answer.
A real scan of stollerfamilyestate.com, run October 30, 2026.
"dundee hills wine tasting" — Google position
Illustrative · tracked weekly via Ahrefs/SEMrush APIs · lower is better
Keyword board
Illustrative · positions + whether AI assistants cite you as the answer
| QUERY | VOL/MO | POS | AI CITES |
|---|---|---|---|
| dundee hills wine tasting | 2,400 | #3 ▲11 | ✓ cited |
| willamette valley guest house | 1,900 | #5 ▲7 | ✓ cited |
| leed certified winery oregon | 480 | #1 ▲2 | ✓ cited |
| winery wedding willamette valley | 1,300 | #6 ▲9 | queued |
| best tasting room oregon | 3,100 | #4 ▲5 | ✓ cited |
09 · MEET CRAFTY
Crafty: change your site by asking.
This is the answer to “so… how do we make changes?” Below is a working replica of stollerfamilyestate.com, built from your real photos and copy. Ask Crafty for a change and it finds every place the change touches, shows a preview, and waits for your yes. Nothing goes live without approval, and every change can be undone.
VISITWINESCLUBSTAYEVENTSBOOK A TASTINGDundee Hills · Willamette Valley
Open daily · 10:30 am – 5:30 pm
Our Roots Run Deep
The Stoller family established the property in 1943 and the vineyard 50 years later. Over the last 30 years, we have patiently transformed the 400-acre property into the largest contiguous vineyard in Oregon's Dundee Hills.

Your home in wine country
Willamette Valley Guest Houses, right here on the property.
Book a stay
Whipped Sweet Potatoes with Maple, Truffle & Aleppo
Chef Becca Richards' Skuna Salmon Recipe
Fried Green Tomatoes & White Pinot NoirWhere approvals live: your control room
Every change Crafty proposes lands here first — a plain console where your team reviews, approves, and can undo anything.
This week's recommendations
Change log
Illustrative mock. Our suggested setup: master access for whoever Stoller designates; scoped access per team member; universal content (privacy, legal, brand standards) locked — updated once at the top, correct everywhere.
10 · MISSION CONTROL
Change it once. It's correct everywhere.
Today, updating a legal page means remembering it lives on one brand's site while eight others link to it (we checked — it does). In a unified hub, universal content is updated once and published everywhere, every person has exactly the access they should, and every change is in the history with an undo. More capability for the group. Less work for every person in it. Try it:
To be clear about scope: the RFP — and where we'd start — is stollerfamilyestate.com. But the audit at the start of this deck shows nine properties sharing one ecosystem, so we built a working prototype of what unifying them could look like when the group is ready. Everything here is optional, and nothing about the Stoller Family Estate build depends on it.
Sample prototype · switch roles to see permissions change in real time
Change history — every edit, every site, forever
Everyone in their lane, by design
A brand manager edits their winery — their photos, their events, their pages — and nothing beyond it. Group leadership holds master access with the full picture. Universal content (privacy, legal, brand standards) is locked to the top: no individual editor can touch it, ever.
Historical data on everything
Who changed what, where, and when — across every property — with one-click undo. The "did anyone update that? where? which version?" conversation disappears. The hunt-and-peck era of managing many sites by hand ends here.
11 · ONE MORE THING
Ask Bill.
An AI assistant created from your founder. Nobody knows more about this estate than the person who planted the vines, so we trained a digital version on everything Stoller has already published — the wines and the clones, the Dundee Hills and its Jory soils, the sustainability record, visiting, the club, shipping. Anyone can ask it anything at 2 PM or 2 AM, and every answer links back to a real page, which also teaches the AI search engines that Stoller is the source. It takes nothing from the team in your tasting room — it simply hosts the other twenty-two hours. The humans pour — Bill answers. Try it:
A digital assistant created from your founder — answers drawn from stollerfamilyestate.com
Nobody knows the estate like its founder
The demo makes the point faster than a slide can: the same structured content the new site is built on can answer questions in a voice people actually trust — and every grounded answer is exactly what AI search engines learn to cite.
An optional add-on
Not required by the RFP — shared because the same structured content model the new site is built on makes this a natural extension rather than a second project.
Thank you.
Thank you for your time and for the opportunity. We've enjoyed getting to know this estate, and we'd be glad to keep the conversation going.
07 · MIGRATION
Leaving WordPress? Nothing gets lost.
We get it — WordPress is familiar, and moving off it can feel like a risk. So here's the honest version: content exports cleanly, the move is scripted and verifiable (289 URLs in, 289 destinations out, every one checked before launch), and you walk away with everything you have today, plus a great deal more.
The fair questions, answered
These are the questions any team should ask before leaving a platform they know.
Every URL is mapped before launch
All 289 URLs get a 1:1 redirect into the new structure, so links, bookmarks and search equity carry over. Nothing goes live until every destination is checked.
Moved by script, not re-typed
Blog posts, team profiles, Tock experiences and the Klaviyo list come across in a full scripted migration — nothing re-typed by hand, nothing dropped.
Easier than what you use today
Your team edits pages, events, team and FAQs in a plain control room, or just asks Crafty in a sentence. No page builder, no plugin settings.
You own all of it
Code, data, domain, assets and accounts sit in Stoller's name, with the code in your own GitHub vault. You can take it anywhere.
The move, line by line
What comes over from today's site, and what happens to each piece.
| WHAT | ACTION |
|---|---|
| 289 URLs + legacy slugs | 1:1 redirects into the new structure — including the merged Winery/Sustainability page and renamed sections |
| Privacy & Terms (the whole group links here) | URLs preserved exactly — the dependency we found so launch day doesn't |
| 83 blog posts · team profiles · 5 Tock experiences · Klaviyo list | Full scripted migration; nothing re-typed, nothing dropped |
| 151 expired event pages | Could redirect to a new Events page with a newsletter invitation — old bookmarks become an opportunity to subscribe |
| Search equity · llms.txt · analytics | llms.txt preserved & extended; full entity schema shipped; one GA4 with real conversion events |
What you keep — and what you gain
Everything that works today
- Every page, post and URL
- Your search rankings and links
- Commerce7, Tock and Klaviyo, still connected
- The privacy and terms pages the whole group links to
What WordPress can't give you
- Zero plugins to patch, ever
- A site that watches itself and drafts its own fixes
- Changes by asking Crafty, approved by your team
- Full ownership, with every change undoable
05 · COMMERCE7, RESPECTED
Commerce7 stays. The experience gets better.
Ecommerce is outside this project's scope — the RFP keeps the shop separate, and this site only hands members to Commerce7 for the club. We did the diligence anyway, because the findings matter.
Fully open APIs
Commerce7 is 100% API-driven — 900+ endpoints covering products, carts, customers, clubs, and orders, with webhooks for real-time sync. Its own storefront, admin, and the tasting-room POS all run on the same backend — so a custom front end can't knock the register offline.
Keep the engine, redesign the car
Nobody should leave Commerce7 lightly: it carries state-by-state shipping compliance, club billing, fulfillment connections, and the POS. The right move is a custom-designed experience on top — cart, member portal, cross-brand suggestions — reading and writing through C7's API. We're actively validating the depth of what's possible and will bring findings, not promises.
See it, don't imagine it
Our interactive prototype shows exactly what that front end could feel like — a cart that knows the whole family, a member portal, an owner's dashboard. Everything in it is clickable, and it all rides on the Commerce7 you already have.
02 · THE AUDIT · EVERY PROPERTY · VERIFIED
Where this site sits in the family.
Supporting context, not the main event: Stoller Wine Group runs nine web properties on three different platforms with three commerce systems. This project doesn't touch them — but it quietly proves the model that could one day unify them: one codebase, every brand looking entirely its own, legal pages updated once and correct everywhere.
The same job, done three or four different ways
| FUNCTION | TODAY | UNIFIED TARGET |
|---|---|---|
| CMS | WordPress ×7 (3 theme vendors) + Squarespace ×2 | One codebase, per-brand sites |
| Commerce | WooCommerce + Commerce7 + Squarespace carts in parallel | Commerce7 as the single engine, custom front via API |
| Events · Forms · Email | 3 calendars · 4 form systems · 2 email platforms | One of each, routed by brand |
| Analytics | Mixed containers + a dead tracking tag still firing | One GA4, per-brand streams — cross-brand funnels become possible |
| Legal pages | Group privacy/terms live on one brand's site | Locked universal content — updated once, correct on every site |
| AI readability | 2 of 9 sites, by plugin accident | Managed llms.txt + entity schema on every domain |
What the group-level audit surfaced
Shared legal pages live on stollerfamilyestate.com
The Privacy Policy and Terms that every brand links to are hosted inside one winery's WordPress install, so a group-wide legal update means editing one brand's site and hoping the others keep pointing at it.
Copyright years drift brand by brand
Footers across the portfolio show different years (stollerfamilyestate.com still reads © 2023), a small tell that each site is updated by hand, separately.
Each property runs its own stack
Separate installs, plugins, and analytics per brand mean nine versions of every fix. The unified layer we'll show you in Mission Control is the alternative.