AEO Audit for ammarmohanna.ai
Target: https://ammarmohanna.ai/
Score: 35 / 100
Generated: 2026-06-04T14:24:20.979Z
Pages crawled: 9
Findings: 53 pass · 79 warn · 9 fail · 0 unknown
1. Crawl Summary
- ✅ Fetched 8 of 9 pages successfully Target: https://ammarmohanna.ai
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 | Yes | Homepage | AI consulting for teams that are done with AI theatre. and need systems that survive contact with reality. |
| Positioning | No | — | — |
| Executive team | Yes | About/team page | https://ammarmohanna.ai/about/ |
| Product/service descriptions | Yes | Navigation links | https://ammarmohanna.ai/services/ |
| Case studies or testimonials | No | — | — |
| Contact/demo/signup paths | Yes | Navigation links | — |
3. Homepage Audit
- ⚠️ Content volume: 174 words Thin content. Aim for 300+ words on the homepage so AI models can extract a useful description.
- ✅ Homepage fetched successfully HTTP 200 · 15980 bytes · 117ms
- ✅ Page load time: 0.12s Fast — well within AI crawler budgets.
- ✅ declared
- ✅ Single H1 AI consulting for teams that are done with AI theatre. and need systems that survive contact with reality.
- ✅
<title>present (40 chars) - ✅ Meta description present (95 chars)
- ✅ Canonical present https://ammarmohanna.ai/
- ✅ Open Graph tags complete
- ✅ Twitter Card tags complete
- ✅ Critical content is server-rendered Raw and rendered text are within 18% of each other.
- ✅ Alt text coverage: 100% 1/1 images have alt text.
- ✅ Heading structure: 3 (h1:1, h2:2, h3:0) Multiple headings help AI chunk and outline your page.
- ✅ Internal links: 9 9 internal + 5 external links help crawlers navigate.
- ✅ Favicon declared
4. Content Quality
- ⚠️ 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 or article:published_time meta. AI ranking weights freshness.
- ⚠️ Text-to-HTML ratio: 7.4% Low text density — most of the response is markup/script.
- ⚠️ No author byline found Add
<meta name="author" content="Name">or a visible byline withrel="author". Strengthens E-E-A-T signals. - ✅ Heading levels are well-ordered 3 headings nested in order.
- ✅ Snippet-ready blocks: 4 (ul:4, ol:0, table:0) Lists and tables are extracted verbatim by AI answer engines.
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
- ❌ 2 broken link(s) in first 10 · 404 — https://ammarmohanna.ai/cdn-cgi/l/email-protection#523f3d3a333c3c33333f3f332012353f333b3e7c313d3f · 999 — https://www.linkedin.com/in/ammarmohanna/
- ⚠️ Modern image formats: 0% (0/1 webp/avif) 1 legacy (png/jpg/gif) image(s). Convert hero/above-the-fold images to WebP or AVIF.
- ❌ Explicit dimensions: 0% (0/1) Add width and height attributes on tags to prevent CLS.
- ✅ External nofollow: 0% (0/5) Healthy mix of follow and nofollow outbound links.
7. Performance
- ⚠️ No images use loading=lazy Add loading="lazy" to off-screen images to defer their fetch until needed.
- ✅ Page size: 16 KB Compact HTML payload — well within AI crawler limits.
- ✅ Resource requests: 6 (scripts:3, css:2, img:1) Reasonable request count.
- ✅ No render-blocking head scripts All head scripts use async or defer.
- ✅ Inline JS+CSS bulk: 6 KB Inline payload is modest.
- ✅ Response time: 117ms Fast first response.
- ✅ Cache-Control set (CDN: Cloudflare) Cache-Control: public, max-age=0, must-revalidate CDN detected: Cloudflare
- ✅ Compression enabled (Brotli) Content-Encoding: br
8. Security
- ⚠️ HSTS missing Add
Strict-Transport-Security: max-age=31536000; includeSubDomainsonce you're confident in https. - ⚠️ 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. - ⚠️ Permissions-Policy missing Restrict browser features (camera, mic, geolocation) you don't use.
- ✅ Served over HTTPS
- ✅ No mixed content detected
- ✅ X-Content-Type-Options set nosniff
- ✅ Referrer-Policy set strict-origin-when-cross-origin
9. robots.txt and sitemap.xml Audit
- ✅ robots.txt present 1901 chars
- ✅ robots.txt references sitemap(s)
- ✅ sitemap.xml present (1 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 15977 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.
- ✅ /llms-full.txt present 15977 chars — full site content for LLM ingest.
11. Positioning Clarity
- ⚠️ 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.
- ✅ About/Team path discoverable
- ✅ H1 communicates value AI consulting for teams that are done with AI theatre. and need systems that survive contact with reality.
- ✅ Contact / signup path discoverable
12. 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 · Positioning · Case studies or testimonials
13. Recommended Fixes
⚠️ Fix broken homepage links We HEAD-probed the first 20 unique homepage links and found 4xx/5xx responses. Repair or remove them — broken links erode crawler trust.
⚠️ 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.
⚠️ Add JSON-LD structured data Start with Organization on the root layout and SoftwareApplication or Product on /pricing. Add FAQPage on any FAQ section.
⚠️ Create or enrich /llms.txt Follow the llmstxt.org spec:
# Your Brand > One-line description of your site. ## Docs - [Getting Started](https://yoursite.com/docs/start): How to get up and running. - [API Reference](https://yoursite.com/docs/api): Full API details. ## About - [About us](https://yoursite.com/about): Mission and team.Include at least 2 section headings, 3+ linked resources, and a brief description per link. A rich llms.txt dramatically increases how often generative AI systems cite your content.
⚠️ Add sameAs knowledge graph links to Organization schema Extend your Organization JSON-LD to include
sameAspointing to authoritative directories:{ "@context": "https://schema.org", "@type": "Organization", "name": "Your Brand", "url": "https://yoursite.com", "sameAs": [ "https://en.wikipedia.org/wiki/Your_Brand", "https://www.wikidata.org/wiki/Q12345678", "https://www.linkedin.com/company/your-brand", "https://www.crunchbase.com/organization/your-brand" ] }These links anchor your brand as a known entity in AI knowledge graphs, making it far more likely that generative models cite you by name rather than paraphrase.
⚠️ Declare your brand name in Organization JSON-LD Add
"name": "Your Brand"to your Organization or SoftwareApplication schema block. AI systems match structured-data names against training data to resolve your brand as a distinct entity. Without it, mentions of your brand may not be attributed to you.⚠️ Add a /pricing page Even contact-us pricing benefits from a /pricing page that LLMs can link to in answers.
⚠️ 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.⚠️ 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.
⚠️ Add outbound links to authoritative sources Link to Wikipedia, .gov or .edu resources, peer-reviewed studies, or major news outlets when making factual claims. Generative AI systems treat pages that cite authoritative sources as more trustworthy, which raises citation likelihood.
Examples: statistics from Statista or Census.gov, definitions from Wikipedia, research from nature.com or pubmed.ncbi.nlm.nih.gov.
⚠️ 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.
⚠️ Use modern image formats Serve WebP or AVIF for hero/above-the-fold images. Keep legacy PNG/JPG only as fallbacks.
⚠️ Set width/height on images Explicit dimensions prevent Cumulative Layout Shift and help AI extractors reserve space correctly.
⚠️ 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.
⚠️ State your audience explicitly Use phrases like 'Built for B2B SaaS marketing teams' on the homepage and About page.
⚠️ Enable HSTS Add
Strict-Transport-Security: max-age=31536000; includeSubDomainsonce you're confident every subdomain is https-ready.⚠️ Define a Content-Security-Policy Start with
Content-Security-Policy-Report-Onlyto learn safe sources, then enforce. Cuts XSS blast radius.⚠️ Declare an author byline Add
<meta name="author" content="Name">or a visible byline withrel="author". Combine with Person JSON-LD for E-E-A-T.⚠️ Add X-Frame-Options
X-Frame-Options: SAMEORIGIN(or CSPframe-ancestors) blocks clickjacking via iframe embeds.⚠️ Set a Permissions-Policy Restrict browser features you don't use, e.g.
Permissions-Policy: camera=(), microphone=(), geolocation=().
14. Priority To-Do List
P1 — Fix broken homepage links We HEAD-probed the first 20 unique homepage links and found 4xx/5xx responses. Repair or remove them — broken links erode crawler trust.
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 — 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 — Create or enrich /llms.txt Follow the llmstxt.org spec:
``` # Your Brand > One-line description of your site. ## Docs - [Getting Started](https://yoursite.com/docs/start): How to get up and running. - [API Reference](https://yoursite.com/docs/api): Full API details. ## About - [About us](https://yoursite.com/about): Mission and team. ``` Include at least 2 section headings, 3+ linked resources, and a brief description per link. A rich llms.txt dramatically increases how often generative AI systems cite your content.P2 — Add sameAs knowledge graph links to Organization schema Extend your Organization JSON-LD to include
sameAspointing to authoritative directories:```json { "@context": "https://schema.org", "@type": "Organization", "name": "Your Brand", "url": "https://yoursite.com", "sameAs": [ "https://en.wikipedia.org/wiki/Your_Brand", "https://www.wikidata.org/wiki/Q12345678", "https://www.linkedin.com/company/your-brand", "https://www.crunchbase.com/organization/your-brand" ] } ``` These links anchor your brand as a known entity in AI knowledge graphs, making it far more likely that generative models cite you by name rather than paraphrase.P2 — Declare your brand name in Organization JSON-LD Add
"name": "Your Brand"to your Organization or SoftwareApplication schema block. AI systems match structured-data names against training data to resolve your brand as a distinct entity. Without it, mentions of your brand may not be attributed to you.P2 — Add a /pricing page Even contact-us pricing benefits from a /pricing page that LLMs can link to in answers.
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 — 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.
P3 — Add outbound links to authoritative sources Link to Wikipedia, .gov or .edu resources, peer-reviewed studies, or major news outlets when making factual claims. Generative AI systems treat pages that cite authoritative sources as more trustworthy, which raises citation likelihood.
Examples: statistics from Statista or Census.gov, definitions from Wikipedia, research from nature.com or pubmed.ncbi.nlm.nih.gov.P3 — 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.
P3 — Use modern image formats Serve WebP or AVIF for hero/above-the-fold images. Keep legacy PNG/JPG only as fallbacks.
P3 — Set width/height on images Explicit dimensions prevent Cumulative Layout Shift and help AI extractors reserve space correctly.
P3 — Allow PerplexityBot in robots.txt Add an explicit User-agent: PerplexityBot Allow: / block so this AI crawler can read your site.
P3 — Allow OAI-SearchBot in robots.txt Add an explicit User-agent: OAI-SearchBot Allow: / block so this AI crawler can read your site.
Report by CrawlProof. Reusable after every major website change.