CrawlProof

Public share link

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

2. Data Found

Data PointFound?SourceNotes
PricingNo
Customer logosNo
Social proofNo
Recent launchesYesPress/news pageshttps://worldofbusiness.sa/blog/
Blog post activityYesBloghttps://worldofbusiness.sa/blog/
New hiresNoOften only on a /blog/team or LinkedIn page
Headline copyNo
PositioningNo
Executive teamNo
Product/service descriptionsYesHomepageFrom meta description
Case studies or testimonialsNo
Contact/demo/signup pathsYesNavigation 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 with rel="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

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; includeSubDomains once 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: 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

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
  • ⚠️ 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 sameAs pointing 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 ID
    

    Also 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; includeSubDomains once you're confident every subdomain is https-ready.

  • ⚠️ Define a Content-Security-Policy Start with Content-Security-Policy-Report-Only to learn safe sources, then enforce. Cuts XSS blast radius.

  • ⚠️ Declare an author byline Add <meta name="author" content="Name"> or a visible byline with rel="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 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 — 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 sameAs pointing 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.

Email yourself this report

Get a PDF copy of this audit in your inbox — handy for sharing with a client, dev, or teammate.

Watch this URL

We'll re-scan worldofbusiness.sa and email you when its AEO Score actually moves — not on a schedule, only when something changes.

Re-scan

Free. We email you to confirm first, and every message has a one-click stop link.