# AEO Audit for flutter.dev

**Target:** https://flutter.dev/  
**Score:** 39 / 100  
**Generated:** 2026-05-13T08:44:23.278Z  
**Pages crawled:** 9  
**Findings:** 21 pass · 35 warn · 3 fail · 0 unknown

---

## 1. Crawl Summary

- ✅ **Fetched 9 of 9 pages successfully**
  Target: https://flutter.dev

## 2. Data Found

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

## 3. Homepage Audit

- ⚠️ **Missing canonical link**
  Add `<link rel="canonical" href="https://your-domain">` to prevent dup-content confusion.
- ⚠️ **Twitter Card: missing title, description, image**
  Add twitter:card, twitter:title, twitter:description, twitter:image for richer previews in social and AI agent surfaces.
- ✅ **Homepage fetched successfully**
  HTTP 200 · 69946 bytes · 136ms
- ✅ **Page load time: 0.14s**
  Fast — well within AI crawler budgets.
- ✅ **<html lang="en"> declared**
- ✅ **Single H1**
  Build for any screen
- ✅ **`<title>` present (35 chars)**
- ✅ **Meta description present (152 chars)**
- ✅ **Open Graph tags complete**
- ✅ **Critical content is server-rendered**
  Raw and rendered text are within 69% of each other.
- ✅ **Alt text coverage: 100%**
  43/43 images have alt text.
- ✅ **Content volume: 526 words**
  Substantive content — AI models have enough to summarize and recommend.
- ✅ **Heading structure: 17 (h1:1, h2:5, h3:11)**
  Multiple headings help AI chunk and outline your page.
- ✅ **Internal links: 35**
  35 internal + 63 external links help crawlers navigate.

## 4. 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.

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

- ❌ **sitemap.xml not found**
  Add /sitemap.xml — required for reliable AI/SERP discovery.
- ⚠️ **robots.txt not found**
  No /robots.txt was reachable. Add one explicitly — silence is read differently by different crawlers, and you lose the chance to control AI bots.

## 6. LLM / AI Crawler Accessibility

- ⚠️ **llms.txt missing**
  Add /llms.txt — a concise, link-rich summary that helps LLMs orient on your site.
- ⚠️ **skill.md missing**
  Add /skill.md describing what your site lets agents do — speeds up agent task routing.
- ⚠️ **/.well-known/security.txt missing**
  Publish a /.well-known/security.txt with at least a Contact: line. Crawlers and security researchers expect it; AI systems use it as a trust signal.

## 7. Positioning Clarity

- ⚠️ **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.
- ✅ **H1 communicates value**
  Build for any screen
- ✅ **Value-prop language detected**
- ✅ **Contact / signup path discoverable**

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

- ❌ **7 data point(s) could not be found from public pages**
  · Pricing
  · Recent launches
  · Blog post activity
  · New hires
  · Positioning
  · Executive team
  · Case studies or testimonials

## 9. Recommended Fixes

- ⚠️ **Publish a sitemap.xml**
  Generate /sitemap.xml automatically (Next.js: app/sitemap.ts). Include every canonical URL.
- ⚠️ **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 /llms.txt**
  A short Markdown-flavored summary at the root. Include your H1, value prop, top 5–10 links, and pricing summary.
- ⚠️ **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.
- ⚠️ **Create a robots.txt**
  Even a minimal robots.txt is better than none. Always reference your Sitemap and explicitly address AI bots.
- ⚠️ **Add a canonical link**
  Prevents dup-content drift and tells AI crawlers which URL is authoritative.
  
  ```html
  <link rel="canonical" href="https://yoursite.com/" />
  ```
- ⚠️ **Add Twitter Card meta tags**
  Used by social platforms and AI agents for richer previews.
  
  ```html
  <meta name="twitter:card" content="summary_large_image" />
  <meta name="twitter:title" content="Your Page Title" />
  <meta name="twitter:description" content="50–160 char description." />
  <meta name="twitter:image" content="https://yoursite.com/og-image.jpg" />
  ```
- ⚠️ **Add /skill.md**
  Describe what an agent can do with your site (e.g., 'Search docs', 'Look up pricing'). Useful for agentic flows.
- ⚠️ **Publish /.well-known/security.txt**
  A security contact builds trust with crawlers and researchers. Minimal example:
  
  ```
  Contact: mailto:security@yourdomain.com
  Expires: 2027-01-01T00:00:00.000Z
  Preferred-Languages: en
  ```

## 10. Priority To-Do List

- [ ] **P1** — Publish a sitemap.xml
      Generate /sitemap.xml automatically (Next.js: app/sitemap.ts). Include every canonical URL.
- [ ] **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 /llms.txt
      A short Markdown-flavored summary at the root. Include your H1, value prop, top 5–10 links, and pricing summary.
- [ ] **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** — Create a robots.txt
      Even a minimal robots.txt is better than none. Always reference your Sitemap and explicitly address AI bots.
- [ ] **P3** — Add a canonical link
      Prevents dup-content drift and tells AI crawlers which URL is authoritative.
      
      ```html
      <link rel="canonical" href="https://yoursite.com/" />
      ```
- [ ] **P3** — Add Twitter Card meta tags
      Used by social platforms and AI agents for richer previews.
      
      ```html
      <meta name="twitter:card" content="summary_large_image" />
      <meta name="twitter:title" content="Your Page Title" />
      <meta name="twitter:description" content="50–160 char description." />
      <meta name="twitter:image" content="https://yoursite.com/og-image.jpg" />
      ```
- [ ] **P3** — Add /skill.md
      Describe what an agent can do with your site (e.g., 'Search docs', 'Look up pricing'). Useful for agentic flows.
- [ ] **P3** — Publish /.well-known/security.txt
      A security contact builds trust with crawlers and researchers. Minimal example:
      
      ```
      Contact: mailto:security@yourdomain.com
      Expires: 2027-01-01T00:00:00.000Z
      Preferred-Languages: en
      ```

---

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