Technical SEO

Technical SEO Checklist: 25 Fixes That Help Small-Business Sites Rank

25 technical SEO fixes in priority order — crawlability, indexing, HTTPS, speed, mobile, schema, links, duplicates, and 404s — with a how-to-check for each.

Technical SEO is everything that lets Google find, read, and trust your pages before your content gets a chance to rank. For most small business sites it isn’t 25 separate problems — it’s three or four, hiding behind a page builder, a lapsed hosting plan, or a redesign nobody checked afterward.

This technical SEO checklist runs 25 items across crawlability, indexing, HTTPS and redirects, speed, mobile, structured data, internal links, duplicate content, and 404s, ordered by how often each one blocks rankings in small business audits. Each item says why it matters and how to check it, almost entirely with free tools.

Free tools for this technical SEO checklist

You need two things — Google Search Console and a crawler — plus PageSpeed Insights for speed. Search Console is Google’s own report of what it found and skipped. If you haven’t verified your site there, do it first, as a domain property rather than a URL prefix, so http, https, www, and non-www are covered.

A crawler walks your site like Googlebot and lists every URL, status code, title, and tag; Screaming Frog’s free tier covers 500 URLs, enough for most small sites.

Technical problems are the first thing we check in our SEO services, because fixing them is cheap.

Crawlability: can Google reach your pages? (1–5)

1. Robots.txt isn’t blocking your pages

robots.txt is a plain text file at your domain’s root that tells crawlers which paths to stay out of. A single Disallow: /, often copied from a staging site, blocks everything. Check: open yourdomain.com/robots.txt, read every Disallow line, then confirm in Search Console’s robots.txt report. Google’s robots.txt documentation covers the syntax.

2. A clean XML sitemap is submitted

An XML sitemap is a machine-readable list of the URLs you want indexed — only live, indexable, canonical pages; no redirects, noindexed pages, or 404s. Check: visit /sitemap.xml, spot-check a few URLs, and submit it in Search Console’s Sitemaps report.

3. Canonical tags point where you mean

A canonical tag is a line in the page’s HTML naming the “real” URL when several are similar. The classic template bug is every page canonicalizing to the homepage, telling Google every page is a copy of the homepage; usually ignored, but when it isn’t, your pages drop out. Check: view the page source, find rel="canonical", and confirm it names the page itself.

4. Crawl budget isn’t going to junk URLs

Crawl budget is how many of your URLs Google fetches in a given stretch of time. Google says it mostly matters for very large sites, but filter URLs, calendar pages, and internal search results can eat a small site’s share. Check: in Search Console’s Pages report, look at “Crawled – currently not indexed” and “Discovered – currently not indexed.” If they’re full of URLs with a ? in them, noindex that pattern — or block it in robots.txt, but not both: Google can’t read a noindex tag on a page it isn’t allowed to fetch.

5. JavaScript isn’t hiding your content

Google can render JavaScript, but later and not completely. If your services text only appears after a script runs, you’re gambling. Check: in Search Console’s URL Inspection tool, click Test live URL, then View tested page. If the rendered HTML lacks your headings and body text, the page needs to ship real HTML.

Indexing: is Google keeping what it finds? (6–9)

6. No staging copy is indexed

Agencies and page builders leave copies of your site at addresses like staging.yourdomain.com, and if Google indexes one, your real site competes with a duplicate of itself. Check: search site:yourdomain.com for subdomains you don’t recognize, then site: the staging address. Password-protect or noindex the copy and request removal in Search Console’s Removals tool.

7. Your important pages are indexed

Indexed means Google stored the page and can show it in results — it doesn’t keep everything it crawls. Check: the Pages report is the authority; a site:yourdomain.com search gives a rough count in seconds.

8. No stray noindex tags

A noindex tag tells Google to leave a page out. It belongs on thank-you pages, not service pages, and can hide in an HTTP header (X-Robots-Tag) or WordPress’s “Discourage search engines” checkbox. Check: search the page source for noindex, and look for “URL marked ‘noindex’” in the Pages report.

9. Thin and junk pages aren’t indexed

Tag archives, author pages, empty categories, and forgotten test pages give Google more low-value pages to store and make your site look thinner than it is. Check: scroll the indexed list in the Pages report and ask of each URL, “Would I want a customer to land here?” If not, noindex it.

HTTPS and redirects: one site, one address (10–13)

10. Valid HTTPS on every page

HTTPS encrypts traffic between the browser and your server. Google calls it a lightweight ranking signal, browsers flag anything without it as “Not secure,” and certificates expire. Check: click the site-information icon next to the address (a padlock in Safari/Firefox, a sliders icon in Chrome), open the certificate details, read the expiry date, and confirm your host renews it automatically.

11. Every domain variant redirects to one

Your site can be reached at http, https, www, and non-www — four addresses. Three should 301 redirect (a permanent redirect) to the one you chose. If two work independently, Google may index either one — not necessarily the one you wanted. Check: type all four into a browser and watch where each lands; a crawler shows each status code.

12. No mixed content

Mixed content is an HTTPS page loading an image or script over plain http. Browsers block some of it, so the page looks broken and stops being marked secure. Check: open the browser console (right-click, Inspect, Console) and look for mixed-content warnings.

13. No redirect chains or loops

A redirect chain is A to B to C. Each hop adds delay, Google’s crawlers follow at most 10 hops before giving up, and a loop makes the page unreachable entirely. Check: a crawler’s redirect chain report lists them; point each first URL straight at the last.

Speed and Core Web Vitals (14–17)

14. Pass Core Web Vitals on real user data

Core Web Vitals are Google’s three page-experience metrics:

  • Largest Contentful Paint (LCP) — how fast the main content appears; good is 2.5 seconds or less.
  • Interaction to Next Paint (INP) — how fast the page responds to taps and clicks; good is 200 milliseconds or less.
  • Cumulative Layout Shift (CLS) — how much things jump around; good is 0.1 or less.

Field data is what real Chrome visitors experienced; lab data is a one-off simulated test. Lab helps you debug; field is what Google judges you on. Check: Search Console’s Core Web Vitals report sorts your URLs into good, needs improvement, and poor. Our Core Web Vitals explainer goes deeper.

15. Images are sized, compressed, and dimensioned

In our audits, oversized images are the usual reason a small business site is slow, and images without width and height attributes are a leading cause of layout shift. Serve modern formats such as WebP, scale images to their display size, give each a descriptive alt attribute, and lazy-load (defer fetching) anything below the first screen — never the hero image. Check: PageSpeed Insights’ “Improve image delivery” insight lists every oversized, uncompressed, or wrong-format image.

16. Third-party scripts are on a leash

Six tracking scripts on a homepage are six things competing with your phone number for the first two seconds. Check: your browser’s Network tab shows every request, and PageSpeed flags scripts that mostly go unused; remove those and set the rest to load after your content.

17. The server answers fast

Time to first byte is how long the server takes to send anything. Cheap shared hosting and uncached database pages can burn most of a second before anything renders. Check: PageSpeed Insights’ “Document request latency” insight flags a slow server response, plus redirects and missing compression on the HTML. Fixes are page caching (a saved copy of the page), a content delivery network (servers closer to your visitors), or better hosting.

Mobile: Google indexes the phone version (18–19)

18. Mobile has all the content

Google uses the mobile version of your page for indexing and ranking. If your theme removes the services list or the FAQ on small screens, Google treats it as absent. Collapsing sections into accordions is fine; dropping them from the mobile HTML is not. Check: compare the page on your phone, section by section, to desktop. URL Inspection shows exactly what Googlebot Smartphone rendered.

19. Usable on a phone without pinching

That means a viewport meta tag (one line of HTML that tells phones how to scale the page), readable font sizes, tap targets that don’t overlap, and no pop-up covering the content on arrival — Google has said intrusive interstitials on mobile can hurt. If the theme itself is the problem, that is a mobile-first website design job, not a plugin. Check: run Lighthouse, the audit tool built into Chrome’s developer tools, then use your own thumb: call the number, fill out the form.

Structured data: tell Google what the page is (20–21)

20. LocalBusiness schema matching your Business Profile

Structured data (schema markup) is code that states plainly what your page is: a business, with its name, address, phone, and hours. When those details match your Google Business Profile exactly, you remove one reason for Google to doubt which business the site belongs to. Check: paste your homepage into the Rich Results Test; if it reports no LocalBusiness item, you don’t have one. Compare name, address, and phone against your profile character for character (our Google Business Profile checklist covers the rest).

21. Page-level schema only where it’s true

Article, BreadcrumbList, and Product markup are worth adding when the page genuinely is that thing; Service markup is fine, but Google gives it no rich result. Don’t mark up reviews you don’t display or FAQs that aren’t on the page — Google’s structured data guidelines forbid it, and it can draw a manual action. Check: Search Console’s Enhancements reports list every error and warning by rich-result type; for types with no rich result, such as Service, use the Schema Markup Validator at validator.schema.org. Our schema markup guide covers which types are worth it.

Internal links and site structure (22–23)

22. Every important page has internal links

Internal links are how Google discovers pages and judges which ones matter to you. A page nothing links to is an orphan, and orphans rank badly. Link from your homepage and related service pages with anchor text that says what the page is about — “commercial roof repair in Fort Worth,” not “learn more.” Check: Search Console’s Links report shows your most-linked pages; a crawler reports each page’s click depth from the homepage, so bring buried money pages closer.

23. Real links and clean URLs

Menus built with JavaScript click handlers instead of href attributes give Google nothing to follow. URLs should be short, lowercase, hyphenated, and readable: /services/roof-repair/, not /page?id=37. Check: hover over every menu item and confirm a URL appears in the status bar; a crawler flags the rest.

Duplicate content and 404s (24–25)

24. Duplicate content is consolidated

Duplication usually isn’t plagiarism; it’s the same page reachable at /about and /about/, or with a tracking parameter, so Google splits signals across the copies. The other common form is a city page cloned twenty times with only the name swapped, which Google’s spam policies treat as doorway abuse. Check: a crawler’s duplicate titles report, plus “Duplicate without user-selected canonical” in Search Console. Fix with redirects, canonical tags, and — for city pages — content that is actually different.

25. 404s are handled honestly

A 404 is a page that doesn’t exist. That’s fine for pages that are genuinely gone; Google has said 404s alone don’t hurt rankings.

What hurts is internal links pointing at them, old URLs with backlinks that now dead-end, and a custom “not found” page that returns a 200 status so Google thinks it’s real content (a soft 404). Check: the Pages report lists “Not found (404)” and “Soft 404”; a crawler finds broken internal links. Redirect URLs with backlinks to the closest equivalent, fix the links, and let the rest 404 properly.

Key takeaways

  • Fix crawlability and indexing first — a page Google can’t reach or keep ranks at zero no matter how fast it is.
  • Google Search Console and a free crawler surface nearly every item on this list; verify the domain property today if you haven’t.
  • One robots.txt line, one bad canonical tag, or one stray noindex tag can suppress most of a site — check all three before blaming your content.
  • Every version of your domain should 301 redirect to one, with no redirect chains and no mixed content.
  • Judge speed by field data against Google’s thresholds — LCP ≤ 2.5 s, INP ≤ 200 ms, CLS ≤ 0.1 — not by a lab score screenshot.
  • Only add schema that describes what is actually on the page, and keep it consistent with your Google Business Profile.
  • 404s alone don’t hurt rankings; broken internal links, lost backlinks, and soft 404s do.

Frequently asked questions

Do a full pass through this list once a quarter and glance at Search Console’s Pages and Core Web Vitals reports monthly. Always re-run it after a redesign, a hosting move, a new plugin, or a change of web developer, because that is when things break.

No. Technical SEO removes the obstacles; it doesn’t supply the reasons to rank. You still need pages that answer what people search for and enough authority to be trusted, and meaningful movement typically takes 3–6 months — Google itself says four months to a year.

Not for a site of a few dozen pages. Google Search Console, PageSpeed Insights, the Rich Results Test, and a free crawler cover nearly every item here. Paid tools mostly save time and add monitoring.

Crawling is Google fetching a page; indexing is Google storing it and making it eligible to appear in results. A page can be crawled and still not indexed, which is why Search Console’s Pages report separates the two.

Not inherently — builders handle the basics like HTTPS, sitemaps, and mobile layouts reasonably well out of the box. What you give up is control: the theme may load scripts you can’t remove, the markup is whatever the template emits, and fixing a speed or schema problem can mean fighting the platform rather than editing a file. WordPress in particular is only as clean as the theme and plugins you choose.

Want a plain-English read on your site?

Send us your URL and we’ll tell you, in plain English, where we’d start — no rankings promised, no forty-page PDF. Get in touch and we’ll take a look.

Keep reading

More from
the blog.

All articles

Want this done for you?

Ready to be
the first result?

Tell us what you want to rank for — we’ll audit where you stand today and map the path, honestly.

Start a project

Prefer email? hello@anthroweb.com · Dallas–Fort Worth, Texas · Serving nationwide · Replies within one business day