/** * SEO indexability checker — determines if a page is crawlable and indexable. * * Checks: * 1. X-Robots-Tag response header (noindex, nofollow, noarchive) * 2. tag (noindex, nofollow) * 3. Canonical URL (self-canonical vs cross-canonical) * 4. rel="nofollow" on outbound links * 5. hreflang tags (multilingual) * 6. Open Graph completeness (og:title, og:description, og:image) * 7. Structured data presence (JSON-LD) * 8. Meta description * 9. Title tag length (< 60 chars recommended) * 10. URL structure (query params, fragments, excessive depth) */ import type { Page } from 'playwright'; export interface SeoIssue { rule: string; severity: 'critical' | 'warning' | 'info'; message: string; value?: string; } export interface SeoCheckResult { url: string; isIndexable: boolean; canonicalUrl?: string; isSelfCanonical?: boolean; hreflang: Record; issues: SeoIssue[]; score: number; checkedAt: string; } export declare function checkSeo(page: Page, url: string, responseHeaders?: Record): Promise;