CrawlProof
View raw .md

AEO Audit for flutterlabs.dev

Target: https://www.flutterlabs.dev/
Score: 38 / 100
Generated: 2026-05-13T08:40:02.217Z
Pages crawled: 8
Findings: 22 pass · 30 warn · 3 fail · 0 unknown


1. Crawl Summary

2. Data Found

Data PointFound?SourceNotes
PricingNo
Customer logosNo
Social proofNo
Recent launchesNo
Blog post activityNo
New hiresNoOften only on a /blog/team or LinkedIn page
Headline copyYesHomepageWebuildbeautifulFlutterappsformobileandweb.
PositioningYesHomepagewe help
Executive teamNoFooter links
Product/service descriptionsYesHomepageFrom meta description
Case studies or testimonialsNo
Contact/demo/signup pathsYesFooter links

3. Homepage Audit

  • ⚠️ Missing canonical link Add <link rel="canonical" href="https://your-domain"> to prevent dup-content confusion.
  • Homepage fetched successfully HTTP 200 · 132305 bytes · 442ms
  • Page load time: 0.44s Fast — well within AI crawler budgets.
  • declared
  • Single H1 WebuildbeautifulFlutterappsformobileandweb.
  • <title> present (50 chars)
  • Meta description present (154 chars)
  • Open Graph tags complete
  • Twitter Card tags complete
  • Critical content is server-rendered Raw and rendered text are within 29% of each other.
  • Alt text coverage: 100% 5/5 images have alt text.
  • Content volume: 714 words Substantive content — AI models have enough to summarize and recommend.
  • Heading structure: 21 (h1:1, h2:5, h3:15) Multiple headings help AI chunk and outline your page.
  • Internal links: 18 18 internal + 8 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 pricing/plans link found AI summaries commonly include pricing. Add a /pricing page even if pricing is custom.
  • About/Team path discoverable
  • H1 communicates value WebuildbeautifulFlutterappsformobileandweb.
  • Value-prop language detected
  • Contact / signup path discoverable

8. Missing or Hard-to-Find Information

  • 8 data point(s) could not be found from public pages · Pricing · Customer logos · Social proof · Recent launches · Blog post activity · New hires · Executive team · Case studies or testimonials
  • ⚠️ 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.

  • ⚠️ 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.

    <link rel="canonical" href="https://yoursite.com/" />
    
  • ⚠️ 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 — 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 /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. Reusable after every major website change.