Back to blog

Hidden Fees in Website Deals (and How to Spot Them)

6/11/2026

The setup fees, page-count traps, stock photo licensing, plugin renewals, and fake SEO line items buried in website contracts, and how to spot each one.

The quote said $1,200. The first year cost $3,400. Nobody technically lied to you.

That's the frustrating part about hidden fees in website deals: most of them are disclosed somewhere. Page four of the proposal. A line in the terms of service. An email three weeks after launch. The fees aren't secret so much as they're engineered to be invisible at the moment you say yes.

We build websites for a living, so we read a lot of competitor proposals that prospects forward to us. The same five traps show up over and over. This post walks through each one: what it looks like, why it exists, and the exact question that exposes it before you sign. Even if you never talk to us, you'll negotiate your next website deal with better information than most buyers have.

Trap 1: The setup fee that isn't in the headline price

The pattern: an ad or quote leads with a monthly number. "Professional websites, $99 a month." Then somewhere in the fine print there's a $750 "onboarding fee," a $500 "design deposit," or a "one-time activation charge."

Setup fees aren't inherently dishonest. Building a site takes real work up front, and plenty of legitimate shops (ours included) charge for that work directly. The problem is when the setup fee is separated from the headline price specifically so you compare the wrong numbers. You shop the $99 against another shop's $149, when the real comparison is total first-year cost: $99 times 12 plus $750 is $1,938, versus maybe $1,788 for the "more expensive" option with no setup fee.

The question to ask: "What is my total cost from signing to the end of month twelve, including every one-time charge?" Make them give you one number. If they can't or won't, that tells you something. The FTC's guidance on deceptive pricing has pushed hard against hidden mandatory fees across industries for exactly this reason: drip pricing works on buyers, which is why sellers keep doing it.

The related trap: the setup fee that's "waived" if you sign a 24- or 36-month contract. Now the fee isn't a fee, it's a lock. Run the math on the full contract term before deciding the waiver is a gift.

Trap 2: The page-count trap

The quote covers a "5-page website." Sounds reasonable. Home, About, Services, Gallery, Contact. Done, right?

Then you mention you do both HVAC and plumbing and want a page for each service so customers can find you when they search for that specific thing. That's not included. Each additional page is $150 to $400. You want a page for each of the three towns you serve? More pages, more money. A blog? That's a "module," priced separately.

Here's why this matters beyond the invoice: pages are how websites earn search traffic. Google generally ranks pages, not whole sites, for specific queries. A one-page site for a plumber who does drain cleaning, water heaters, and repipes in four towns is competing for a dozen different searches with a single page. Google's own search documentation is clear that helpful, specific content organized into findable pages is the foundation of ranking. A site priced to discourage adding pages is a site priced to discourage being found.

The question to ask: "What does it cost to add a page after launch, and how fast does it go live?" If the answer is a change order and a two-week turnaround, your site will be frozen at launch day forever, because you'll never want to deal with the friction.

A good deal here doesn't necessarily mean unlimited pages. It means page additions are cheap, fast, and encouraged, because the builder benefits when your site grows. We wrote more about how site structure drives leads in our website and SEO services overview.

Trap 3: Stock photo and font licensing

This one surprises people. The site launches with nice photos. Eighteen months later you get a letter from a licensing company demanding $800 for unauthorized use of an image, or your designer disappears and you discover the photos were licensed to their account, not yours, and your license evaporated when the relationship ended.

Stock photo licensing has real rules. Some licenses are perpetual; some are subscription-based and lapse when the subscription does. Some are licensed to the agency, not the client. Premium fonts work the same way: some web fonts are billed monthly per-site, and if the agency stops paying, your site quietly falls back to a default font, or you get a bill.

The questions to ask: "Who holds the licenses for every photo and font on my site, and do those licenses survive if we part ways?" and "Are any of the assets on my site subscription-licensed?" Get the answer in writing. Better yet, push for real photos of your actual crew and trucks. They license-proof your site and convert better than stock, because customers can tell the difference between your team and a model in a hard hat.

Trap 4: Plugin and theme renewals

This trap is mostly a WordPress-economy problem, but it's a big one because so many small business sites are WordPress.

A typical agency WordPress build uses a premium theme plus five to fifteen paid plugins: a page builder, a forms plugin, a backup tool, a security plugin, an SEO plugin, maybe a booking or gallery plugin. Each one has an annual license, usually $40 to $300 per year. At build time, the agency often uses its own developer licenses, so you never see the cost. Then one of three things happens:

  • You get the renewal bills later. Year two arrives and suddenly you owe several hundred dollars a year in renewals nobody mentioned.
  • The agency keeps paying and bakes it into a maintenance fee without itemizing, so you can't tell what you're paying for.
  • Nobody pays, and the plugins stop updating. This is the worst outcome. Outdated plugins are one of the most common ways small business sites get compromised, and a hacked site can get flagged in search results, which is far more expensive than any renewal fee.

The question to ask: "List every paid theme and plugin in my build, the annual renewal cost of each, and who is responsible for paying it." A trustworthy builder answers this in five minutes. An evasive answer means either they don't know their own stack or they'd rather you not see the total.

Worth knowing: this entire fee category is an architecture choice. Sites built on modern static frameworks instead of plugin stacks largely don't have renewal exposure, because there's almost nothing to license or patch. That's one reason we build the way we do.

Trap 5: "SEO included" that isn't

This is the most expensive trap on the list, because it doesn't just cost money. It costs you the years you spend thinking SEO is handled when it isn't.

"SEO included" on a website quote usually means one of these:

  • Technical table stakes. The site has title tags, loads reasonably fast, and isn't blocking Google. This is the equivalent of a car "including" wheels. It's not SEO; it's a functioning website. Google's documentation at developers.google.com/search describes most of this as basic crawlability and page experience, not a growth strategy.
  • A plugin installed. An SEO plugin is a tool, not a service. Installing one and configuring nothing is "SEO included" the way owning a treadmill is a fitness program.
  • One-time setup. Meta descriptions written at launch, a sitemap submitted, and then nothing ever again. SEO is cumulative and ongoing: content gets added, pages get improved, your Google Business Profile gets maintained and connected to the site. A one-time pass decays.

Real ongoing SEO involves somebody doing recurring work: publishing pages and posts that target what your customers actually search, keeping your business information consistent, earning reviews, and adjusting based on what's ranking. That work has a real monthly cost. When it's "free," it's absent.

The question to ask: "Show me exactly what SEO work happens in month six." Not at launch, month six. If the honest answer is "nothing," then SEO is not included; a checkbox was included. We've broken down what legitimate ongoing SEO looks like for trades businesses like HVAC companies and roofers, where local search is most of the game.

The one-page defense: a total-cost worksheet

Before you sign anything, make the seller fill in these numbers in writing:

  • One-time charges: setup, design, migration, photography, copywriting, anything billed once.
  • Monthly or annual recurring: hosting, maintenance, licenses, renewals, support plans.
  • Per-change costs: adding a page, editing content, swapping photos, and the turnaround time for each.
  • Asset ownership: who owns the domain, the site files, the photos, and the licenses if you leave.
  • Exit cost: what it takes, in dollars and effort, to move the site somewhere else.

Total the first column, multiply the second by 24, and you have a real two-year cost you can compare across vendors. Most hidden-fee structures collapse under this exercise, which is exactly why most sellers won't volunteer it. If you want a deeper look at comparing quotes overall, our guide on what a small business website should cost covers the full pricing landscape.

None of this means cheap is bad or expensive is good. It means the number on the quote is the start of the price, not the price, until you've made it the whole price in writing.

What a no-hidden-fees deal looks like

Here's how we do it, so you have a concrete comparison point even if you go elsewhere. Omnyra is a veteran-owned shop in Wilmington, NC, and we've built 1,500+ small business sites in the last 90 days using a done-with-you model: we build your site live on a call with you, you see the first draft in 24 hours, and you're live in 7 days, guaranteed.

Pricing is flat and public. Minimal sites start at $500. Standard is $2,000 plus $200 a month and includes the ongoing SEO and AI-search optimization this post says to demand receipts for. Max is $3,500 plus $400 a month and adds a 24/7 AI receptionist with 200 calls a month included (extra calls $1.50 each). Custom back-office builds start at $6,000 with Super Max. Pay-in-4 and Klarna financing are available, and every number is on the pricing page before you ever talk to us.

If you'd rather just watch your site get built instead of decoding a proposal, book a call and bring your worst quote. We'll walk through it line by line either way.

Hidden Fees in Website Deals (and How to Spot Them) — Omnyra