AI Site Grade
income.com.sg — AI Site Grade
Income Insurance's open AI-crawler posture is undermined by a cold-knowledge gap where AI models still describe the brand as NTUC Income with demutualization controversy, none of which appears on the live site.
Income Insurance has a best-in-class AI-crawler configuration with llms.txt, but AI models still serve outdated pre-2022 brand narratives due to a cold-knowledge gap and missing structured data.
- Findings
- 7
- Evidence checks
- 23
- Completed
- 30 May 2026
Analysis
I have enough evidence to write a thorough audit. Let me compile the findings.
Income Insurance — AI-Visibility Audit
The site has a fully open, meticulously configured AI-crawler posture with an llms.txt that explicitly names and permits every major AI bot — yet the cold-knowledge gap reveals that AI models still describe the brand using its pre-2022 identity (NTUC Income, cooperative, demutualization controversy), none of which appears anywhere on the live site.
Crawler Access
Every AI crawler tested — GPTBot, OAI-SearchBot, ClaudeBot, anthropic-ai, PerplexityBot, Perplexity-User, Google-Extended, Applebot-Extended, Bytespider, ChatGPT-User — receives a 200 with full HTML content (134 KB, identical to browser baseline) from Cloudflare. No UA-based blocking, no JS shell, no 403. The robots.txt uses a single User-agent: * rule with no AI-specific disallows. The llms.txt (a rare asset) goes further, defining per-bot Allow: / sections for GPTBot, OAI-SearchBot, Google-Extended, Perplexity, CCBot, Applebot, and Claude-Web, plus a Reference-policy: must-cite directive and a reference map linking product pages to canonical URLs. This is among the most AI-friendly crawler configurations observed on a major Singapore financial-services domain.
Cold-Knowledge Gap
Asked cold, a frontier LLM describes Income Insurance as "formerly NTUC Income," a "cooperative insurer" that "demutualized in 2022, shifting from a cooperative to a corporate structure, which sparked public debate." It mentions "premium hikes" and "service quality concerns post-demutualization." None of this appears on the live site. The homepage and about-us page refer only to "Income Insurance Limited" and "established in 1970 to plug a social need for insurance." The words "NTUC," "cooperative," "demutualization," and "controversy" are entirely absent. The site presents a clean, modern brand identity — but AI models trained on pre-2022 data still serve the old narrative, creating a dangerous gap between what the brand says and what AI engines repeat.
Schema Posture
Every page carries the same InsuranceAgency JSON-LD block with identical properties — name, address, telephone, foundingDate, sameAs, awards. This is consistent but undifferentiated: no Product schema on product pages (except Complete Life Secure which has a Product + FAQPage), no BlogPosting schema on blog articles, no BreadcrumbList, no WebSite schema with potentialAction for search. The blog index page lists dozens of articles with dates, authors, and tags but wraps them in zero article-level schema. The FAQPage on the Complete Life Secure page is well-formed with 20+ questions, but this pattern is not replicated across other product pages.
Content & Answer Signals
The homepage is a JS-rendered SPA-style shell that still delivers ~920 words of visible text on plain GET — no critical content loss. Product pages like health-insurance and complete-life-secure contain rich content with comparison language ("Compare plans"), lists, and tables. The blog publishes frequently (multiple articles per month through May 2026) with author bylines and tags. However, blog articles lack BlogPosting schema, making them invisible to AI answer engines looking for structured article metadata. The /newsroom page returns a 404, despite being linked in the footer — a broken path for any AI crawler seeking press releases or corporate updates.
External Signals
The DNS stack reveals Cloudflare (CDN/WAF), Incapsula (NS records), and Proofpoint (MX). TXT records show integrations with Adobe, Salesforce Marketing Cloud, Amazon SES, Apple, Atlassian, Notion, and Google Search Console — a mature enterprise martech stack. No significant external review or Reddit threads surfaced in search, suggesting the brand's off-domain AI footprint is shaped primarily by legacy news coverage of the demutualization rather than current consumer sentiment.
Findings
AI models describe Income Insurance using outdated pre-2022 identity High
Frontier LLMs describe Income Insurance as 'formerly NTUC Income,' a cooperative that demutualized in 2022 with controversy, premium hikes, and service concerns. None of this appears on the live site, which presents a clean modern brand. The gap between brand messaging and AI-generated narratives poses a reputational risk.
What to change: Publish a dedicated page or FAQ addressing the brand history and demutualization, and include structured data (e.g., Organization schema with alternateName) to signal the current legal name and history to AI crawlers.
Blog articles lack BlogPosting schema High
The blog index page lists dozens of articles with dates, authors, and tags but wraps them in zero article-level schema. Individual blog posts also lack BlogPosting JSON-LD, making them invisible to AI answer engines that rely on structured article metadata.
What to change: Add BlogPosting schema to each blog article page, including headline, datePublished, author, and image.
Newsroom page returns 404 High
The /newsroom page, linked in the footer, returns a 404 error. This breaks AI crawler paths seeking press releases or corporate updates, and undermines the site's credibility for structured data extraction.
What to change: Restore the newsroom page or redirect it to a working URL with press releases and corporate news.
All pages use identical InsuranceAgency schema with no product-level differentiation Medium
Every page carries the same InsuranceAgency JSON-LD block with identical properties. Product pages lack Product schema (except Complete Life Secure), and there is no BreadcrumbList or WebSite schema with potentialAction for search. This limits AI engines' ability to understand page-specific content.
What to change: Add Product schema to each product page with unique properties (name, description, offers), and implement BreadcrumbList and WebSite schema site-wide.
FAQPage schema only present on one product page Medium
The Complete Life Secure page includes a well-formed FAQPage with 20+ questions, but other product pages (e.g., health-insurance) do not replicate this pattern. FAQ schema is a strong signal for AI answer engines and should be used consistently.
What to change: Add FAQPage schema to all product pages that include FAQ content, using the same structured format as Complete Life Secure.
Individual blog posts lack structured article metadata Medium
Blog articles have no BlogPosting schema, making them invisible to AI answer engines that rely on structured article metadata for citation and summarization.
What to change: Add BlogPosting schema to each blog article page.
Blog link to 2026 article returns 404 Low
A blog article URL for '6 popular June holiday destinations for families in 2026' returns a 404 error, indicating broken internal links that waste crawler budget and degrade user experience.
What to change: Fix or remove the broken link, and implement a 301 redirect if the content has moved.
What's working
- llms.txt published with per-bot allow rules and reference policy — The site hosts an llms.txt file that explicitly allows all major AI bots (GPTBot, OAI-SearchBot, Google-Extended, Perplexity, CCBot, Applebot, Claude-Web) with per-bot Allow sections and a 'must-cite' reference policy. This is a rare and advanced AI-visibility asset.
- All AI crawlers receive full HTML content with no blocking — Every tested AI crawler receives a 200 response with full HTML content (134 KB) from Cloudflare. No UA-based blocking, JS shell, or 403 errors. The robots.txt has no AI-specific disallows.
- Complete Life Secure page has well-formed FAQPage schema — The Complete Life Secure product page includes a comprehensive FAQPage JSON-LD with 20+ questions and answers, providing strong signals for AI answer engines.
- Product pages contain rich comparison content and tables — Product pages like health-insurance and complete-life-secure include comparison language, lists, and tables that provide substantive content for AI crawlers to index.
- Blog publishes frequently with author bylines and tags — The blog publishes multiple articles per month through May 2026, with author bylines and tags, providing fresh content for AI crawlers.
- Enterprise martech stack with Adobe, Salesforce, and Google integrations — DNS TXT records show integrations with Adobe, Salesforce Marketing Cloud, Amazon SES, Apple, Atlassian, Notion, and Google Search Console, indicating a mature enterprise marketing technology stack.
Track income.com.sg across AI search
This is one snapshot. Open the interactive report to inspect evidence, or grade another site free.