# tfq0seo - Professional SEO Analysis Toolkit



**tfq0seo** is a comprehensive, open-source SEO analysis and site crawling toolkit that provides professional-grade website auditing capabilities. It's a powerful alternative to commercial tools like Screaming Frog SEO Spider, but fully open-source and extensible.
## 🚀 Features
### Site Crawling
- Full website crawling with configurable depth (1-10 levels)
- Concurrent processing (1-50 simultaneous requests)
- Respects robots.txt and sitemap.xml
- Real-time progress tracking with rich console output
- Configurable delays to avoid overwhelming servers
### SEO Analysis
- **Meta tags analysis**: Title, description, Open Graph, canonical URLs
- **Content analysis**: Readability, keyword density, content length, structure
- **Technical SEO**: Mobile-friendliness, HTTPS, security headers, schema markup
- **Performance metrics**: Load times, Core Web Vitals, resource optimization
- **Link analysis**: Internal/external/broken links, anchor text quality
- **Image optimization**: Alt text, compression, formats, dimensions
### Reporting & Export
- Multiple export formats: JSON, CSV, XLSX, HTML
- Professional reports with insights and recommendations
- Competitive analysis with side-by-side comparisons
- Action plans with priority levels and impact estimates
## Installation
```bash
pip install tfq0seo
```
## 🎯 Quick Start
### Basic Usage
```bash
# Crawl entire website
tfq0seo crawl https://example.com
# Analyze single URL
tfq0seo analyze https://example.com
# Advanced crawl with options
tfq0seo crawl https://example.com --depth 5 --max-pages 1000 --concurrent 20 --format xlsx
# Batch analysis from file
tfq0seo batch urls.txt --format html --output batch_report.html
# Sitemap analysis
tfq0seo sitemap https://example.com/sitemap.xml --analyze
```
### Export Results
```bash
# Export to different formats
tfq0seo export --format csv --output results.csv
tfq0seo export --format xlsx --output report.xlsx
tfq0seo export --format html --output report.html
```
## 🔧 CLI Commands & Options
### `crawl` - Website Crawling
```bash
tfq0seo crawl [URL] [OPTIONS]
```
- `--depth, -d`: Crawl depth (1-10, default: 3)
- `--max-pages, -m`: Maximum pages to crawl (default: 500)
- `--concurrent, -c`: Concurrent requests (1-50, default: 10)
- `--delay`: Delay between requests in seconds (default: 0.5)
- `--format, -f`: Output format (json|csv|xlsx|html, default: json)
- `--output, -o`: Output file path
- `--exclude`: Path patterns to exclude (multiple allowed)
- `--no-robots`: Ignore robots.txt
- `--include-external`: Include external links
- `--user-agent`: Custom user agent
- `--config, -C`: Configuration file (JSON/YAML)
- `--resume`: Resume from previous crawl state
- `--dry-run`: Show what would be crawled without actually crawling
- `--sitemap-only`: Only crawl URLs from sitemap.xml
### `analyze` - Single URL Analysis
```bash
tfq0seo analyze [URL] [OPTIONS]
```
- `--comprehensive, -c`: Run all analysis modules
- `--target-keyword, -k`: Primary keyword for optimization
- `--competitors`: Comma-separated competitor URLs
- `--depth`: Analysis depth (basic|advanced|complete, default: advanced)
- `--format, -f`: Output format (json|csv|xlsx|html, default: json)
- `--output, -o`: Output file path
### `batch` - Batch URL Analysis
```bash
tfq0seo batch [URLS_FILE] [OPTIONS]
```
- `--format, -f`: Output format (json|csv|xlsx|html, default: json)
- `--output, -o`: Output file path
- `--concurrent, -c`: Concurrent analyses (1-20, default: 5)
### `sitemap` - Sitemap Analysis
```bash
tfq0seo sitemap [SITEMAP_URL] [OPTIONS]
```
- `--format, -f`: Output format (json|csv|txt, default: json)
- `--output, -o`: Output file path
- `--analyze`: Analyze URLs from sitemap
### `export` - Export Results
```bash
tfq0seo export [OPTIONS]
```
- `--format, -f`: Output format (json|csv|xlsx|html) **required**
- `--output, -o`: Output file path **required**
- `--input, -i`: Input file (if converting formats)
### Global Options
- `--verbose, -v`: Verbose output
- `--quiet, -q`: Quiet mode (errors only)
- `--version`: Show version information
## 📊 SEO Metrics & Scoring
### Content Guidelines
- **Title Length**: 30-60 characters (optimal)
- **Meta Description**: 120-160 characters
- **Minimum Content**: 300 words
- **Keyword Density**: Maximum 3%
- **Readability**: Flesch score ≥ 60, Gunning Fog ≤ 12
### Technical Requirements
- **Page Load Time**: < 3 seconds
- **Mobile-Friendly**: Responsive design required
- **HTTPS**: SSL certificate required
- **Structured Data**: Valid schema.org markup
## 🔍 Use Cases
### 1. Complete Site Audit
```bash
tfq0seo crawl https://yoursite.com --depth 5 --max-pages 1000 --format html --comprehensive
```
### 2. Competitive Analysis
```bash
tfq0seo analyze https://yoursite.com --competitors "https://competitor1.com,https://competitor2.com" --comprehensive
```
### 3. Batch URL Analysis
```bash
# Create urls.txt with one URL per line
tfq0seo batch urls.txt --format xlsx --output batch_analysis.xlsx
```
### 4. Technical SEO Audit
```bash
tfq0seo analyze https://yoursite.com --depth complete --format html --output technical_audit.html
```
### 5. Sitemap Analysis
```bash
tfq0seo sitemap https://yoursite.com/sitemap.xml --analyze --format html
```
Raw data
{
"_id": null,
"home_page": "https://github.com/tfq0/tfq0seo",
"name": "tfq0seo",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "seo, analysis, optimization, web, content, meta tags, technical seo, reporting, analytics",
"author": "tfq0",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/ba/f2/1534be3a0b6627aa46fe7c7e3e55014d6f9026637c06463d31cfbee5b765/tfq0seo-2.2.0.tar.gz",
"platform": null,
"description": "# tfq0seo - Professional SEO Analysis Toolkit\n\n\n\n\n\n**tfq0seo** is a comprehensive, open-source SEO analysis and site crawling toolkit that provides professional-grade website auditing capabilities. It's a powerful alternative to commercial tools like Screaming Frog SEO Spider, but fully open-source and extensible.\n\n## \ud83d\ude80 Features\n\n### Site Crawling\n- Full website crawling with configurable depth (1-10 levels)\n- Concurrent processing (1-50 simultaneous requests)\n- Respects robots.txt and sitemap.xml\n- Real-time progress tracking with rich console output\n- Configurable delays to avoid overwhelming servers\n\n### SEO Analysis\n- **Meta tags analysis**: Title, description, Open Graph, canonical URLs\n- **Content analysis**: Readability, keyword density, content length, structure\n- **Technical SEO**: Mobile-friendliness, HTTPS, security headers, schema markup\n- **Performance metrics**: Load times, Core Web Vitals, resource optimization\n- **Link analysis**: Internal/external/broken links, anchor text quality\n- **Image optimization**: Alt text, compression, formats, dimensions\n\n### Reporting & Export\n- Multiple export formats: JSON, CSV, XLSX, HTML\n- Professional reports with insights and recommendations\n- Competitive analysis with side-by-side comparisons\n- Action plans with priority levels and impact estimates\n\n## Installation\n\n```bash\npip install tfq0seo\n```\n\n## \ud83c\udfaf Quick Start\n\n### Basic Usage\n\n```bash\n# Crawl entire website\ntfq0seo crawl https://example.com\n\n# Analyze single URL\ntfq0seo analyze https://example.com\n\n# Advanced crawl with options\ntfq0seo crawl https://example.com --depth 5 --max-pages 1000 --concurrent 20 --format xlsx\n\n# Batch analysis from file\ntfq0seo batch urls.txt --format html --output batch_report.html\n\n# Sitemap analysis\ntfq0seo sitemap https://example.com/sitemap.xml --analyze\n```\n\n### Export Results\n\n```bash\n# Export to different formats\ntfq0seo export --format csv --output results.csv\ntfq0seo export --format xlsx --output report.xlsx\ntfq0seo export --format html --output report.html\n```\n\n## \ud83d\udd27 CLI Commands & Options\n\n### `crawl` - Website Crawling\n```bash\ntfq0seo crawl [URL] [OPTIONS]\n```\n- `--depth, -d`: Crawl depth (1-10, default: 3)\n- `--max-pages, -m`: Maximum pages to crawl (default: 500)\n- `--concurrent, -c`: Concurrent requests (1-50, default: 10)\n- `--delay`: Delay between requests in seconds (default: 0.5)\n- `--format, -f`: Output format (json|csv|xlsx|html, default: json)\n- `--output, -o`: Output file path\n- `--exclude`: Path patterns to exclude (multiple allowed)\n- `--no-robots`: Ignore robots.txt\n- `--include-external`: Include external links\n- `--user-agent`: Custom user agent\n- `--config, -C`: Configuration file (JSON/YAML)\n- `--resume`: Resume from previous crawl state\n- `--dry-run`: Show what would be crawled without actually crawling\n- `--sitemap-only`: Only crawl URLs from sitemap.xml\n\n### `analyze` - Single URL Analysis\n```bash\ntfq0seo analyze [URL] [OPTIONS]\n```\n- `--comprehensive, -c`: Run all analysis modules\n- `--target-keyword, -k`: Primary keyword for optimization\n- `--competitors`: Comma-separated competitor URLs\n- `--depth`: Analysis depth (basic|advanced|complete, default: advanced)\n- `--format, -f`: Output format (json|csv|xlsx|html, default: json)\n- `--output, -o`: Output file path\n\n### `batch` - Batch URL Analysis\n```bash\ntfq0seo batch [URLS_FILE] [OPTIONS]\n```\n- `--format, -f`: Output format (json|csv|xlsx|html, default: json)\n- `--output, -o`: Output file path\n- `--concurrent, -c`: Concurrent analyses (1-20, default: 5)\n\n### `sitemap` - Sitemap Analysis\n```bash\ntfq0seo sitemap [SITEMAP_URL] [OPTIONS]\n```\n- `--format, -f`: Output format (json|csv|txt, default: json)\n- `--output, -o`: Output file path\n- `--analyze`: Analyze URLs from sitemap\n\n### `export` - Export Results\n```bash\ntfq0seo export [OPTIONS]\n```\n- `--format, -f`: Output format (json|csv|xlsx|html) **required**\n- `--output, -o`: Output file path **required**\n- `--input, -i`: Input file (if converting formats)\n\n### Global Options\n- `--verbose, -v`: Verbose output\n- `--quiet, -q`: Quiet mode (errors only)\n- `--version`: Show version information\n\n## \ud83d\udcca SEO Metrics & Scoring\n\n### Content Guidelines\n- **Title Length**: 30-60 characters (optimal)\n- **Meta Description**: 120-160 characters\n- **Minimum Content**: 300 words\n- **Keyword Density**: Maximum 3%\n- **Readability**: Flesch score \u2265 60, Gunning Fog \u2264 12\n\n### Technical Requirements\n- **Page Load Time**: < 3 seconds\n- **Mobile-Friendly**: Responsive design required\n- **HTTPS**: SSL certificate required\n- **Structured Data**: Valid schema.org markup\n\n## \ud83d\udd0d Use Cases\n\n### 1. Complete Site Audit\n```bash\ntfq0seo crawl https://yoursite.com --depth 5 --max-pages 1000 --format html --comprehensive\n```\n\n### 2. Competitive Analysis\n```bash\ntfq0seo analyze https://yoursite.com --competitors \"https://competitor1.com,https://competitor2.com\" --comprehensive\n```\n\n### 3. Batch URL Analysis\n```bash\n# Create urls.txt with one URL per line\ntfq0seo batch urls.txt --format xlsx --output batch_analysis.xlsx\n```\n\n### 4. Technical SEO Audit\n```bash\ntfq0seo analyze https://yoursite.com --depth complete --format html --output technical_audit.html\n```\n\n### 5. Sitemap Analysis\n```bash\ntfq0seo sitemap https://yoursite.com/sitemap.xml --analyze --format html\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Modern SEO analysis and optimization toolkit with advanced reporting",
"version": "2.2.0",
"project_urls": {
"Bug Tracker": "https://github.com/tfq0/tfq0seo/issues",
"Documentation": "https://github.com/tfq0/tfq0seo#readme",
"Homepage": "https://github.com/tfq0/tfq0seo",
"Repository": "https://github.com/tfq0/tfq0seo.git"
},
"split_keywords": [
"seo",
" analysis",
" optimization",
" web",
" content",
" meta tags",
" technical seo",
" reporting",
" analytics"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2d7f45a43d77397ba17900a1cb2ca111004b63c7f65d07b24fa4aa43be52a57e",
"md5": "46c07004beb9a6f1a45d3acd0b7ef365",
"sha256": "8b70cff06b6abbe3795b2fc2798465fc5fafda80ea18ff446b0c4169a830476a"
},
"downloads": -1,
"filename": "tfq0seo-2.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "46c07004beb9a6f1a45d3acd0b7ef365",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 90474,
"upload_time": "2025-10-06T23:10:24",
"upload_time_iso_8601": "2025-10-06T23:10:24.921015Z",
"url": "https://files.pythonhosted.org/packages/2d/7f/45a43d77397ba17900a1cb2ca111004b63c7f65d07b24fa4aa43be52a57e/tfq0seo-2.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "baf21534be3a0b6627aa46fe7c7e3e55014d6f9026637c06463d31cfbee5b765",
"md5": "1c8fbe32ed591d475d6812b8ee89816e",
"sha256": "b570ad9f9081a92e77c6c42be8cb0cdd6356baf015963e790ba7147d33e3222a"
},
"downloads": -1,
"filename": "tfq0seo-2.2.0.tar.gz",
"has_sig": false,
"md5_digest": "1c8fbe32ed591d475d6812b8ee89816e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 84642,
"upload_time": "2025-10-06T23:10:26",
"upload_time_iso_8601": "2025-10-06T23:10:26.412741Z",
"url": "https://files.pythonhosted.org/packages/ba/f2/1534be3a0b6627aa46fe7c7e3e55014d6f9026637c06463d31cfbee5b765/tfq0seo-2.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-06 23:10:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tfq0",
"github_project": "tfq0seo",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "aiohttp",
"specs": [
[
">=",
"3.8.0"
]
]
},
{
"name": "beautifulsoup4",
"specs": [
[
">=",
"4.11.0"
]
]
},
{
"name": "requests",
"specs": [
[
">=",
"2.28.0"
]
]
},
{
"name": "rich",
"specs": [
[
">=",
"12.6.0"
]
]
},
{
"name": "click",
"specs": [
[
">=",
"8.1.0"
]
]
},
{
"name": "jinja2",
"specs": [
[
">=",
"3.1.0"
]
]
},
{
"name": "validators",
"specs": [
[
">=",
"0.20.0"
]
]
},
{
"name": "urllib3",
"specs": [
[
">=",
"1.26.0"
]
]
},
{
"name": "aiofiles",
"specs": [
[
">=",
"23.0.0"
]
]
},
{
"name": "textstat",
"specs": [
[
">=",
"0.7.3"
]
]
},
{
"name": "jsonschema",
"specs": [
[
">=",
"4.17.0"
]
]
},
{
"name": "httpx",
"specs": [
[
">=",
"0.24.0"
]
]
},
{
"name": "user-agents",
"specs": [
[
">=",
"2.2.0"
]
]
},
{
"name": "packaging",
"specs": [
[
">=",
"21.0"
]
]
}
],
"lcname": "tfq0seo"
}