AEO Audit for artsfol.io
Target: https://artsfol.io/
Score: 40 / 100
Generated: 2026-07-25T01:17:02.587Z
Pages crawled: 9
Findings: 37 pass · 94 warn · 7 fail · 0 unknown
1. Crawl Summary
- ✅ Fetched 9 of 9 pages successfully Target: https://artsfol.io
2. Data Found
| Data Point | Found? | Source | Notes |
|---|---|---|---|
| Pricing | Yes | Pricing page | https://artsfol.io/pricing |
| 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 | A portfolio that works as hard as the art. |
| 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. - ❌ Open Graph: missing title, description, image
- ⚠️ No Twitter Card tags Add twitter:card, twitter:title, twitter:description, twitter:image for richer previews in social and AI agent surfaces.
- ⚠️ Content volume: 298 words Thin content. Aim for 300+ words on the homepage so AI models can extract a useful description.
- ⚠️ Favicon missing Add
<link rel="icon" href="/favicon.ico">(and an apple-touch-icon) so AI citation cards have a brand mark. - ✅ Homepage fetched successfully HTTP 200 · 7764 bytes · 221ms
- ✅ Page load time: 0.22s Fast — well within AI crawler budgets.
- ✅ declared
- ✅ Single H1 A portfolio that works as hard as the art.
- ✅
<title>present (47 chars) - ✅ Meta description present (72 chars)
- ✅ Critical content is server-rendered Raw and rendered text are within 84% of each other.
- ✅ Alt text coverage: 100% 12/12 images have alt text.
- ✅ Heading structure: 12 (h1:1, h2:4, h3:7) Multiple headings help AI chunk and outline your page.
- ✅ Internal links: 14 14 internal + 12 external links help crawlers navigate.
4. Content Quality
- ⚠️ Snippet-ready blocks: 1 (ul:0, ol:1, table:0) Add bullet lists, numbered steps, or a comparison table. Answer engines prefer structured blocks over prose.
- ⚠️ 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.
- ⚠️ 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 12 headings nested in order.
- ✅ Text-to-HTML ratio: 27.2% Visible text density is healthy for AI extraction.
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
- ❌ 19 broken link(s) in first 20 · 404 — https://artsfol.io/ · 404 — https://artsfol.io/directory · 404 — https://artsfol.io/pricing · 404 — https://artsfol.io/help · 404 — https://artsfol.io/contact · 404 — https://artsfol.io/signup · 404 — https://bxiie.artsfol.io/artwork/detail-img-1105 · 404 — https://bxiie.artsfol.io/artwork/device-one-study-card-md-1 · 404 — https://bxiie.artsfol.io/artwork/in-paint-bxiie-br-34 · 404 — https://bxiie.artsfol.io/artwork/igloofest-hat-igloo-hat · 404 — https://bxiie.artsfol.io/artwork/summers-end-ss-summersend03 · 404 — https://bxiie.artsfol.io/artwork/experiment-series-img-0829 · 404 — https://bxiie.artsfol.io/artwork/sideshow-img-5377 · 404 — https://bxiie.artsfol.io/artwork/down-to-the-wire-img-5503 · 404 — https://bxiie.artsfol.io/artwork/zions-union-church-zu-with-qr · 404 — https://bxiie.artsfol.io/artwork/red-paint-process-bxiie-br-43 · 404 — https://bxiie.artsfol.io/ · 404 — https://artsfol.io/terms · 404 — https://artsfol.io/privacy
- ⚠️ Modern image formats: 0% (0/12 webp/avif) 1 legacy (png/jpg/gif) image(s). Convert hero/above-the-fold images to WebP or AVIF.
- ❌ Explicit dimensions: 0% (0/12) Add width and height attributes on tags to prevent CLS.
- ⚠️ Responsive srcset: 0/12 Use srcset/sizes to serve appropriately-sized images on mobile. Reduces wasted bytes.
- ✅ Lazy loading: 92% (11/12) Most below-the-fold images defer load — good for perf and crawl budgets.
- ✅ External nofollow: 0% (0/12) Healthy mix of follow and nofollow outbound links.
7. Performance
- ✅ Page size: 8 KB Compact HTML payload — well within AI crawler limits.
- ✅ Resource requests: 16 (scripts:2, css:2, img:12) Reasonable request count.
- ✅ No render-blocking head scripts All head scripts use async or defer.
- ✅ Response time: 221ms Fast first response.
- ✅ Cache-Control set Cache-Control: no-store, no-cache, must-revalidate
- ✅ Compression enabled (gzip) Content-Encoding: gzip
- ✅ Lazy loading: 11/12 images
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
- ❌ sitemap.xml not found No /sitemap.xml was reachable and robots.txt has no Sitemap: directive. 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.
10. 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.
- ⚠️ /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
- ⚠️ No clear About/Team link Add an About or Team link in the nav or footer so LLMs can identify the company.
- ⚠️ Value-prop language not detected Pages with phrases like 'we help X', 'platform for Y', 'built for Z' are easier for LLMs to summarize.
- ✅ H1 communicates value A portfolio that works as hard as the art.
- ✅ Pricing path discoverable
- ✅ Contact / signup path discoverable
12. Missing or Hard-to-Find Information
- ❌ 8 data point(s) could not be found from public pages · Customer logos · Social proof · Recent launches · Blog post activity · New hires · 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.
⚠️ 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.
⚠️ 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 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.
⚠️ 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 /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.
⚠️ Create a robots.txt Even a minimal robots.txt is better than none. Always reference your Sitemap and explicitly address AI bots.
⚠️ Add lists or comparison tables Answer engines lift bulleted lists, numbered steps, and tables verbatim. Add at least 2 snippet-ready blocks to the homepage.
⚠️ 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.⚠️ 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.
⚠️ Add a canonical link Prevents dup-content drift and tells AI crawlers which URL is authoritative.
<link rel="canonical" href="https://yoursite.com/" />⚠️ 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 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.
⚠️ 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⚠️ 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 a favicon Add
<link rel="icon" href="/favicon.ico">and anapple-touch-iconso AI citation cards show your brand mark.⚠️ Use srcset/sizes for responsive images Serve appropriately-sized images per viewport — saves bytes on mobile crawls.
⚠️ 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 — 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 — 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 — 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 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 — 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 /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 — Create a robots.txt Even a minimal robots.txt is better than none. Always reference your Sitemap and explicitly address AI bots.
P3 — Add lists or comparison tables Answer engines lift bulleted lists, numbered steps, and tables verbatim. Add at least 2 snippet-ready blocks to the homepage.
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 — 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 — 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 — 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 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.
Report by CrawlProof. Reusable after every major website change.