Technical SEO sounds like something only large companies need to worry about. It isn’t. For a small business, it’s the plumbing that decides whether Google can find, understand and trust your website at all. You can write the best service pages in your city, but if search engines can’t crawl them, or they load slowly on a phone, they won’t get the attention they deserve.

This is the checklist I work through on every site I build or inherit. None of it requires an agency retainer. Most of it takes an afternoon with the right tools, and the rest is a habit you keep.

1. Set up Google Search Console first

Before changing anything, connect your site to Google Search Console. It’s free, and it’s the only place Google tells you directly what it sees: which pages are indexed, which are excluded and why, what searches bring people in, and whether your pages pass Core Web Vitals.

Verify the domain property (not just one URL prefix) so you see every version of your site, with and without www. Then give it a few days to collect data. Almost every other item on this list is easier to check once Search Console is running.

2. Make sure your pages can be crawled and indexed

Crawling is Google visiting a page. Indexing is Google deciding to store it and show it in results. Both can fail quietly, and small business sites fail here more often than anywhere else.

Check robots.txt

Visit yourdomain.com/robots.txt. It should be short and it should not block the pages you want found. A surprising number of sites launch with a leftover rule from the staging environment that tells every crawler to stay away. A healthy file for most small sites looks like this:

User-agent: *
Allow: /

Sitemap: https://yourdomain.com/sitemap.xml

Look for stray noindex tags

WordPress has a “Discourage search engines” checkbox, and many themes and SEO plugins can set noindex on individual pages. In Search Console, the Pages report lists anything excluded by a noindex tag. If your services page is on that list, that’s your first fix.

Submit an XML sitemap

A sitemap is a list of the URLs you want indexed, ideally with a last-modified date for each. Most platforms generate one automatically. Submit it in Search Console and check back to confirm Google read it without errors. Keep it clean: only canonical, indexable pages that return a 200 status, not redirects, drafts or thank-you pages.

3. Give every page one clear, canonical address

The same page can often be reached several ways: with and without www, over http and https, with a trailing slash or without, with tracking parameters on the end. To you they’re one page. To a crawler they can look like duplicates competing with each other.

  • Force HTTPS. Every version of your site should redirect to the secure one. It’s a ranking signal and browsers warn visitors away from insecure pages.
  • Pick one host. Choose www or the bare domain and redirect the other to it permanently.
  • Add a canonical tag. Each page should include <link rel="canonical"> pointing to its own preferred URL. It tells Google which version to index when duplicates exist.
  • Use permanent redirects when URLs change. A 301 or 308 redirect passes the old page’s value to the new one. Deleting a page and letting it 404 throws that value away.

That last point matters most during a redesign. I wrote about it in detail in migrating from WordPress to Next.js without losing your SEO, because it’s where most sites lose ground they spent years earning.

4. Write titles and descriptions for people

Your title tag is the blue headline in search results, and it’s still one of the strongest signals of what a page is about. Every page needs a unique one. Lead with what the page offers and, for local businesses, where. “Home Healthcare in Allen, TX | Your Agency Name” beats “Home” every time.

The meta description doesn’t directly affect rankings, but it’s your pitch in the results page, and a good one earns the click. Keep it under roughly 155 characters, describe what the visitor will find, and make each one unique. Google sometimes rewrites descriptions, usually when yours doesn’t match the search well, which is useful feedback in itself.

While you’re in there, check your headings. Each page should have one h1 that says what the page is, with h2 and h3 headings breaking up the content in a logical order. It helps screen reader users as much as search engines.

5. Add structured data where it’s honest

Structured data is a small block of code, usually JSON-LD using the schema.org vocabulary, that tells search engines facts about a page in a format they don’t have to guess at: this is a business, here is its address and phone number, this is an article, here is its author and publish date.

For a small business, the useful types are usually LocalBusiness (or a more specific subtype), Organization or Person, BreadcrumbList, and Article or BlogPosting for posts. Test your markup with Google’s Rich Results Test.

One rule I hold to: only mark up what’s visible on the page and true. Structured data describing reviews you don’t display, or FAQs that aren’t on the page, breaks Google’s guidelines. It’s also worth knowing that some rich results have narrowed over time. FAQ rich results, for example, have only been shown for well-known government and health sites since 2023, so adding FAQ markup to a plumber’s website won’t produce the dropdowns it once did.

6. Make it fast and comfortable on a phone

Google indexes the mobile version of your site first, and most local searches happen on phones. Open your site on your own phone and try to do the one thing a customer would do: find your number, book a call, read a service page. If it’s fiddly, it’s costing you.

Then run your key pages through PageSpeed Insights. Pay attention to the real-user data at the top, which shows your Core Web Vitals: loading speed, responsiveness and visual stability. I explain what those three numbers mean, and what usually fixes them, in Core Web Vitals, explained for business owners. The most common culprits on small sites are oversized images, heavy page builders and too many third-party scripts.

7. Connect your pages, and your business

Internal links are how both visitors and crawlers discover your pages, and how Google judges which ones matter most. A service page that nothing links to is a service page that barely exists.

  • Link from your home page to every core service.
  • Link from blog posts to the services they relate to, using descriptive anchor text rather than “click here.”
  • Give every image meaningful alt text that describes what it shows. It’s an accessibility requirement first, and it helps image search second.
  • Fix broken links. Search Console and most crawling tools will list them.

For local businesses: claim your Google Business Profile

If customers find you by searching “near me” or by city, your Google Business Profile can matter as much as your website. Claim it, choose accurate categories, add real photos, and keep your hours current. Make sure your business name, address and phone number match exactly what’s on your website, and link the profile to the most relevant page rather than always the home page.

A checklist you can keep

Here’s the whole list in one place. Work through it once, then revisit it every few months or after any significant site change.

  1. Search Console verified for the whole domain.
  2. robots.txt allows crawling and points to your sitemap.
  3. No accidental noindex on important pages.
  4. XML sitemap submitted and error-free.
  5. HTTPS enforced, one host, canonical tags on every page.
  6. Permanent redirects for any URL that has changed.
  7. Unique title, description and a single h1 per page.
  8. Honest structured data that validates.
  9. Pages pass Core Web Vitals on mobile.
  10. Descriptive internal links and alt text throughout.
  11. Google Business Profile claimed and consistent.

Where I can help

I build this checklist into every site from day one, whether it’s custom-coded in Next.js or running on WordPress, Webflow or Framer. You can see some of the sites I’ve built in my portfolio. If you’d rather hand the audit to someone who’ll explain each fix in plain language, tell me about your site and I’ll come back with a clear list of what to change first.