← ジャーナルに戻る
· 5 分で読了

Free SEO Audit: How to Find and Fix Technical Issues (Without Screaming Frog)

A complete guide to running a technical SEO audit for free. Learn what to check, why it matters, and how to automate the process for every deploy.

Screaming Frog charges £149/year for its SEO Spider. It’s a great tool, but for most indie sites, you can get the same insights for free.

A technical SEO audit catches the silent issues that prevent your pages from ranking: broken links, missing canonicals, orphan pages, duplicate content, missing H1s. These aren’t glamorous fixes, but each one is a barrier between you and organic traffic.

What a Technical SEO Audit Covers

Every broken link on your site is a dead end. It wastes Googlebot’s crawl budget and creates a poor user experience.

What to check: Every internal link (<a href>) resolves to a 200 status. No 404s, no 500s.

Common causes:

  • Renamed pages without setting up redirects
  • Case-sensitivity issues on case-sensitive servers
  • Trailing slash mismatches (/page vs /page/)
  • Deleted pages still linked from old content

2. Missing Canonical Tags

Every indexable page needs a canonical tag:

<link rel="canonical" href="https://example.com/page/" />

Without it, Google may index duplicate versions of the same page (with and without trailing slashes, query parameters, etc.), splitting your ranking signals.

What to check: Every page has exactly one canonical tag pointing to the correct URL.

3. Missing or Duplicate H1 Tags

Every page should have exactly one <h1> tag containing the primary keyword. Missing H1s confuse Google about the page’s topic. Multiple H1s dilute the signal.

What to check: Exactly one H1 per page, containing the target keyword.

4. Missing Meta Descriptions

Meta descriptions don’t affect rankings directly, but they affect click-through rate from search results. Pages without descriptions get auto-generated snippets that are often poor.

What to check: Every page has a unique meta description (120-160 characters).

5. Orphan Pages

An orphan page is in your sitemap but has no internal links pointing to it. Googlebot may never discover it.

What to check: Every page in the sitemap has at least one internal link from another page.

6. Sitemap Issues

Your sitemap should:

  • Include all indexable URLs
  • Exclude non-indexable URLs (admin, API, noindex pages)
  • Use the correct format (XML sitemap index + child sitemaps)
  • Be referenced in robots.txt

What to check: Sitemap URLs match actual pages. No 404s in sitemap. No pages missing from sitemap.

7. Missing Alt Text on Images

Images without alt attributes:

  • Are invisible to screen readers (accessibility issue)
  • Can’t rank in image search
  • Give Google no context about the image

What to check: Every <img> has a descriptive alt attribute.

8. robots.txt Issues

Your robots.txt should:

  • Allow access to all content pages
  • Block admin/API/noindex pages
  • Not block CSS/JS files (Google needs these to render your page)
  • Reference your sitemap

What to check: No important pages blocked. CSS/JS not blocked.

Running a Free SEO Audit

Method 1: Automated (For Static Sites)

If your site builds to static HTML (Astro, Hugo, Next.js static export), you can audit the build output directly:

python3 -m zens_ink.site_audit --dist dist --sitemap dist/sitemap.xml

This scans:

  • All HTML files in the build directory
  • All links (internal and external)
  • Canonical tags
  • H1 tags
  • Meta descriptions
  • Image alt text
  • Sitemap coverage
  • Orphan pages

Output:

=== SEO Audit Report ===

Pages scanned: 48
Issues found: 7

[CRITICAL] Broken internal links: 2
  - /blog/old-post → 404 (linked from /blog/)
  - /about → 404 (linked from footer)

[WARNING] Missing canonical: 1
  - /tags/seo has no canonical tag

[WARNING] Missing H1: 1
  - /404 page has no H1

[WARNING] Missing meta description: 3
  - /tags/python
  - /tags/github
  - /tags/free

[INFO] Orphan pages (in sitemap, no internal links): 2
  - /blog/untitled-post
  - /legacy/old-page

=== Summary ===
Critical: 2  |  Warnings: 5  |  Info: 2
Fix critical issues immediately. Address warnings before next publish.

Method 2: Manual (For Any Site)

For sites that aren’t static builds, audit manually:

  1. Google Search Console > Coverage: See which pages Google has indexed, which are excluded, and why.
  2. Google Search Console > Performance: See which queries you get impressions for.
  3. Google site:yoursite.com: See total indexed pages. Check for unexpected URLs.
  4. Manual click-through: Click every nav link. Check for 404s.
  5. View page source: Check canonical, H1, meta description on key pages.

Prioritizing Fixes

Not all issues are equal. Fix in this order:

PriorityIssueImpact
P0Broken links (404s)Immediate — wastes crawl budget, bad UX
P0Missing canonicalsImmediate — duplicate content penalty
P1Orphan pagesHigh — pages may not be crawled
P1Missing H1sHigh — Google can’t understand page topic
P2Missing meta descriptionsMedium — affects CTR from search
P2Sitemap issuesMedium — slower discovery of new pages
P3Missing alt textLow — image search only
P3robots.txt tweaksLow — usually fine by default

Automating Audits in CI/CD

The best audit is the one that runs automatically. Add to your deploy script:

#!/bin/bash
# post-build audit
npm run build
python3 -m zens_ink.site_audit --dist dist --sitemap dist/sitemap.xml
if [ $? -ne 0 ]; then
  echo "SEO audit failed. Fix issues before deploying."
  exit 1
fi
npm run deploy

This prevents deploying with broken links or missing tags.

How Often Should You Audit?

  • New site: Audit before first deploy
  • Active site: Audit after every significant content batch (weekly or biweekly)
  • CI/CD: Audit on every deploy
  • Quarterly: Full manual review including content quality, not just technical issues

FAQ

How do I do a free SEO audit?

Use zens_ink.site_audit for static sites, or manually check Google Search Console for crawl errors, view page source for canonical/H1/meta tags, and use site:yoursite.com to check indexed pages. All free.

What is an orphan page?

An orphan page is a page listed in your sitemap but with no internal links pointing to it. Googlebot may not discover it. Fix by adding contextual links from related pages.

How do I find broken links on my site?

Run zens_ink.site_audit --dist dist on your built site. It checks every internal link for 404s. For live sites, use Google Search Console > Coverage to find crawl errors.

What’s the difference between a technical SEO audit and a content audit?

A technical audit checks HTML structure (canonicals, H1s, broken links, sitemaps). A content audit evaluates content quality, keyword targeting, and topical coverage. Both are important — technical first, then content.

How long does an SEO audit take?

For a 50-page static site, the automated audit runs in under 30 seconds. Manual review of the results and fixing issues takes 1-2 hours depending on the number of issues found.


After fixing technical issues, focus on internal linking to maximize your pages’ visibility. For the full content pipeline, see our SEO workflow guide.

Want to run this analysis on your own site?

ZensInk Pro automates this pipeline. One command, from seed keywords to content plan.

Get Pro →