/ / d / vercel.com
vercel.com
58 / 100
overall · band: medium
Categories
Security54/ 100 · 9 measured
Performance62/ 100 · 9 measured
SEO43/ 100 · 7 measured
AI-readiness25/ 100 · 4 measured
Privacy30/ 100 · 6 measured
Accessibility64/ 100 · 6 measured
Brand presence37/ 100 · 16 measured
Email health68/ 100 · 16 measured
Site facts
- Snapshot date
- 2026-04-26
- Factors scored
- 73 / 86
- Composite score
- 58/100
- Method version
- v0.1 — 2026-04-25
Security· 54/100
| # | Factor | Verdict | Score | Evidence |
|---|---|---|---|---|
| 4 | Security headers (HSTS, CSP, X-Frame-Options, Referrer-Policy, Permissions-Policy, X-Content-Type-Options) | pass | 90 | security_headers_score=90, missing=Permissions-Policy |
| 5 | SSL certificate validity & expiration window | n/a | — | Scoring not yet implemented |
| 6 | WordPress REST API user enumeration exposure | pass | 100 | not_wordpress |
| 7 | Sensitive path exposure (.git, .env, /admin, xmlrpc.php, wp-login.php) | fail | 0 | findings={"path":"/wp-admin","status":200}|{"path":"/wp-login.php","status":200}|{"path":"/xmlrpc.php","status":200}|{"path":"/admin","status":200}, total_checked=6 |
| 22 | DNSSEC validation | fail | 0 | ds_present=false, ad_bit=false |
| 23 | CAA records | fail | 0 | records=\# 22 00 05 69 73 73 75 65 6c 65 74 73 65 6e 63 72 79 70 74 2e 6f 72 67|\# 21 00 05 69 73 73 75 65 67 6c 6f 62 61 6c 73 69 67 6e 2e 63 6f 6d|\# 18 00 05 69 73 73 75 65 73 65 63 74 69 67 6f 2e 63 6f 6d, has_issue=false, has_iodef=false |
| 26 | HSTS preload list inclusion | pass | 100 | hsts_header=max-age=31536000; includeSubDomains; preload, preload_status=preloaded |
| 27 | TLS minimum version & cipher suite quality | pass | 100 | status=READY, grades=A+, worst=A+ |
| 28 | Subdomain takeover surface | pass | 100 | dangling_count=0 |
| 29 | Spam / phishing blocklist presence | fail | 0 | listed=true, response_code=0, answers=127.255.255.254 |
Performance· 62/100
| # | Factor | Verdict | Score | Evidence |
|---|---|---|---|---|
| 8 | Mobile PageSpeed score + Core Web Vitals (LCP, FCP, CLS) | warn | 54 | performance_score=47, lcp_ms=12001, cls=0.000941, components={"perf":47,"lcp":30,"cls":100} |
| 9 | HTTP/2 support | n/a | — | Scoring not yet implemented |
| 10 | Compression (Brotli / gzip) | pass | 100 | perf_compression=br |
| 30 | HTTP/3 support | fail | 0 | supports_h3=false |
| 31 | IPv6 support | fail | 0 | aaaa_count=0 |
| 32 | Image optimization (WebP/AVIF) | pass | 100 | id=image-delivery-insight, lighthouse_score=1 |
| 33 | Desktop PageSpeed score | n/a | — | Scoring not yet implemented |
| 34 | Core Web Vitals from CrUX (Real User Monitoring) | n/a | — | Scoring not yet implemented |
| 35 | Lazy loading on below-fold images | pass | 100 | id=image-delivery-insight, lighthouse_score=1 |
| 36 | Font loading strategy (FOUT/FOIT/swap) | pass | 100 | id=font-display-insight, lighthouse_score=1 |
| 37 | Total homepage byte weight | pass | 100 | html_bytes=512000, subresource_bytes=0, total_bytes=512000, total_kb=500, sampled=30, total_refs=76 |
| 38 | Largest unused JavaScript bundle | fail | 0 | deferred_scripts=61, sample=/vc-ap-vercel-marketing/_next/static/chunks/3a9-ym7r8rpsf.js?dpl=dpl_RE9KR6aEdr7y4KcU93WLGfRB7qUY|/vc-ap-vercel-marketing/_next/static/chunks/16b5q-t6q2j7r.js?dpl=dpl_RE9KR6aEdr7y4KcU93WLGfRB7qUY|/vc-ap-vercel-marketing/_… |
SEO· 43/100
| # | Factor | Verdict | Score | Evidence |
|---|---|---|---|---|
| 11 | Title, meta description, OG, Twitter cards, canonical | pass | 100 | title=true, description=true, og=true, twitter=true, canonical=true |
| 12 | Schema.org structured data presence | fail | 0 | structured_data_absent |
| 13 | H1 tag presence | fail | 0 | h1_count=0 |
| 14 | Sitemap.xml + robots.txt presence | pass | 100 | has_robots_txt=true, has_sitemap=true |
| 39 | Schema.org type validity (parsed JSON-LD) | n/a | — | Scoring not yet implemented |
| 40 | Breadcrumb schema | fail | 0 | present=false |
| 41 | FAQ / HowTo schema (where applicable) | n/a | — | n/a — not_applicable |
| 42 | hreflang for multi-language sites | n/a | — | n/a — single_language |
| 43 | Internal link depth (clicks from homepage to deepest content) | pass | 100 | max_depth=1, pages_fetched=50, pages_seen=223, capped_at=50 |
| 61 | Better Business Bureau accreditation | fail | 0 | no_link_on_site |
AI-readiness· 25/100
| # | Factor | Verdict | Score | Evidence |
|---|---|---|---|---|
| 15 | llms.txt presence | fail | 0 | has_llms_txt=false |
| 16 | AI crawler robots.txt directives | pass | 100 | robots_ai_blocked_count=0 |
| 44 | AI plugin manifest (.well-known/ai-plugin.json) | fail | 0 | status=404 |
| 45 | JSON-LD richness score for LLMs | fail | 0 | org_complete=false, has_address=false, has_contact_point=false, has_same_as=false, has_content_type=false, breakdown={"coreOrg":0,"contact":0,"sameAs":0,"contentType":0} |
Privacy· 30/100
| # | Factor | Verdict | Score | Evidence |
|---|---|---|---|---|
| 46 | Cookie banner presence + CMP detection | fail | 0 | banner_detected=false |
| 47 | Privacy policy page presence | pass | 100 | found=true, href=/legal/privacy-policy, text=Privacy Policy |
| 48 | Terms of service page presence | fail | 0 | found=false |
| 49 | Third-party tracker count | pass | 80 | count=1, hosts=lishhsx6kmthaacj.public.blob.vercel-storage.com |
| 50 | CCPA "Do Not Sell or Share My Personal Information" link | fail | 0 | found=false |
| 51 | Cookie scan — actual cookies set on first load | fail | 0 | count=3, names=_v-consent|_v-anonymous-id|_v-anonymous-id-renewed, with_cmp=false |
Accessibility· 64/100
| # | Factor | Verdict | Score | Evidence |
|---|---|---|---|---|
| 52 | Accessibility statement page | fail | 0 | found=false |
| 53 | axe-core / WAVE accessibility scan | pass | 85 | accessibility_category=0.85 |
| 54 | Image alt text coverage | pass | 100 | lighthouse_score=1, failing_count=0 |
| 55 | Heading hierarchy validity | pass | 100 | lighthouse_score=1 |
| 56 | Color contrast (WCAG AA) | fail | 0 | lighthouse_score=0, failing_count=13 |
| 57 | ARIA labels presence and validity | pass | 100 | total_aria_audits=22, applicable=12, passing=12 |
| 58 | Skip-to-content link | n/a | — | Scoring not yet implemented |
Brand presence· 37/100
Email health· 68/100
| # | Factor | Verdict | Score | Evidence |
|---|---|---|---|---|
| 1 | DMARC enforcement | pass | 80 | present=true, policy=quarantine |
| 2 | DKIM signing | pass | 100 | present=true, selector=google, source=doh_probe |
| 3 | SPF record present and valid | pass | 100 | present=true, raw="v=spf1 include:_netblocks.google.com include:_netblocks2.google.com include:_netblocks3.google.com include:mktomail.com include:amazonses.com include:sendgrid.net include:_spf.salesforce.com include:spf.mtasv.net ~all", qualifier=… |
| 24 | MTA-STS & TLS-RPT | fail | 0 | policy_ok=false |
| 25 | BIMI + VMC | warn | 60 | record=v=BIMI1; l=https://vercel.com/static/bimi.svg; a=;, logo_url=https://vercel.com/static/bimi.svg |
| 75 | Branded domain email address (vs free Gmail/Yahoo) | pass | 100 | branded=true, provider=google |
| 76 | Email provider class (Workspace / 365 / Zoho / self-hosted / shared) | pass | 100 | provider=google |
| 77 | DMARC aggregate reporting enabled (rua=) | pass | 100 | has_dmarc_reporting=true, audit_flag=true, derived_from_raw=true, source=derived_from_raw, dmarc_raw="v=DMARC1; p=quarantine; rua=mailto:df9481016e14030@rep.dmarcanalyzer.com; ruf=mailto:df9481016e14030@for.dmarcanalyzer.com; pct=100; fo=1;" |
| 78 | Free-email exposure on contact page (gmail/yahoo/outlook visible) | pass | 100 | Scored |
| 79 | Newsletter signup form detected | fail | 0 | detected=false |
| 80 | Email Service Provider (ESP) detected | fail | 0 | Scored |
| 81 | Transactional email provider detected (from SPF includes) | pass | 100 | providers=Amazon SES|SendGrid|Salesforce |
| 82 | SPF lookup count (10-limit deliverability check) | fail | 40 | lookups=10, limit=10 |
| 84 | Mailto: direct contact link present | fail | 0 | Scored |
| 85 | Email forwarding service detected (improvmx, forwardemail, etc.) | pass | 100 | hosts=aspmx.l.google.com|alt1.aspmx.l.google.com|alt2.aspmx.l.google.com|aspmx2.googlemail.com|aspmx3.googlemail.com, provider=Google Workspace, kind=branded |
| 86 | Lead magnet / signup incentive detected (free download, ebook, etc.) | pass | 100 | detected=true, sample=DOWNLOADABLE\",\"image\":{\"title\":\"Architect's guide to migrating to Vercel (card)\",\"lightVersion\":{\"title\":\"Ar |
Scores are computed under method v0.1 — 2026-04-25. See the methodology for the full factor list and per-factor specifications.