SEO Technical Audit (MVP)
Project Info
- Site / Domain: __________________________
- Date: ________________
- Auditor: ________________
1. Crawlability
1.1 robots.txt
- There is a
robots.txtfile - It is accessible at
/robots.txt - It does NOT block important public pages
- It DOES block private/admin areas if needed
Notes:
- Example allowed:
Disallow: /admin - Red flag:
Disallow: /
1.2 XML Sitemap
- There is an XML sitemap
- It is accessible (e.g.
/sitemap.xml) - URLs in the sitemap are valid (200 OK, not 404)
- URLs in the sitemap use the correct domain (no staging/dev URLs)
- Sitemap seems up to date (no obviously old/removed pages)
Notes / sitemap URL(s):
1.3 HTTP Status (Key Pages)
Check homepage, main category/service pages, contact page.
- Key public pages return
200 OK - No redirect loops
- No accidental 302/temporary redirects where 301 should be used
Pages checked:
- Home: ______ Status: ______
- Page 2: ______ Status: ______
- Page 3: ______ Status: ______
Comments:
2. Indexability
2.1 Meta Robots
For important public pages:
- No unexpected
noindex - No unexpected
nofollow
For private pages (cart, checkout, login, account, admin):
- These pages ARE
noindex
Comments:
2.2 Canonical Tags
-
<link rel="canonical" ...>exists on key pages - Canonical URL points to the correct public URL
- Canonical uses the correct protocol (
https://, nothttp://) - Canonical is not pointing to staging / test domains
Example canonical from homepage:
<link rel="canonical" href="__________________________________" />
Issues found:
3. On-Page Basics
Pick a few representative pages (Home, 1–2 category/service pages, 1 detail page/product page).
3.1 <title> Tag
- Each key page has a
<title> -
<title>is unique per page -
<title>describes the page content -
<title>is not just "Home", "Untitled", etc.
Notes / examples:
- Page: ____________________ Title: ______________________________________________________
3.2 Meta Description
- Each key page has a
<meta name="description" ...> - Description is human-readable and relevant
- Description is not copy/pasted across many pages
Notes / examples:
- Page: ____________________ Description: ________________________________________________
3.3 Heading Structure (H1)
- There is a visible
<h1>on each key page - The
<h1>matches what the page is about - There is not a second, conflicting
<h1>on the same page
Example <h1> from homepage:
<h1>__________________________________________________________</h1>
Comments:
4. Technical Quality
4.1 HTTPS / Security
- Site loads using
https:// -
http://redirects tohttps://with a 301 (permanent) redirect - No mixed-content warnings (no HTTP images/scripts on HTTPS pages)
Notes:
4.2 Mobile / Responsive
- Page includes a viewport meta tag
<meta name="viewport" content="width=device-width, initial-scale=1"> - Layout is usable on mobile (text readable, menu accessible)
Device(s) tested:
Findings:
4.3 Page Weight / Speed (Quick Check)
- Page is not extremely heavy (no massive autoplay videos / 10MB hero images)
- There aren’t excessive blocking scripts before main content
- At least one Lighthouse / PageSpeed test was run and saved
Link / location of performance report(s):
Main performance concern (if any):
5. Content & Internal Linking
5.1 Human-Readable Content
- Key pages contain real text that explains the service/product
- Content is not only images / banners with text baked into the image
- Content makes it clear what the company does, and where / for whom
Pages reviewed:
- Home
- Key service / category page
- Product or offering detail page
Risk level:
- OK
- Needs content work
- Critical (basically no text)
Comments:
5.2 Internal Links / Navigation
- Main navigation works and points to important pages
- Footer links work
- No "orphan" important pages (pages that exist but nothing links to them)
Orphan / hard-to-find pages discovered:
6. Business Signals (If Local / Real-World Business)
Skip if not relevant.
6.1 Contact / Trust
- There's a visible contact method (phone, email, form)
- Business address or service area is shown (if location matters)
- Company name is consistent across pages
Inconsistencies found: