{
  "ok": true,
  "generated_at": "2026-06-10T15:54:03.423Z",
  "checks": [
    "JSON-LD component presence",
    "word count floor",
    "semantic coverage floor",
    "rendered/prod-like image alt attributes",
    "single rendered H1 per route",
    "140-160 character meta descriptions",
    "canonical/og:url metadata",
    "sitemap inclusion",
    "thin /prompts/[slug] sitemap ban"
  ],
  "pages": [
    {
      "route": "/",
      "title_len": 46,
      "description_len": 152,
      "h1": {
        "h1_count": 1,
        "h1_text": [
          "AI Editor RSP Editing Prompts"
        ],
        "rendered_html_source": ".next/server/app/index.html",
        "rendered_build_output": true
      },
      "word_count": 1291,
      "exact_keyword_count": 8,
      "exact_keyword_density_pct": 0.62,
      "semantic_keyword_count": 155,
      "semantic_density_pct": 12.01,
      "expected_schema": [
        "WebApplication",
        "FAQPage",
        "BreadcrumbList"
      ],
      "source_schema_component": [
        "WebApplication",
        "FAQPage",
        "BreadcrumbList",
        "Article",
        "CollectionPage"
      ],
      "missing_expected_schema": [],
      "image_alt": {
        "img_count": 2,
        "img_missing_alt": 0,
        "missing_alt_imgs": [],
        "rendered_html_source": ".next/server/app/index.html",
        "rendered_build_output": true
      },
      "failures": []
    },
    {
      "route": "/ai-photo-prompt-editor",
      "title_len": 40,
      "description_len": 153,
      "h1": {
        "h1_count": 1,
        "h1_text": [
          "AI Photo Prompt Editor"
        ],
        "rendered_html_source": ".next/server/app/ai-photo-prompt-editor.html",
        "rendered_build_output": true
      },
      "word_count": 1162,
      "exact_keyword_count": 10,
      "exact_keyword_density_pct": 0.86,
      "semantic_keyword_count": 140,
      "semantic_density_pct": 12.05,
      "expected_schema": [
        "WebApplication",
        "FAQPage"
      ],
      "source_schema_component": [
        "WebApplication",
        "FAQPage",
        "BreadcrumbList",
        "Article",
        "CollectionPage"
      ],
      "missing_expected_schema": [],
      "image_alt": {
        "img_count": 0,
        "img_missing_alt": 0,
        "missing_alt_imgs": [],
        "rendered_html_source": ".next/server/app/ai-photo-prompt-editor.html",
        "rendered_build_output": true
      },
      "failures": []
    },
    {
      "route": "/chatgpt-photo-editing-prompts",
      "title_len": 42,
      "description_len": 146,
      "h1": {
        "h1_count": 1,
        "h1_text": [
          "ChatGPT Photo Editing Prompts"
        ],
        "rendered_html_source": ".next/server/app/chatgpt-photo-editing-prompts.html",
        "rendered_build_output": true
      },
      "word_count": 1181,
      "exact_keyword_count": 12,
      "exact_keyword_density_pct": 1.02,
      "semantic_keyword_count": 143,
      "semantic_density_pct": 12.11,
      "expected_schema": [
        "Article",
        "FAQPage",
        "BreadcrumbList"
      ],
      "source_schema_component": [
        "WebApplication",
        "FAQPage",
        "BreadcrumbList",
        "Article",
        "CollectionPage"
      ],
      "missing_expected_schema": [],
      "image_alt": {
        "img_count": 3,
        "img_missing_alt": 0,
        "missing_alt_imgs": [],
        "rendered_html_source": ".next/server/app/chatgpt-photo-editing-prompts.html",
        "rendered_build_output": true
      },
      "failures": []
    },
    {
      "route": "/ai-photo-editing-prompts",
      "title_len": 36,
      "description_len": 140,
      "h1": {
        "h1_count": 1,
        "h1_text": [
          "AI photo editing prompts by use case."
        ],
        "rendered_html_source": ".next/server/app/ai-photo-editing-prompts.html",
        "rendered_build_output": true
      },
      "word_count": 977,
      "exact_keyword_count": 6,
      "exact_keyword_density_pct": 0.61,
      "semantic_keyword_count": 114,
      "semantic_density_pct": 11.67,
      "expected_schema": [
        "CollectionPage",
        "FAQPage"
      ],
      "source_schema_component": [
        "WebApplication",
        "FAQPage",
        "BreadcrumbList",
        "Article",
        "CollectionPage"
      ],
      "missing_expected_schema": [],
      "image_alt": {
        "img_count": 2,
        "img_missing_alt": 0,
        "missing_alt_imgs": [],
        "rendered_html_source": ".next/server/app/ai-photo-editing-prompts.html",
        "rendered_build_output": true
      },
      "failures": []
    },
    {
      "route": "/prompt-library",
      "title_len": 44,
      "description_len": 146,
      "h1": {
        "h1_count": 1,
        "h1_text": [
          "Reusable AI photo editing prompt library."
        ],
        "rendered_html_source": ".next/server/app/prompt-library.html",
        "rendered_build_output": true
      },
      "word_count": 1344,
      "exact_keyword_count": 5,
      "exact_keyword_density_pct": 0.37,
      "semantic_keyword_count": 133,
      "semantic_density_pct": 9.9,
      "expected_schema": [
        "CollectionPage",
        "FAQPage"
      ],
      "source_schema_component": [
        "WebApplication",
        "FAQPage",
        "BreadcrumbList",
        "Article",
        "CollectionPage"
      ],
      "missing_expected_schema": [],
      "image_alt": {
        "img_count": 0,
        "img_missing_alt": 0,
        "missing_alt_imgs": [],
        "rendered_html_source": ".next/server/app/prompt-library.html",
        "rendered_build_output": true
      },
      "failures": []
    },
    {
      "route": "/pricing",
      "title_len": 43,
      "description_len": 144,
      "h1": {
        "h1_count": 1,
        "h1_text": [
          "Pricing and credits for AI Editor RSP."
        ],
        "rendered_html_source": ".next/server/app/pricing.html",
        "rendered_build_output": true
      },
      "image_alt": {
        "img_count": 0,
        "img_missing_alt": 0,
        "missing_alt_imgs": [],
        "rendered_html_source": ".next/server/app/pricing.html",
        "rendered_build_output": true
      },
      "failures": []
    },
    {
      "route": "/privacy",
      "title_len": 43,
      "description_len": 151,
      "h1": {
        "h1_count": 1,
        "h1_text": [
          "Privacy Policy"
        ],
        "rendered_html_source": ".next/server/app/privacy.html",
        "rendered_build_output": true
      },
      "image_alt": {
        "img_count": 0,
        "img_missing_alt": 0,
        "missing_alt_imgs": [],
        "rendered_html_source": ".next/server/app/privacy.html",
        "rendered_build_output": true
      },
      "failures": []
    },
    {
      "route": "/terms",
      "title_len": 40,
      "description_len": 158,
      "h1": {
        "h1_count": 1,
        "h1_text": [
          "Terms of Service"
        ],
        "rendered_html_source": ".next/server/app/terms.html",
        "rendered_build_output": true
      },
      "image_alt": {
        "img_count": 0,
        "img_missing_alt": 0,
        "missing_alt_imgs": [],
        "rendered_html_source": ".next/server/app/terms.html",
        "rendered_build_output": true
      },
      "failures": []
    },
    {
      "route": "/cookie-policy",
      "title_len": 41,
      "description_len": 155,
      "h1": {
        "h1_count": 1,
        "h1_text": [
          "Cookie Policy"
        ],
        "rendered_html_source": ".next/server/app/cookie-policy.html",
        "rendered_build_output": true
      },
      "image_alt": {
        "img_count": 0,
        "img_missing_alt": 0,
        "missing_alt_imgs": [],
        "rendered_html_source": ".next/server/app/cookie-policy.html",
        "rendered_build_output": true
      },
      "failures": []
    },
    {
      "route": "/refund",
      "title_len": 40,
      "description_len": 144,
      "h1": {
        "h1_count": 1,
        "h1_text": [
          "Refund Policy"
        ],
        "rendered_html_source": ".next/server/app/refund.html",
        "rendered_build_output": true
      },
      "image_alt": {
        "img_count": 0,
        "img_missing_alt": 0,
        "missing_alt_imgs": [],
        "rendered_html_source": ".next/server/app/refund.html",
        "rendered_build_output": true
      },
      "failures": []
    },
    {
      "route": "/contact",
      "title_len": 40,
      "description_len": 151,
      "h1": {
        "h1_count": 1,
        "h1_text": [
          "Contact AI Editor RSP support."
        ],
        "rendered_html_source": ".next/server/app/contact.html",
        "rendered_build_output": true
      },
      "image_alt": {
        "img_count": 0,
        "img_missing_alt": 0,
        "missing_alt_imgs": [],
        "rendered_html_source": ".next/server/app/contact.html",
        "rendered_build_output": true
      },
      "failures": []
    }
  ],
  "failures": [],
  "waiver_notes": [
    "Exact primary-keyword density is not forced to 2.5%-3.6% when it would create keyword stuffing; semantic coverage must be >=2.5% and exact terms must remain visibly present.",
    "Raw Stitch images without alt are remediated by getRawDesignBody using data-alt or route fallback text, and seo:audit checks built/rendered HTML when available."
  ]
}