{
  "schema_version": "2026-06-05",
  "purpose": "Machine-readable post-deploy index coverage triage matrix for Google Search Console, Bing Webmaster Tools, sitemap, canonical, robots, rich result and AI discovery issues.",
  "policy": {
    "no_ranking_guarantees": true,
    "no_blackhat": true,
    "no_keyword_stuffing": true,
    "no_paid_link_schemes": true,
    "no_medical_claims": true,
    "no_dosing_guidance": true,
    "research_use_only": true,
    "requires_approved_deploy": true,
    "manual_tools_only": true,
    "no_live_api_credentials": true
  },
  "evidence_sources": [
    {
      "id": "google-search-console-coverage",
      "status": "manual_after_approved_deploy",
      "source_type": "manual_export_or_screenshot",
      "required_fields": [
        "page",
        "issue_type",
        "validation_state",
        "last_crawl",
        "evidence_url"
      ],
      "privacy_boundary": "Page-level index coverage only; no customer, order, checkout, token or payment data.",
      "verification_commands": [
        "npm run qa:index-coverage",
        "manual:https://search.google.com/search-console"
      ]
    },
    {
      "id": "bing-webmaster-index-coverage",
      "status": "manual_after_approved_deploy",
      "source_type": "manual_export_or_screenshot",
      "required_fields": [
        "page",
        "issue_type",
        "crawl_state",
        "last_crawl",
        "evidence_url"
      ],
      "privacy_boundary": "Page-level crawl and index coverage only; no credentials stored locally.",
      "verification_commands": [
        "npm run qa:index-coverage",
        "manual:https://www.bing.com/webmasters"
      ]
    },
    {
      "id": "local-sitemap-canonical-scan",
      "status": "local_ready",
      "source_type": "local_audit",
      "required_fields": [
        "sitemap_url",
        "canonical_url",
        "robots_meta",
        "http_equivalent",
        "local_path"
      ],
      "privacy_boundary": "Public route metadata only.",
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:submit-ready",
        "npm run qa:launch"
      ]
    },
    {
      "id": "ai-discovery-source-check",
      "status": "local_ready",
      "source_type": "local_audit",
      "required_fields": [
        "llms_url",
        "sitemap_ai_url",
        "site_facts_url",
        "machine_readable_source"
      ],
      "privacy_boundary": "Public AI discovery files only.",
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:ai-context",
        "npm run qa:seo"
      ]
    }
  ],
  "issue_types": [
    {
      "id": "submitted-url-blocked-by-robots",
      "status": "triage_ready",
      "severity": "critical",
      "source": "google_search_console",
      "symptom": "A submitted public URL is blocked by robots policy or an accidental noindex path.",
      "diagnostic_steps": [
        "Check robots.txt sitemap declarations",
        "Check page robots meta",
        "Check redirect and _headers behavior"
      ],
      "resolution_playbook": [
        "Restore crawl access for intended public URL",
        "Keep internal routes blocked",
        "Rebuild sitemap and rerun submit-ready audit"
      ],
      "blocked_actions": [
        "Expose internal admin routes",
        "Remove robots protection broadly",
        "Change production crawl rules without local audit"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:submit-ready",
        "npm run qa:launch"
      ]
    },
    {
      "id": "discovered-not-indexed-priority-page",
      "status": "triage_ready",
      "severity": "high",
      "source": "google_search_console",
      "symptom": "A priority page is discovered but not indexed after deployment and normal crawl delay.",
      "diagnostic_steps": [
        "Confirm sitemap membership",
        "Confirm canonical self-reference",
        "Confirm unique title and description",
        "Check internal links from hub pages"
      ],
      "resolution_playbook": [
        "Improve internal path from hub or catalog",
        "Clarify direct answer block",
        "Request inspection only after local checks pass"
      ],
      "blocked_actions": [
        "Mass resubmit unchanged URLs",
        "Create duplicate doorway routes",
        "Touch dates without content change"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:serp",
        "npm run qa:link-equity"
      ]
    },
    {
      "id": "crawled-not-indexed-content-quality",
      "status": "triage_ready",
      "severity": "high",
      "source": "google_search_console",
      "symptom": "A public page is crawled but not selected for indexing.",
      "diagnostic_steps": [
        "Check content uniqueness",
        "Check intent alignment",
        "Check proof links and schema contracts",
        "Check title and description overlap"
      ],
      "resolution_playbook": [
        "Improve evidence-backed answer section",
        "Route broad intent to hubs",
        "Refresh only with material change"
      ],
      "blocked_actions": [
        "Thin page expansion",
        "Repetitive query blocks",
        "Unsupported claim expansion"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:intent",
        "npm run qa:content-refresh"
      ]
    },
    {
      "id": "duplicate-google-chose-different-canonical",
      "status": "triage_ready",
      "severity": "critical",
      "source": "google_search_console",
      "symptom": "Google selects a different canonical than the production canonical.",
      "diagnostic_steps": [
        "Compare canonical tag with sitemap URL",
        "Check dynamic route canonical generation",
        "Check internal links and alternate links"
      ],
      "resolution_playbook": [
        "Fix canonical source",
        "Align sitemap and internal links",
        "Rerun dynamic SEO and canonical audits"
      ],
      "blocked_actions": [
        "Force conflicting canonicals",
        "Publish duplicate near-identical routes",
        "Hide canonical mismatch with redirects"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:dynamic-seo",
        "npm run qa:launch"
      ]
    },
    {
      "id": "soft-not-found-or-thin-template",
      "status": "triage_ready",
      "severity": "critical",
      "source": "google_search_console",
      "symptom": "A dynamic, category or content route is interpreted as soft not found or low-value template output.",
      "diagnostic_steps": [
        "Check rendered route has primary content",
        "Check product/category data source",
        "Check empty-state behavior",
        "Check canonical and title"
      ],
      "resolution_playbook": [
        "Restore meaningful rendered content",
        "Fix data binding",
        "Keep honest 404 behavior for invalid routes"
      ],
      "blocked_actions": [
        "Index empty template output",
        "Return success for invalid private routes",
        "Mask missing data with generic filler"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:dynamic-seo",
        "npm run qa:seo"
      ]
    },
    {
      "id": "page-with-redirect-in-sitemap",
      "status": "triage_ready",
      "severity": "high",
      "source": "search_console_or_bing",
      "symptom": "A sitemap URL redirects instead of resolving as the canonical final URL.",
      "diagnostic_steps": [
        "Check sitemap entry",
        "Check _redirects",
        "Check canonical destination",
        "Check trailing slash behavior"
      ],
      "resolution_playbook": [
        "Use final canonical URL in sitemap",
        "Keep redirects for user compatibility only",
        "Rebuild sitemaps"
      ],
      "blocked_actions": [
        "Submit redirect-only URLs",
        "Chain redirects",
        "Use localhost URLs in production sitemap"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:submit-ready",
        "npm run qa:freshness"
      ]
    },
    {
      "id": "rich-result-validation-error",
      "status": "triage_ready",
      "severity": "high",
      "source": "rich_results_or_search_console",
      "symptom": "Product, FAQ, Article, ItemList, WebSite or Organization schema is invalid or incomplete.",
      "diagnostic_steps": [
        "Identify schema type",
        "Compare required property with local schema contract",
        "Check dynamic data injection"
      ],
      "resolution_playbook": [
        "Fix schema contract locally",
        "Keep ProductGroup and Offer data aligned",
        "Rerun rich-results audit"
      ],
      "blocked_actions": [
        "Add fake ratings",
        "Add fake review counts",
        "Add unsupported availability claims"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:schema",
        "npm run qa:dynamic-seo"
      ]
    },
    {
      "id": "image-indexing-gap",
      "status": "triage_ready",
      "severity": "medium",
      "source": "google_search_console",
      "symptom": "Product image URLs are missing from image indexing or image discovery surfaces.",
      "diagnostic_steps": [
        "Check sitemap-images.xml entry",
        "Check product image files",
        "Check OG and Twitter image URLs"
      ],
      "resolution_playbook": [
        "Restore missing image formats",
        "Regenerate image sitemap",
        "Rerun image readiness audit"
      ],
      "blocked_actions": [
        "Use broken placeholder media",
        "Submit non-product decorative images as product proof",
        "Change image URLs without manifest update"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:image",
        "npm run qa:launch"
      ]
    },
    {
      "id": "ai-source-not-discovered",
      "status": "triage_ready",
      "severity": "high",
      "source": "ai_search_manual_check",
      "symptom": "Machine-readable AI discovery files are not publicly reachable or not linked from sitemap-ai and llms.",
      "diagnostic_steps": [
        "Check llms.txt link",
        "Check sitemap-ai.xml entry",
        "Check site-facts discovery key",
        "Check redirects and headers"
      ],
      "resolution_playbook": [
        "Restore AI discovery URL",
        "Rebuild llms and sitemaps",
        "Rerun AI context and SEO audit"
      ],
      "blocked_actions": [
        "Expose private files",
        "Remove research-use boundary",
        "Publish stale machine-readable sources"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:ai-context",
        "npm run qa:seo"
      ]
    },
    {
      "id": "hreflang-alternate-drift",
      "status": "triage_ready",
      "severity": "medium",
      "source": "search_console_or_local_audit",
      "symptom": "Language alternate signals drift from supported storefront languages.",
      "diagnostic_steps": [
        "Check hreflang count",
        "Check x-default",
        "Check OG locale alternates",
        "Check site-facts language list"
      ],
      "resolution_playbook": [
        "Restore alternate tags",
        "Keep language set aligned with i18n assets",
        "Rerun international SEO audit"
      ],
      "blocked_actions": [
        "Publish unsupported language alternates",
        "Point alternates to missing routes",
        "Mix locale formats"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:intl-seo",
        "npm run qa:ai-context"
      ]
    },
    {
      "id": "coverage-drop-after-deploy",
      "status": "triage_ready",
      "severity": "critical",
      "source": "search_console_or_bing",
      "symptom": "Indexed or valid URL count drops after an approved deploy.",
      "diagnostic_steps": [
        "Compare sitemap counts",
        "Check redirects and headers",
        "Check robots changes",
        "Check route output for priority pages"
      ],
      "resolution_playbook": [
        "Rollback only if a release broke crawlability",
        "Fix local contract",
        "Rebuild discovery files and resubmit after approval"
      ],
      "blocked_actions": [
        "Deploy again without local green checks",
        "Remove crawl guards globally",
        "Submit unverified URLs"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:launch",
        "npm run qa:submit-ready"
      ]
    },
    {
      "id": "priority-url-inspection-failure",
      "status": "triage_ready",
      "severity": "critical",
      "source": "google_url_inspection",
      "symptom": "A money page URL inspection reports crawl, canonical, mobile usability or indexing blockers.",
      "diagnostic_steps": [
        "Capture URL inspection evidence",
        "Map issue to local route",
        "Run matching local audit",
        "Record fix in search operations runbook"
      ],
      "resolution_playbook": [
        "Fix the route locally",
        "Run full launch gate",
        "Request validation only after approved deploy"
      ],
      "blocked_actions": [
        "Ignore money-page blocker",
        "Request validation before local fix",
        "Change production without audit trail"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:launch",
        "npm run qa:search-ops"
      ]
    }
  ],
  "priority_targets": [
    {
      "id": "home-index-triage",
      "status": "target_ready",
      "priority": "critical",
      "canonical_url": "https://togopeptide.com/",
      "local_path": "/index.html",
      "search_intent_url": "https://togopeptide.com/",
      "expected_sitemaps": [
        "sitemap.xml"
      ],
      "issue_ids": [
        "discovered-not-indexed-priority-page",
        "priority-url-inspection-failure"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:entity"
      ]
    },
    {
      "id": "shop-index-triage",
      "status": "target_ready",
      "priority": "critical",
      "canonical_url": "https://togopeptide.com/shop",
      "local_path": "/shop.html",
      "search_intent_url": "https://togopeptide.com/shop",
      "expected_sitemaps": [
        "sitemap.xml",
        "sitemap-content.xml"
      ],
      "issue_ids": [
        "discovered-not-indexed-priority-page",
        "rich-result-validation-error"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:seo"
      ]
    },
    {
      "id": "compound-template-index-triage",
      "status": "target_ready",
      "priority": "critical",
      "canonical_url": "https://togopeptide.com/compound",
      "local_path": "/compound.html",
      "search_intent_url": "https://togopeptide.com/compound",
      "expected_sitemaps": [
        "sitemap-products.xml"
      ],
      "issue_ids": [
        "duplicate-google-chose-different-canonical",
        "soft-not-found-or-thin-template"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:dynamic-seo"
      ]
    },
    {
      "id": "category-template-index-triage",
      "status": "target_ready",
      "priority": "critical",
      "canonical_url": "https://togopeptide.com/category",
      "local_path": "/category.html",
      "search_intent_url": "https://togopeptide.com/category",
      "expected_sitemaps": [
        "sitemap-categories.xml"
      ],
      "issue_ids": [
        "duplicate-google-chose-different-canonical",
        "crawled-not-indexed-content-quality"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:dynamic-seo"
      ]
    },
    {
      "id": "stacks-index-triage",
      "status": "target_ready",
      "priority": "high",
      "canonical_url": "https://togopeptide.com/stacks",
      "local_path": "/stacks.html",
      "search_intent_url": "https://togopeptide.com/stacks",
      "expected_sitemaps": [
        "sitemap-content.xml"
      ],
      "issue_ids": [
        "discovered-not-indexed-priority-page",
        "crawled-not-indexed-content-quality"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:content-bridge"
      ]
    },
    {
      "id": "research-hub-index-triage",
      "status": "target_ready",
      "priority": "critical",
      "canonical_url": "https://togopeptide.com/research-hub",
      "local_path": "/research-hub.html",
      "search_intent_url": "https://togopeptide.com/research-hub",
      "expected_sitemaps": [
        "sitemap-content.xml"
      ],
      "issue_ids": [
        "crawled-not-indexed-content-quality",
        "ai-source-not-discovered"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:authority"
      ]
    },
    {
      "id": "blog-index-triage",
      "status": "target_ready",
      "priority": "medium",
      "canonical_url": "https://togopeptide.com/blog/",
      "local_path": "/blog/",
      "search_intent_url": "https://togopeptide.com/blog/",
      "expected_sitemaps": [
        "sitemap-content.xml"
      ],
      "issue_ids": [
        "page-with-redirect-in-sitemap",
        "crawled-not-indexed-content-quality"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:article-evidence"
      ]
    },
    {
      "id": "quality-index-triage",
      "status": "target_ready",
      "priority": "critical",
      "canonical_url": "https://togopeptide.com/quality",
      "local_path": "/quality.html",
      "search_intent_url": "https://togopeptide.com/quality",
      "expected_sitemaps": [
        "sitemap-content.xml"
      ],
      "issue_ids": [
        "discovered-not-indexed-priority-page",
        "crawled-not-indexed-content-quality"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:entity"
      ]
    },
    {
      "id": "coa-index-triage",
      "status": "target_ready",
      "priority": "critical",
      "canonical_url": "https://togopeptide.com/coa",
      "local_path": "/coa.html",
      "search_intent_url": "https://togopeptide.com/coa",
      "expected_sitemaps": [
        "sitemap-content.xml"
      ],
      "issue_ids": [
        "rich-result-validation-error",
        "discovered-not-indexed-priority-page"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:schema"
      ]
    },
    {
      "id": "fresh-batch-index-triage",
      "status": "target_ready",
      "priority": "high",
      "canonical_url": "https://togopeptide.com/fresh-batch",
      "local_path": "/fresh-batch.html",
      "search_intent_url": "https://togopeptide.com/fresh-batch",
      "expected_sitemaps": [
        "sitemap-content.xml"
      ],
      "issue_ids": [
        "discovered-not-indexed-priority-page",
        "crawled-not-indexed-content-quality"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:serp"
      ]
    },
    {
      "id": "reconstitution-guide-index-triage",
      "status": "target_ready",
      "priority": "high",
      "canonical_url": "https://togopeptide.com/reconstitution-guide",
      "local_path": "/reconstitution-guide.html",
      "search_intent_url": "https://togopeptide.com/reconstitution-guide",
      "expected_sitemaps": [
        "sitemap-content.xml"
      ],
      "issue_ids": [
        "rich-result-validation-error",
        "crawled-not-indexed-content-quality"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:article-evidence"
      ]
    },
    {
      "id": "storage-guide-index-triage",
      "status": "target_ready",
      "priority": "medium",
      "canonical_url": "https://togopeptide.com/storage-guide",
      "local_path": "/storage-guide.html",
      "search_intent_url": "https://togopeptide.com/storage-guide",
      "expected_sitemaps": [
        "sitemap-content.xml"
      ],
      "issue_ids": [
        "crawled-not-indexed-content-quality",
        "page-with-redirect-in-sitemap"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:freshness"
      ]
    },
    {
      "id": "about-index-triage",
      "status": "target_ready",
      "priority": "high",
      "canonical_url": "https://togopeptide.com/about",
      "local_path": "/about.html",
      "search_intent_url": "https://togopeptide.com/about",
      "expected_sitemaps": [
        "sitemap-content.xml"
      ],
      "issue_ids": [
        "discovered-not-indexed-priority-page",
        "ai-source-not-discovered"
      ],
      "verification_commands": [
        "npm run qa:index-coverage",
        "npm run qa:ai-context"
      ]
    }
  ]
}
