Audit report for

notion.so

Last audited on Jul 2, 2026

Notion has significant performance and AI readiness improvements to make

Notion scores well in SEO and accessibility but has major performance issues with slow LCP and high TBT. AI readiness is moderate with no structured data for search engines or AI models.

0/100
Overall
05090100

Score profile

Category insights

Performance43

LCP is 6211ms and TBT is 1292ms which are well above recommended thresholds. There are opportunities to reduce JavaScript execution time and improve caching.

SEO92

SEO score is 92 with valid robots.txt and proper meta tags. However, lack of structured data may limit AI integration and rich snippets.

Accessibility90

Accessibility score is 90 with no critical issues reported. Some minor issues like color contrast and touch target size could be improved.

Best practices92

Best practices score is 92 with valid security headers. However, missing source maps and browser errors suggest areas for improvement.

AI readiness75

AI readiness score is 75. No structured data for AI models and no web analytics or retargeting pixels limit AI integration and user tracking.

Performance metrics

6.2s
Largest Contentful Paint
Lab
0.00
Cumulative Layout Shift
Lab
1292ms
Total Blocking Time
Lab
3.5s
First Contentful Paint
Lab
2.7s
Largest Contentful Paint
Real user
263ms
Interaction to Next Paint
Real user
0.00
Cumulative Layout Shift
Real user
5.1 MB
Page weight
Lab
3.08 g
CO2 per visit
Lab

Marketing readiness

Web analytics

Missing

Advertising pixel

Missing

Live chat

Missing

Blog or content

Present

Pricing page

Present

Email capture

Missing

AI crawler access

ChatGPT

Allowed

Claude

Allowed

Perplexity

Allowed

Gemini

Allowed

Common Crawl

Allowed

llms.txt

Present

Structured data

Missing

Tech and tools detected

Next.js

Social presence

Compare with competitors

Recommendations

28 issues found
High

Avoid multiple page redirects

Est savings of 2,010 ms

How to fix

Review and remove unnecessary redirects. Use server-side configuration to handle redirects efficiently. Ensure all internal links point directly to the final destination.

Impact

Reduce page load time by 2 seconds

Redirect checkerServer configurationLink audit
High

Reduce unused JavaScript

Est savings of 1,474 KiB

How to fix

Implement code splitting and tree shaking to eliminate unused JavaScript. Use dynamic imports for non-critical modules. Audit and remove third-party scripts that are not essential.

Impact

Reduce payload by 1.47 MB

WebpackViteCode splittingTree shaking
High

Improve image delivery

Est savings of 243 KiB

How to fix

Convert images to next-gen formats like WebP or AVIF. Implement responsive images using srcset and sizes attributes. Optimize image compression and use lazy loading for off-screen images.

Impact

Reduce image payload by 243 KB

WebP/AVIF conversionResponsive imagesImage optimization toolsLazy loading
High

Use efficient cache lifetimes

Est savings of 348 KiB

How to fix

Configure HTTP caching headers for static assets. Set long cache durations for resources that do not change frequently. Use cache busting techniques for versioned assets.

Impact

Reduce redundant downloads by 348 KB

HTTP caching headersCache controlCDN configuration
High

Minimize main-thread work

10.3 s

How to fix

Defer non-critical JavaScript and CSS. Use Web Workers for heavy computations. Prioritize critical rendering path and avoid long-running tasks on the main thread.

Impact

Reduce main-thread work by 10.3 seconds

Defer loadingWeb WorkersCritical rendering path optimization
High

Reduce JavaScript execution time

4.7 s

How to fix

Profile JavaScript execution using Chrome DevTools. Remove or optimize heavy functions. Implement lazy loading for non-essential features and use asynchronous loading where possible.

Impact

Reduce JavaScript execution time by 4.7 seconds

Chrome DevToolsJavaScript profilingLazy loadingAsynchronous loading
High

Render-blocking requests

Est savings of 1,440 ms

How to fix

Identify and defer render-blocking resources. Use async or defer attributes for scripts. Inline critical CSS and load non-critical CSS asynchronously.

Impact

Reduce render-blocking time by 1.44 seconds

Async/defer attributesCritical CSS inliningCSS optimization
Medium

Add structured data for AI and search engines

No structured data (JSON-LD) for AI and search engines

How to fix

Implement JSON-LD structured data for key content types such as articles, products, and organizations. Use schema.org vocabulary to enhance AI model understanding and search engine visibility.

Impact

Improve AI model understanding and search engine visibility

Schema.orgJSON-LDStructured data testing tool
Medium

Enable web analytics for user tracking

No web analytics detected, so visitors cannot be measured

How to fix

Integrate a web analytics platform such as Google Analytics or Mixpanel. Track user behavior, session duration, and conversion rates to inform AI model training and business decisions.

Impact

Enable visitor measurement and user behavior analysis

Google AnalyticsMixpanelWeb analytics setup
Medium

Add advertising pixels for retargeting

No advertising pixel detected, so visitors cannot be retargeted

How to fix

Implement retargeting pixels from platforms like Facebook, Google Ads, or LinkedIn. Use these pixels to track user interactions and serve targeted ads to returning visitors.

Impact

Enable retargeting and improve ad campaign effectiveness

Facebook PixelGoogle AdsLinkedIn Insight Tag
Medium

Fix browser console errors

Browser errors were logged to the console

How to fix

Audit and fix JavaScript errors logged in the browser console. Use error handling and logging to identify and resolve issues proactively.

Impact

Improve stability and user experience

Chrome DevToolsError loggingJavaScript debugging
Medium

Add source maps for large JavaScript files

Missing source maps for large first-party JavaScript

How to fix

Generate and deploy source maps for large JavaScript bundles. This enables better debugging and performance analysis during development and production.

Impact

Improve developer productivity and debugging efficiency

Source map generationWebpackVite
Medium

Ensure sufficient color contrast ratio

Background and foreground colors do not have a sufficient contrast ratio

How to fix

Audit and adjust color contrast ratios to meet WCAG AA or AAA standards. Use tools like Contrast Checker to validate and improve accessibility.

Impact

Improve accessibility and user experience for visually impaired users

Contrast CheckerColor contrast auditWCAG guidelines
Medium

Ensure lists contain only <li> elements

Lists do not contain only `<li>` elements and script supporting elements (`<script>` and `<template>`)

How to fix

Validate and correct list structures to ensure they contain only <li> elements. Remove any non-list elements such as <script> or <template> from list containers.

Impact

Improve screen reader compatibility and semantic HTML structure

HTML validationScreen reader testingSemantic HTML audit

Want us to fix this and grow your product?