Back to Home

linear.app SEO Analysis

linear.app scores 91/100 for SEO, 33/100 for performance, and 76/100 for AI crawler readability as of Mar 3, 2026.

https://linear.app
15 checks
30 issues
Mar 3, 2026
https://linear.app
Desktop preview
Desktop
Mobile preview
Mobile
Score Analysis
LIVE
74OF 100
Needs Work
91
SEO
33
Perf
76
AI
Page Title

Linear – The system for product development

Google Search Preview|How your page appears in search results
SERP Score
0/ 100
Needs Work
linear.app
https://linear.app
Linear – The system for product development
Purpose-built for planning and building products with AI agents.
Snippet Quality
Title Length43 chars
03060 optimal90
Description Length64 chars
070160 optimal240
Power Word
CTA
URL Readable
HTTPS
No Truncation
Recommendations3 found
infoTitle lacks CTR-boosting power words
Consider adding words like "free", "guide", "best" to improve click-through rate
warningMeta description too short (64 chars)
Aim for 120-155 characters
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 3, 2026, 12:15 PM
Status200OK
Load Time0.46sFAST
HTML Size2048 KBLARGE
CompressionGZIPON
HTTPSSecureSECURE
Render-Block3 scriptsFOUND
0/ 100
Poor
LCPPOOR
26.3 s
Largest Contentful Paint
FCPPOOR
4.2 s
First Contentful Paint
TBTPOOR
1,500 ms
Total Blocking Time
CLSGOOD
0
Cumulative Layout Shift
SIPOOR
8.8 s
Speed Index
TTFBGOOD
Root document took 60 ms
Time to First Byte
FIDPOOR
1,010 ms
First Input Delay
Page Load FilmstripVisual timeline of how your page renders
Frame at 0.9s
0.9s
Frame at 1.8s
1.8s
Frame at 2.7s
2.7s
Frame at 3.6s
3.6s
Frame at 4.5s
4.5s
Frame at 5.4s
5.4s
Frame at 6.4s
6.4s
Frame at 7.3s
7.3s
Issues Found13 found
criticalLargest Contentful Paint: 26.3 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.
criticalTotal Blocking Time: 1,500 ms (poor)high
How to fixBreak up long tasks, defer non-critical JavaScript, use web workers. Target < 200ms
What this meansTBT measures total time the main thread was blocked. It's a lab proxy for INP.
SEO ImpactHigh TBT means the page feels unresponsive. This directly impacts INP, a Core Web Vital.
warningFirst Contentful Paint: 4.2 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.
warningSpeed Index: 8.8 s (poor)medium
How to fixOptimize critical rendering path, reduce main-thread work. Target < 3.4s
What this meansSpeed Index measures how quickly content is visually displayed during page load.
SEO ImpactA high Speed Index means the page appears to load slowly.
warningReduce unused JavaScript - Est savings of 354 KiB (potential savings: 2100ms) / 354 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.
warningReduce unused CSS - Est savings of 76 KiB (potential savings: 300ms) / 76 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.
infoMinify CSS - Est savings of 9 KiB (potential savings: 9 KB)
How to fixMinifying CSS files can reduce network payload sizes. Learn how to minify CSS.
infoAvoid enormous network payloads - Total size was 4,625 KiB
How to fixLarge network payloads cost users real money and are highly correlated with long load times. Learn how to reduce payload sizes.
infoAvoid large layout shifts
How to fixThese are the largest layout shifts observed on the page. Each table item represents a single layout shift, and shows the element that shifted the most. Below each item are possible root causes that led to the layout shift. Some of these layout shifts may not be included in the CLS metric value due …
infoReduce JavaScript execution time - 3.3 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 - 6.2 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
warning3 render-blocking scripts in <head>
How to fixAdd async or defer to scripts
OpportunitiesPotential savings to improve load time
Reduce unused JavaScriptEst savings of 354 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.
2.1s potential savings 354 KB transferable
Reduce unused CSSEst savings of 76 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.
0.3s potential savings 76 KB transferable
Minify CSSEst savings of 9 KiB
Minifying CSS files can reduce network payload sizes. Learn how to minify CSS.
9 KB transferable
Avoid enormous network payloadsTotal size was 4,625 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
Avoid large layout shifts
These are the largest layout shifts observed on the page. Each table item represents a single layout shift, and shows the element that shifted the most. Below each item are possible root causes that led to the layout shift. Some of these layout shifts may not be included in the CLS metric value due …
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.
3.3 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
6.2 s
Script Treemap Data
Network Round Trip Times
Optimize DOM size
Avoid multiple page redirects
3rd parties
Network Requests
Font display
Minify JavaScript
Layout shift culprits
Image elements have explicit `width` and `height`
Final Screenshot
Resources Summary
Server Backend Latencies
Avoid non-composited animations
Cumulative Layout Shift
Avoid long main-thread tasks
Initial server response time was short
Diagnostics
Metrics
Document request latency
Screenshot Thumbnails
Tasks
Duplicated JavaScript
Optimize viewport for mobile
Heading Structure|Content hierarchy and heading tags
100 / 100
H1
1
ideal: 1
H2
8
ideal: 2+
H3
7
ideal: optional
H4
1
ideal: optional
Heading Hierarchy17 total
H1The productdevelopmentsystem for teamsand agentsThe product developmentsystem for teams and agentsThe product development system for teams and agents
H2A new species of product tool. Purpose-built for modern teams with AI workflows at its core, Linear sets a new standard for planning and building products.
H2Make product operations self-driving
H2Define the product direction
H2Move work forward across teams and agents
H2Review PRs and agent output
H2Understand progress at scale
H2Changelog
H2Built for the future. Available today.
H3Faster app launch
H3Product
H3Features
H3Company
H3Resources
H3Connect
H3Legal
H4Activity
Structured Data|Schema markup, Open Graph and Twitter Cards
60 / 100
JSON-LD Schema
Not found
Open Graph
3 tags
Twitter Cards
5 tags
Microdata
Not found
Open Graph Tags
og:titleLinear – The system for product development
og:descriptionPurpose-built for planning and building products with AI agents.
og:imagehttps://linear.app/static/og/homepage.jpg
missing: og:urlmissing: og:typemissing: og:site_namemissing: og:locale
Recommendations2
criticalNo JSON-LD structured data found
Add JSON-LD schema markup (e.g., WebPage, Organization, Article)
warningMissing Open Graph tags: og:url, og:type
Add OG meta tags for social sharing
Image Optimization|Alt text, lazy loading and dimensions
90 / 100
Total Images
31
Missing Alt Text
0
100% have alt text
Missing Dimensions
0
Lazy Loaded
94%
29 of 31 images
Recommendations1
warning17 images with empty alt
Add meaningful alt text (empty is OK for decorative images)
Indexability|Robots, canonical and sitemap
100 / 100
Canonical URL
Set
https://linear.app
Noindex
Allowed
Robots.txt
Found
Sitemap
Found
https://linear.app/sitemap.xml
Crawl Directives
Meta RobotsNot set
X-Robots-TagNot set
GooglebotNot set
NofollowNo — links followed
Canonicalhttps://linear.app
Page URLhttps://linear.app
Content Structure|Content quality and semantic HTML
90 / 100
Word Count
150796
Paragraphs
20
All good length
Lists
10
Words per Heading
8870
Ideal: 100-300
Title vs H1 Alignment3510% similar
TITLE TAG
Linear – The system for product development
H1 TAG
The productdevelopmentsystem for teamsand agentsThe product developmentsystem for teams and agentsThe product development system for teams and agents
Semantic HTML Elements9 sections
<main>
<article>
<nav>
<header>
<footer>
Recommendations1
warningPoor content chunking (8870 words/heading)
Add more headings to break content into digestible chunks (aim for 150-200 words per section)
AI Readability|How easily AI models can process your content
70 / 100
58Flesch
Reading Level
Fairly Easy
Moderately complex
Total Words
150796
Sentences
5550
Avg Sentence Length
27 words
Vocabulary Richness
5%
7026 unique words
Opening Paragraph11 words
Purpose-built for planning and building products. Designed for the AI era.
Recommendations3
warningLong average sentence length (27 words)
Keep sentences under 20 words for better AI parsing
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
100 / 100
Named Entities
1687
112% density
FAQ Patterns
24
No FAQ Schema
Citations
1254
Lists & Tables
60 items, 0 tables
Top Named Entities
Linear396Alum76Staff71Engineer60Engineering54Slack45Customer Experience43Senior40Principal37Linears34Product32Software Engineer32Karri Saarinen31Designer30Experience27Manager26Account Executive25Principal Designer25Engineering Manager25SaarinenslugtypeslugcurrentkarrisaarinentwitterURLhttpstwitter24
Quotable Content
You just have to use it and you will see, you will just feel it.
Our speed is intense and Linear helps us be action biased.
Linear is excellent, just excellent. It has the right opinions for fast moving teams.
@Codex
A new species of product tool.
20,000
Content Freshness|Date signals and cache headers
75 / 100
Date Signals
None
No date signals found on page
Cache Control
Set
s-maxage=120, stale-while-revalidate=31535880
ETag
Not set
Date Signals
Last-Modified HeaderNot found
Published DateNot found
Modified DateNot found
Recommendations2
warningNo datePublished or dateModified in structured data
Add datePublished and dateModified to your JSON-LD schema.
infoNo date/time signals found anywhere on page
Add <time datetime="..."> elements or schema dates to help AI assess content freshness
Security Headers|HTTP security headers analysis
75 / 100
Content-Security-Policy
Prevents XSS and injection attacks
default-src 'self' https://static.linear.app; connect-src 'self' https://o415358.ingest.sentry.io/api/5337513/ https://o415358.ingest.sentry.io/api/4504277957279744/ wss://ornj730p.api.sanity.io/ https://ornj730p.apicdn.sanity.io/ https://*.linear.app https://9RXBCYQ6DV-dsn.algolia.net https://linearstatus.com/ https://statuspage.incident.io/ https://app.posthog.com https://browser-intake-datadoghq.com https://*.browser-intake-datadoghq.com https://api.github.com/ https://www.githubstatus.com/ http://127.0.0.1:44450/ http://127.0.0.1:18450/ http://127.0.0.1:33234/ https://api.linear.app https://client-api.linear.app wss://sync.linear.app/ https://storage.googleapis.com/uploads.linear.app/ https://storage.googleapis.com/linear-uploads-europe-west1/ https://storage.googleapis.com/linear-uploads-us-central1/ https://storage.googleapis.com/imports.linear.app/ https://storage.googleapis.com/linear-imports-europe-west1/ https://storage.googleapis.com/linear-imports-us-central1/ https://storage.googleapis.com/public.linear.app/ https://ornj730p.api.sanity.io/; script-src 'unsafe-inline' 'self' blob: https://js.stripe.com/v3 https://jobs.ashbyhq.com/Linear/embed https://e.linear.app https://challenges.cloudflare.com/turnstile/ 'wasm-unsafe-eval' https://static.linear.app; worker-src 'self' blob: https://static.linear.app; style-src 'self' 'unsafe-inline' https://static.linear.app; font-src 'self' data: https://static.linear.app; img-src 'self' data: blob: https://*.linear.app https://*.googleusercontent.com https://cdn.sanity.io/images/ornj730p/ https://webassets.linear.app https://linear.app/cdn-cgi/imagedelivery/ https://avatars.githubusercontent.com https://i.ytimg.com/vi/ https://avatars.slack-edge.com https://pbs.twimg.com/profile_images/ https://pbs.twimg.com/ext_tw_video_thumb/ https://secure.gravatar.com; frame-ancestors 'self' https://cms.linear.app; frame-src *; media-src blob: https://uploads.linear.app https://client-api.linear.app https://public.linear.app https://imports.linear.app https://static.linear.app https://webassets.linear.app https://cdn.sanity.io/files/ornj730p/ https://video.twimg.com/ext_tw_video/ https://linear.app/static/; base-uri 'self'; report-uri https://api.linear.app/report-violation
SET
Strict-Transport-Security
Forces HTTPS connections
max-age=15552000; includeSubDomains
SET
X-Frame-Options
Prevents clickjacking attacks
MISSING
X-Content-Type-Options
Prevents MIME-type sniffing
nosniff
SET
Referrer-Policy
Controls referrer information
same-origin
SET
Permissions-Policy
Controls browser features
MISSING
Recommendations3
warningHSTS max-age too low
Set HSTS max-age to at least 31536000 (1 year)
warningMissing X-Frame-Options header
Add X-Frame-Options: DENY or SAMEORIGIN to prevent clickjacking
infoMissing Permissions-Policy header
Add Permissions-Policy header to control browser features
Trust Signals|Essential trust-building pages
95 / 100
Contact Page
FOUND
A contact page builds trust with visitors and search engines
/contact
About Page
FOUND
An about page establishes credibility and expertise
/about
Privacy Policy
FOUND
Required for compliance and builds user trust
/privacy
Terms of Service
FOUND
Protects both the site owner and users
/terms
Recommendations1
infoNo author attribution found
Add author information via schema markup or rel="author" for E-E-A-T signals
Tech Stack|7 technologies detected
85 / 100
Analytics2
💬
Intercom
Script signature
javascript
🛠️
Analytics
Script signature
javascript
CDN1
☁️
Cloudflare
Server: cloudflare
header
Frameworks4
⚛️
React
Script signature
javascript
Next.js
Script signature
javascript
🛠️
Ember.js
Script signature
javascript
📝
WordPress
Script signature
javascript