Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
P

python-seo-analyzer

> 编程语言
Open source

An SEO tool that analyzes the structure of a site, crawls the site, count words in the body of the site and warns of any technical SEO issues.

1.5K stars0 likes0 views
WebsiteGitHub

About

An SEO tool that analyzes the structure of a site, crawls the site, count words in the body of the site and warns of any technical SEO issues.

Python SEO and GEO Analyzer

A modern SEO and GEO (Generative AI Engine Optimization or better AI Search Optimization) analysis tool that combines technical optimization and authentic human value. Beyond traditional site crawling and structure analysis, it uses AI to evaluate content's expertise signals, conversational engagement, and cross-platform presence. It helps you maintain strong technical foundations while ensuring your site demonstrates genuine authority and value to real users.

The AI features were heavily influenced by the clickbait-titled SEL article A 13-point roadmap for thriving in the age of AI search.

Note About Python

I've written quite a bit about the speed of Python and how there are very specific use cases where it isn't the best choice. I feel like crawling websites is definitely one of those cases. I wrote this tool in Python around 2010 to solve the very specific need of crawling some small HTML-only websites for startups I was working at. I'm excited to see how much it has grown and how many people are using it. I feel like Python SEO Analyzer is acceptable for most smaller use cases, but if you are looking for something better, I've built a much faster and more comprehensive tool Black SEO Analyzer.

-Seth

Installation

PIP

pip install pyseoanalyzer

Docker

Using the Pre-built Image from Docker Hub

The easiest way to use the Docker image is to pull it directly from Docker Hub.

…

Building the Image Locally

You can also build the Docker image yourself from the source code. Make sure you have Docker installed and running.

…

Command-line Usage

If you run without a sitemap it will start crawling at the homepage.

python-seo-analyzer http://www.domain.com/

Or you can specify the path to a sitmap to seed the urls to scan list.

seoanapython-seo-analyzerlyze http://www.domain.com/ --sitemap path/to/sitemap.xml

HTML output can be generated from the analysis instead of json.

python-seo-analyzer http://www.domain.com/ --output-format html

API

The analyze function returns a dictionary with the results of the crawl.

from pyseoanalyzer import analyze

output = analyze(site, sitemap)

print(output)

In order to analyze heading tags (h1-h6) and other extra additional tags as well, the following options can be passed to the analyze function

from pyseoanalyzer import analyze

output = analyze(site, sitemap, analyze_headings=True, analyze_extra_tags=True)

print(output)

By default, the analyze function analyzes all the existing inner links as well, which might be time consuming. This default behaviour can be changed to analyze only the provided URL by passing the following option to the analyze function

from pyseoanalyzer import analyze

output = analyze(site, sitemap, follow_links=False)

print(output)

Alternatively, you can run the analysis as a script from the seoanalyzer folder.

python -m seoanalyzer https://www.sethserver.com/ -f html > results.html

AI Optimization

The first pass of AI optimization features use Anthropic's claude-3-sonnet-20240229 model to evaluate the content of the site. You will need to have an API key from Anthropic to use this feature. The API key needs to be set as the environment variable ANTHROPIC_API_KEY. I recommend using a .env file to set this variable. Once the API key is set, the AI optimization features can be enabled with the --run-llm-analysis flag.

You can also run the AI optimization pass through OrcaRouter, an OpenAI- and Anthropic-compatible AI gateway. Set the environment variable ORCAROUTER_API_KEY and OrcaRouter is used instead of Anthropic, routing the same analysis through its Anthropic-compatible endpoint. OrcaRouter exposes many models under a vendor/model namespace (e.g. anthropic/claude-sonnet-4.6, openai/gpt-4o); the default model is anthropic/claude-sonnet-4.6, and you can pick another one with the ORCAROUTER_MODEL environment variable.

Notes

If you get requests.exceptions.SSLError at either the command-line or via the python-API, try using:

  • http://www.foo.bar

instead of..

  • https://www.foo.bar

Issues· 22 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Pythonanalyzerpythonpython-3python-seo-analyzer

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言