AEO / GEO Audit
Brillare — AI Search / Answer Engine Optimization (AEO) Audit
Brand: Brillare Science Limited (Emami Group subsidiary) — natural hair & skin care, D2C + marketplaces Site: https://www.brillare.co.in/ (Shopify) Audit date: 20 July 2026 Prepared from: live site inspection (robots.txt, homepage, product page, FAQ page, blog, agent endpoints, pricing feed) + the FY25 business-analysis.md context in this workspace Scope: AI visibility / AEO / GEO — how to get Brillare cited by ChatGPT, Perplexity, Claude, Gemini, Google AI Overviews, and agentic buying systems.
0. TL;DR — What's Strong vs. What's Broken
Brillare is in an unusual, advanced position for AI readiness versus a typical D2C beauty brand. It already ships the agentic-commerce layer most brands don't have (UCP, llms.txt, agents.md, agentic sitemap). But it has two concrete, embarrassing gaps that actively hurt AI citation, plus content-depth gaps that cap visibility.
| Verdict | Item |
|---|---|
| ✅ Strong | llms.txt live (200), agents.md live (200), sitemap_agentic_discovery.xml live (200), .well-known/ucp live (200, valid UCP JSON) |
| ✅ Strong | Product schema is rich: Product + Brand + AggregateRating + Offer + OfferShippingDetails + MerchantReturnPolicy on every product page |
| ✅ Strong | robots.txt explicitly ALLOWS all AI crawlers (no GPTBot/ClaudeBot/PerplexityBot/Google-Extended block) — so every platform can cite the site |
| ✅ Strong | Hero content engine + founder scientific credibility ("21 patents", "Zero Dilution Promise") — exactly the authority signals AI cites |
| ❌ Broken | /pricing.md returns 404 — the single most-fixable agentic-commerce gap; AI buyers can't read structured pricing |
| ❌ Broken | FAQ page is an unfilled Shopify placeholder — repeated dummy "Use this text to answer questions…" text, no real Q&A, and a wrong email (info@… instead of customercare@brillarescience.com) |
| ⚠️ Weak | Homepage schema = only Organization + WebSite; no FAQPage, no breadcrumbs, and sameAs has 4 empty-string social entries (degraded entity graph) |
| ⚠️ Weak | No blog / content hub (0 articles) — no comparison guides, how-to, ingredient education; this is where competitors (Mamaearth, etc.) win AI citations |
| ⚠️ Weak | Product descriptions are thin/JS-rendered; body text extraction returned near-empty for AI — star ratings shown but low review counts (e.g. 3 reviews) |
| ⚠️ Weak | No "Where to Buy" / store-locator page (all 404) despite being on Amazon/Nykaa/Flipkart |
Priority fixes (in order): (1) ship /pricing.md — a draft is delivered with this report; (2) fix the FAQ page; (3) add BreadcrumbList + FAQPage schema; (4) launch a content hub; (5) build a "Where to Buy" page.
1. AI Bot Access Check (robots.txt)
The robots.txt is permissive and agent-friendly — a real asset.
User-agent: * Allow: /— everything allowed by default.- AI search crawlers are NOT blocked. GPTBot, ChatGPT-User, PerplexityBot, ClaudeBot, anthropic-ai, Google-Extended, Bingbot are all free to crawl and cite the public catalog. (No
Disallowrules target them.) - The file even advertises the agent layer:
# Agent instructions: /agents.md,# UCP discovery: /.well-known/ucp,# UCP/MCP endpoint: /api/ucp/mcp, and instructs agents to prefer the Shop skill / UCP with human approval on checkout. - Only private/transactional paths are disallowed (
/admin,/cart/,/checkout,/orders,/account, AJAX surfaces). That's correct — it does not block citation.
Verdict: PASS. No business decision needed here; this is a competitive advantage. (Note: api/ucp/mcp returned 404 on a bare POST /tools/list and 422 on a malformed call — the discovery endpoint /.well-known/ucp works and returns valid UCP JSON, so the MCP surface is endpoint-gated; not an AEO blocker.)
2. Machine-Readable Files for AI Agents
| File | Status | Notes |
|---|---|---|
/llms.txt | ✅ 200 | Full agent instructions; mirrors agents.md. Well written — describes UCP flow, browse endpoints, policies. |
/agents.md | ✅ 200 | Canonical agent-facing description. Solid. |
/pricing.md | ❌ 404 | MISSING. Highest-impact gap — see Section 3. |
/.well-known/ucp | ✅ 200 | Valid UCP merchant profile JSON (version 2026-04-08, supported versions, services). |
/sitemap_agentic_discovery.xml | ✅ 200 | Shopify auto-generated agentic sitemap present. |
/api/ucp/mcp | ⚠️ 404/422 | MCP endpoint not directly callable without proper handshake; discovery works via /.well-known/ucp. |
Observation: The agentic-commerce scaffolding is more mature than 95% of D2C brands. The one glaring omission is pricing.md — the file these same agents are told to read for price discovery. Fixing it closes the loop.
3. The #1 Fixable Gap: Missing /pricing.md
Finding: GET https://www.brillare.co.in/pricing.md → 404.
Why it matters: Non-Google AI engines (ChatGPT, Claude, Perplexity) and autonomous buying agents reward extractable, machine-readable pricing. When an AI agent evaluates Brillare vs a competitor on a buyer's behalf, opaque/JS-rendered pricing gets filtered out and the competitor is recommended instead. The skill's guidance is explicit: "Opaque pricing gets filtered out of AI-mediated buying journeys. A simple markdown file is trivially parseable by any LLM."
Delivered with this report: pricing.md — a ready-to-deploy draft generated from the live Shopify feed (172 priced SKUs from pricing-data.csv). It lists every product with price (INR) and a direct /products/{handle} link, grouped into Brillare's actual price tiers, plus hero products and Where-to-Buy links.
To ship:
- Upload
pricing.mdto the Shopify store root (or add a redirect so/pricing.mdserves it). - Keep it updated whenever prices change — stale pricing is worse than none.
- Link it from
llms.txt/agents.md(currently they point to policy URLs only) and from the main pricing page. - Optional: also expose a
/pricing.txtand keep the JSON feed (/products/{handle}.json) as the machine-truth source.
4. Homepage & Entity Signals
What's good:
<title>: "100% natural, high performance hair & skin care. – Brillare" — clear, benefit-led.- Meta description present and specific (hair fall, dandruff, dry/damaged hair, acne, pigmentation).
- OG tags present; canonical present.
- One real H1 on the hero ("Better Ingredients, Better Results!"); the other H1 is the logo wrapper (standard Shopify).
What's weak (AEO impact):
- JSON-LD = only
Organization+WebSite. NoFAQPage, noBreadcrumbList, no author/editorial signals on the homepage. Organization.sameAsis degraded: the array contains 4 empty-string entries ("", "", "", "") interleaved with the real social URLs. Empty strings weaken the entity graph AI uses to connect Brillare ↔ its Instagram/LinkedIn/YouTube. Clean these to only the valid handles (IG, YT confirmed; LinkedIn confirmed; Facebook confirmed link but not verified count).- No definition/answer block on the homepage for "What is Brillare?" — though
/pages/our-storyand/pages/zero-dilution-promiseexist (the latter is content-rich at ~185K chars and is a strong AEO asset once structured).
5. Product Page Extractability (Strength)
Sampled product page (1-salicylic-acid-body-lotion-for-acne-prone-skin) shows best-in-class product schema:
@type: Product, Brand, AggregateRating, Offer, OfferShippingDetails,
MonetaryAmount, DefinedRegion, MerchantReturnPolicy
This means AI engines can extract: product identity, brand, aggregate rating, price + currency + availability, shipping, and return policy — directly. This is a genuine strength and unusual for a brand this size.
Caveats:
- Review volume is low. The sampled product shows
ratingValue 4.33but onlyreviewCount: 3. AI engines prefer "4.8 stars from 234 reviews" over a 4.3 from 3 reviews. AggregateRating schema is present (good), but the underlying review count is thin — a content/trust gap, not a markup gap. - Product description body text extracted near-empty for the AI pass (the description renders via JS/theme components). Core Search and AI agents need to see the description in server HTML. Verify the PDP description is in the initial HTML, not injected post-hydration.
- No
BreadcrumbListon product pages — AI uses breadcrumbs to understand category hierarchy ("Natural → Hair Care → Oil Shots"). Add it. - No
FAQPageon product pages — hair/skin PDPs are ideal for "How do I use this?", "Is it safe in pregnancy?", "How long to see results?" Q&A that gets extracted verbatim.
6. The FAQ Page Is a Placeholder (Broken Trust Signal)
Finding: https://www.brillare.co.in/pages/faqs → returns a Shopify FAQ section template that was never populated.
Extracted body text (verbatim):
"Frequently asked question — Use this text to answer questions in as much detail as possible for your customers." (repeated 6×)
Plus a contact line with the wrong email: info@… — but the brand's real customer-care address (from business-analysis.md, sourced from the corporate-gifting page) is customercare@brillarescience.com.
Why it hurts AEO:
- FAQ schema is the single highest-yield AEO markup (direct Q&A extraction for "Is Brillare natural?", "Does rosemary oil help hair growth?", etc.). A placeholder = zero extractable FAQ.
- A wrong email in a public FAQ erodes AI trust signals and could propagate into AI answers ("contact Brillare at info@…").
- It reads as abandoned — AI freshness/quality heuristics downweight stale, templated pages.
Fix: Replace with 8–12 real Q&As written in natural search phrasing (see Section 9 for the query set), add FAQPage JSON-LD, correct the email to customercare@brillarescience.com, and add a "last updated" date.
7. Content Hub Gap (Where Competitors Win)
Finding: The blog (/blogs/news) returns 0 articles. There is no comparison content, how-to/ingredient education, or origin storytelling published as indexable articles.
Why it matters (per the skill's citation-share data):
- Comparison articles ≈ 33% of AI citations; definitive guides ≈ 15%; how-to ≈ 8%. Brillare publishes none.
- Competitors (Mamaearth, WishCare, Pilgrim, Juicy Chemistry) actively publish ingredient-education and "X vs Y" content that gets cited in ChatGPT/Perplexity answers for queries like "best rosemary oil for hair growth India" or "Brillare vs Mamaearth."
- Brillare's owned assets (founder 21 patents, Zero Dilution Promise, "Compare Kar Ke Dekh Lo") are perfect citation bait — but they live on static pages, not in a crawled, linked content cluster that fans out to related queries (Google's query fan-out needs topical coverage, not one page per keyword).
Fix: Stand up a content hub. Start with 6–10 posts mapped to the priority queries in Section 9 (ingredient explainers, "Oil Shots vs regular hair oil," "natural vs chemical hair care," "rosemary oil for hair growth — what the evidence says," routines for hair fall/dandruff/acne). Each post should use the definition/step/comparison/FAQ block patterns (Section 9 templates) and cite the brand's own clinical-style claims with dates.
8. "Where to Buy" / Store Locator Gap
Finding: /pages/where-to-buy, /pages/store-locator, /pages/stores all → 404. (/pages/contact-us exists.)
Brillare sells on D2C + Amazon + Nykaa + Flipkart but has no public "where to buy" page. "Where can I buy Brillare?" is a high-intent query AI assistants answer directly. Without that page, AI answers either omit Brillare or point only to one channel.
Fix: Add a "Where to Buy" page listing all four channels with direct links (D2C, Amazon brand store, Nykaa, Flipkart) and any salon/professional availability. This also supports the agentic-commerce narrative already in agents.md.
9. Priority Query Set & Recommended Content Patterns
Top queries Brillare should own in AI answers (mix of informational, comparison, and "where to buy"):
- "What is Brillare?" / "Is Brillare natural?"
- "Best rosemary oil for hair growth in India" / "Brillare rosemary oil shots review"
- "Brillare vs Mamaearth" / "Brillare vs WishCare" (comparison)
- "How to use hair oil shots" / "How to reduce hair fall naturally"
- "Brillare Zero Dilution Promise — what does it mean?"
- "Where to buy Brillare products?"
- "Best natural shampoo for dandruff India"
- "Is Brillare safe / cruelty-free / vegan?" (per Vogue feature: cruelty-free, vegan, 100% natural)
- "Brillare founder Jigar Patel formulation scientist" (entity/authority)
- "Brillare pricing / is Brillare worth it?" (ties to
/pricing.md)
Block patterns to apply (from the skill):
- Definition block for "What is Brillare?" — lead with a 1-sentence answer, then expand.
- Comparison table for "Brillare vs [competitor]" — feature-by-feature with a "best for" row.
- Step-by-step block for "How to use Oil Shots."
- FAQ block on the FAQ page and key PDPs — natural phrasing, 50–100 word answers,
FAQPageschema. - Statistic blocks — cite the brand's own data with dates (e.g., "FY25 revenue ₹48.9 Cr, +44% YoY — Brillare FY25 audited financials"; "Rosemary Oil Shots short: 29.6M views"). Statistics + citations lift AI citation ~40%.
Authority moves (GEO research, Princeton KDD 2024):
- Add named expert attribution: founder Jigar Patel, "formulation scientist, 21 patents" — quote him on ingredient choices.
- Add "last updated" dates to every content/FAQ/policy page.
- Keep E-E-A-T: first-hand formulation detail, transparent sourcing, real (not placeholder) contact info.
10. Third-Party Presence (Pillar 3: Presence)
AI engines cite third-party sources more than brand-owned domains. Brillare's current third-party footprint:
- Press: Indian Retailer, Economic Times/Bloomberg, Vogue India (Zero Dilution feature), StyleSpeak, BW Wellbeing World, D2C India — strong, citable brand journalism.
- Wikipedia: Not confirmed in this engagement — a Wikipedia presence would materially help ChatGPT citations (Wikipedia ≈ 7.8% of ChatGPT citations).
- Reddit/Quora: Not assessed; authentic participation on "natural hair care India" threads would add citations.
- Review aggregators: Amazon/Nykaa/Flipkart reviews exist but aren't surfaced on-site or aggregated.
- YouTube: 3.96K subs but 151 videos and a 29.6M-view hero short — YouTube is frequently cited by Google AI Overviews; lean into it.
Action: Pursue/verify a Wikipedia entry; ensure press features are linked from the site (an "As featured in" / press section aids both trust and citation); consider authentic Reddit/Quora answers on relevant threads.
11. Recommended Action Plan (Prioritized)
| # | Action | Effort | AEO Impact | Owner |
|---|---|---|---|---|
| 1 | Deploy /pricing.md (draft delivered) | Low | High | Web/dev |
| 2 | Fix FAQ page — real Q&As + FAQPage schema + correct email customercare@brillarescience.com + date | Low | High | Content |
| 3 | Add BreadcrumbList schema site-wide (product/collection) | Low | Medium | Dev |
| 4 | Clean Organization.sameAs (remove 4 empty strings) | Low | Medium | Dev |
| 5 | Add FAQPage schema to top PDPs (hair fall, dandruff, rosemary, acne) | Medium | Medium | Dev/Content |
| 6 | Launch content hub (6–10 posts on priority queries, Section 9) | High | High | Content/SEO |
| 7 | Add "Where to Buy" page (D2C + Amazon + Nykaa + Flipkart) | Low | Medium | Web |
| 8 | Verify PDP descriptions render in server HTML (not JS-only) | Medium | Medium | Dev |
| 9 | Build review volume (UGC prompts) to raise reviewCount | Medium | Medium | CRM |
| 10 | Pursue Wikipedia + press/As-Featured-In section | Medium | Medium | PR |
| 11 | Add hreflang="en-IN" (single-market but signals geo focus) | Low | Low | Dev |
12. Monitoring
- Monthly DIY check: run the top 10–20 queries (Section 9) through ChatGPT, Perplexity, and Google AI Overviews; log whether Brillare is cited and by which page.
- Tools (cross-platform): Peec AI, Otterly AI, ZipTie, LLMrefs for share-of-AI-voice tracking.
- Google: no AI-specific Search Console report exists — rely on standard Performance/Coverage/Core Web Vitals; AI Overviews use core ranking, so traditional SEO health underpins AEO.
- Track referral traffic from AI sources in GA4 (ChatGPT/Perplexity referrers).
13. Sources & Citations
- Live site inspection, 20 July 2026:
https://www.brillare.co.in/— robots.txt,/llms.txt,/agents.md,/.well-known/ucp,/sitemap_agentic_discovery.xml, homepage, product page (/products/1-salicylic-acid-body-lotion-for-acne-prone-skin),/pages/faqs,/blogs/news,/pages/our-story,/pages/zero-dilution-promise,/pages/contact-us. - Pricing feed:
pricing-data.csv(this workspace; 172 priced SKUs from live Shopify). - Business context:
business-analysis.md(this workspace) — Brillare FY25 financials (₹48.9 Cr revenue, +44% YoY; net loss ₹18.76 Cr; 100% Emami-owned), 173 SKUs, marketplace presence, social handles, founder/patents, competitor set, press coverage. - Shopify agent/agentic-commerce conventions referenced via the live
agents.md/llms.txt(UCP, Shop skill). - Skill framework:
ai-seov2.1.0 (structure/authority/presence pillars; Princeton GEO citation-boost table; e-commerce content patterns).
Deliverables in this workspace: AEO-AUDIT.md (this report) and pricing.md (deployable draft for the #1 gap).