Back to Home

cal.com SEO Analysis

cal.com scores 82/100 for SEO, 58/100 for performance, and 79/100 for AI crawler readability as of Mar 10, 2026.

https://cal.com
15 checks
33 issues
Mar 10, 2026
https://cal.com
Desktop preview
Desktop
Mobile preview
Mobile
Score Analysis
LIVE
78OF 100
Needs Work
82
SEO
58
Perf
79
AI
Page Title

Cal.com | Open Scheduling Infrastructure

Google Search Preview|How your page appears in search results
SERP Score
0/ 100
Good
cal.com
https://cal.com
Cal.com | Open Scheduling Infrastructure
A fully customizable scheduling software for individuals, businesses taking calls and developers building scheduling platforms where users meet users.
Snippet Quality
Title Length40 chars
03060 optimal90
Description Length150 chars
070160 optimal240
Power Word
CTA
URL Readable
HTTPS
No Truncation
Recommendations2 found
infoTitle lacks CTR-boosting power words
Consider adding words like "free", "guide", "best" to improve click-through rate
infoMeta description lacks a call-to-action
Add action verbs like "Learn", "Discover" to encourage clicks
Performance Report|Google PageSpeed Insights
Lighthouse v13.0.1Mar 10, 2026, 08:11 PM
Status200OK
Load Time0.47sFAST
HTML Size2048 KBLARGE
CompressionGZIPON
HTTPSSecureSECURE
Render-Block8 scriptsFOUND
0/ 100
Needs Improvement
LCPPOOR
5.0 s
Largest Contentful Paint
FCPPOOR
4.5 s
First Contentful Paint
TBTNEEDS WORK
450 ms
Total Blocking Time
CLSGOOD
0
Cumulative Layout Shift
SINEEDS WORK
4.9 s
Speed Index
TTFBGOOD
Root document took 140 ms
Time to First Byte
FIDPOOR
380 ms
First Input Delay
Page Load FilmstripVisual timeline of how your page renders
Frame at 0.9s
0.9s
Frame at 1.7s
1.7s
Frame at 2.6s
2.6s
Frame at 3.5s
3.5s
Frame at 4.3s
4.3s
Frame at 5.2s
5.2s
Frame at 6.1s
6.1s
Frame at 6.9s
6.9s
Issues Found10 found
criticalLargest Contentful Paint: 5.0 s (poor)high
How to fixOptimize images, preload LCP element, reduce server response time. Target < 2.5s
What this meansLCP measures when the largest visible element finishes rendering.
SEO ImpactSlow LCP increases bounce rate and hurts Core Web Vitals ranking signal.
warningTBT: 450 ms (needs work)medium
How to fixReduce JavaScript execution time. Code-split, tree-shake, and defer non-critical scripts. Target < 200ms
What this meansTBT sums all time periods where the main thread was blocked for more than 50ms.
SEO ImpactModerate TBT affects interactivity metrics and can lower your INP score.
warningFirst Contentful Paint: 4.5 s (poor)medium
How to fixReduce server response time, eliminate render-blocking resources, inline critical CSS. Target < 1.8s
What this meansFCP measures when the first piece of content is rendered on screen.
SEO ImpactSlow FCP means users see a blank page for too long.
infoReduce unused CSS - Est savings of 23 KiB (potential savings: 23 KB)
How to fixReduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. Learn how to reduce unused CSS.
infoReduce unused JavaScript - Est savings of 133 KiB (potential savings: 133 KB)
How to fixReduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. Learn how to reduce unused JavaScript.
infoAvoid enormous network payloads - Total size was 3,941 KiB
How to fixLarge network payloads cost users real money and are highly correlated with long load times. Learn how to reduce payload sizes.
infoReduce JavaScript execution time - 5.0 s
How to fixConsider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. Learn how to reduce Javascript execution time.
infoMinimize main-thread work - 9.4 s
How to fixConsider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. Learn how to minimize main-thread work
warningLarge HTML (2048KB)
How to fixReduce HTML size, minify, and remove inline scripts/styles
warning8 render-blocking scripts in <head>
How to fixAdd async or defer to scripts
OpportunitiesPotential savings to improve load time
Reduce unused CSSEst savings of 23 KiB
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. Learn how to reduce unused CSS.
23 KB transferable
Reduce unused JavaScriptEst savings of 133 KiB
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. Learn how to reduce unused JavaScript.
133 KB transferable
Avoid enormous network payloadsTotal size was 3,941 KiB
Large network payloads cost users real money and are highly correlated with long load times. Learn how to reduce payload sizes.
DiagnosticsAdditional performance insights
Reduce JavaScript execution time
Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. Learn how to reduce Javascript execution time.
5.0 s
Minimize main-thread work
Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. Learn how to minimize main-thread work
9.4 s
Image elements have explicit `width` and `height`
User Timing marks and measures
Script Treemap Data
Tasks
Final Screenshot
Optimize DOM size
Metrics
Screenshot Thumbnails
3rd parties
Resources Summary
Document request latency
Layout shift culprits
Optimize viewport for mobile
Minify JavaScript
Render blocking requests
Minify CSS
Avoid long main-thread tasks
LCP breakdown
Server Backend Latencies
Avoid non-composited animations
Avoid multiple page redirects
Cumulative Layout Shift
Diagnostics
Avoid large layout shifts
Network Round Trip Times
Initial server response time was short
Network Requests
Heading Structure|Content hierarchy and heading tags
92 / 100
H1
1
ideal: 1
H2
18
ideal: 2+
H3
21
ideal: optional
H4
0
ideal: optional
Heading Hierarchy40 total
H1The better way to schedule your meetings
H2With us, appointment scheduling is easy
H2With us, appointment scheduling is easy
H2Cal.com
H2Your all-purpose scheduling app
H2Your all-purpose scheduling app
H2…and so much more!
H2…and so much more!
H2Don’t just take our word for it
H2Don’t just take our word for it
H2Don’t just take our word for it
H2All your key tools in-sync with your meetings
H2All your key tools in-sync with your meetings
H2All your key tools in-sync with your meetings
H2See why our users love Cal.com
H2See why our users love Cal.com
H2Smarter, simpler scheduling
H2Smarter, simpler scheduling
H2Smarter, simpler scheduling
H3Supercharged scheduling with AI-powered calls
H3Connect your calendar
H3Set your availability
H3Choose how to meet
H3Avoid meeting overload
H3Stand out with a custom booking link
+15 more headings
Duplicate Headings
With us, appointment scheduling is easy
Your all-purpose scheduling app
…and so much more!
Don’t just take our word for it
Don’t just take our word for it
All your key tools in-sync with your meetings
All your key tools in-sync with your meetings
See why our users love Cal.com
Smarter, simpler scheduling
Smarter, simpler scheduling
Recommendations2
info10 duplicate heading(s) found
Use unique headings for each section
infoToo many headings (40)
Reduce heading count for better structure
Structured Data|Schema markup, Open Graph and Twitter Cards
70 / 100
JSON-LD Schema
Not found
Open Graph
5 tags
Twitter Cards
4 tags
Microdata
Not found
Open Graph Tags
og:titleCal.com | Open Scheduling Infrastructure
og:descriptionA fully customizable scheduling software for individuals, businesses taking calls and developers building scheduling platforms where users meet users.
og:imagehttps://framerusercontent.com/images/wR3hWD1bOPJdosDiPSZLtYpHR3k.png
og:urlhttps://cal.com/
og:typewebsite
missing: og:site_namemissing: og:locale
Recommendations1
criticalNo JSON-LD structured data found
Add JSON-LD schema markup (e.g., WebPage, Organization, Article)
Image Optimization|Alt text, lazy loading and dimensions
70 / 100
Total Images
167
Missing Alt Text
0
100% have alt text
Missing Dimensions
5
Lazy Loaded
31%
51 of 167 images
Recommendations3
warning159 images with empty alt
Add meaningful alt text (empty is OK for decorative images)
info5 images without explicit dimensions
Add width/height to prevent layout shifts (CLS)
infoMost images not lazy-loaded
Add loading="lazy" to below-the-fold images
Indexability|Robots, canonical and sitemap
95 / 100
Canonical URL
Set
https://cal.com/
Noindex
Allowed
meta robots: max-image-preview:large
Robots.txt
Found
Sitemap
Found
https://cal.com/sitemap.xml
Crawl Directives
Meta Robotsmax-image-preview:large
X-Robots-TagNot set
GooglebotNot set
NofollowNo — links followed
Canonicalhttps://cal.com/
Page URLhttps://cal.com
Recommendations1
infoNo Sitemap reference in robots.txt
Add Sitemap: https://cal.com/sitemap.xml to robots.txt
Content Structure|Content quality and semantic HTML
90 / 100
Word Count
2606
Paragraphs
677
All good length
Lists
9
Words per Heading
65
Ideal: 100-300
Title vs H1 Alignment3500% similar
TITLE TAG
Cal.com | Open Scheduling Infrastructure
H1 TAG
The better way to schedule your meetings
Semantic HTML Elements9 sections
<main>
<article>
<nav>
<header>
<footer>
Recommendations1
warningFew semantic HTML5 elements used
Use <main>, <article>, <nav>, <header>, <footer>, <section>
AI Readability|How easily AI models can process your content
65 / 100
35Flesch
Reading Level
Difficult
Moderately complex
Total Words
2606
Sentences
225
Avg Sentence Length
12 words
Vocabulary Richness
20%
531 unique words
Opening Paragraph1 words
Solutions
Recommendations3
warningDifficult to read (Flesch: 34)
Break complex sentences. Aim for Flesch score 60+
infoLow vocabulary diversity
Use varied vocabulary to provide richer context for AI
infoFirst paragraph is too short for AI summarization
Make the first paragraph a comprehensive summary (30-50 words)
AI Citation Potential|How likely AI will quote your content
95 / 100
Named Entities
78
299% density
FAQ Patterns
13
No FAQ Schema
Citations
0
Lists & Tables
144 items, 0 tables
Top Named Entities
Cal78Calendly36SavvyCal12MerianProduct12Marketing12MintlifyI12RauchCEO12VercelI12EpicWeb12MinaeiCEO12Theatre12WilsonCoFounder12SupabaseAt12Navi12FriedlandCEO12Founder12At Navi12NaviMore9RavesteijnPartnerships4SaaS4
Recommendations1
infoNo source attribution detected
Add citations or "according to" attributions to increase credibility
Content Freshness|Date signals and cache headers
85 / 100
Date Signals
Found
Search engines can determine content freshness
Cache Control
Set
private, max-age=0, must-revalidate
ETag
Not set
Date Signals
Last-Modified HeaderMarch 10, 2026
Published DateNot found
Modified DateNot found
Recommendations1
warningNo datePublished or dateModified in structured data
Add datePublished and dateModified to your JSON-LD schema.
Security Headers|HTTP security headers analysis
52 / 100
Content-Security-Policy
Prevents XSS and injection attacks
MISSING
Strict-Transport-Security
Forces HTTPS connections
max-age=31536000
SET
X-Frame-Options
Prevents clickjacking attacks
MISSING
X-Content-Type-Options
Prevents MIME-type sniffing
nosniff
SET
Referrer-Policy
Controls referrer information
MISSING
Permissions-Policy
Controls browser features
MISSING
Recommendations5
criticalMissing Content-Security-Policy header
Add Content-Security-Policy header to prevent XSS and data injection attacks
infoHSTS should include subdomains
Add includeSubDomains to HSTS header
warningMissing X-Frame-Options header
Add X-Frame-Options: DENY or SAMEORIGIN to prevent clickjacking
infoMissing Referrer-Policy header
Add Referrer-Policy header (e.g., strict-origin-when-cross-origin)
Trust Signals|Essential trust-building pages
90 / 100
Contact Page
MISSING
A contact page builds trust with visitors and search engines
About Page
FOUND
An about page establishes credibility and expertise
https://cal.com/help
Privacy Policy
FOUND
Required for compliance and builds user trust
./privacy
Terms of Service
FOUND
Protects both the site owner and users
./terms
Recommendations2
infoMissing trust pages: contact
Consider adding links to: contact
infoNo author attribution found
Add author information via schema markup or rel="author" for E-E-A-T signals
Tech Stack|8 technologies detected
90 / 100
Analytics2
🏷️
Google Tag Manager
Script signature
javascript
🛠️
Analytics
Script signature
javascript
CDN2
☁️
Cloudflare
Server: cloudflare
header
🌩️
CloudFront
Script signature
javascript
CMS1
🛠️
Framer
Generator: Framer 8cd3f60
meta
Frameworks3
🛠️
Prototype
Script signature
javascript
🛠️
Fetch API
Script signature
javascript
📝
WordPress
Script signature
javascript