Web Design / Shakopee, Minnesota

Custom Websites Built to Convert

A great website works for you around the clock, quietly turning interest into conversations.

It helps the right people find you, tells your story, and makes getting in touch feel easy. Lead generation helps you build a contact base that you can use to send value adds like a newsletter or seasonal specials — it is what happens naturally when a site is clear about who you are, what you do, and how to reach you.

In the last 9 months, search has evolved quickly and modern websites are visible to people (SEO) and AI search (GEO/AIO). Yours will have a foot firmly planted in both!

What goes into a build?

Four things, in the order that affects whether the page works.

Built on Astro

Lightning-fast loads on a framework built for speed Google rewards.

Custom front end

SEO, GEO, and AIO intent baked into every template.

Speed as a feature

Sub-second loads, because a slow page loses the visitor first.

Measurement

Calls, forms, and bookings tracked as outcomes rather than pageviews.

Why we build on Astro

Every 2% and Whole site is built on Astro, a modern web framework built for speed. It ships zero JavaScript to the browser by default — your pages load as pure HTML and CSS, which is why our sites hit sub-second load times and score 98–100 on Google PageSpeed. Most website builders and legacy frameworks ship hundreds of kilobytes of JavaScript the visitor never asked for. Astro sends only what the page actually needs.

A faster site ranks higher, converts more visitors, and costs less to host. Speed is not a feature we add — it is the foundation everything else sits on.

Astro also supports every front-end framework — React, Vue, Svelte — so when a page does need interactivity, we drop it in without rebuilding anything. The Calendly embed on our contact page is a good example: one interactive widget on an otherwise static, lightning-fast page. For a small business site, this is the right architecture. Your visitors get a fast experience. Google rewards you for it. And you are not paying a monthly fee to a page builder that fights you on every edit.

This site is built on Astro, and you can see why.

An illustrated Google PageSpeed-style report card in an ornate bronze frame: 100 for Performance, Accessibility, Best Practices, and SEO, with First Contentful Paint 0.3 s, Speed Index 0.5 s, Largest Contentful Paint 0.3 s, and Cumulative Layout Shift 0.004, beside a small preview of the MilkHat Media homepage.
A stylized rendering of this site's Google PageSpeed Insights results. The scores are real — run the test yourself at pagespeed.web.dev (opens in a new tab).

Who should replace their site?

Anyone whose current site cannot be edited without calling somebody.

Law offices carrying a template that undersells the practice see this immediately. Medical and dental practices with no online booking lose patients to whoever has it. Real estate teams whose listings load slowly on a phone lose the buyer mid-scroll. Bakeries with great sweets but an outdated website that doesn't capture the sugar rush of deliciousness.

How does a site get built?

Content first, because layout decisions made without copy get redone.

  1. Discovery Chat

    We have a chat over a cold glass of milk, hand you a magic wand and listen to your story — colors, branding, your likes and wishes, and then we start to create.

  2. Write

    Page copy is drafted and approved before design begins.

  3. Design and build

    Layout is drawn around real text rather than placeholder blocks.

  4. Launch and watch

    We monitor the first weeks and adjust against real behaviour.

What do people ask about a new site?

Your site will be optimized for mobile and look absolutely amazing on any mobile phone as well as an iPad or computer screen.

Completely, including the code, the domain, and every account involved. Nothing is licensed back to you and nothing stops working if you decide to work with someone else.

Not if redirects are mapped properly, which is a standard part of launch here. Rankings usually wobble for a week or two after any migration and recover once the new pages are crawled.

Most of our clients opt for a nominal monthly fee that completely covers changes, hosting, upkeep etc. You have peace of mind this way and can concentrate on your business. Our pricing is fair based on quality, as always. For those clients with a little more DIY in their giddy-up, we can discuss monthly upkeep pricing on an individual basis.

Astro is the modern framework we build every 2% and Whole site on. It ships zero unnecessary JavaScript, which means sub-second load times and near-perfect Google PageSpeed scores out of the box. A faster site ranks higher, holds visitors longer, and converts more of them into calls. It is the reason our sites score 98–100 while most small business sites built on legacy frameworks land in the 40s on mobile.

What happens after my site goes live?

Every MilkHat Media build launches with a ten-day sequence that gets the site indexed, tracked, and measured against a documented baseline — matched to the tier, and you own every account we create.

On a 2% or Whole build

Day 1 — Search engine ownership

Site launches. We set up Google Search Console (domain-level property), Bing Webmaster Tools (imported from Google), GA4, and Vercel Analytics. Sitemap submitted to both engines. You own all four logins; we are added as a user.

Day 2 — Structured data

We add Organization, LocalBusiness, Person (you), and Service markup so Google and AI engines read your business facts from code, not just prose. Also an llms.txt file, a plain index we publish for AI crawlers, and a robots.txt that explicitly allows GPTBot, ClaudeBot, PerplexityBot, and Google-Extended. Verified with Google's Rich Results Test, zero errors.

Day 3 — Off-site entity

Google Business Profile verified, Bing Places imported, Apple Business Connect, and a LinkedIn company page, all using one canonical description and identical NAP (name, address, phone). Each profile URL gets added to the site's sameAs markup so the engines connect them as one entity. This is what AI assistants check before they will recommend a business, and it is the step most agencies skip.

Day 4 — Baseline

Rank tracking on 30–40 keywords (your services plus your service area), 3 competitors, and a monthly check of 20 AI prompts across ChatGPT, Perplexity, Gemini, and Google AI Overviews to record whether you are mentioned. Domain authority and backlink count exported with today's date. Expect near zero. That is the baseline.

Day 5 — Technical plumbing

Search Console indexation report reviewed; anything Google will not index gets fixed or removed. IndexNow wired into the deploy pipeline so every site change is pushed to Bing within hours. PageSpeed Insights run on home and one service page; red items fixed. Internal links checked so every service page connects to supporting content.

Day 6 — Conversion tracking

GA4 key events for form submissions and booking clicks, firing on the thank-you page, not the form load. A saved segment for AI-referral traffic (chatgpt.com, perplexity.ai, gemini.google.com, copilot). UTM naming convention documented so every email and social link is attributable.

Day 7 — Template service page

Your highest-value service page rebuilt: direct answer in the first 80 words (what, who, starting price), question-phrased headings, a comparison table, five real FAQs with FAQPage markup, visible last-updated date. Test: we paste the URL into ChatGPT and ask what you charge and who you serve. It should answer correctly from the page alone.

Day 8 — Citable content

One article built around a question your customers actually ask, with Article markup, named author, publish and modified dates. AI engines cite specific passages, so the structure is built for extraction: one idea per paragraph, data in tables, answer first.

Day 9 — Third-party trust

3–5 Google reviews requested from real customers, phrased around the service they bought. Listings on the directories AI engines retrieve from for your category. A decision on whether Reddit or YouTube is worth your time (only if you will keep it up).

Day 10 — Measurement plan

A monthly report built from Search Console and GA4: impressions, clicks, average position, key events, AI-referral sessions. AI prompt mentions tracked and reviewed monthly. Written decision thresholds — for example, if nothing ranks in the top 50 by day 60, the problem is content, not tech. You get this report monthly from here on.

What we will not promise: page one in a week. The honest range is 60–90 days for organic movement. AI mentions often show up sooner and are the better early signal.

On a Skim build

The site is live. These ten days focus on its organic search visibility and on making its content easier for search engines to understand.

Day 1 — Search engine ownership

Connect Google Search Console and Bing Webmaster Tools. Verify the site, submit the sitemap, and establish the baseline for indexing, impressions, clicks, and search queries.

Day 2 — On-page SEO foundation

Review and optimize page titles, meta descriptions, headings, URLs, image alt text, and page content around the site's primary services and search intent.

Day 3 — Site architecture and internal links

Review navigation and internal linking so important service pages are easy for visitors and search engines to discover. Connect related service, location, and supporting content where appropriate.

Day 4 — Search baseline

Establish a baseline for the site's primary service and location keywords. Record current rankings, impressions, and search visibility so future progress can be measured against today's starting point.

Day 5 — Technical SEO review

Review Search Console for indexing issues and inspect the sitemap, robots.txt, per-route canonical tags, mobile experience, and page performance. Fix what the review turns up — robots.txt, canonicals, and metadata are all directly editable. Server-side redirects are supported and written in code — a later URL restructure is change-request work, not a settings toggle.

Day 6 — Analytics and conversion tracking

Verify GA4 and analytics tracking. Configure important visitor actions such as form submissions, phone clicks, or booking clicks as measurable conversion events.

Day 7 — Highest-value service page

Optimize the site's most important service page for search intent. Put the clearest answer near the top, strengthen headings and supporting content, answer common customer questions, and improve internal links and calls to action.

Day 8 — Search-driven content

Optimize one existing page or piece of content around a real customer question. Structure it with a direct answer, descriptive headings, concise sections, and factual information that search engines and AI systems can readily understand and extract.

Day 9 — Local and third-party visibility

Review the Google Business Profile and other relevant business listings for consistent business information. Identify important directory, review, and third-party opportunities that can strengthen the business's online presence.

Day 10 — Measurement and next steps

Document the starting baseline — organic impressions, clicks, rankings, conversions, and where measurable, traffic from AI platforms — and identify the next content and optimization priorities. Your monthly traffic report starts from this baseline.

What we do not promise: page-one rankings in ten days. SEO is an ongoing process. The first ten days establish the foundation and correct immediate opportunities; meaningful organic movement typically takes considerably longer.

What does a website cost with MilkHat Media?

A MilkHat Media website is $1,999 for Skim, $5,500 for 2%, or custom-scoped for Whole.

A glass bottle of skim milk with a purple cap.

Skim

$1,999$199/mo · 2 weeks

What you get

  • Up to 5 pages — Home, About, Services, one supporting page, Contact
  • Built on the MilkHat Platform, our AI-assisted build system, on a proven layout styled to your brand: colors, type, logo, imagery
  • Mobile responsive, fast-loading
  • One round of homepage revision, then build
  • Contact form with routing and click-to-call
  • SSL, hosting, security, daily backups
  • Technical SEO foundation — title tags, meta tags, image optimization, XML sitemap, clean crawlable structure, Google Analytics, Search Console, search engine submission
  • Google Business Profile claim and setup
  • Stock or AI-generated imagery
  • Simple self-service editing for your text and photos; we handle everything technical
  • Monthly: hosting, security, updates, 1 hour of change requests, traffic report

What's not in this tier

AI-search optimization and schema markup, conversion copywriting, blog or resource library, CRM and calendar integration, advanced lead routing, service-area pages, trust and credibility module. Skim is a presence, not a lead-generation platform — if you need the site to actively bring you business, start at 2%.

Ownership

Your domain is registered in your name and stays yours. Your content and imagery are yours. The site runs on our platform; if you leave, we export your content and assets and help you move. The build itself doesn't transfer to another host.

Your full $1,999 build fee credits toward 2% if you upgrade within 12 months.

A wire milk crate holding four glass bottles, the front bottle wearing a red plaid trapper hat and stamped with the MilkHat Media seal.

Whole

Custom · 8–12 weeksbuilt in Astro

Discovery: $2,500 — required first step. We map your systems, architecture, and integrations, then deliver a written scope with a fixed quote. The full $2,500 credits toward your build when you move forward. If we're not the right fit, you keep the scope document and owe nothing further.

Everything in 2%, plus a menu of components scoped and priced to your build.

Whole is not a fixed package. You choose what you need from the list below, and the scope and price are set from there.

Available components

  • Full scope architecture — multi-location and multi-state page structure, member or client portal
  • Commerce and payments — Stripe, cart, POS connection, subscriptions and recurring billing, automated invoicing, and sync with your preferred accounting software
  • Custom CRM — built on Supabase, wired into Gmail, Google Calendar, and Slack. Lead routing, pipeline, and notifications in one place.
  • Lead generation systems — automated capture, follow-up sequences that turn visitors into booked consultations, plus cold outbound infrastructure through your preferred data provider
  • Content creation — marketing content that educates, nurtures, and moves potential customers closer to taking action:
    • Email campaigns
    • Newsletters
    • Case studies
    • Lead magnets
    • Downloadable guides
  • AI Operating System — a custom setup handling follow-ups, scheduling, common client questions, and internal admin, so your time goes to clients instead of busywork
  • Custom integrations — APIs, third-party platforms, and the systems you already run
  • 30-day post-launch stabilization — we run alongside your existing process, verify the numbers match, then hand it over

Ongoing

Automation maintenance, hosting, security, monitoring, and visibility reporting — scoped to what you actually use and quoted with the build. Social and blog publishing runs on a separate monthly plan.

Ownership

Everything is yours — domain, code, content, database, and integrations. Built on standard tools your own team or another developer can take over.

How the three tiers compare

MilkHat Media website package comparison
Skim2%Whole
Build$1,999Custom
Monthly$199Scoped
Timeline2 weeks8–12 weeks
PagesUp to 5Unlimited
PlatformMilkHat PlatformAstro
Monthly changes1 hrScoped
Monthly reportingTraffic onlyIncluded
Technical SEOIncludedIncluded
AI-search (AIO/GEO)Not includedIncluded
Conversion copywritingNot includedIncluded
CRM integrationNot includedIncluded(Custom option)
Commerce & paymentsNot includedIncluded
Automation & AI opsNot includedIncluded

Change-request hours beyond your package are $200 per hour.

Monthly plans run month to month. Cancel any time with 30 days notice.

The Skim build itself doesn't transfer to another host.

Pricing to go - download the full list

Want a look at what your current site is costing you?

Send the URL and we will point out where visitors are giving up.

Minnesotans will always give you directions to anywhere, but we will never share your contact info. Ever.

Optional, but it makes the first reply far more useful.