Most SEO audits end the way most stack audits do, as a long document nobody acts on. A website SEO audit earns its time only if it produces a short, ordered list of fixes with a name next to each one.
Work through it in five passes: crawlability, on-page basics, technical health, content and intent, then AI visibility. The order matters. A title tag is irrelevant on a page Google can’t reach, and a fast page that answers the wrong question still won’t rank. For a small site, set aside an afternoon.
Pass 1: Can Search Engines Reach Your Pages?#
If crawling is broken, nothing further down the list counts. A well-optimized page that can’t be crawled is invisible.
Check robots.txt
Open yourcompany.com/robots.txt and read every Disallow: rule. A line left over from a staging site, blocking a whole folder or the entire site, is one of the most common ways a site hides itself by accident.
Check your sitemap
Open yourcompany.com/sitemap.xml. It should exist, parse as valid XML, list your real pages and leave out dead or redirected ones. Your robots.txt should point to it.
Confirm pages are server-rendered
Use view source, not the element inspector, on your homepage and one product page. Your headline and body copy should be there in the raw HTML. An empty <div> and a JavaScript bundle mean your content may depend on rendering that search engines handle inconsistently.
Check for real links
Menus built from <button> elements with JavaScript click handlers, instead of <a href> links, give a crawler nothing to follow. The site works for a visitor with a mouse and is a dead end for a crawler.
Look at Search Console coverage
In Google Search Console, open Pages. It lists what Google has indexed, what it has excluded and why. No other report answers “is my site being crawled properly” as directly.
Check for redirect chains
A URL that redirects to another URL that redirects again slows crawling and dilutes signal. Each redirect should be a single hop, straight to the final page.
Pass 2: On-Page Fundamentals#
Now the pages themselves. Go through each important one:
Title tag
Present, unique, under about 60 characters, with the target keyword in it. Look out for doubled brand names, since many CMS templates append the site name to a title that already ends with it.
Meta description
Present, unique, under about 155 characters. It doesn’t move rankings directly, but it decides whether people click, and a description cut off mid-sentence loses some of them.
Exactly one H1
Matching what the page is about. A page with no H1 has a problem, and so does a page with three.
Logical heading hierarchy
H2s under the H1, H3s under H2s. If a level was skipped because someone wanted smaller text, change the CSS and keep the structure.
Canonical tag
Present and pointing at the right URL. A wrong canonical can drop a page from the index without any warning.
Image alt text
Descriptive for images that carry meaning, empty (alt="") for decorative ones. The empty attribute is the one that gets forgotten, and leaving it out entirely is not the same thing.
One page per keyword
When three pages target the same term, they compete with each other. Choose one and point the other two at it with internal links.
Pass 3: Technical Health#
Core Web Vitals
Run PageSpeed Insights on your most important pages, then open Search Console’s Core Web Vitals report for field data from real users, which is more reliable than lab tests. The three metrics are LCP (loading), INP (interactivity) and CLS (visual stability). Google’s Core Web Vitals guidance recommends an LCP within 2.5 seconds, an INP under 200 milliseconds and a CLS under 0.1.
Mobile rendering
Google uses mobile-first indexing, crawling sites mainly with its mobile crawler. Confirm the viewport meta tag is there, then use the pages on a phone: open the menu, fill in the form, scroll the pricing table. A page that loads can still be unusable.
HTTPS everywhere
No mixed content. Every image, script and stylesheet on an HTTPS page should load over HTTPS too.
Font loading
Fonts can block rendering. Count the families and weights you load. It is common to find a typeface from the old brand still downloading on every page, and removing fonts nobody uses is an easy LCP win.
Structured data
Check for schema markup and validate it in Google’s Rich Results Test. At minimum: Organization on the homepage, Article on blog posts, FAQPage where a page has an FAQ section. Since August 2023 Google shows FAQ rich results mainly for well-known government and health sites. Treat FAQPage as an accurate description of content you already have, and don’t count on a rich result from it.
Broken links
Internal 404s waste crawl budget and annoy visitors. Broken external links make a page look abandoned.
Pass 4: Content and Intent#
Technical audits tend to skip this pass, and it is often where the problem sits.
Does each page match search intent?
Search your target keyword and look at what ranks. If the top ten results are comparison articles and your page is a product page, it answers a different question from the one being asked. Better writing won’t close that gap.
Is the content substantive?
Compare depth with what ranks. A thin page rarely beats competitors who have covered the topic properly.
Is anything cannibalizing?
Search site:yourcompany.com [keyword]. Two or more pages competing for the same term split your own signal.
Are there orphan pages?
A page with no internal links pointing at it is hard to discover and looks unimportant. Every page should be reachable from at least one other.
Is internal anchor text descriptive?
“Learn more” passes no signal. “Cold email follow-up sequence” does.
Is anything stale?
A page still quoting figures from years ago, or describing a product you retired, erodes trust. Update it or take it down.
Pass 5: AI Visibility (GEO)#
This pass is newer. Some buyer research now happens inside AI answer engines instead of on a results page, and an AI visibility audit, sometimes called GEO (generative engine optimization), checks whether those engines can find, understand and cite you.
The foundations are the ones you have just checked. Google’s guidance on AI features says there are no additional requirements to appear in AI Overviews or AI Mode: a page needs to be indexed and eligible to show in Search with a snippet. Passes 1 to 4 cover most of it.
Ask the question directly
Put your target queries to the AI answer engines your buyers use, including Google’s AI Overviews, and write down who gets cited: you, a competitor or nobody.
Check AI crawler access
Read robots.txt for rules that name AI crawlers. Blocking some of them is a legitimate choice, as long as someone made it deliberately. Google’s Google-Extended token, for example, controls whether content is used for Gemini training and grounding, and Google states that it does not affect inclusion in Search.
Check whether you’re citable
Answer engines favor content that states things plainly, with structure they can parse: clear headings, a direct answer near the top of each section, specific facts in place of vague claims.
Check your entity consistency
Company name, address and legal entity should match exactly across your site, your schema markup and external listings. When they differ, search engines and AI systems have a harder time treating you as one company.
Fixing: What Order#
Order the list before anyone touches the site.
Anything that blocks indexing goes first. A stray robots.txt rule or a broken canonical outranks every other finding, and the fix is often a single line.
Broken things come next: 404s, redirect chains, missing titles. Then your highest-traffic pages, because improvements pay off fastest where visitors already arrive. Intent mismatches follow. They need rewriting rather than tweaking, which makes them slower, yet they are often what holds a page back. Everything else waits its turn.
Give every fix an owner and a date. An item with no name beside it usually stays on the list until the next audit finds it again. Keep the list short enough that each item can be assigned, and move the rest to a backlog you review at the re-audit.
Then put the re-audit in the calendar. Sites drift as people publish pages and swap templates. Quarterly suits most sites, and monthly makes sense if you publish often.
A Note on Tooling#
Every check above can be done by hand with Search Console, PageSpeed Insights, view-source and a spreadsheet. For a ten-page site, that is enough.
It stops being enough once you audit regularly, across more pages than you want to click through, and the fix list has to reach people who won’t read raw output. That is when automating the audit pays off.
An audit also has a use outside your own site. A clear finding on a prospect’s website, such as a homepage that takes several seconds to load on a phone, is a specific, sourced reason to write to them, and that is the heart of personalized cold email. Search is only one way buyers find you. The other is reaching them directly, a balance covered in inbound vs outbound.
An audit like this strengthens the inbound side. Rhenyx works on the outbound side: it reads your website, works out what you sell and who buys it, and drafts your target market in about two minutes, which is also a quick test of whether your pages say clearly what you do and who it is for. See how targeting works. Rhenyx is the outreach platform for B2B teams: you approve the plan, and it runs outbound from your website to a booked meeting. See How the Platform Works