Technical SEO Checklist for MSP Websites
A plain-language checklist your web person can run this month, covering indexing, speed, duplicate pages, WordPress, AI crawlers, and the settings that quietly hide an MSP site.
Last updated: October 7, 2026
Written by Holly Mack, Fractional CMO, C4 Solutions
A technical SEO checklist for an MSP website covers whether Google can find, crawl, index, and load your pages quickly. Start in Search Console, then check Core Web Vitals, duplicate pages, WordPress plugins, AI crawler access, and schema.
Fix what hides you first
This is the list we run before any content work in our SEO, AEO, and GEO services, and your web person can run it too. Read the Page indexing report before you panic about it. Hit Google’s Core Web Vitals thresholds. Merge copy-paste city pages. Trim WordPress plugins. Then check that your firewall and robots.txt aren’t quietly blocking the AI search crawlers you actually want.
MSPs are careful people. That’s the job. Lock down the firewall, restrict the bots, block anything that looks automated.
Great instincts for a client network. Terrible ones for a marketing website that needs Google, Bing, and ChatGPT to read it.
We run into this, a site’s own security settings blocking the crawlers it needs. It’s invisible until someone checks. The rest of this checklist covers the other things that quietly keep a perfectly good MSP site out of search results, in the order I’d check them if I were sitting next to your web person.
What Is Technical SEO?
Technical SEO is the work that lets search engines and AI tools find, crawl, render, and index your site, and load it quickly for visitors. It covers indexing, page speed, mobile rendering, redirects, duplicate pages, crawler access, and structured data, and it sits underneath every piece of content you publish.
Content earns rankings. Technical SEO makes it eligible. Skip it and you can publish great service pages, careful case studies, and a year of blog posts that Google never shows anyone, because it either can’t reach them or doesn’t trust what it finds.
Start in Search Console
Open the Page indexing report in Google Search Console. It shows which pages Google indexed and why the rest weren’t. Not every excluded page is a problem, so read the reason before you fix anything.
Owners panic at that report. Don’t. Google itself says you shouldn’t expect all URLs on your site to be indexed, only the canonical pages. Tag archives, login pages, and duplicate URLs belong in the excluded pile.
The status worth reading closely is crawled, currently not indexed. Google describes it as a page that was crawled but not indexed, which may or may not be indexed in the future, with no need to resubmit it. When a real service page or blog post sits there, look at two things. Does anything else on your site link to it? And does it say something your other pages don’t? We’ve seen new posts sit in that status when nothing on the site linked to them, which is the cheapest problem on this whole checklist to fix, since all it takes is a few honest links from related pages.
- Open Indexing, then Pages, and sort by reason
- Check every service page and money page is indexed
- For crawled, currently not indexed pages, add internal links and sharpen what makes the page different
- Ignore excluded pages that shouldn’t be indexed anyway
Core Web Vitals
Hit Google’s three thresholds. Largest Contentful Paint within 2.5 seconds, Interaction to Next Paint under 200 milliseconds, and Cumulative Layout Shift under 0.1, measured on real visitors at the 75th percentile.
| Metric | What it measures | Good |
|---|---|---|
| LCP | How fast the main content appears | 2.5 seconds or less |
| INP | How quickly the page responds to a click or tap | Under 200 milliseconds |
| CLS | How much the layout jumps while loading | Under 0.1 |
Those numbers come straight from Google’s Core Web Vitals documentation. Still see First Input Delay on a checklist? It’s out of date. INP replaced FID on March 12, 2024.
Keep perspective, though. Google says there’s no single page experience signal, and good Core Web Vitals don’t guarantee top rankings. A PageSpeed score of 58 is worth fixing. It’s not why you’re losing to the MSP down the street.
WordPress sites have work to do here. The HTTP Archive’s 2025 Web Almanac found that WordPress had among the lowest Core Web Vitals pass rates of the major platforms, at 45%, while it powers roughly 64% of sites built on a content management system. Across the whole web, only 48% of mobile sites passed all three metrics, so if yours doesn’t, you have plenty of company, and fixing it puts you ahead of roughly half the sites competing for the same searches.
Crawling and Indexing Basics
Make sure Google sees your mobile site, your redirects are permanent where they should be, robots.txt isn’t being used to hide pages, and your sitemap is clean. These are boring. They still break all the time.
- Mobile first. Google indexes the mobile version of a site’s content, so anything missing on mobile is missing, period.
- HTTPS everywhere, with no mixed http assets
- Permanent 301 redirects for moved pages. Google treats the target of a 301 or 308 as canonical, while a 302 or 307 tells it the move is temporary.
- robots.txt isn’t a privacy tool. Google says it isn’t a mechanism for keeping a web page out of Google, so use noindex or a password for staging copies and client portals.
- A sitemap, though Google notes a site with about 500 pages or fewer that’s well linked internally may not strictly need one. Submit it anyway. It’s free.
That fourth item matters for MSPs. Remote support download pages, client login portals, and old staging copies of the site turn up in indexing reports constantly, and every one of them is a page you’d never want a prospect to land on from a Google search. Noindex them. Don’t just block them.
Duplicate Pages and City Templates
Pick one canonical URL for each page, and merge city pages where only the city name changes. Google’s spam policies describe exactly that pattern as doorway abuse.
You’ve seen the pattern. Managed IT services in Irvine, managed IT services in Tustin, managed IT services in Costa Mesa, and a dozen more just like them, each one built from the same paragraphs with a new city name swapped in. Google’s spam policies list having multiple pages targeted at specific regions or cities that funnel users to one page as a doorway example. Nearly word for word.
Either make each location page genuinely local, with the team, the clients, and the details of that market, or merge them into one service-area page. The first option is covered in our local SEO guide for multi-location MSPs.
For true duplicates, like the same page at two URLs, use a redirect or a canonical tag. Google calls redirects and rel=canonical strong signals and sitemap inclusion a weak one, and it says not to use robots.txt for canonicalization.
WordPress Plugins and Caching
Audit every plugin, delete the ones you don’t use, and run page caching. Plugin bloat and heavy widgets are a common cause of slow WordPress sites and poor interaction scores.
WordPress’s own performance handbook says the number of plugins and their performance will have a huge impact on your site’s performance, and it tells site owners to deactivate and delete unnecessary ones. Deactivate isn’t enough. Delete.
- List every active plugin and what it does. If nobody knows, test turning it off on staging.
- Page caching through your host or a caching plugin
- Images compressed and served in WebP, sized to the space they actually fill on the page rather than uploaded straight off a phone or a stock photo site at full resolution
- Chat, review, and booking widgets. Measure them before you blame them, but measure them, since third-party scripts are a frequent culprit when INP is poor.
- Page builders that ship menus built only in JavaScript
AI Crawlers and robots.txt
Decide on purpose which AI crawlers you allow. Search crawlers like OAI-SearchBot and Claude-SearchBot put your site in AI answers, while training crawlers like GPTBot and ClaudeBot only gather training data. Blocking the wrong one hides you from AI search.
That distinction matters. OpenAI says sites that opt out of OAI-SearchBot won’t be shown in ChatGPT search answers, while GPTBot is the one used for training. Anthropic says ClaudeBot gathers training data and that blocking Claude-SearchBot or Claude-User may reduce your site’s visibility. And Google says Google-Extended doesn’t affect inclusion in Google Search or act as a ranking signal.
| Crawler | Company | Purpose | Block it? |
|---|---|---|---|
| OAI-SearchBot | OpenAI | ChatGPT search results | No, if you want to appear in ChatGPT |
| GPTBot | OpenAI | Model training | Your call |
| Claude-SearchBot | Anthropic | Claude search results | No, if you want to appear in Claude |
| ClaudeBot | Anthropic | Model training | Your call |
| PerplexityBot | Perplexity | Perplexity search results | No, if you want to appear in Perplexity |
| Google-Extended | Gemini training, not Search | Your call. It won’t affect Search. |
Check the firewall, not just robots.txt. Security-minded MSPs frequently run bot protection that blocks these crawlers without anyone ever deciding to, and one sign is an AI tool describing your company from an old directory listing instead of your own site. Ask your host or CDN for the logs.
JavaScript is the other trap. Vercel’s research on AI crawler traffic found that none of the major AI crawlers currently render JavaScript. If your service descriptions only appear after a script runs, AI tools never see them. For a structured way to point AI tools at your best pages, see how to build an llms.txt file for your MSP.
Schema Basics
Add JSON-LD structured data for your organization, local business details, and articles, and keep it matched to what’s visible on the page. You don’t need special schema to appear in Google’s AI features.
Google is plain about this. A page needs to be indexed and eligible to be shown in Google Search with a snippet, and there’s no special structured data required. Schema still helps search engines understand who you are, which is why our guide to schema markup for MSP websites covers the types worth adding.
When to Run This
Run the full checklist once a quarter, and run the Search Console and crawler checks after any redesign, plugin change, host move, or firewall update. That’s when sites break.
Redesigns are the big one. New theme, new URLs, old redirects forgotten, a staging robots.txt accidentally pushed live. If your traffic fell off after a rebuild, start there. And if your rankings look fine but AI tools still never mention you, the problem may not be technical at all, which is what we cover in why MSP SEO agencies can’t get you into AI search.
C4 Solutions is a growth partner for MSPs and technology companies, based in Irvine, California. We run this checklist before any content work, because there’s no point writing pages Google can’t index. Your web person can run every item here without us. If you’d rather have a second set of eyes, book a search visibility call.
Technical SEO Questions From MSP Owners
Search Console shows dozens of pages as crawled, currently not indexed. Is my site broken?
Probably not. Google says not every URL should be indexed.
Check whether any service pages or important posts are in that list. If they are, add internal links to them and make sure they say something your other pages don’t.
My PageSpeed score is 58. Is that hurting my rankings?
Maybe a little.
Look at the real-user Core Web Vitals data instead of the lab score, fix what fails, and don’t expect speed alone to move you past a competitor with better content.
Should I block ChatGPT and other AI bots?
Block training bots if you want, but allow the search bots if you want to show up in AI answers.
OAI-SearchBot, Claude-SearchBot, and PerplexityBot are the ones that put your site in front of buyers asking AI tools for recommendations. GPTBot and ClaudeBot are for training. Treat them as separate decisions, and check your firewall as well as robots.txt, since bot protection can block them without anyone noticing.
Do I need IndexNow if Google doesn’t use it?
Yes, because Bing does, and Bing feeds Microsoft Copilot.
It’s usually a single setting in your SEO plugin.
How do I know if I have plugin bloat?
Slow pages are the first sign. So are plugins nobody on your team can explain, and one badly built plugin can do more damage than ten good ones.
Delete what’s unused. Then measure the rest.
Do I need schema to show up in Google’s AI answers?
No special schema is required, according to Google. The page just needs to be indexed and eligible for a snippet.
Schema still helps search engines understand your business, especially your name, location, services, and the profiles that confirm you’re the same company everywhere, so add it for clarity rather than as a shortcut.
Find out what’s quietly hiding your site.
Book a search visibility call and we’ll run the checks in this list against your site and tell you which fixes matter first.
Book a Search Visibility Call