indexflow-seo
A blazing-fast, zero-dependency Technical SEO Quality Gate & GEO (Generative Engine Optimization) Auditor written in pure Rust.
Key Features
- 🛡️ Technical SEO Gatekeeper: Pre-flight validation for HTTP status codes, Canonical declaration equivalence,
noindex/nofollowrobots directives,<title>tags, and<h1>headings. - 🤖 GEO & AI Bot Auditing: Automatically audits crawler exclusion directives for mainstream AI search engines (
GPTBot,PerplexityBot,ClaudeBot,Google-Extended). - 📑 Schema.org Structured Data: Instant extraction of embedded
application/ld+jsonblocks and automatic entity mapping (e.g.Article,FAQPage,Product,Organization). - 🌐 Social & Multilingual Metadata: Parses OpenGraph, Twitter Card tags, and
xhtml:linkalternate language (hreflang) arrays. - ⚡ Pure In-Memory Evaluation: Zero-cost, memory-safe evaluation function that works directly on HTML strings without mandatory network I/O.
- 🚀 Optional Non-Redirecting Prober: Lightweight async HTTP client that treats 3xx redirects as actionable gate issues.
Installation
Add this to your Cargo.toml:
[]
= "0.1"
Feature Flags
probe(default): Enables the async HTTPSeoProbeClientviareqwest(with pure Rustls TLS).
Quick Start
1. Pure In-Memory HTML Evaluation (Zero-I/O)
use evaluate_html;
2. Async HTTP Quality Prober (with probe feature)
use SeoProbeClient;
use Duration;
async
🛡️ Gate Rules & Criteria
indexflow-seo enforces the following pre-flight checks before approving a URL for search engine submission:
- HTTP Status: Must strictly return
200 OK. - Robots Directives: Neither
<meta name="robots" content="noindex">norX-Robots-Tag: noindexheader may be present. - Canonical Normalization: Declared
<link rel="canonical">must match the actual URL (automatically handles relative paths, default ports 80/443, trailing slashes, and case-insensitivity). - Title Tag: Must contain a valid, non-empty
<title>element.
License
Dual-licensed under either of: