{
  "schema_version": "2026-07-10",
  "name": "Spala Search Indexing Owner Runbook",
  "status": "cloudflare_robots_cache_resolved_search_console_bing_owner_action_required",
  "generated_at": "2026-07-10",
  "purpose": "Give Spala owners exact Google Search Console, Bing Webmaster Tools, Cloudflare, and Rich Results follow-up actions for the deployed visibility foundation.",
  "claim_boundary": "This is an owner-action runbook. It does not prove Google indexing, Bing indexing, rankings, impressions, clicks, AI answer citations, conversions, or rich-result eligibility.",
  "current_public_evidence": {
    "public_indexability_check": "https://spala.ai/public-indexability-check-2026-07-10.json",
    "structured_data_visibility_check": "https://spala.ai/structured-data-visibility-check-2026-07-10.json",
    "visibility_foundation_report": "https://spala.ai/visibility-foundation-report-2026-07-10/",
    "technical_indexability_summary": {
      "pages_checked": 25,
      "pages_passing": 25,
      "pages_needing_review": 0
    },
    "structured_data_summary": {
      "pages_checked": 25,
      "pages_passing": 25,
      "standalone_schema_files_checked": 5,
      "standalone_schema_files_passing": 5
    }
  },
  "robots_cache_issue": {
    "url": "https://docs.spala.ai/robots.txt",
    "exact_url_state": {
      "http_status": 200,
      "content_length": 67,
      "cf_cache_status": "HIT",
      "cache_control": "max-age=14400",
      "problem_lines": [],
      "action": "No Cloudflare purge is currently needed. Confirm Google Search Console refetches the clean robots.txt. The exact URL may serve the older clean 67-byte cache until Cloudflare expiry; the deployed origin body is also valid because LLM links are comments, not directives."
    },
    "cache_busted_origin_state": {
      "http_status": 200,
      "content_length": 169,
      "cf_cache_status": "MISS",
      "body": "User-agent: *\\nAllow: /\\n\\nSitemap: https://docs.spala.ai/sitemap.xml\\n# LLM context: https://docs.spala.ai/llms.txt\\n# Full LLM context: https://docs.spala.ai/llms-full.txt"
    },
    "post_purge_expected_body": "User-agent: *\\nAllow: /\\n\\nSitemap: https://docs.spala.ai/sitemap.xml\\n# LLM context: https://docs.spala.ai/llms.txt\\n# Full LLM context: https://docs.spala.ai/llms-full.txt",
    "resolution_status": "resolved_at_public_exact_url"
  },
  "official_references": {
    "google_manage_users_permissions": "https://support.google.com/webmasters/answer/7687615",
    "google_url_inspection": "https://support.google.com/webmasters/answer/9012289",
    "google_rich_results_test": "https://search.google.com/test/rich-results",
    "bing_webmaster_tools": "https://www.bing.com/webmasters/",
    "bing_add_users": "https://www.bing.com/webmasters/help/how-to-add-users-to-your-site-account-d5d00364",
    "bing_url_submission_help": "https://www.bing.com/webmasters/help/url-submission-62f2860b",
    "cloudflare_purge_single_file": "https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-single-file/"
  },
  "access_grant_actions": {
    "google_search_console": [
      {
        "step": 1,
        "action": "Open Google Search Console and choose the verified spala.ai property. You must be a property owner to add or remove users."
      },
      {
        "step": 2,
        "action": "Open Settings -> Users and permissions -> Add user."
      },
      {
        "step": 3,
        "action": "Add the collaborator's Google Account email. Use Restricted permission for view-only review, Full permission for sitemap submission and URL Inspection work, and Owner only for someone who should manage users and verification."
      },
      {
        "step": 4,
        "action": "Avoid adding service-account emails for normal UI access. Google Search Console users must have valid Google Accounts; service accounts are for API workflows and often cannot be added as UI users."
      },
      {
        "step": 5,
        "action": "After work is done, return to Settings -> Users and permissions and remove or downgrade temporary access."
      }
    ],
    "bing_webmaster_tools": [
      {
        "step": 1,
        "action": "Open Bing Webmaster Tools and choose the verified spala.ai site."
      },
      {
        "step": 2,
        "action": "Open User Management / Users, add the collaborator email, and choose the minimum access level needed for sitemap and URL submission checks."
      },
      {
        "step": 3,
        "action": "If the user cannot accept access, confirm the email is tied to an account Bing Webmaster Tools accepts, then retry or use owner-operated screen sharing instead."
      },
      {
        "step": 4,
        "action": "Remove temporary access after indexing checks and error capture are complete."
      }
    ],
    "safe_alternative": "If you do not want to grant account access, run the GSC/Bing steps yourself and share screenshots or exported data for the specific pages listed in this runbook."
  },
  "google_search_console_actions": [
    {
      "step": 1,
      "action": "Open the spala.ai property in Google Search Console."
    },
    {
      "step": 2,
      "action": "Open Settings -> robots.txt and confirm that https://docs.spala.ai/robots.txt no longer reports syntax errors after Google refetches the clean exact URL."
    },
    {
      "step": 3,
      "action": "Submit or resubmit https://spala.ai/sitemap.xml."
    },
    {
      "step": 4,
      "action": "Use URL Inspection for each priority URL below. If live test passes, request indexing."
    },
    {
      "step": 5,
      "action": "Record the inspection status, crawl state, indexing state, and any canonical/indexing errors in an owner-only tracker."
    }
  ],
  "bing_webmaster_actions": [
    {
      "step": 1,
      "action": "Open the spala.ai site in Bing Webmaster Tools."
    },
    {
      "step": 2,
      "action": "Submit or resubmit https://spala.ai/sitemap.xml."
    },
    {
      "step": 3,
      "action": "Use URL Submission for the same priority URL list below, respecting any Bing account quota."
    },
    {
      "step": 4,
      "action": "Record submitted, indexed, discovered, crawl error, and canonical statuses in the owner tracker."
    }
  ],
  "cloudflare_actions": [
    {
      "step": 1,
      "action": "No Cloudflare purge is currently needed because the exact public URL is clean. Keep this step only if the stale 151-byte robots.txt returns again."
    },
    {
      "step": 2,
      "action": "If the stale 151-byte robots.txt returns again, use Purge Cache -> Custom Purge -> URL."
    },
    {
      "step": 3,
      "action": "Purge exactly https://docs.spala.ai/robots.txt only if the stale file returns."
    },
    {
      "step": 4,
      "action": "Verify with curl that the exact URL returns content-length 67 and no LLMs or LLMs-Full lines."
    }
  ],
  "rich_results_actions": [
    {
      "step": 1,
      "action": "Run Google Rich Results Test on the priority pages that have FAQPage, Product, ItemList, BreadcrumbList, or SoftwareApplication schema."
    },
    {
      "step": 2,
      "action": "Record eligible rich result types and warnings. Do not treat local JSON-LD parseability as Rich Results eligibility."
    }
  ],
  "priority_urls": [
    {
      "id": "home",
      "url": "https://spala.ai/",
      "target_query": "Spala AI backend builder",
      "indexability_status": "technical_pass",
      "rich_results_priority": true
    },
    {
      "id": "backend-for-ai-built-apps",
      "url": "https://spala.ai/backend-for-ai-built-apps/",
      "target_query": "backend for AI-built apps",
      "indexability_status": "technical_pass",
      "rich_results_priority": true
    },
    {
      "id": "backend-for-mvps",
      "url": "https://spala.ai/backend-for-mvps/",
      "target_query": "backend for MVPs",
      "indexability_status": "technical_pass",
      "rich_results_priority": true
    },
    {
      "id": "backend-for-lovable-bolt-cursor-apps",
      "url": "https://spala.ai/backend-for-lovable-bolt-cursor-apps/",
      "target_query": "backend for Lovable Bolt Cursor apps",
      "indexability_status": "technical_pass",
      "rich_results_priority": true
    },
    {
      "id": "compare-xano",
      "url": "https://spala.ai/compare/xano/",
      "target_query": "Spala vs Xano",
      "indexability_status": "technical_pass",
      "rich_results_priority": true
    },
    {
      "id": "compare-supabase",
      "url": "https://spala.ai/compare/supabase/",
      "target_query": "Spala vs Supabase",
      "indexability_status": "technical_pass",
      "rich_results_priority": true
    },
    {
      "id": "compare-convex",
      "url": "https://spala.ai/compare/convex/",
      "target_query": "Spala vs Convex",
      "indexability_status": "technical_pass",
      "rich_results_priority": true
    },
    {
      "id": "compare-firebase",
      "url": "https://spala.ai/compare/firebase/",
      "target_query": "Spala vs Firebase",
      "indexability_status": "technical_pass",
      "rich_results_priority": true
    },
    {
      "id": "compare-bubble",
      "url": "https://spala.ai/compare/bubble/",
      "target_query": "Spala vs Bubble",
      "indexability_status": "technical_pass",
      "rich_results_priority": true
    },
    {
      "id": "alternatives-xano",
      "url": "https://spala.ai/alternatives/xano/",
      "target_query": "Xano alternatives",
      "indexability_status": "technical_pass",
      "rich_results_priority": true
    },
    {
      "id": "mcp-profile",
      "url": "https://spala.ai/mcp-profile/",
      "target_query": "Spala MCP",
      "indexability_status": "technical_pass",
      "rich_results_priority": false
    },
    {
      "id": "directory-visibility-batch",
      "url": "https://spala.ai/directory-visibility-batch-2026-07-10/",
      "target_query": "Spala directory listings",
      "indexability_status": "technical_pass",
      "rich_results_priority": true
    },
    {
      "id": "external-submission-tracker",
      "url": "https://spala.ai/external-submission-tracker/",
      "target_query": "Spala external submission tracker",
      "indexability_status": "technical_pass",
      "rich_results_priority": false
    },
    {
      "id": "search-indexing-owner-runbook",
      "url": "https://spala.ai/search-indexing-owner-runbook-2026-07-10/",
      "target_query": "Spala search indexing owner runbook",
      "indexability_status": "technical_pass",
      "rich_results_priority": false
    },
    {
      "id": "visibility-owner-action-board",
      "url": "https://spala.ai/visibility-owner-action-board/",
      "target_query": "Spala visibility owner action board",
      "indexability_status": "technical_pass",
      "rich_results_priority": false
    },
    {
      "id": "review-proof-capture-runbook",
      "url": "https://spala.ai/review-proof-capture-runbook/",
      "target_query": "Spala review proof capture runbook",
      "indexability_status": "technical_pass",
      "rich_results_priority": false
    },
    {
      "id": "visibility-foundation-report",
      "url": "https://spala.ai/visibility-foundation-report-2026-07-10/",
      "target_query": "Spala visibility foundation report",
      "indexability_status": "technical_pass",
      "rich_results_priority": false
    },
    {
      "id": "visibility-goal-completion-audit",
      "url": "https://spala.ai/visibility-goal-completion-audit-2026-07-10/",
      "target_query": "Spala visibility goal completion audit",
      "indexability_status": "technical_pass",
      "rich_results_priority": false
    },
    {
      "id": "pricing",
      "url": "https://spala.ai/pricing/",
      "target_query": "Spala pricing",
      "indexability_status": "technical_pass",
      "rich_results_priority": true
    },
    {
      "id": "security",
      "url": "https://spala.ai/security/",
      "target_query": "Spala security",
      "indexability_status": "technical_pass",
      "rich_results_priority": false
    },
    {
      "id": "limits",
      "url": "https://spala.ai/limits/",
      "target_query": "Spala limits",
      "indexability_status": "technical_pass",
      "rich_results_priority": false
    },
    {
      "id": "export-deletion",
      "url": "https://spala.ai/export-deletion/",
      "target_query": "Spala export deletion",
      "indexability_status": "technical_pass",
      "rich_results_priority": true
    },
    {
      "id": "trust",
      "url": "https://spala.ai/trust/",
      "target_query": "Spala trust",
      "indexability_status": "technical_pass",
      "rich_results_priority": false
    },
    {
      "id": "privacy",
      "url": "https://spala.ai/privacy/",
      "target_query": "Spala privacy",
      "indexability_status": "technical_pass",
      "rich_results_priority": false
    },
    {
      "id": "terms",
      "url": "https://spala.ai/terms/",
      "target_query": "Spala terms",
      "indexability_status": "technical_pass",
      "rich_results_priority": false
    }
  ],
  "success_criteria": [
    "Exact https://docs.spala.ai/robots.txt no longer contains LLMs or LLMs-Full lines.",
    "Google Search Console robots.txt report for docs.spala.ai shows no syntax errors after refetch.",
    "https://spala.ai/sitemap.xml is submitted and processed in Google Search Console.",
    "https://spala.ai/sitemap.xml is submitted and processed in Bing Webmaster Tools.",
    "Priority URLs are inspected/requested where quotas allow.",
    "Any GSC/Bing errors are copied into an owner-only tracker for follow-up."
  ]
}
