Case study · Website redesign · Aug–Nov 2026
Moeder's Meats Kansas Tradition, rebuilt
A family butcher shop with counters in WaKeeney and Ness City, Kansas, had a slow page-builder WordPress site that hid its phone numbers, sold nothing seasonal and spoke for one town. We kept WordPress as the place the staff edits content and put a fast, hand-built front end in front of it.
BeforeAfter 01 · Where it started
A good-looking site that didn't sell meat
The old site used a WordPress page-builder theme. It had the brand's red and gingham, but every page was the same pitch and none of it changed with the seasons.
Three links deep
The menu offered About, Beef Cut Sheet and Shop. Pork and lamb processing, recipes, corporate sales and fundraising had no way in from the header.
One town on Google
The homepage title read "Butcher Ness City, Kansas", although the shop also runs a counter on Main Street in WaKeeney.
Phone buried on phones
On a phone, the logo and two stacked call buttons filled the first screen. The offer sat below the fold.
Nothing seasonal
The hero said "Get on down to Moeder's Meats" all year. Holiday hams, prime rib and bundle boxes lived on paper flyers in the store.
Heavy pages
The homepage pulled about 50 files and 3.9 MB on a phone before it settled.
Beef only
The only cut sheet online was for beef. Pork and lamb processing had no form at all.
02 · Phone first
The first screen now sells
On a phone, the new header shrinks to the logo and a menu button, and the first screen is the current offer with a button that calls the WaKeeney counter.


03 · How it's built
WordPress stays. The front end moves.
The staff already knew WordPress, so it stayed as the content system. A small plugin we wrote, mm-headless, adds the recipe, cut-sheet and holiday fields and sends branded emails. The public site is a Next.js static build served from Cloudflare's edge, so a page load never touches the WordPress server.
WordPress
- Pages, recipes, specials, products
- Gravity Forms for cut sheets and contact
- mm-headless plugin: custom fields and Brevo email
Next.js
- 21 page routes, static export
- Right-sized WordPress images
- JSON-LD, sitemap and per-page metadata
Cloudflare
- Worker serves the static site and the custom 404
- Separate worker for VIP list signups
- Forms post straight to WordPress from the browser
04 · Side by side
The whole homepage
Scroll inside each frame. The new page leads with what to buy this week, then the three services that bring in larger orders (corporate sales, company beef, fundraising), whole and half shares, the Yucca Flats Cattle Co. partnership and Kansas-made products on the shelf.




05 · What we built
Features from the counter
Each feature came from something the staff did by hand or explained over the phone.
Hero slides from in-store signs
The slider reuses the shop's in-store signage screens: Holiday Specials, the $300 Big Burger Box, ribs, snack sticks and a "coming soon" jerky slide. Seasonal specials added in WordPress join the rotation on the next build.
Arrows, dots and pause · buttons dial 785.743.2052

Cut sheets that don't fail quietly
Beef, pork and lamb cut sheets were rebuilt field by field from the shop's paper forms. Required fields appear only when they apply, and the form scrolls to and highlights the field that needs attention.
Patties → "% of total ground beef" required · Snack sticks +$7/lb · phone formats as you type


A receipt for every order
Customers now get a branded confirmation with every cut they picked and a PDF copy, and the shop gets an internal version grouped the way the cutting room reads it. Emails go out through Brevo from the WordPress plugin.
Unified email format in review
Holiday orders online
Hams, turkeys and prime rib were ordered by phone from a paper flyer. The new page takes size, quantity, pickup store and date, and lands in the same inbox as other inquiries.
Brevo contact list sync in review
Found in both towns
WaKeeney and Ness City each have their own page with address, hours and directions. Every page carries structured data for a butcher shop with two locations, plus a sitemap, canonical links and share images.
LocalBusiness JSON-LD · sitemap.xml · robots.txt · canonical URLs

Weather in the header
A small touch for farm country: the top bar shows today's date and live conditions for WaKeeney, Ness City and Hays from Open-Meteo.

Recipes with real photos
Recipes moved from a static placeholder into WordPress with prep time, cook time and servings. Photos from the old blog were matched to ten of them; the rest show a labeled placeholder until the shop shoots them.
Photo mapping in review
06 · Results
Lighter and faster on a phone
Both homepages loaded on 13 Nov 2026 in the same browser, emulating a Pixel 7, two runs each. The old theme still runs on the WordPress server, so it was measured there.
The main image or headline appears about three times sooner.
Less than half the data on a rural cell connection.
Fewer files to fetch before the page settles.
| What changed | Before | After |
|---|---|---|
| Main menu | About, Beef Cut Sheet, Shop | About, Cut Sheets, Locations, Holiday Orders, Recipes, Kansas Products |
| Phone numbers | Behind two buttons | Both stores in the header, and on every slide |
| Cut sheets | Beef only | Beef, pork and lamb with branded confirmation emails |
| Locations in search | Ness City | WaKeeney and Ness City, each with its own page |
| Seasonal offers | None | Slider fed from WordPress, holiday order page |
| Hosting | Shared WordPress host for every visit | Static pages from Cloudflare's edge; WordPress only for editing and forms |
07 · Still on the block
What's next
Automatic deploys
The host's bot check blocks the build server from reading WordPress, so releases ship from a local machine for now.
Holiday list in Brevo
Add holiday customers to a mailing list for next season's reminders.
Photos for 14 recipes
Shoot the dishes that never had a photo on the old blog.
Jerky goes live
Swap the "coming soon" slide for live wording once it's on the counter.