Web development

5 mistakes I have seen on small business websites (and how to avoid them)

The 5 most common mistakes I see on websites of restaurants, clinics, law firms and local stores. With real (anonymised) examples and how we avoid them when we start a new website or a migration.

By Daniel
10 min

After building and fixing dozens of websites for restaurants, clinics, law firms, shops and local small businesses, there are 5 mistakes I see over and over. They are not rare bugs or advanced issues: they are beginner mistakes that cost you customers, money and sleep, and that can be fixed relatively easily. In this article I tell you what they are, with real (anonymised) examples and what I do when I find them in a new client.

Mistake 1: the website does not say who you are, where you are or how to contact you (in less than 5 seconds)

I see it almost every time, and it is the most serious of all because it is the one that costs you the most customers.

Typical symptoms:

  • The home hero has a nice full-screen photo, with no text on top, and you have to scroll to know what the site is about.
  • The business name is in the logo, but the logo is an image with no text, so Google does not read it.
  • The phone is in the footer, in light grey, no format, no tel:// link.
  • The physical address does not appear anywhere. People have to go to Google Maps to find it.
  • The opening hours are not on the home. People do not know if they can call at 8 pm or if you are closed.

What really happens:

The user opens the site, does not understand what it is in 5 seconds, does not see how to contact, and goes back to Google. Google sees the user left fast (high bounce rate) and lowers your ranking. You lose the customer AND the ranking.

Real case (anonymised): a dental clinic in a provincial capital had a beautiful website, made by a local agency, with a video of the team smiling. But the phone was not visible on the home. When we measured it, 73% of users scrolled down to the footer looking for the phone and 18% left without finding it. Just by putting the phone top right (visible without scrolling) and with the format tel:+34XXX, calls from the website went up 40% in 2 weeks.

How I avoid it:

  • Business name, city and phone, visible without scrolling, in the header of ALL pages.
  • Address and hours, in the footer of ALL pages, with a link to Google Maps.
  • LocalBusiness schema on all pages, with the address structured.

Mistake 2: the website takes 5-8 seconds to load (and nobody waits)

I see it on websites of restaurants, clinics, law firms, shops… in all sectors. The average user abandons a website if it takes more than 3 seconds to load on mobile, and at 5 seconds the abandonment rate is 90%. This translates to: 9 out of 10 people who could have hired you leave without seeing your site.

Typical symptoms:

  • Site built with WordPress + Elementor + 30 plugins, half of them outdated.
  • Hero with a full-screen background video, in 4K, uncompressed.
  • 8-12 external resources (Google Fonts, icons, analytics, chat, Facebook pixels, etc.) loading in series.
  • Uncompressed images, in PNG instead of WebP, half the size they should be.
  • Cheap shared hosting (EUR 1/month), with 200 sites on the same server, CPU at 100% at peak hours.

What really happens:

The user waits 2-3 seconds, sees that nothing useful loads, goes back to Google. Google sees they left fast, interprets that your site did not help them, drops you in the ranking. It makes everything worse.

Real case (anonymised): a restaurant with a site made on Wix took 7.2 seconds to load the menu on an iPhone 11. It had 14 photos of dishes at 4 MB each. We converted the photos to WebP (from 4 MB to 180 KB each), removed 8 Wix widgets that were not used, and load time dropped to 1.4 seconds. Online reservations went up 25% in 3 weeks.

How I avoid it:

  • Site in Astro or similar framework, zero JS by default.
  • Images in WebP, with srcset and sizes so each device downloads only what it needs.
  • One font family (Inter, in my case), preconnect to Google Fonts, preload of the critical variant.
  • Hosting on Vercel or Cloudflare Pages: global CDN, automatic cache, first load in under 1 second in any country.
  • Zero plugins, zero unnecessary third-party widgets.

Mistake 3: the site is on WordPress and nobody can maintain it without breaking it

I see it in 60% of small business websites. The site was made in 2018 with WordPress + a theme that cost USD 60 + a page builder. Today, in 2026, the theme has not been updated since 2021 (the developer disappeared), the page builder changed its API 4 times, and nobody in the business knows how to touch WordPress without breaking something.

Typical symptoms:

  • The business pays EUR 80-200/month to a “maintainer” who charges for every small change.
  • Every time they want to change a phone, a photo or an opening hour, they have to wait 1-2 weeks.
  • There is a reverential fear of “touching the site” because “last time something was touched it broke”.
  • The restaurant menu is 3 months out of date because nobody dares to update it.

What really happens:

The business is paying for a website that is actually locked. And paying more for maintenance than for the original site. The perfect trap: you pay EUR 3,000 for the site, EUR 200/month to maintain it (EUR 2,400/year), and in 5 years you have paid EUR 15,000 for something you cannot touch without help.

Real case (anonymised): a local clothing store had a site with WooCommerce, made in 2019, with 22 plugins. Every product change took 30 minutes and sometimes broke the cart. The store owner told me: “I have not updated stock in 3 years because I am terrified of breaking the site”. The migration to a static site with a JSON-based CMS cost her EUR 1,800 and now she updates stock herself in 2 minutes per product.

How I avoid it:

  • Site in Astro (zero JS) with a custom CMS based on JSON or Markdown for the content the client edits.
  • Or site in Webflow/Framer if the client wants visual editing without touching code.
  • If the client NEEDS WordPress (large store, blog with many writers), I do it with a modern theme (Kadence, GeneratePress) and minimum plugins.
  • Clear documentation on how to edit the basics: “to change a phone, edit file X, save, done”.

Mistake 4: the site has no Schema.org or llms.txt (invisible to Google and AIs)

This is the most “invisible” mistake because the site looks fine, but Google does not understand it is a local business, what services it offers or where it is. And AIs like ChatGPT, Perplexity, Claude, Gemini just do not recommend it.

Typical symptoms:

  • You search your business + city in Google and you do not show up.
  • You search your type of service + city and your site does not appear in the first 5 pages.
  • ChatGPT, when you ask it about your type of business in your city, does not mention you (or mentions you with outdated info).
  • Google Maps shows you but the website does not link well from the listing.

What really happens:

Google interprets your site as “just another page” without understanding it is a local business with X services in Y city. AIs, same. You lose qualified traffic and AI recommendations, which are increasingly important (I have already covered this in another article, this one).

Real case (anonymised): a physiotherapy clinic in a mid-sized city did not show on Google for “physiotherapy + city” or on ChatGPT for “recommend me a physio in + city”. They had a site, a Google Maps listing, good reviews. The problem: zero Schema.org, zero llms.txt, poor text content, and the address only in the footer. We added full LocalBusiness schema, FAQPage with real questions, llms.txt with services and prices, and rewrote the home with 800 useful words. In 3 months, they were on the first page of Google for the key searches and ChatGPT started mentioning them.

How I avoid it:

  • Schema.org JSON-LD on every page: Organization/LocalBusiness, Service (one per service), FAQPage (if there is FAQ), BreadcrumbList.
  • llms.txt at the root of the site (yourdomain.com/llms.txt) with a summary of the business for AIs.
  • Visible content with text (not only images): each service described in 200-400 words minimum, with the city mentioned.
  • Verified Google Business Profile, with services, hours and updated photos.

Mistake 5: the site says “we are the best” but does not provide any evidence

This is the most subtle mistake and the one that hits small businesses the hardest. The home says “we are the best”, “exceptional quality”, “personalised attention”, “years of experience”. And on the whole site there is NOT ONE piece of concrete evidence: no success case with data, no real review with the customer’s name, no number (how many clients, how many projects, how many years, how many cases solved), no photo of the team with names.

Typical symptoms:

  • The home is full of adjectives without nouns: “the best”, “the fastest”, “the cheapest”.
  • There are no customer reviews on the site (only on Google Maps, which is different).
  • There are no real photos of the team, the venue, the projects. Only stock photos.
  • There are no numbers: how many years, how many clients, how many projects.
  • There is no success case, no testimonial with first and last name.

What really happens:

The user does not believe the adjectives. They have been seeing them on every website for 20 years. They look for concrete proof: numbers, cases, real photos, reviews. If they do not find them, they go to the competition that does.

Real case (anonymised): a law firm had been with the same website for years. It said “experienced lawyers”, “personalised treatment”, “committed to the client”. Nothing else. I rebuilt it entirely: each practice area with 3 real success cases (anonymised but with figures: “we have managed 200+ unfair dismissals in the last 3 years”, “87% success rate in wage claims”), real photos of the team with name and specialty, and 6 real client reviews with permission. In 6 months, queries from the site went up 60%.

How I avoid it:

  • Concrete numbers on the home: years of experience, clients served, projects delivered, cases solved.
  • Real photos of the team with name, specialty and “X years of experience in Y”.
  • Real customer reviews with name and permission, on the home or on a /reviews or /testimonials page.
  • 1-2 success cases with figures: “we did X for client Y, result Z% in W months”.
  • No empty adjectives. Either data, or case, or photo, or testimonial. Or you keep quiet.

Conclusión

The 5 most common mistakes I see on small business websites are:

  1. Not saying who you are, where you are or how to contact you, visibly, in less than 5 seconds.
  2. Taking 5-8 seconds to load (and losing 9 out of 10 visitors).
  3. Being on a 2018 WordPress nobody can maintain without breaking it.
  4. Not having Schema.org or llms.txt (being invisible to Google and AIs).
  5. Saying “we are the best” without providing a single piece of evidence.

If your site has 2 or more of these, there is work to do. And the good news is that they are fixed with a well-done migration or a good tune-up, not with a 6-month project or a EUR 10,000 budget.

If you want me to look at your specific case, write to me or by WhatsApp and I give you an honest diagnosis. No commitment, no selling you anything you do not need.

And if you want to see two real examples of websites we built from scratch, I have the case studies: Restaurante Los Pinochos and Clínica Estética Pepa Ramon.

Want to apply this to your project?

If you liked the article and want me to help you with your web, app or SEO, write to me. I reply within 24 hours with a fixed-price quote in writing or a call to scope your case, no commitment.