AEO Audit for worldofbusiness.sa
Target: https://worldofbusiness.sa/
Score: 42 / 100
Generated: 2026-08-10T08:00:36.895Z
Pages crawled: 9
Findings: 38 pass · 131 warn · 8 fail · 0 unknown
1. Crawl Summary
- ✅ Fetched 8 of 9 pages successfully Target: https://worldofbusiness.sa
2. Data Found
| Data Point | Found? | Source | Notes |
|---|---|---|---|
| Pricing | No | — | — |
| Customer logos | No | — | — |
| Social proof | No | — | — |
| Recent launches | Yes | Press/news pages | https://worldofbusiness.sa/blog/ |
| Blog post activity | Yes | Blog | https://worldofbusiness.sa/blog/ |
| 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 | Yes | Navigation links | — |
3. Homepage Audit
- ❌ Missing H1 No
<h1>element found. LLMs use the H1 as the strongest signal of what the page is about. - ⚠️ Page load time: 2.74s Acceptable — consider optimizing for faster crawl times.
- ⚠️ Long
<title>(85 chars) Engines and AI snippets truncate titles around 60–70 chars. Trim to keep the key phrase visible. - ⚠️ Open Graph: missing image
- ⚠️ Twitter Card: missing image Add twitter:card, twitter:title, twitter:description, twitter:image for richer previews in social and AI agent surfaces.
- ❌ Alt text coverage: 11% 6/57 images have alt text.
- ✅ Homepage fetched successfully HTTP 200 · 584742 bytes · 2743ms
- ✅ declared
- ✅ Meta description present (159 chars)
- ✅ Canonical present https://worldofbusiness.sa/
- ✅ Critical content is server-rendered Raw and rendered text are within 0% of each other.
- ✅ Content volume: 857 words Substantive content — AI models have enough to summarize and recommend.
- ✅ Heading structure: 30 (h1:0, h2:16, h3:14) Multiple headings help AI chunk and outline your page.
- ✅ Internal links: 139 139 internal + 16 external links help crawlers navigate.
- ✅ Robots meta: "follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"
- ✅ Favicon declared
4. Content Quality
- ❌ Text-to-HTML ratio: 1.0% Very low text density. AI crawlers will struggle to find substantive content.
- ⚠️ 2 heading-level skip(s) Heading levels jump (e.g. h2 → h4). AI outline parsers expect monotonic nesting.
- ⚠️ 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 author byline found Add
<meta name="author" content="Name">or a visible byline withrel="author". Strengthens E-E-A-T signals. - ✅ Snippet-ready blocks: 20 (ul:20, ol:0, table:0) Lists and tables are extracted verbatim by AI answer engines.
- ✅ Date signal present time[datetime]: 0, meta: 2026-04-21T14:01:08+03:00
5. Schema / Structured Data Audit
- ⚠️ SoftwareApplication missing Adding SoftwareApplication JSON-LD helps LLMs identify your entity.
- ⚠️ FAQPage JSON-LD missing Add an FAQPage block on pages that answer common questions — high-value for AI summaries.
- ⚠️ Article / BlogPosting JSON-LD not found Add Article / BlogPosting where applicable so AI answer engines can resolve the entity precisely.
- ⚠️ BreadcrumbList JSON-LD not found Add BreadcrumbList where applicable so AI answer engines can resolve the entity precisely.
- ⚠️ Product / Offer JSON-LD not found Add Product / Offer where applicable so AI answer engines can resolve the entity precisely.
- ⚠️ LocalBusiness JSON-LD not found Add LocalBusiness where applicable so AI answer engines can resolve the entity precisely.
- ⚠️ Person (author / founder) JSON-LD not found Add Person (author / founder) where applicable so AI answer engines can resolve the entity precisely.
- ⚠️ HowTo JSON-LD not found Add HowTo where applicable so AI answer engines can resolve the entity precisely.
- ⚠️ VideoObject JSON-LD not found Add VideoObject where applicable so AI answer engines can resolve the entity precisely.
- ✅ 5 JSON-LD block(s) found Types: Place, Organization, WebSite, ImageObject, WebPage
- ✅ Organization present
- ✅ WebSite present
6. Links & Images
- ❌ 11 broken link(s) in first 20 · timeout — https://worldofbusiness.sa/%d8%b4%d8%b1%d9%83%d8%a9-%d9%83%d8%aa%d8%a7%d8%a8%d8%a9-%d9%85%d8%ad%d8%aa%d9%88%d9%89/ · timeout — https://worldofbusiness.sa/%d8%a7%d8%b9%d9%84%d8%a7%d9%86%d8%a7%d8%aa-%d9%85%d9%85%d9%88%d9%84%d8%a9/ · timeout — https://worldofbusiness.sa/%d8%a7%d8%b9%d9%84%d8%a7%d9%86%d8%a7%d8%aa-%d9%82%d9%88%d9%82%d9%84-%d8%a7%d8%af%d9%88%d8%b1%d8%af%d8%b2/ · timeout — https://worldofbusiness.sa/%d8%b4%d8%b1%d9%83%d8%a9-%d8%af%d8%b9%d8%a7%d9%8a%d8%a9-%d9%88%d8%a7%d8%b9%d9%84%d8%a7%d9%86/ · timeout — https://worldofbusiness.sa/%d8%b9%d9%84%d8%a7%d9%82%d8%a7%d8%aa-%d8%b9%d8%a7%d9%85%d8%a9/ · timeout — https://worldofbusiness.sa/%d8%b4%d8%b1%d9%83%d8%a9-%d8%a8%d8%b1%d9%85%d8%ac%d8%a9/ · timeout — https://worldofbusiness.sa/%d8%a5%d8%af%d8%a7%d8%b1%d8%a9-%d8%a7%d9%84%d9%85%d8%aa%d8%a7%d8%ac%d8%b1-%d8%a7%d9%84%d8%a5%d9%84%d9%83%d8%aa%d8%b1%d9%88%d9%86%d9%8a%d8%a9/ · timeout — https://worldofbusiness.sa/%d8%a8%d8%a7%d9%82%d8%a7%d8%aa-%d8%a7%d9%84%d9%85%d8%aa%d8%a7%d8%ac%d8%b1-%d8%a7%d9%84%d8%a5%d9%84%d9%83%d8%aa%d8%b1%d9%88%d9%86%d9%8a%d8%a9/ · timeout — https://worldofbusiness.sa/%d8%aa%d8%b5%d9%85%d9%8a%d9%85-%d8%aa%d8%b7%d8%a8%d9%8a%d9%82%d8%a7%d8%aa-%d8%a7%d9%84%d8%ac%d9%88%d8%a7%d9%84/ · timeout — https://worldofbusiness.sa/%d8%b4%d8%b1%d9%83%d8%a9-ui-ux/ · timeout — https://worldofbusiness.sa/%d8%aa%d8%b5%d9%85%d9%8a%d9%85-%d9%85%d9%88%d8%a7%d9%82%d8%b9-%d8%a5%d9%84%d9%83%d8%aa%d8%b1%d9%88%d9%86%d9%8a%d8%a9/
- ⚠️ Modern image formats: 0% (0/57 webp/avif) 6 legacy (png/jpg/gif) image(s). Convert hero/above-the-fold images to WebP or AVIF.
- ❌ Lazy loading: 0% (0/57) Add
loading="lazy"to below-the-fold images to reduce initial payload. - ✅ Explicit dimensions: 100% (57/57) Most images have width/height — avoids layout shift.
- ✅ Responsive srcset: 5/57
- ✅ External nofollow: 25% (4/16) Healthy mix of follow and nofollow outbound links.
7. Performance
- ❌ Inline JS+CSS bulk: 335 KB Move large inline scripts/styles to external files to enable caching.
- ⚠️ Page size: 571 KB Heavier than recommended. Trim inline scripts/styles or split lazy chunks.
- ⚠️ Resource requests: 58 (scripts:1, css:0, img:57) High request count. Bundle scripts/styles and use sprites or CSS for icons.
- ⚠️ No images use loading=lazy Add loading="lazy" to off-screen images to defer their fetch until needed.
- ✅ No render-blocking head scripts All head scripts use async or defer.
- ✅ Cache-Control set Cache-Control: max-age=0, s-maxage=2592000
- ✅ Compression enabled (gzip) Content-Encoding: gzip
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. - ⚠️ X-Content-Type-Options missing Add
X-Content-Type-Options: nosniffto block MIME-type sniffing. - ⚠️ Referrer-Policy missing Add
Referrer-Policy: strict-origin-when-cross-originfor safer referrers. - ⚠️ Permissions-Policy missing Restrict browser features (camera, mic, geolocation) you don't use.
- ✅ Served over HTTPS
- ✅ No mixed content detected
9. robots.txt and sitemap.xml Audit
- ✅ robots.txt present 414 chars
- ✅ robots.txt references sitemap(s)
- ✅ sitemap.xml present (4 URLs)
10. LLM / AI Crawler Accessibility
- ⚠️ llms.txt missing Add /llms.txt — a concise, link-rich summary that helps LLMs orient on your site.
- ⚠️ GPTBot not explicitly addressed No User-agent: GPTBot block in robots.txt. We recommend explicit Allow rules so crawlers don't fall back to defaults.
- ⚠️ ClaudeBot not explicitly addressed No User-agent: ClaudeBot block in robots.txt. We recommend explicit Allow rules so crawlers don't fall back to defaults.
- ⚠️ 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.
- ⚠️ Google-Extended not explicitly addressed No User-agent: Google-Extended 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.
- ⚠️ Applebot-Extended not explicitly addressed No User-agent: Applebot-Extended block in robots.txt. We recommend explicit Allow rules so crawlers don't fall back to defaults.
- ⚠️ CCBot not explicitly addressed No User-agent: CCBot block in robots.txt. We recommend explicit Allow rules so crawlers don't fall back to defaults.
- ⚠️ 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.
- ⚠️ /llms-full.txt missing Add /llms-full.txt with concatenated Markdown of all key pages. Lets LLMs ingest your full site in one request.
11. Positioning Clarity
- ⚠️ H1 missing or too short to convey value Add a clear, single-sentence H1 like 'We help X do Y.'
- ⚠️ 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
- ✅ 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 · New hires · Headline copy · Positioning · Executive team · Case studies or testimonials
13. Recommended Fixes
⚠️ 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 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.⚠️ 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.
⚠️ Rewrite the homepage H1 to be self-evident Replace clever copy with literal copy. 'We help X do Y' beats 'Reimagine Y'.
⚠️ 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 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.
⚠️ Add an AI agent integration file At minimum, add a skill.md at /skill.md so Claude and similar agents can discover your API:
# Your Brand Skill API endpoint: https://yoursite.com/api Auth: Bearer token ## Tools - search: Search the knowledge base - get_article: Retrieve a full article by IDAlso consider /.well-known/ai-plugin.json (ChatGPT plugin discovery) and /.well-known/agent-card.json (Google A2A protocol) for broader agent compatibility.
⚠️ Add /llms.txt A short Markdown-flavored summary at the root. Include your H1, value prop, top 5–10 links, and pricing summary.
⚠️ Externalize large inline JS/CSS Inline blobs aren't cacheable. Move >50 KB inline payloads to versioned external files.
⚠️ Add a /pricing page Even contact-us pricing benefits from a /pricing page that LLMs can link to in answers.
⚠️ Fix heading-level skips Don't jump from h2 to h4. AI outline parsers expect monotonic nesting — keep heading depth contiguous.
⚠️ 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.
⚠️ Generate /llms-full.txt for RAG pipelines llms-full.txt is a concatenation of the full markdown text of every resource listed in llms.txt. Generate it statically at build time and serve it from your root:
# Your Brand — Full Content ## Getting Started <full markdown content of /docs/start> ## API Reference <full markdown content of /docs/api>Large-context models can ingest your entire knowledge base in a single request, dramatically improving recall and citation accuracy.
⚠️ 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.
⚠️ Speed up homepage rendering AI crawlers commonly time out around 3s. Cache the HTML, ship less JS for the first paint, and pre-render the hero section server-side.
⚠️ Set a meaningful
<title>30–60 chars. Lead with the brand or product, then the value prop.<title>CrawlProof — AEO audits for AI crawlers</title>⚠️ Complete Open Graph tags AI bots use OG for fast disambiguation. Add all four:
<meta property="og:title" content="Your Page Title" /> <meta property="og:description" content="50–160 char description of this page." /> <meta property="og:image" content="https://yoursite.com/og-image.jpg" /> <meta property="og:url" content="https://yoursite.com/" /> <meta property="og:type" content="website" /> <meta property="og:site_name" content="YourSite" />⚠️ Add Twitter Card meta tags Used by social platforms and AI agents for richer previews.
<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 alt text to all meaningful images Decorative-only images can use empty alt='', but logos, screenshots, and product images need descriptive alt.
⚠️ Use modern image formats Serve WebP or AVIF for hero/above-the-fold images. Keep legacy PNG/JPG only as fallbacks.
⚠️ Lazy-load below-the-fold images Add
loading="lazy"on<img>tags that aren't in the initial viewport. Reduces first-paint payload.⚠️ 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 PerplexityBot in robots.txt Add an explicit User-agent: PerplexityBot 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 OAI-SearchBot in robots.txt Add an explicit User-agent: OAI-SearchBot 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 /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⚠️ Reduce page size AI crawlers commonly truncate over ~1.5 MB. Strip unused JS, defer below-the-fold images, and gzip/brotli all responses.
⚠️ Reduce resource count Bundle scripts/styles, sprite or inline-SVG your icons, and use system fonts where possible.
⚠️ State your audience explicitly Use phrases like 'Built for B2B SaaS marketing teams' on the homepage and About page.
⚠️ Add Product / SoftwareApplication JSON-LD On /pricing and feature pages — include offers, name, applicationCategory.
⚠️ Add FAQPage JSON-LD Wrap your homepage FAQ in FAQPage JSON-LD; it routinely lifts AI answer inclusion.
⚠️ Add Article / BlogPosting JSON-LD On every blog/article page, include Article JSON-LD with headline, author, datePublished, dateModified. AI engines weight these heavily for freshness and authority.
⚠️ Add BreadcrumbList JSON-LD Helps AI engines understand site hierarchy and improves citation context.
⚠️ Add Product / SoftwareApplication JSON-LD On /pricing and feature pages — include offers, name, applicationCategory.
⚠️ 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 LocalBusiness JSON-LD (if you have a physical location) Include address, geo, openingHours, telephone. Required for AI engines to surface you in 'near me' queries.
⚠️ Add Person JSON-LD for authors / founders Mark up bylines and founder bios with Person schema — name, jobTitle, sameAs (their profiles). Strengthens E-E-A-T.
⚠️ Add HowTo JSON-LD for step-by-step content For any 'how to' page, wrap the steps in HowTo JSON-LD. AI step-by-step answers cite these heavily.
⚠️ Add VideoObject JSON-LD For embedded videos, include VideoObject with thumbnailUrl, uploadDate, duration. AI engines cite these in multimedia answers.
⚠️ Add X-Frame-Options
X-Frame-Options: SAMEORIGIN(or CSPframe-ancestors) blocks clickjacking via iframe embeds.⚠️ Add X-Content-Type-Options
X-Content-Type-Options: nosniffprevents browsers from MIME-sniffing responses.⚠️ Set a Referrer-Policy
Referrer-Policy: strict-origin-when-cross-originis 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 — 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.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 — 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 — Rewrite the homepage H1 to be self-evident Replace clever copy with literal copy. 'We help X do Y' beats 'Reimagine Y'.
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 — 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 — Add an AI agent integration file At minimum, add a skill.md at /skill.md so Claude and similar agents can discover your API:
```markdown # Your Brand Skill API endpoint: https://yoursite.com/api Auth: Bearer token ## Tools - search: Search the knowledge base - get_article: Retrieve a full article by ID ``` Also consider /.well-known/ai-plugin.json (ChatGPT plugin discovery) and /.well-known/agent-card.json (Google A2A protocol) for broader agent compatibility.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 — Externalize large inline JS/CSS Inline blobs aren't cacheable. Move >50 KB inline payloads to versioned external files.
P2 — Add a /pricing page Even contact-us pricing benefits from a /pricing page that LLMs can link to in answers.
P3 — Fix heading-level skips Don't jump from h2 to h4. AI outline parsers expect monotonic nesting — keep heading depth contiguous.
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 — Generate /llms-full.txt for RAG pipelines llms-full.txt is a concatenation of the full markdown text of every resource listed in llms.txt. Generate it statically at build time and serve it from your root:
``` # Your Brand — Full Content ## Getting Started <full markdown content of /docs/start> ## API Reference <full markdown content of /docs/api> ``` Large-context models can ingest your entire knowledge base in a single request, dramatically improving recall and citation accuracy.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 — Speed up homepage rendering AI crawlers commonly time out around 3s. Cache the HTML, ship less JS for the first paint, and pre-render the hero section server-side.
P3 — Set a meaningful
<title>30–60 chars. Lead with the brand or product, then the value prop.```html <title>CrawlProof — AEO audits for AI crawlers</title> ```P3 — Complete Open Graph tags AI bots use OG for fast disambiguation. Add all four:
```html <meta property="og:title" content="Your Page Title" /> <meta property="og:description" content="50–160 char description of this page." /> <meta property="og:image" content="https://yoursite.com/og-image.jpg" /> <meta property="og:url" content="https://yoursite.com/" /> <meta property="og:type" content="website" /> <meta property="og:site_name" content="YourSite" /> ```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 alt text to all meaningful images Decorative-only images can use empty alt='', but logos, screenshots, and product images need descriptive alt.
P3 — Use modern image formats Serve WebP or AVIF for hero/above-the-fold images. Keep legacy PNG/JPG only as fallbacks.
Report by CrawlProof. Reusable after every major website change.