technical-audit-report
Skill0 starsChanged 39 days agoMITView on GitHub
Full technical SEO audit of any website delivered as a client-ready Excel workbook — crawls every page, checks every link and image, redirects (www/apex, http→https, 301 vs 307), canonicals, sitemap and robots.txt, titles and meta, headings, Open Graph, JSON-LD, security headers, llms.txt, soft-404s and access for Googlebot, Bingbot and AI crawlers (GPTBot, ClaudeBot, PerplexityBot), plus Lighthouse performance, accessibility, best-practices and SEO for every page on mobile and desktop. Runs locally with Python and Chrome; no API keys. Use when the user asks for a technical audit report, an SEO audit spreadsheet or Excel file, or a full audit to hand to a client.
In this repository36 other files it gives its agents.
- ai-citation-outreachSkill
- ai-crawler-analyticsSkill
- ai-visibility-trackerSkill
- backlink-outreachSkill
- backlinksSkill
- brand-voice-setupSkill
- bulk-content-runSkill
- cannibalization-checkSkill
- comparison-pagesSkill
- competitor-analysisSkill
- content-calendarSkill
- content-refreshSkill
- domain-authority-checkSkill
- find-questionsSkill
- keyword-researchSkill
- link-building-playbooksSkill
- link-reclamationSkill
- llms-txt-generatorSkill
- page-seo-auditSkill
- publish-to-cmsSkill
- seo-auditSkill
- seo-master-planSkill
- seo-reportSkill
- seosortedSkill
- serp-analysisSkill
- site-settingsSkill
- statistics-pageSkill
- technical-seo-checkSkill
- topic-clustersSkill
- update-and-republishSkill
- write-articleSkill
- youtube-channel-auditSkill
- youtube-citation-strategySkill
- youtube-creator-outreachSkill
- youtube-keyword-researchSkill
- youtube-outliersSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 24
Ask only if the domain is missing.
- Distinctive: line 50
If a score looks implausible, re-run that URL on its own.
- Very specific: line 66
Add search context from get_search_traffic (Search Console clicks and queries) to the summary when you present the report.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Technical audit report (Excel)
Produces one .xlsx with these tabs: Summary, Issues (prioritised, each with the fix, effort and impact), Pages, Performance, Lighthouse opportunities, Links, Images, Redirects, Crawlability & AI, Security headers, and Structured data.
For a tracked, in-app audit with fix steps, use seo-audit. For a quick check without a file, use technical-seo-check.
Requirements
- Python 3.9+ with
requests,beautifulsoup4andopenpyxl(pip3 install requests beautifulsoup4 openpyxl). - Google Chrome or Chromium, plus Node.js/npm. Lighthouse installs itself into the working folder on first run.
Inputs
- Domain (required), e.g.
example.com. - Display name for the report title (optional; defaults to the domain).
- Page cap (optional, default 300).
Ask only if the domain is missing.
Steps
The scripts live in this skill's scripts folder; call them by absolute path. Use a fresh, empty working folder ($WORK) outside the skill.
- Crawl (crawl.py), which takes 1–3 minutes on small sites:
It detects which of apex andpython3 -I <skill>/scripts/crawl.py <domain> $WORK/crawl.json [max_pages]wwwactually serves the site, follows internal links and the sitemap, and checks every link and image. It also tests redirect chains, robots.txt, sitemap, llms.txt and security.txt, and runs a soft-404 test. Finally it fetches the homepage as Googlebot, Bingbot, GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot, Google-Extended and CCBot. - Lighthouse (lighthouse.py), which takes about 1.5 minutes per page:
Tests run one at a time, and the mobile score is the median of 3 runs (set withpython3 -I <skill>/scripts/lighthouse.py $WORK [max_pages]MOBILE_RUNS). Runs that fail to load are excluded. Never run tests in parallel: CPU contention drags mobile scores 20–40 points too low. A single mobile run can also swing 20 points, which is why the median is used. - Build the workbook (build_report.py):
python3 -I <skill>/scripts/build_report.py $WORK "$HOME/Desktop/<Name> - Technical SEO Audit - <YYYY-MM-DD>.xlsx" "<Name>" - Sanity-check before handing over. Go through the Issues tab and confirm each finding is real:
- LinkedIn returns 999 to bots, and the builder already ignores it. Treat other 403/429 responses from big platforms the same way, as bot blocking rather than broken links.
- Duplicates across different paths are real issues. The same path reached via
wwwand apex is not; it's the canonical/redirect issue. - If a score looks implausible, re-run that URL on its own.
- Report back with the file path, the issue counts by priority, the top 3–5 fixes in plain language, and anything you couldn't test.
What it checks
- Canonicals and redirects: canonicals compared with the host that actually serves the site; www/apex and http→https redirects, including permanent (301/308) vs temporary (302/307).
- Sitemap and robots.txt: sitemap entries that redirect or are missing, and robots.txt directives.
- On-page: titles and meta descriptions (missing, duplicate, length), H1s, thin content,
lang, viewport. - Sharing and schema: Open Graph and Twitter cards; JSON-LD (Organization, BreadcrumbList, invalid JSON).
- Links and images: broken internal and outbound links, internal links that go through a redirect, image alt text and dimensions.
- Security and crawl access: security headers, mixed content, llms.txt, AI-crawler access, soft-404, security.txt.
- Lighthouse for every page: performance, accessibility, best practices and SEO, with Core Web Vitals and the failing audits.
With SEOsorted connected
Add search context from get_search_traffic (Search Console clicks and queries) to the summary when you present the report. Offer seo-audit to track the fixes.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

