<!--
Instructions for the AI assistant reading this document:

This is an Answer Engine Optimization (AEO) audit of https://kiedex.app/rewards.
Treat it as a TODO list. Apply the prioritized fixes from sections 13
(Recommended Fixes) and 14 (Priority To-Do List) to the user's codebase,
starting with P1 items and working down. For each fix:

  1. Identify the file(s) in the user's repo that render the affected
     markup or headers.
  2. Make the smallest change that resolves the issue.
  3. Show the user a diff before applying.

Skip items the user has already addressed. Group changes into logical
commits (e.g. "add security headers", "broaden schema").
-->

# AEO Audit for kiedex.app

**Target:** https://kiedex.app/rewards  
**Score:** 25 / 100  
**Generated:** 2026-05-21T02:41:04.505Z  
**Pages crawled:** 1  
**Findings:** 25 pass · 77 warn · 15 fail · 0 unknown

---

## 1. Crawl Summary

- ✅ **Fetched 1 of 1 pages successfully**
  Target: https://kiedex.app/rewards

## 2. Data Found

| Data Point | Found? | Source | Notes |
|---|---:|---|---|
| Pricing | No | — | — |
| Customer logos | No | — | — |
| Social proof | No | — | — |
| Recent launches | No | — | — |
| Blog post activity | No | — | — |
| New hires | No | — | Often only on a /blog/team or LinkedIn page |
| Headline copy | No | — | — |
| Positioning | No | — | — |
| Executive team | No | — | — |
| Product/service descriptions | Yes | Homepage | From meta description |
| Case studies or testimonials | No | — | — |
| Contact/demo/signup paths | No | — | — |

## 3. Homepage Audit

- ❌ **Missing H1**
  No `<h1>` element found. LLMs use the H1 as the strongest signal of what the page is about.
- ❌ **Important content appears to be JavaScript-rendered**
  Raw HTML contains 39 chars of text; rendered DOM contains 256 (6.6× more). LLM crawlers like GPTBot generally do not run JavaScript — they will miss most of your content.
- ❌ **Content volume: 0 words**
  Very thin content. AI models need substantive text to understand and recommend your site.
- ❌ **Heading structure: 0 (h1:0, h2:0, h3:0)**
  Few headings make it hard for AI to understand sectioning. Use h2/h3 to label each section.
- ❌ **Internal links: 0**
  Few internal links. Add a nav/footer with links to your key pages so AI crawlers can discover them.
- ✅ **Homepage fetched successfully**
  HTTP 200 · 2147 bytes · 85ms
- ✅ **Page load time: 0.09s**
  Fast — well within AI crawler budgets.
- ✅ **<html lang="en"> declared**
- ✅ **`<title>` present (39 chars)**
- ✅ **Meta description present (76 chars)**
- ✅ **Canonical present**
  https://kiedex.app
- ✅ **Open Graph tags complete**
- ✅ **Twitter Card tags complete**
- ✅ **Favicon declared**

## 4. Content Quality

- ❌ **Snippet-ready blocks: 0 (ul:0, ol:0, table:0)**
  Add bullet lists, numbered steps, or a comparison table. Answer engines prefer structured blocks over prose.
- ❌ **Text-to-HTML ratio: 0.0%**
  Very low text density. AI crawlers will struggle to find substantive content.
- ⚠️ **No question-style headings found**
  Phrase at least one heading as a user question (e.g. 'How does pricing work?') to match conversational AI queries.
- ⚠️ **No date signal found**
  Add <time datetime="…"> or article:published_time meta. AI ranking weights freshness.
- ✅ **Author byline declared**

## 5. Schema / Structured Data Audit

- ❌ **No JSON-LD structured data found**
  Add JSON-LD blocks (Organization, SoftwareApplication, FAQPage, BreadcrumbList) so AI answer engines can ingest your data without guessing.

## 6. Links & Images

_No findings._

## 7. Performance

- ⚠️ **1 render-blocking script(s) in <head>**
  Move non-critical scripts to end of <body> or add `defer`/`async`.
- ✅ **Page size: 2 KB**
  Compact HTML payload — well within AI crawler limits.
- ✅ **Resource requests: 3 (scripts:2, css:1, img:0)**
  Reasonable request count.
- ✅ **Response time: 85ms**
  Fast first response.
- ✅ **Cache-Control set (CDN: Cloudflare)**
  Cache-Control: public, max-age=0, must-revalidate
  CDN detected: Cloudflare, Vercel

## 8. Security

- ⚠️ **Content-Security-Policy missing**
  Define a CSP to limit script sources — large reduction in XSS surface.
- ⚠️ **X-Frame-Options missing**
  Add `X-Frame-Options: SAMEORIGIN` (or use CSP frame-ancestors) to prevent clickjacking.
- ⚠️ **X-Content-Type-Options missing**
  Add `X-Content-Type-Options: nosniff` to block MIME-type sniffing.
- ⚠️ **Referrer-Policy missing**
  Add `Referrer-Policy: strict-origin-when-cross-origin` for safer referrers.
- ⚠️ **Permissions-Policy missing**
  Restrict browser features (camera, mic, geolocation) you don't use.
- ✅ **Served over HTTPS**
- ✅ **No mixed content detected**
- ✅ **HSTS set**
  max-age=63072000

## 9. robots.txt and sitemap.xml Audit

- ⚠️ **Sitemap is empty**
  No <loc> entries found. Sitemap should list canonical URLs.
- ⚠️ **robots.txt does not reference a Sitemap**
  Add `Sitemap: https://yoursite.com/sitemap.xml` to robots.txt.
- ✅ **robots.txt present**
  1898 chars
- ✅ **sitemap.xml present (0 URLs)**

## 10. LLM / AI Crawler Accessibility

- ❌ **GPTBot is blocked**
  robots.txt disallows GPTBot from /. This bot cannot index your site.
- ❌ **ClaudeBot is blocked**
  robots.txt disallows ClaudeBot from /. This bot cannot index your site.
- ❌ **Google-Extended is blocked**
  robots.txt disallows Google-Extended from /. This bot cannot index your site.
- ❌ **Applebot-Extended is blocked**
  robots.txt disallows Applebot-Extended from /. This bot cannot index your site.
- ❌ **CCBot is blocked**
  robots.txt disallows CCBot from /. This bot cannot index your site.
- ⚠️ **PerplexityBot not explicitly addressed**
  No User-agent: PerplexityBot block in robots.txt. We recommend explicit Allow rules so crawlers don't fall back to defaults.
- ⚠️ **OAI-SearchBot not explicitly addressed**
  No User-agent: OAI-SearchBot block in robots.txt. We recommend explicit Allow rules so crawlers don't fall back to defaults.
- ✅ **llms.txt present**
  2147 chars
- ✅ **skill.md present**
- ✅ **/.well-known/ai-plugin.json present**
- ✅ **/.well-known/security.txt present**
  Security contact published — builds trust with crawlers and security researchers.

## 11. Positioning Clarity

- ⚠️ **H1 missing or too short to convey value**
  Add a clear, single-sentence H1 like 'We help X do Y.'
- ❌ **No discoverable CTA**
  Add a clearly-labeled Contact, Demo, or Sign up link to the nav or hero.
- ⚠️ **No clear About/Team link**
  Add an About or Team link in the nav or footer so LLMs can identify the company.
- ⚠️ **No pricing/plans link found**
  AI summaries commonly include pricing. Add a /pricing page even if pricing is custom.
- ⚠️ **Value-prop language not detected**
  Pages with phrases like 'we help X', 'platform for Y', 'built for Z' are easier for LLMs to summarize.

## 12. Missing or Hard-to-Find Information

- ❌ **11 data point(s) could not be found from public pages**
  · Pricing
  · Customer logos
  · Social proof
  · Recent launches
  · Blog post activity
  · New hires
  · Headline copy
  · Positioning
  · Executive team
  · Case studies or testimonials
  · Contact/demo/signup paths

## 13. Recommended Fixes

- ⚠️ **Add a single, focused H1 to the homepage**
  One `<h1>` per page. Write it as 'We help [audience] [do thing].' so an LLM can quote it verbatim.
- ⚠️ **Server-render critical homepage content**
  Move the headline, sub-headline, pricing summary, and CTA into server-rendered HTML. Most LLM bots do not execute JS.
- ⚠️ **Add more substantive homepage content**
  AI models need 300+ words of visible body text to summarize and recommend a site. Add a value-prop paragraph, a short FAQ, and a 'how it works' section.
- ⚠️ **Allow GPTBot in robots.txt**
  Add an explicit
    User-agent: GPTBot
    Allow: /
  block so this AI crawler can read your site.
- ⚠️ **Allow ClaudeBot in robots.txt**
  Add an explicit
    User-agent: ClaudeBot
    Allow: /
  block so this AI crawler can read your site.
- ⚠️ **Allow Google-Extended in robots.txt**
  Add an explicit
    User-agent: Google-Extended
    Allow: /
  block so this AI crawler can read your site.
- ⚠️ **Allow Applebot-Extended in robots.txt**
  Add an explicit
    User-agent: Applebot-Extended
    Allow: /
  block so this AI crawler can read your site.
- ⚠️ **Allow CCBot in robots.txt**
  Add an explicit
    User-agent: CCBot
    Allow: /
  block so this AI crawler can read your site.
- ⚠️ **Rewrite the homepage H1 to be self-evident**
  Replace clever copy with literal copy. 'We help X do Y' beats 'Reimagine Y'.
- ⚠️ **Add a discoverable CTA**
  Place 'Contact sales' or 'Start free' in the top-right of the nav. LLMs cite the visible label.
- ⚠️ **Add JSON-LD structured data**
  Start with Organization on the root layout and SoftwareApplication or Product on /pricing. Add FAQPage on any FAQ section.
- ⚠️ **Add lists or comparison tables**
  Answer engines lift bulleted lists, numbered steps, and tables verbatim. Add at least 2 snippet-ready blocks to the homepage.
- ⚠️ **Raise your text-to-HTML ratio**
  Strip unused inline scripts/styles and move large bundles to external files. AI crawlers struggle when most of the response is markup.
- ⚠️ **Make your About/Team page reachable**
  Add a top-nav or footer link to /about or /team so LLMs can identify the entity behind the site.
- ⚠️ **Add a /pricing page**
  Even contact-us pricing benefits from a /pricing page that LLMs can link to in answers.
- ⚠️ **Populate your sitemap with canonical URLs**
  The sitemap must list `<loc>` entries — empty sitemaps are worse than none.
- ⚠️ **Phrase a heading as a user question**
  Use headings like 'How does pricing work?' or 'Who is this for?' — they map directly to conversational AI queries.
- ⚠️ **Publish a date signal**
  Add `<time datetime="2026-05-17">` or `<meta property="article:published_time">`. AI ranking heavily weights freshness.
- ⚠️ **Add structured headings**
  Use h2 for each section and h3 for sub-points. AI uses these to outline and chunk the page.
- ⚠️ **Add internal navigation links**
  Top nav + footer with links to /pricing, /docs, /about, /contact gives AI crawlers an entry point to the rest of the site.
- ⚠️ **Allow PerplexityBot in robots.txt**
  Add an explicit
    User-agent: PerplexityBot
    Allow: /
  block so this AI crawler can read your site.
- ⚠️ **Allow OAI-SearchBot in robots.txt**
  Add an explicit
    User-agent: OAI-SearchBot
    Allow: /
  block so this AI crawler can read your site.
- ⚠️ **Eliminate render-blocking head scripts**
  Add `defer` or `async` to any `<script src="…">` in `<head>`, or move it to the end of `<body>`.
- ⚠️ **State your audience explicitly**
  Use phrases like 'Built for B2B SaaS marketing teams' on the homepage and About page.
- ⚠️ **Reference your sitemap in robots.txt**
  Add `Sitemap: https://yoursite.com/sitemap.xml` so crawlers don't have to guess.
- ⚠️ **Define a Content-Security-Policy**
  Start with `Content-Security-Policy-Report-Only` to learn safe sources, then enforce. Cuts XSS blast radius.
- ⚠️ **Add X-Frame-Options**
  `X-Frame-Options: SAMEORIGIN` (or CSP `frame-ancestors`) blocks clickjacking via iframe embeds.
- ⚠️ **Add X-Content-Type-Options**
  `X-Content-Type-Options: nosniff` prevents browsers from MIME-sniffing responses.
- ⚠️ **Set a Referrer-Policy**
  `Referrer-Policy: strict-origin-when-cross-origin` is a safe default.
- ⚠️ **Set a Permissions-Policy**
  Restrict browser features you don't use, e.g. `Permissions-Policy: camera=(), microphone=(), geolocation=()`.

## 14. Priority To-Do List

- [ ] **P1** — Add a single, focused H1 to the homepage
      One `<h1>` per page. Write it as 'We help [audience] [do thing].' so an LLM can quote it verbatim.
- [ ] **P1** — Server-render critical homepage content
      Move the headline, sub-headline, pricing summary, and CTA into server-rendered HTML. Most LLM bots do not execute JS.
- [ ] **P1** — Add more substantive homepage content
      AI models need 300+ words of visible body text to summarize and recommend a site. Add a value-prop paragraph, a short FAQ, and a 'how it works' section.
- [ ] **P1** — Allow GPTBot in robots.txt
      Add an explicit
        User-agent: GPTBot
        Allow: /
      block so this AI crawler can read your site.
- [ ] **P1** — Allow ClaudeBot in robots.txt
      Add an explicit
        User-agent: ClaudeBot
        Allow: /
      block so this AI crawler can read your site.
- [ ] **P1** — Allow Google-Extended in robots.txt
      Add an explicit
        User-agent: Google-Extended
        Allow: /
      block so this AI crawler can read your site.
- [ ] **P1** — Allow Applebot-Extended in robots.txt
      Add an explicit
        User-agent: Applebot-Extended
        Allow: /
      block so this AI crawler can read your site.
- [ ] **P1** — Allow CCBot in robots.txt
      Add an explicit
        User-agent: CCBot
        Allow: /
      block so this AI crawler can read your site.
- [ ] **P1** — Rewrite the homepage H1 to be self-evident
      Replace clever copy with literal copy. 'We help X do Y' beats 'Reimagine Y'.
- [ ] **P1** — Add a discoverable CTA
      Place 'Contact sales' or 'Start free' in the top-right of the nav. LLMs cite the visible label.
- [ ] **P1** — Add JSON-LD structured data
      Start with Organization on the root layout and SoftwareApplication or Product on /pricing. Add FAQPage on any FAQ section.
- [ ] **P2** — Add lists or comparison tables
      Answer engines lift bulleted lists, numbered steps, and tables verbatim. Add at least 2 snippet-ready blocks to the homepage.
- [ ] **P2** — Raise your text-to-HTML ratio
      Strip unused inline scripts/styles and move large bundles to external files. AI crawlers struggle when most of the response is markup.
- [ ] **P2** — Make your About/Team page reachable
      Add a top-nav or footer link to /about or /team so LLMs can identify the entity behind the site.
- [ ] **P2** — Add a /pricing page
      Even contact-us pricing benefits from a /pricing page that LLMs can link to in answers.
- [ ] **P2** — Populate your sitemap with canonical URLs
      The sitemap must list `<loc>` entries — empty sitemaps are worse than none.
- [ ] **P3** — Phrase a heading as a user question
      Use headings like 'How does pricing work?' or 'Who is this for?' — they map directly to conversational AI queries.
- [ ] **P3** — Publish a date signal
      Add `<time datetime="2026-05-17">` or `<meta property="article:published_time">`. AI ranking heavily weights freshness.
- [ ] **P3** — Add structured headings
      Use h2 for each section and h3 for sub-points. AI uses these to outline and chunk the page.
- [ ] **P3** — Add internal navigation links
      Top nav + footer with links to /pricing, /docs, /about, /contact gives AI crawlers an entry point to the rest of the site.

---

_Report by [CrawlProof](https://crawlproof.com). Reusable after every major website change._
