AvocadoScore Free preview
ReportPagesTasks

AvocadoScore audit · linear.app

linear.app

Unripe

Performance needs significant, prioritized work across the site.

Fix this firstUnblock the initial rendercritical · medium effort · 3 pages

This verdict weights real-user data (Chrome UX Report). Cold lab first-visits shown below run slower.

Mobile perf
44/100
Unripe
SEO ready
92/100
Ripe
AI ready
76/100
Almost ripe

Scanned 11 days ago3 pages4 views

What you’re not seeing yet

Your 3 sampled pages averaged 44 on mobile performance — we don’t know which of the other 929 pages are dragging that median. The full audit scans up to 100 of your most important pages so you can find the templates costing you traffic.

Pages we found but didn’t scan

/agents/blog/careers/changelog/coding-sessions/resource-kit/contact/sales/contact/support+4 more

7-day refund · no questions

Overview

Key findings

The headline takeaways, in plain English.

  1. 1In cold lab tests, 3 of 3 scanned pages render in the "Unripe" band (the overall verdict above weights real-user data, which is faster).
  2. 2Median mobile LCP is 11.2 s — about 4.5× the 2.5 s target.
  3. 3The biggest opportunity: Set long cache lifetimes for static assets — affects 3 pages.
  4. 4The heaviest page ships 1.5 MB of JavaScript — a primary cause of slow loads.
  5. 5Strengths: accessibility, SEO and best practices score well — focus effort on performance.
See the prioritized action plan →
Performance
44/100
14 issue types
Accessibility
91/100
4 issue types
On-page SEO
92/100
1 issue type
Best Practices
92/100
5 issue types
0Ripe0Almost ripe3Unripe

AI & search visibility

Can AI answer engines find, read and cite your site?

More people now ask ChatGPT, Perplexity and Claude instead of Googling. This section answers whether those answer engines can reach your content, understand it, and cite you — the audit other tools skip.

AI visibility verdict

AI agents can read your site; a few quick additions would make it easier to cite.

Fix next: add structured data — see the action plan for copy-paste fixes.

OG image quality

100/100

https://linear.app/static/og/homepage.jpg

Open Graph preview image as social platforms and AI answer engines see it
  • Reachable
    HTTP 200
  • Content-Type
    image/jpeg
  • File size
    270.5 KB

Crawl-as-bot diff

Homepage · GPTBot UA

GPTBot sees 9,258 chars · browser sees 9,215 chars

100%

GPTBot sees 100% of the content a browser sees — essentially identical.

llms.txt content

145 links · 2 sections

100/100
  • /llms.txt present
    HTTP 200
  • Has main heading
    # Title found
  • Link coverage
    145 markdown links
  • Sections
    2 `##` sections
  • /llms-full.txt
    HTTP 200 — richer LLM context
# Linear > Linear is a purpose-built tool for planning and building products. Meet the system for modern software development. Streamline issues, projects, and product roadmaps. ## Documentation Get an overview of Linear's features, integrations, and how to use them. ### Getting started - [Star…

Robots.txt advisor

1 group · 1 sitemap ref

80/100
  • robots.txt present
    1 user-agent group
  • Allows crawlers
    `User-agent: *` permits standard crawling
  • Sitemap declared
    1 sitemap ref
  • AI bot policies
    No explicit policy for GPTBot, ClaudeBot, Google-Extended, etc. — decide and declare
  • Crawl-delay
    No crawl-delay — crawlers use their own pacing

Readiness

SEO & AI Readiness

Two scorecards derived from the homepage HTML, robots.txt and AI-specific well-known files. The differentiating analysis no other tool does.

SEO Readiness
92/100
11 pass · 0 warn · 1 fail
AI Readiness
76/100
10 pass · 6 warn · 1 fail

A few readiness gaps to close — the checklists below name what’s missing or weak on the homepage and in robots.txt.

SEO checklist

11/12 passing
  • Structured data (JSON-LD)
    No JSON-LD — search engines lose rich-result context
11 passing checks — show all
  • HTTPS
    Served over HTTPS
  • Sitemap
    sitemap.xml present
  • robots.txt
    Present
  • Title tag
    43 chars
  • Meta description
    64 chars
  • Canonical URL
    https://linear.app
  • Open Graph
    Complete (title, description, image)
  • Twitter Card
    summary_large_image
  • H1 heading
    Exactly one H1
  • Language declaration
    <html lang="en">
  • Viewport meta
    Set

AI readiness — three pillars

10/17 passing
Access80

Can AI crawlers fetch the site at all?

Comprehension80

Once fetched, can they parse and chunk it?

Trust50

Can they attribute and date the content?

Access — Can AI crawlers fetch the site at all?

3/5 passing
  • !
    AI answer-engine access
    OAI-SearchBot, ChatGPT-User, Claude-User, PerplexityBot, Perplexity-User are restricted in robots.txt — ChatGPT search, Perplexity and Claude can't read or cite the site through these crawlers
  • !
    Search-index crawlers (AI surfaces)
    Googlebot, Bingbot partially restricted — AI surfaces built on these indexes see a reduced site
3 passing checks — show all
  • Training-crawler stance
    No training opt-outs declared — content may be used for model training (5 tokens checked)
  • CDN / firewall gate
    GPTBot sees 100% of the content a browser sees — essentially identical.
  • Snippet directives
    No nosnippet / max-snippet / noai restrictions

Comprehension — Once fetched, can they parse and chunk it?

7/10 passing
  • Structured data (validated)
    No JSON-LD — answer engines have nothing structured to parse
  • !
    Heading outline
    Level skips (H1→H3) — broken hierarchy confuses chunk-based retrieval
  • !
    RSS/Atom feed
    No feed advertised in <head> — several AI systems ingest feeds for freshness
7 passing checks — show all
  • /llms.txt
    Present — AI-friendly content map
  • /llms-full.txt
    Present — expanded LLM context
  • Server-rendered content
    35437 words in initial HTML
  • Semantic HTML
    Uses main, header, footer, nav
  • Open Graph metadata
    Complete
  • Sitemap freshness
    sitemap.xml carries <lastmod> dates — recrawl prioritization works
  • Consent wall
    No consent-manager wall detected

Trust — Can they attribute and date the content?

0/2 passing
  • !
    Author / Organization markup
    No Person/Organization schema or <meta name="author">
  • !
    Content dates
    No datePublished/dateModified in structured data — answer engines can't judge freshness

AI bot policies (robots.txt)

10 bots tracked
All 10 tracked AI bots: Mixed.
Show all 10 bots
BotVendorStatus
GPTBotOpenAIMixed
OAI-SearchBotOpenAIMixed
ChatGPT-UserOpenAIMixed
ClaudeBotAnthropicMixed
Claude-UserAnthropicMixed
Google-ExtendedGoogleMixed
PerplexityBotPerplexityMixed
Perplexity-UserPerplexityMixed
Applebot-ExtendedAppleMixed
CCBotCommon CrawlMixed

Declare a policy either way so the intent is clear — see the action plan for a copy-paste robots.txt block.

Readiness is sampled on the site homepage; deeper pages may differ. AI bot policies follow the llms.txt proposal and the established robots.txt convention.

Deep dive

Performance analysis

Where this site stands against its peers, which viewport is the weak link, the slowest pages, and the issues that recur most.

Performance vs peers

At 44/100, this site is below the Next.js site (peer median 55).

31st
percentile (est.)
WorstNext.js siteBest

Mobile vs desktop

Mobile
44/100
Desktop
73/100

Mobile runs 29 points behind desktop — most of the slowness lives on phones.

  • /about4684 −38
  • /contact5580 −25
  • /3254 −22

Slowest pages

  • 1
    /
    perf 32/100
    14.4 s
  • 2
    /about
    perf 46/100
    11.2 s
  • 3
    /contact
    perf 55/100
    10.2 s

Ranked by mobile LCP (Largest Contentful Paint).

Most frequent issues

Performance: 14Best practices: 5Accessibility: 4SEO: 1
  • Minimize main-thread work
    3 pages · 100%
  • Render-blocking requests
    3 pages · 100%
  • Background and foreground colors do not have a sufficient contrast ratio.
    3 pages · 100%
  • Buttons do not have an accessible name
    3 pages · 100%
  • Document does not have a meta description
    3 pages · 100%
  • Forced reflow
    3 pages · 100%
  • Issues were logged in the `Issues` panel in Chrome Devtools
    3 pages · 100%
  • Missing source maps for large first-party JavaScript
    3 pages · 100%

Core Web Vitals

How fast your site really is

Real-user experience from the Chrome UX Report (p75, 28-day window). Lab metrics below show cold first-visit timings.

Real users · page-level
LCP
≤ 2.5 s
5.4 s
SLOW
CLS
≤ 0.1
0.000
FAST
INP
≤ 200 ms
246 ms
AVERAGE
Lab · median of scanned pages
LCP
≤ 2.5 s
11.2 s
CLS
≤ 0.1
0.000
TBT
≤ 200 ms
461 ms
FCP
≤ 1.8 s
8.3 s
TTFB
≤ 800 ms
46 ms
SI
≤ 3.4 s
8.3 s

Page Weight

Resource breakdown

Pages average 2.9 MB across 301 requests. Third-party scripts add 0 B on top.

  • JavaScript1.1 MB39%
  • Images183 KB6%
  • CSS106 KB4%
  • Fonts398 KB13%
  • Other1.1 MB38%

Heaviest page: / at 4.2 MB over 406 requests.

Deep dive

Resource intelligence

Where time and bytes are going across your site — the specific vendors and code paths behind the totals.

Main-thread time

Average per page · 3.9 s
  • Script evaluation1.3 s34%
  • Other1.3 s34%
  • Script parse / compile422 ms11%
  • Style + layout337 ms9%
  • Garbage collection225 ms6%
  • Parse HTML165 ms4%
  • Paint + composite73 ms2%

Image format breakdown

100% modern (WebP / AVIF)
  • avif549 KB

Technology

Detected stack

What we recognised from the homepage HTML, response headers and DNS. Used to tailor stack-specific recommendations.

Framework
Next.js
Hosting
Cloudflare

Site health

Security, compression and SEO hygiene

Headers, compression and cross-page duplicates checked on the homepage. These are the basics a professional site is expected to get right.

Security headers

8 pass · 2 warn · 0 fail

90/100
  • Strict-Transport-Security
    max-age=63072000 · includeSubDomains
  • !
    Content-Security-Policy
    Present but uses 'unsafe-inline' or 'unsafe-eval' — weakens protection
  • X-Frame-Options
    Equivalent CSP frame-ancestors directive present
  • X-Content-Type-Options
    nosniff
  • Referrer-Policy
    same-origin
  • !
    Permissions-Policy
    Missing — no explicit restriction on browser features (camera, geo, etc.)
  • Exposed secrets
    No live API keys or private keys found in the served HTML
  • Mixed content
    No insecure http:// subresources on the page
  • Outdated JS libraries
    No known-vulnerable library versions detected in page scripts
  • Cookie security flags
    No cookies set on the homepage response

Compression & cache

Content-Encoding
Brotli
Cache-Control
good
s-maxage=1800, stale-while-revalidate

Action Plan

Root-cause groupings, sequenced by effort. Each card opens a ready-to-paste task you can create in Jira or Linear with one click.

Quick wins
Under a day each — start here.
  1. 01Set long cache lifetimes for static assets⚡ quick win
  2. 02Fix crawlability issues⚡ quick win
  3. 03Address accessibility gaps⚡ quick win
  4. 04Unblock AI answer-engine crawlers in robots.txt⚡ quick win
Moderate effort
A few days each — book this sprint.
  1. 01Unblock the initial render
  2. 02Right-size and modernize images
  3. 03Add Schema.org structured data
  4. 04Reduce total page weight
Larger projects
A week+ each — scope and plan.
  1. 01Cut and defer JavaScript
Filter·Sort
04 / 09

Unblock the initial render

Critical·Medium effort·Affects 3 pages·~1.0 s faster
Create ticket →

CSS and JavaScript in the critical path delay first paint — visitors stare at a blank screen, and Largest Contentful Paint (a Google ranking signal) suffers.

Impact — Largest Contentful Paint is a Google ranking signal. Sites in the slowest quartile of their category see 30–50% less organic search traffic than faster peers.

Found on this site~1.0 s faster if fixed
  • ·Render-blocking requests — Est savings of 3,830 ms
  • ·Reduce unused CSS — Est savings of 74 KiB
  • ·Minify CSS — Est savings of 19 KiB
Seen on://about/contact
Steps (4)
  1. 1.Inline critical above-the-fold CSS and defer the rest.
  2. 2.Add async or defer to render-blocking scripts.
  3. 3.Preload the LCP image and key fonts so the browser discovers them early.
  4. 4.Remove unused CSS rules from above-the-fold stylesheets.
  5. For your stack
  6. 1.Use next/font so fonts do not block render.
  7. 2.Avoid importing large global CSS; prefer per-component styles.
06 / 09

Cut and defer JavaScript

Critical·Large effort·Affects 3 pages·~1.4 s faster
Create ticket →

Large scripts block the browser’s main thread, so the page looks loaded but does not respond to taps or clicks. This is the most common cause of a slow mobile experience and directly drives up bounce rate.

Impact — Heavy JavaScript is the #1 driver of slow mobile sites — 53% of mobile users abandon pages that take longer than 3 seconds to load (Google mobile-speed research).

Found on this site~1.4 s faster if fixed
  • ·Minimize main-thread work — 5.6 s
  • ·Reduce unused JavaScript — Est savings of 174 KiB
  • ·Reduce JavaScript execution time — 2.0 s
  • ·Legacy JavaScript — Est savings of 9 KiB
Seen on://about/contact
Steps (4)
  1. 1.Audit the bundle to find the largest dependencies (a bundle analyzer or source-map-explorer).
  2. 2.Code-split so route- and below-the-fold code loads on demand instead of upfront.
  3. 3.Remove or replace heavy third-party scripts; load non-critical ones with async/defer or after first interaction.
  4. 4.Drop legacy polyfills and transpilation targets that modern browsers no longer need.
  5. For your stack
  6. 1.Use next/dynamic to lazy-load heavy components.
  7. 2.Run @next/bundle-analyzer to find oversized chunks.
  8. 3.Set a modern browserslist so Next.js stops shipping legacy transforms.
01 / 09

Set long cache lifetimes for static assets

High·Small effort·Affects 3 pages·~150 ms faster·⚡ Quick win
Create ticket →

Without long cache headers, repeat visitors re-download assets that never changed — slower return visits and wasted bandwidth.

Impact — Returning visitors slow their own experience without caching. Small fix, compounding gain: every repeat visit benefits.

Found on this site~150 ms faster if fixed
  • ·Use efficient cache lifetimes — Est savings of 88 KiB
Seen on://about/contact
Steps (3)
  1. 1.Set Cache-Control: max-age of up to a year for fingerprinted static assets.
  2. 2.Use content hashing in filenames so you can cache aggressively and still ship updates.
  3. 3.Configure caching at the CDN or host layer rather than per request.
02 / 09

Fix crawlability issues

High·Small effort·Affects 3 pages·⚡ Quick win
Create ticket →

If search engines cannot follow your links or understand their text, pages will not be discovered or rank — directly capping organic traffic.

Impact — Crawlability issues directly cap organic search traffic. Search engines cannot rank what they cannot follow or understand.

Steps (3)
  1. 1.Use real <a href> elements for navigation, not click handlers on <div>s.
  2. 2.Give links descriptive text instead of “click here” or “read more”.
  3. 3.Ensure important pages are linked from somewhere crawlable.
03 / 09

Address accessibility gaps

High·Small effort·Affects 3 pages·⚡ Quick win
Create ticket →

Accessibility issues exclude users of assistive technology and create legal exposure (ADA / European Accessibility Act). Many fixes also help SEO.

Impact — About 15% of users have a disability (WHO). Accessibility gaps both exclude these users and create ADA/EAA compliance risk in the US and EU.

Steps (3)
  1. 1.Give interactive elements and dialogs accessible names (aria-label or visible text).
  2. 2.Ensure every meaningful image has descriptive alt text.
  3. 3.Check color contrast meets WCAG AA.
05 / 09

Unblock AI answer-engine crawlers in robots.txt

High·Small effort·Affects 1 page·⚡ Quick win
Create ticket →

These are not training bots — they are the live retrieval crawlers ChatGPT search, Perplexity and Claude use to read a page before citing it in an answer. Blocking them removes the site from AI answers entirely, while training opt-outs (GPTBot, CCBot…) can stay blocked with no citation impact.

Impact — Buyers increasingly ask ChatGPT, Perplexity and Claude for recommendations. A site these crawlers cannot read cannot be cited — the traffic goes to a competitor whose site they can.

Found on this site
  • ·Blocked/restricted: OAI-SearchBot, ChatGPT-User, Claude-User, PerplexityBot, Perplexity-User
Seen on:/robots.txt
Copy-paste fix
User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: Claude-User
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Perplexity-User
Allow: /
Steps (3)
  1. 1.Open robots.txt and find the rules covering the blocked crawlers below.
  2. 2.Allow the search/citation crawlers (keep training-bot blocks if IP protection is the goal — they are separate tokens).
  3. 3.Deploy and verify with the free readiness checker.
07 / 09

Right-size and modernize images

High·Medium effort·Affects 2 pages·~300 ms faster
Create ticket →

Oversized images waste bandwidth and slow the largest element on the page. On mobile connections this is often the single biggest load-time cost.

Impact — Images account for roughly 25% of an average mobile page (HTTP Archive). Every MB of unoptimized images adds 1–2 seconds of mobile load time.

Found on this site~300 ms faster if fixed
  • ·Improve image delivery — Est savings of 244 KiB
Seen on://about
Steps (4)
  1. 1.Serve images at the dimensions they are displayed, with srcset for different screen sizes.
  2. 2.Use modern formats (WebP/AVIF) with fallbacks.
  3. 3.Lazy-load below-the-fold images.
  4. 4.Compress images — aim well under 200 KB for most photos.
  5. For your stack
  6. 1.Use the next/image component — it handles sizing, modern formats and lazy-loading automatically.
08 / 09

Add Schema.org structured data

Medium·Medium effort·Affects 3 pages
Create ticket →

Schema.org JSON-LD tells search engines and answer engines what each page is — an Organization, an Article, a Product, an FAQ. Pages with structured data earn richer search results and are easier for LLMs to summarize and cite accurately.

Impact — Structured data is a low-risk SEO and AI-visibility win: it doesn’t change your design but materially improves how engines understand and present your pages.

Found on this site
  • ·No JSON-LD structured data found on any scanned page
Copy-paste fix
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "linear.app",
  "url": "https://linear.app",
  "logo": "https://linear.app/logo.png",
  "sameAs": [
    "https://www.linkedin.com/company/your-company",
    "https://twitter.com/your-handle"
  ]
}
</script>
Steps (4)
  1. 1.Add an Organization + WebSite schema to your homepage (identity for the whole site).
  2. 2.Add BreadcrumbList to section pages so engines understand your hierarchy.
  3. 3.Add page-type schema where it fits — Article/BlogPosting on posts, FAQPage on Q&A, Product on product pages.
  4. 4.Validate with Google’s Rich Results Test before shipping.
09 / 09

Reduce total page weight

Low·Medium effort·Affects 3 pages
Create ticket →

Heavy pages cost real money for users on metered mobile data and load slowly on weak connections — a meaningful share of every site’s traffic.

Impact — Every additional megabyte of page weight typically adds 1–2 seconds of mobile load time on a slow connection (HTTP Archive).

Found on this site
  • ·Avoid enormous network payloads — Total size was 4,280 KiB
Seen on://about/contact
Steps (3)
  1. 1.Enable text compression (Brotli or Gzip) for all text assets.
  2. 2.Trim the largest payloads — usually JavaScript and images.
  3. 3.Remove unused third-party embeds and scripts.

Shipped a fix? Open the task list or hit ↻ Re-scan in the header — the comparison shows what moved.

Detail

Per-page results

Mobile metrics shown. Click a row for the full per-page deep dive — LCP element, page weight breakdown, top failing checks.

PagePerf
/32
/about46
/contact55

3 of 3 pages scanned successfully. Each row links to the full per-page report with mobile + desktop side by side.

Coverage

Scan coverage

Pages were discovered via sitemap and sampled across URL patterns. Issues found on a sampled page very likely affect the rest of its pattern group.

Discovered
932
Sampled
3
Scanned OK
3
Failed
0

Methodology

How we measured this

Every page measured with Google PageSpeed Insights (1 run per page per viewport — quick scan). Real-user data, where shown, comes from the Chrome UX Report.

  • Lab data is a cold first visit from Google's US infrastructure; real users with warm caches and in other regions will differ.
  • Mobile is emulated on throttled slow-4G; desktop is unthrottled. Only public pages are scanned.
  • Quick scan (1 run/page) — upgrade to a paid scan for median-of-3 accuracy.

Full deep-dive on every check at /methodology.

Share

Embed this badge anywhere

A live SVG badge — embeds in your README, site footer, or blog post. Updates whenever you re-scan.

Public report URL

https://avocadoscore.io/r/8ccaeca5-5b95-4b52-9e05-e3defe5a4f62

Markdown (for README)

[![AvocadoScore — overall verdict](https://avocadoscore.io/api/scans/8ccaeca5-5b95-4b52-9e05-e3defe5a4f62/badge?metric=verdict)](https://avocadoscore.io/r/8ccaeca5-5b95-4b52-9e05-e3defe5a4f62)

HTML (for site footer)

<a href="https://avocadoscore.io/r/8ccaeca5-5b95-4b52-9e05-e3defe5a4f62"><img src="https://avocadoscore.io/api/scans/8ccaeca5-5b95-4b52-9e05-e3defe5a4f62/badge?metric=verdict" alt="AvocadoScore — overall verdict" /></a>

Next Steps

Where to go from here

  1. 1Start this week. Knock out the 4 quick wins from the Action Plan — small effort, immediate gain.
  2. 2Re-scan after each round of fixes. Hit Re-scan in the header after each round — the comparison shows what moved and what didn’t.

Free preview · 3 of 932 pages

Want this depth on every page?

You've seen the format. The Full audit takes the same lens across 929 more pages you can't see yet — and ships the result as one ranked fix list your engineer can act on.

  • Median of 3 PageSpeed runs per page (vs 1 in the preview) — stable numbers you can ship from
  • Up to 100 pages — covers /pricing, /checkout, and every template that matters
  • Per-page deep dives: LCP element, named offenders, third-party impact
  • Plain-English fix list with effort estimates in dev-weeks
  • 3 free re-runs included — re-scan after every release at no extra cost
  • 7-day refund, no questions, no “please tell us why”

One-time · No subscription · 7-day refund

This audit was run on AvocadoScore

linear.app scored 44 on Mobile Perf. What about yours?

Performance, SEO, and how Claude, GPT and Gemini see your site. $29, one-time. Same report format, your domain.