Metadata-Version: 2.4
Name: seo-toolkit
Version: 0.1.0
Summary: SEO toolkit — keyword research, SERP analysis, on-page audit, content optimization, and PyPI package SEO
Author-email: ghost <bill.jtrammell@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/bill-jtrammell/seo-toolkit
Project-URL: Repository, https://github.com/bill-jtrammell/seo-toolkit
Keywords: seo,keyword-research,serp,on-page,content-optimization,pypi,technical-seo
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.28
Requires-Dist: beautifulsoup4>=4.12
Requires-Dist: lxml>=4.9
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"

# seo-toolkit

SEO toolkit for Python — keyword research, SERP analysis, on-page audits, content optimization, and PyPI package SEO. No API keys required.

## Install

```bash
pip install seo-toolkit
```

## Quick Start

```python
from seo_toolkit import KeywordResearch, SERPAnalyzer, OnPageAudit, ContentOptimizer, TechnicalSEO, PyPIOptimizer

# Keyword research
kw = KeywordResearch()
results = kw.full_research("python web scraping")
print(f"Found {results['total_keywords']} keywords in {results['cluster_count']} clusters")

# SERP analysis
serp = SERPAnalyzer()
analysis = serp.analyze_competition("best python web scraping libraries")
print(f"Top domains: {[d['domain'] for d in analysis['top_domains']]}")

# On-page audit
audit = OnPageAudit()
result = audit.audit("https://example.com")
print(f"Score: {result.overall_score}/100")
for issue in result.issues:
    print(f"  - {issue}")

# Content optimization
opt = ContentOptimizer()
analysis = opt.analyze("Your article text here...", target_keywords=["python", "scraping"])
print(f"Readability: {analysis.reading_level}")
print(f"Keyword density: {analysis.keyword_density}")

# Technical SEO
tech = TechnicalSEO()
report = tech.audit("https://example.com")
print(f"Load time: {report.load_time_ms}ms, HTTPS: {report.is_https}")

# PyPI package SEO
pypi = PyPIOptimizer()
audit = pypi.audit_package(
    name="my-package",
    description="A Python tool that does cool stuff",
    keywords=["python", "tool", "cli"],
    readme=open("README.md").read(),
)
print(f"Package score: {audit.overall_score}/100")
```

## Modules

### KeywordResearch

- Google and Bing autocomplete scraping
- Alphabet soup expansion (a-z suffix mining)
- Question mining (how/what/why/when/where)
- Keyword clustering with similarity threshold
- Intent classification (informational/commercial/transactional/navigational)
- Long-tail and buying intent filters
- Competition estimation

### SERPAnalyzer

- Google SERP scraping (featured snippets, PAA, related searches)
- Competitor domain analysis
- Content gap detection across multiple queries
- Ranking position checker
- SERP feature detection

### OnPageAudit

- Title tag, meta description, heading structure
- Open Graph and Twitter Card tags
- Canonical URL validation
- JSON-LD structured data detection
- Image alt text audit
- Internal/external link counting
- Page speed and size metrics
- Automated scoring and recommendations

### ContentOptimizer

- Flesch reading ease score
- Keyword density analysis
- Bigram and trigram extraction
- Title and meta description scoring
- Content comparison (A vs B)
- Actionable optimization suggestions

### TechnicalSEO

- HTTPS, HSTS, CSP header checks
- robots.txt parsing and validation
- Sitemap discovery and analysis
- Mobile viewport detection
- Redirect chain tracking
- Page size and load time metrics

### PyPIOptimizer

- Package name scoring (length, readability, prefixes)
- Description analysis (length, keywords, action words)
- README scoring (install instructions, examples, badges, donate links)
- Competitor package lookup
- Name suggestion engine

## Requirements

- Python 3.10+
- requests, beautifulsoup4, lxml

## License

MIT

## Donate

If this saved you hours of SEO work:
- **PayPal**: bill.jtrammell@gmail.com
- **Cash App**: $slauter99
