Crawl collection and analysis
Analyze Screaming Frog exports or collect pages with the native crawler. Turn the supported evidence into findings and a prioritized backlog.
Audit findings and prioritized tasks, with unavailable checks listed.
Local-first technical SEO audit automation
Collect the evidence, find technical SEO issues and hand over a report your team can work from. SEOHEAD runs locally through Python, CLI and MCP, with the source and the limits of each check visible.
Open source · MIT-licensed Python code · No hosted account required
Open the report produced by SEOHEAD on 9 September 2026. These are previews of its actual Excel sheets, with columns fitted for readability. Select an image to inspect it at full size.
See the number of URLs, severity of findings and checks that were unavailable. This run found no critical issues in the checks it could evaluate.
The Findings sheet records severity, source, affected URL and recommendation. Automated thresholds and template-wide notices need context before implementation.
The Pages sheet preserves per-URL measurements. Use it to investigate an individual finding and keep the original crawl evidence available to the team.
An issue, a check and a task are different things. One check can find several issues; related findings become a single task for the team.
seohead.tech, 9 September 2026, before this page refresh. A native HTML crawl finished within a 400-URL limit, respecting robots.txt at one URL per second. The workbook contains automated flags for specialist review.
354 HTML pages, including 350 indexable pages.
36 warnings and 1,298 notices. Repeated template flags need review.
A separate JSON and Markdown backlog to inspect and assign.
This snapshot used the 161-check registry at toolkit commit f6a3222. It evaluated 128 checks; 33 lacked the required evidence. Browser rendering, resource fetches and external provider data were outside this crawl. A score from incomplete coverage is not comparable with a full-evidence run.
Each bar is one topic. The darker the segment, the more serious the finding it produces.
Open the source data for this example
Analyze Screaming Frog exports or collect pages with the native crawler. Turn the supported evidence into findings and a prioritized backlog.
Audit findings and prioritized tasks, with unavailable checks listed.
Parse pages, inspect headers and robots.txt, follow redirects, validate links and hreflang, expand sitemaps and run a bounded site-audit pass over selected URLs.
A seohead.site-audit/1 document ready for analysis or report generation.
Validate Schema.org vocabulary and rich-result readiness, build connected entity graphs, inspect AI crawler access, llms.txt, citability and social previews.
Validation findings and a grounded connected JSON-LD graph proposal.
Profile DNS, RDAP, TLS, hosting, CDN cache behavior, technologies, security headers, mirror variants, regional structures and known backlink donors.
A compact infrastructure profile with contradictions and verification steps.
Detect near-duplicates, compare raw and rendered DOM, analyze bot access logs, download media and optimize raster/SVG assets with safe file defaults.
Duplicate clusters, render/log evidence and before/after media reports.
Use Wordstat and async Yandex SERP, Arsenkin exact frequency, Yandex Metrika and DataForSEO Google data through one guarded provider layer.
Structured keyword, SERP, counter-setup, traffic and spend records.
Detailed technical and SEO playbooks explain when to call tools, how to read outputs and where specialist review is still required.
Reusable workflow guides shipped with the repository.
SEOHEAD Tools accelerates repeatable evidence collection and report scaffolding. It does not replace business context, implementation review or accountable SEO decisions.
Run repeatable checks and keep every conclusion linked to structured evidence.
Give an agent bounded SEO tools instead of asking it to improvise a crawler.
Share stable artifacts that developers, analysts and stakeholders can inspect.
These examples show the shape of common workflows. Run seohead --help for the current command list and use the command-specific help for all required options.
| Task | CLI | MCP |
|---|---|---|
| Native bounded crawlCrawl without a Screaming Frog licence into an audit or a SQLite artifact. | seohead crawl-site --url … | seo_crawl_site |
| Bounded site evidenceRun selected sitemap-based live and infrastructure checks into one audit document. | seohead site-audit --url … | seo_site_audit |
| Screaming Frog auditEvaluate existing Screaming Frog exports against the 161-check registry. | seohead sf run --exports-dir … | sf_audit_run |
| Before / after diffPer-check diff of two crawls: what appeared, what disappeared, what was actually fixed. | seohead compare-crawls --before … --after … | seo_compare_crawls |
| Page parserMetadata, headings, text, links and JSON-LD. | seohead parse --url … | seo_parse |
| Schema validatorVocabulary, rich-result and graph validation. | seohead schema-check --url … | seo_schema_check |
| Schema graph builderGrounded connected JSON-LD proposal. | seohead schema-build --url … | seo_schema_build |
| Infrastructure profileRDAP, DNS, hosting, TLS and risk flags. | seohead domain-profile --domain … | seo_domain_profile |
| Render comparisonRaw HTML versus rendered DOM and lab timings. | seohead render-check --url … | seo_render_check |
| Log analysisSearch/AI bot crawl behavior from access logs. | seohead log-analyze --path … | seo_log_analyze |
| Image optimizerSafe compression, conversion and resizing. | seohead images-optimize --files image.png --output-dir optimized | seo_images_optimize |
| Keyword expansionYandex Wordstat demand expansion. | seohead keywords-expand --phrase … | seo_keywords_expand |
| Metrika reportFirst-party behavior with setup context. | seohead metrika-report --counter 123 --metrics ym:s:visits | seo_metrika_report |
| Report builderXLSX, DOCX, CSV, Markdown or JSON from the same audit document. | seohead report-build --audit … | seo_report_build |
The package is installed from the public repository. One command resolves the selected Python extras.
git clone https://github.com/PavloSEO/seotools.git
cd seotools
python -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[all]"
seohead --helpConnect the local stdio MCP server to your client. It uses the same tool handlers as the CLI and opens no inbound HTTP port.
{
"mcpServers": {
"seohead": {
"command": "/absolute/path/.venv/bin/seohead",
"args": ["mcp"]
}
}
}Use the absolute path to your virtual environment, restart the MCP client and inspect the available tools.
Try the synthetic Screaming Frog exports included in the repository. The command writes findings, coverage details and a prioritized task list without crawling a website.
seohead sf run \
--exports-dir examples/exports \
--out ./report \
--tasksThe fixture contains no client data. Inspect the generated report for available evidence and named skipped checks.
Install, inspect and adapt the Python toolkit.
Available commands, arguments and side effects generated from the tool registry.
Choose a specialist task and follow its tool chain to a usable artifact.
The toolkit collects and organizes evidence. A specialist still decides which findings matter, checks recommendations against the business context and verifies the implementation. Crawl scope, network conditions and available inputs affect the result.
The source is public. Report reproducible bugs or propose focused capabilities on GitHub, or contact SEOHEAD by email for project and collaboration questions.