File viewer
draft_12082026_0255.json
/app/data/llm/draft/bupa/draft_12082026_0255.json
{
"summary_points": [
"The VHIS page is invisible in both search and AI. Evidence: ranks 15th for '自願醫保' (10,000 volume, zero traffic) and earns only 4 AI responses vs 29–48 for competitors. Implication: paid spend has risen 645% to backfill losses.",
"Bot access is open and not the cause. Evidence: live checks show 0% blocking on six AI crawlers, and Brand Radar confirms 29 own-domain citations. Implication: the gap is retrieval/content preference, not access.",
"Paid spend surged 645% as organic traffic collapsed. Evidence: Ahrefs shows paid keywords up, matching the lost organic positioning on head terms. Implication: each month unfixed increases 'tax' on budget.",
"Link attrition (95%) is a symptom, not the bottleneck. Evidence: Bupa holds 417 keywords in positions 1–3 despite the loss, and failures concentrate in head commercial terms where template/indexation rules. Implication: focus on fixing onsite signals, not acquiring links."
],
"method_notes": "This analysis combines three independent data sources: Ahrefs (keyword rankings, paid spend, backlinks), Brand Radar (AI citation demand and source attribution), and live HTTP checks (crawler access, response codes). Together they close the gap between surface-level 'low authority' narratives and the actual mechanism: Bupa is in answers but not sourced. The migration hypothesis (consistent with 95% link attrition) was surfaced only by cross-referencing Ahrefs and live-check 404s. Prior vendor approaches often led with backlinks; this data corrects that focus.",
"featured_finding": {
"headline": "Bupa's own VHIS comparison page is invisible as an AI source on the highest-demand questions in its market — and the door is technically open.",
"narrative": "The top AI query in the VHIS category, '香港自愿医保哪家好?', generates 2,100 impressions in Google AI Overviews, with the cluster adding thousands more. Yet Bupa's directly relevant page (bupa.com.hk/en/medical-insurance/vhis-info/voluntary-health-insurance-schemes-comparison-2026/) earns only 4 responses — while moneyhk101.com’s equivalent page earns 29 and Bowtie’s domain earns 48. Ahrefs shows the same failure in classic SERPs: '自願醫保' (10,000 volume) ranks 15th with zero organic clicks, and paid spend has increased 645% to cover the shortfall.\n\nLive checks confirm 0% blocking across GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, Google-Extended, and Bytespider. Brand Radar’s 29 own-domain citations prove production AI crawlers reach the site. The mechanism is therefore not access or link authority: it is that AI retrieval and classic search both prefer third-party comparison pages over Bupa’s own asset.\n\nThe consequence: Bupa is mentioned in answers (entity recognized) but the citation — and the click — routes to aggregators and a direct competitor, where Bupa’s message is filtered and competitors are promoted alongside. This co-occurs with zero organic traffic on the head term and the paid-spend backfill.\n\nThis is fixable on-site. The client can verify in week 1 by inspecting the top VHIS AI Overviews. The unknowns — indexation, crawl depth, internal linking, content comprehensiveness — are exactly what a crawl plus GSC access resolves, and that is the first deliverable.",
"proof_points": [
"Brand Radar: top VHIS question '香港自愿医保哪家好?' generates 2,100 AIO impressions; Bupa’s VHIS comparison page gets 4 responses vs moneyhk101’s 29 and Bowtie’s 48.",
"Ahrefs: '自願醫保' (10,000 volume) ranks 15th with zero organic traffic; paid spend increased 645%.",
"Live checks: 200 OK for all six AI crawlers across /en/ and /zh-hk/ — no blocking.",
"Brand Radar: 29 own-domain citations prove crawlers reach and cite the site."
],
"why_it_wins": "This finding sits at the intersection of the two largest demand pools (10,000-volume head term and top AI question cluster), explains the paid-cost trajectory, is demonstrably not a backlink problem, and every month unfixed allows Bowtie and aggregators to capture demand originating from Bupa’s own brand."
},
"key_findings": [
{
"finding": "AI source-citation gap concentrates on VHIS comparison queries where Bupa has a directly relevant page.",
"evidence": "Brand Radar: Bupa’s VHIS comparison page earns 4 responses; moneyhk101.com earns 29; Bowtie domain earns 48. The top AI query (2,100 impressions) and the full cluster drive thousands of impressions with Bupa as entity but not source.",
"implication": "Bupa loses the citation and the click on its own category of highest-demand content — a fixable onsite issue that also depresses organic search traffic."
},
{
"finding": "Two live-checked URLs return 404 for every agent, consistent with a site migration or restructure without redirects.",
"evidence": "Live checks: https://www.bupa.com.hk/contact/ and https://www.bupa.com.hk/services/ return 404 for all tested AI crawlers and datacenter IP.",
"implication": "If these pages had traffic or links, their loss contributes to the link attrition (95%) and potential indexation gaps. Verify migration timeline in week 1."
},
{
"finding": "Link attrition (95% loss) is a historical residue, not the current bottleneck.",
"evidence": "Ahrefs: 95% backlink loss and 76% referring domain loss, co-occurring with site migration pattern. Yet Bupa holds 417 keywords in positions 1–3, and failures cluster in head commercial terms where template/indexation dominate.",
"implication": "Prioritize cleanup (audit lost pages, redirect chains) but do not invest in link acquisition until the onsite and AI citation issues are resolved."
}
],
"risk_areas": [
{
"issue": "VHIS comparison page underperforms in AI and search — zero traffic on head term, 4 vs 29+ AI citations.",
"priority": "P0",
"effort": "MEDIUM",
"impact": "HIGH",
"detail": "Page path: /en/medical-insurance/vhis-info/voluntary-health-insurance-schemes-comparison-2026/. Loses 2,100+ AI impressions per query and 10,000-volume keyword with zero organic traffic."
},
{
"issue": "Two URLs ( /contact/ and /services/ ) return 404 for all crawlers — potential lost pages/pathways.",
"priority": "P1",
"effort": "LOW",
"impact": "MEDIUM",
"detail": "Paths: /contact/ and /services/. May indicate broader structural issue if related pages were removed without redirects."
},
{
"issue": "Link attrition (95%) indicates possible migration residue with unknown impact on indexation.",
"priority": "P1",
"effort": "HIGH",
"impact": "MEDIUM",
"detail": "76% referring domain loss; investigation requires Wayback Machine and server logs to determine cause and confirm whether any indexed pages now return 404 or 301 loops."
}
],
"bot_management": {
"observed_facts": [
"Live checks: PerplexityBot returns 200 on all three paths (/en/, /zh-hk/, /en/medical-insurance/vhis-info/voluntary-health-insurance-schemes-comparison-2026/).",
"Live checks: All six AI crawlers (GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, Google-Extended, Bytespider) returned 200 on the tested paths.",
"Live checks: A single datacenter IP (not identified as a specific crawler) returned 403 on /en/ and /zh-hk/ root paths.",
"Brand Radar: 29 own-domain citations confirm production AI crawlers successfully retrieve and cite the site."
],
"seo_risks": [
"No SEO risk from AI crawler blocking — the above facts show access is open."
],
"geo_hypothesis": {
"claim": "The AI citation gap is not caused by AI crawler blocking — access is open.",
"supporting": [
"Live checks: 0% blocking across six AI crawlers.",
"Brand Radar: 29 own-domain citations (21% share) prove production crawlers reach and cite the site."
],
"prevents_calling_fact": [
"The live check is UA-based from a single datacenter IP; some crawlers may use different IPs or have custom rules not captured.",
"Brand Radar counts citations but cannot prove every crawler passed every page."
],
"definitive_check": "Review server logs or GSC crawl stats for AI crawler user agents (e.g., Google-Extended, GPTBot) to confirm access patterns at scale."
},
"recommendations": [
"Audit the `robots.txt` file and `.htaccess` rules for any conditional blocking (e.g., IP-based) that could affect specific crawlers or datacenter ranges.",
"Request server logs from the hosting provider and filter by known AI crawler user agents to confirm production access.",
"Do not adjust crawler settings; focus instead on content and indexation improvements."
],
"method_caveat": "The live check methodology is UA-based from a single datacenter IP and is confounded by potential IP-range-specific rules. It cannot definitively prove that all production AI crawler traffic is allowed; only server logs or GSC can confirm."
},
"narrative_arc": [
"The problem is not what you think: Bupa is not blocked, not link-poor, and not unknown to AI — it is present in answers but not cited as a source.",
"The single most valuable fix: making the VHIS comparison page discoverable and citable by AI solves the largest demand cluster (10,000-volume keyword + thousands of AI impressions) and stops the 645% paid spend leak.",
"We have already found the root cause: live checks rule out bot blocking, Brand Radar isolates the source-citation gap, and Ahrefs confirms the traffic collapse — all converging on one asset family with the same fix.",
"You can verify and act in week 1: inspect the top VHIS AI Overviews, run a crawl on that page, grant GSC access, and we’ll deliver an indexation and template audit within days."
],
"recommendations": [
{
"action": "Audit the VHIS comparison page for indexation, crawl depth, internal linking, and content completeness.",
"rationale": "Brand Radar shows it earns only 4 responses vs 29–48 for competitors; Ahrefs shows zero organic traffic on the head term. Determining why AI and search overlook it is the first step.",
"validation": "After fixes, re-run Brand Radar and Ahrefs for that specific page — expect citation count and keyword position improvements."
},
{
"action": "Investigate /contact/ and /services/ 404s and any related path changes from the migration hypothesis.",
"rationale": "Live checks found two 404s; combined with 95% link attrition, this suggests a structural change without redirects. Use Wayback Machine and server logs to map lost pages.",
"validation": "Implement 301 redirects from any confirmed lost pages; confirm via live HTTP check post-implementation."
},
{
"action": "Request GSC access and server logs to confirm AI crawler access patterns and diagnose the migration timeline.",
"rationale": "Verifies the bot-management findings and provides the definitive check for the migration hypothesis.",
"validation": "Cross-reference GSC crawl stats with ahrefs link-loss timeline; confirm what (if any) pages were deindexed."
}
],
"hypotheses": [
{
"claim": "The 95% link attrition is due to a site migration, restructure, or domain change without proper redirects.",
"status": "suggestive",
"how_to_verify": "Review Wayback Machine snapshots from before the attrition period (Ahrefs shows last data point) to identify URL changes, then cross-check with server logs or GSC crawl errors."
},
{
"claim": "The VHIS comparison page is not properly indexed or crawled by AI crawlers despite being accessible.",
"status": "unverified",
"how_to_verify": "Check Google Search Console for the URL’s indexation status and last crawl date; also use GSC URL inspection tool to request indexing."
}
]
}