Mobile
1/1 runs
Perf
53
A11y
89
SEO
100
Best
92
LCP
โค 2.5 s
13.3 s
CLS
โค 0.1
0.000
TBT
โค 200 ms
314 ms
FCP
โค 1.8 s
3.4 s
TTFB
โค 800 ms
9 ms
SI
โค 3.4 s
10.0 s
Largest Contentful Paint element
Type: imagea.uDqFfq_card > div.uDqFfq_image > div.uDqFfq_planFade > img.show-tablet
<img src="https://linear.app/cdn-cgi/imagedelivery/fO02fVwohEs9s9UHFwon6A/a6019f45-4โฆ" alt="" width="624" height="742" loading="lazy" decoding="async" class="show-tablet Sz_9La_root" data-nimg="1" style="width:100%" data-nosnippet="true" data-loaded="true">
Page weight
3.1 MB ยท 491 requests ยท third-party 0 B
JavaScript1.6 MB51%
Images503 KB16%
CSS235 KB7%
Fonts345 KB11%
Failing performance checks
13 items- โ450 msImprove image deliveryReducing the download time of images can improve the perceived load time of the page and LCP. Learn more about optimizing image sizeEst savings of 252ย KiBCovered by: Right-size and modernize images โ
- โ300 msMinimize main-thread workConsider 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 work5.6ย sCovered by: Cut and defer JavaScript โ
- Forced reflowA forced reflow occurs when JavaScript queries geometric properties (such asCovered by: Cut and defer JavaScript โ
offsetWidth) after styles have been invalidated by a change to the DOM state. This can result in poor performance. Learn more about forced reflows and possible mitigations. - โ250 msReduce JavaScript execution timeConsider 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.1.7ย sCovered by: Cut and defer JavaScript โ
- โ1.3 sReduce unused JavaScriptReduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. Learn how to reduce unused JavaScript.Est savings of 333ย KiBCovered by: Cut and defer JavaScript โ
- LCP breakdownEach subpart has specific improvement strategies. Ideally, most of the LCP time should be spent on loading the resources, not within delays.
Show 7 more checks โShow fewer โ
- Use efficient cache lifetimesA long cache lifetime can speed up repeat visits to your page. Learn more about caching.Est savings of 152ย KiBCovered by: Set long cache lifetimes for static assets โ
- Network dependency treeAvoid chaining critical requests by reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.Covered by: Unblock the initial render โ
- Render-blocking requestsRequests are blocking the page's initial render, which may delay LCP. Deferring or inlining can move these network requests out of the critical path.Est savings of 980ย msCovered by: Unblock the initial render โ
- LCP request discoveryOptimize LCP by making the LCP image discoverable from the HTML immediately, and avoiding lazy-loadingCovered by: Unblock the initial render โ
- Avoid enormous network payloadsLarge network payloads cost users real money and are highly correlated with long load times. Learn how to reduce payload sizes.Total size was 3,177ย KiBCovered by: Reduce total page weight โ
- Legacy JavaScriptPolyfills and transforms enable older browsers to use new JavaScript features. However, many aren't necessary for modern browsers. Consider modifying your JavaScript build process to not transpile Baseline features, unless you know you must support older browsers. Learn why most sites can deploy ES6+ code without transpilingEst savings of 9ย KiBCovered by: Cut and defer JavaScript โ
- Minify CSSMinifying CSS files can reduce network payload sizes. Learn how to minify CSS.Est savings of 4ย KiBCovered by: Unblock the initial render โ
Failing accessibility checks
3 items- Heading elements are not in a sequentially-descending orderProperly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. Learn more about heading order.Covered by: Address accessibility gaps โ
- `button`, `link`, and `menuitem` elements do not have accessible names.When an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn how to make command elements more accessible.
- Buttons do not have an accessible nameWhen a button doesn't have an accessible name, screen readers announce it as "button", making it unusable for users who rely on screen readers. Learn how to make buttons more accessible.Covered by: Address accessibility gaps โ
Failing best-practices checks
2 items- Issues were logged in the `Issues` panel in Chrome DevtoolsIssues logged to the
Issuespanel in Chrome Devtools indicate unresolved problems. They can come from network request failures, insufficient security controls, and other browser concerns. Open up the Issues panel in Chrome DevTools for more details on each issue. - Browser errors were logged to the consoleErrors logged to the console indicate unresolved problems. They can come from network request failures and other browser concerns. Learn more about this errors in console diagnostic audit
SEO Readiness (this page)
Title, meta, canonical, structured data, etc.
90/100
9 pass ยท 0 warn ยท 1 fail
- โHTTPSServed over HTTPS
- โTitle tag17 chars
- โMeta description130 chars
- โCanonical URLhttps://linear.app/features
- โOpen GraphComplete
- โTwitter Cardsummary_large_image
- โStructured data (JSON-LD)No JSON-LD on this page
- โH1 headingExactly one H1
- โLanguage declaration<html lang="en">
- โViewport metaSet
AI Readiness (this page)
Structured data, server-rendered content, semantic HTML.
75/100
5 pass ยท 2 warn ยท 1 fail
- โSnippet directivesNo nosnippet / max-snippet / noai restrictions
- โStructured data (validated)No JSON-LD โ answer engines have nothing structured to parse
- โServer-rendered content715 words in initial HTML
- โSemantic HTMLUses main, header, footer, nav
- !Heading outlineLevel skips (H1โH3) โ broken hierarchy confuses chunk-based retrieval
- โOpen Graph metadataComplete
- โConsent wallNo consent-manager wall detected
- !Author / Organization markupNo author meta tag or Person/Organization schema
Citation-friendliness
How citable this page looks to an LLM answer engine.
58/100
- โCanonical URLPage has a stable URL to cite
- โAuthor identityNo author meta or schema โ citation confidence drops without a named source
- โPublication dateNo publication or modification date in JSON-LD โ answer engines deprioritize undated content
- !Article schemaNo Article / NewsArticle / BlogPosting schema โ limits rich-snippet eligibility
- โContent depth715 words โ substantial for a citation source
- โSemantic structureUses <main>, <article> or <header>
โ All 20 internal links we sampled on this page resolved.