AvocadoScore audit · linear.app
linear.app
Performance needs significant, prioritized work across the site.
Real users:UnripeCold lab:Unripe(10 of 10 pages Unripe)
Fix these first
- Unblock the initial rendercritical · medium effort · 10 pages
- Right-size and modernize imagescritical · medium effort · 8 pages
- Cut and defer JavaScriptcritical · large effort · 10 pages
- Mobile perfMedian Google Lighthouse Performance score across scanned pages, mobile viewport. 90+ excellent · 50–89 needs work · under 50 poor.
- 48/100Unripe
- SEO readyComposite of 12 SEO health checks on the homepage: HTTPS, title, meta description, structured data, Open Graph, canonical, H1, viewport, etc.
- 92/100Ripe
- AI readyComposite of 18 AI-readiness checks across three pillars. Access: robots.txt policies for 10 AI crawlers (citation vs training), CDN/firewall gates, snippet directives. Comprehension: llms.txt, validated structured data, server-rendered content, heading outline. Trust: author/organization provenance, content dates.
- 72/100Almost ripe
How “AI ready” is scored: 18 checks across three pillars — Access (can AI crawlers fetch you), Comprehension (can they parse & chunk you) and Trust (can they attribute & cite you).
Scanned 16 days ago10 pagesNumber of pages successfully scanned. Free preview scans 3 pages; the paid Full audit covers up to 100.7 views
Overview
Key findings
The headline takeaways, in plain English.
- 1In cold lab tests, 10 of 10 scanned pages render in the "Unripe" band (the overall verdict above weights real-user data, which is faster).
- 2Median mobile LCP is 15.1 s — about 6.0× the 2.5 s target.
- 3Speed is costing you visitors: more than half of mobile users abandon a page that takes over 3 seconds to load (Google) — and your pages cross that line.
- 4The biggest opportunity: Address accessibility gaps — affects 10 pages.
- 5The heaviest page ships 1.5 MB of JavaScript — a primary cause of slow loads.
- 6Strengths: accessibility, SEO and best practices score well — focus effort on performance.
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 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 qualityOpen Graph image is the thumbnail shown anywhere your page is shared — Slack, LinkedIn, iMessage, Discord. Many LLM answer interfaces use it too.
https://linear.app/api/og/main?title=Linear&v=4
3 checks · 1 to review▸
- ✓ReachableHTTP 200
- ✓Content-Typeimage/png
- !File sizeNo Content-Length header — cannot verify image size
Crawl-as-bot diffWe fetch your homepage twice — once with a regular browser UA, once claiming to be GPTBot — and compare the content each receives. Big drops mean LLM crawlers see a stripped page.
Homepage · GPTBot UA
GPTBot sees 9,706 chars · browser sees 9,706 chars
GPTBot sees 100% of the content a browser sees — essentially identical.
llms.txt contentllms.txt is the emerging standard (https://llmstxt.org) — a short markdown file at the site root that LLM answer engines pull as a 'site map for AI'.
136 links · 2 sections
5 checks · all pass▸
- ✓/llms.txt presentHTTP 200
- ✓Has main heading# Title found
- ✓Link coverage136 markdown links
- ✓Sections2 `##` sections
- ✓/llms-full.txtHTTP 200 — richer LLM context
Robots.txt advisorrobots.txt tells crawlers (Google, GPTBot, ClaudeBot…) which paths they may visit and where to find your sitemap. Misconfigurations here invisibly tank crawling.
1 group · 1 sitemap ref
5 checks · 1 to review▸
- ✓robots.txt present1 user-agent group
- ✓Allows crawlers`User-agent: *` permits standard crawling
- ✓Sitemap declared1 sitemap ref
- ✕AI bot policiesNo explicit policy for GPTBot, ClaudeBot, Google-Extended, etc. — decide and declare
- ✓Crawl-delayNo crawl-delay — crawlers use their own pacing
Schema.org coverageSchema.org types tell search engines and LLMs what kind of thing each page is — Article, Product, FAQPage, etc. Sites with rich schema get richer answer-engine treatment.
1/10 pages (10%)| Schema type | Pages | Coverage |
|---|---|---|
| WebPage | 1 | 10% |
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.
A few readiness gaps to close — the checklists below name what’s missing or weak on the homepage and in robots.txt.
AI readiness vs the Index
At 72/100, this site scores higher than 22% of 922 well-known sites in the AI Readiness Index. The Index is a curated set of big names, not a sample of the web.
SEO checklist
11/12 passing- ✓
- ✓
- ✓
- ✓
- ✓
- ✓
- ✓
- ✓
- ✕
- ✓
- ✓
- ✓
- ✕Structured data (JSON-LD)No JSON-LD — search engines lose rich-result context
▸ 11 passing checks — show all
- ✓HTTPSServed over HTTPS
- ✓Sitemapsitemap.xml present
- ✓robots.txtPresent
- ✓Title tag43 chars
- ✓Meta description64 chars
- ✓Canonical URLhttps://linear.app
- ✓Open GraphComplete (title, description, image)
- ✓Twitter Cardsummary_large_image
- ✓H1 headingExactly one H1
- ✓Language declaration<html lang="en">
- ✓Viewport metaSet
AI readiness — three pillars
10/18 passingCan AI crawlers fetch the site at all?
- !
- ✓
- !
- ✓
- ✓
- ✕
3/6 passing
Once fetched, can they parse and chunk it?
- ✓
- ✓
- !
- ✕
- ✓
- ✓
- !
- ✓
- !
- ✓
- ✓
7/10 passing
Can they attribute and date the content?
- !
- !
0/2 passing
Access — Can AI crawlers fetch the site at all?
3/6 passing- !AI answer-engine accessOAI-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
- ✕Agent-friendly 404sUnknown paths return 200 with the app shell — agents believe every path exists
▸ 3 passing checks — show all
- ✓Training-crawler stanceNo training opt-outs declared — content may be used for model training (5 tokens checked)
- ✓CDN / firewall gateGPTBot sees 100% of the content a browser sees — essentially identical.
- ✓Snippet directivesNo nosnippet / max-snippet / noai restrictions
Comprehension — Once fetched, can they parse and chunk it?
7/10 passing- !Markdown for agents (bonus)No text/markdown variant — optional, but agents parse markdown more reliably than HTML
- ✕Structured data (validated)No JSON-LD — answer engines have nothing structured to parse
- !Heading outlineLevel skips (H1→H3) — broken hierarchy confuses chunk-based retrieval
- !RSS/Atom feedNo feed advertised in <head> — several AI systems ingest feeds for freshness
▸ 7 passing checks — show all
- ✓/llms.txtPresent — AI-friendly content map
- ✓/llms-full.txtPresent — expanded LLM context
- ✓Server-rendered content4806 words in initial HTML
- ✓Semantic HTMLUses main, header, footer, nav
- ✓Open Graph metadataComplete
- ✓Sitemap freshnesssitemap.xml carries <lastmod> dates — recrawl prioritization works
- ✓Consent wallNo consent-manager wall detected
Trust — Can they attribute and date the content?
0/2 passing- !Author / Organization markupNo Person/Organization schema or <meta name="author">
- !Content datesNo datePublished/dateModified in structured data — answer engines can't judge freshness
AI bot policies (robots.txt)
10 bots trackedAll 10 tracked AI bots have mixed rules.
Answer & search crawlers — blocking these removes the site from AI answers
- OAI-SearchBotsome paths allowed, others disallowed
- ChatGPT-Usersome paths allowed, others disallowed
- Claude-Usersome paths allowed, others disallowed
- PerplexityBotsome paths allowed, others disallowed
- Perplexity-Usersome paths allowed, others disallowed
Training crawlers — blocking is an opt-out from model training and does not affect citations
- GPTBotsome paths allowed, others disallowed
- ClaudeBotsome paths allowed, others disallowed
- Google-Extendedsome paths allowed, others disallowed
- Applebot-Extendedsome paths allowed, others disallowed
- CCBotsome paths allowed, others disallowed
mixed
▸ Vendor and status detail
| Bot | Vendor | Role | Status |
|---|---|---|---|
| GPTBot | OpenAI | trainingModel-training opt-out token — blocking it protects IP and does NOT affect AI-search citations. | MixedMixed — some paths allowed, others disallowed for this bot. |
| OAI-SearchBot | OpenAI | citationLive retrieval/citation crawler — blocking it removes the site from AI answers. | MixedMixed — some paths allowed, others disallowed for this bot. |
| ChatGPT-User | OpenAI | citationLive retrieval/citation crawler — blocking it removes the site from AI answers. | MixedMixed — some paths allowed, others disallowed for this bot. |
| ClaudeBot | Anthropic | trainingModel-training opt-out token — blocking it protects IP and does NOT affect AI-search citations. | MixedMixed — some paths allowed, others disallowed for this bot. |
| Claude-User | Anthropic | citationLive retrieval/citation crawler — blocking it removes the site from AI answers. | MixedMixed — some paths allowed, others disallowed for this bot. |
| Google-Extended | trainingModel-training opt-out token — blocking it protects IP and does NOT affect AI-search citations. | MixedMixed — some paths allowed, others disallowed for this bot. | |
| PerplexityBot | Perplexity | citationLive retrieval/citation crawler — blocking it removes the site from AI answers. | MixedMixed — some paths allowed, others disallowed for this bot. |
| Perplexity-User | Perplexity | citationLive retrieval/citation crawler — blocking it removes the site from AI answers. | MixedMixed — some paths allowed, others disallowed for this bot. |
| Applebot-Extended | Apple | trainingModel-training opt-out token — blocking it protects IP and does NOT affect AI-search citations. | MixedMixed — some paths allowed, others disallowed for this bot. |
| CCBot | Common Crawl | trainingModel-training opt-out token — blocking it protects IP and does NOT affect AI-search citations. | MixedMixed — some paths allowed, others disallowed for this bot. |
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.
📩 Save this report to your free dashboard
Everything below is already unlocked — this emails you the link and keeps every scan in one place. Free, no card. We may send an occasional reminder to re-scan; unsubscribe in one click.
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 peersEstimated percentile rank of this site's average mobile performance score within its peer group, assuming a roughly normal spread. A rough positioning estimate, not a precise figure.
At 48/100, this site is below the Next.js site (peer median 55).
▸Show detailsHide details· viewport gap, slowest pages, frequent issues
Slowest pagesThe scanned pages with the highest mobile Largest Contentful Paint — your slowest-loading pages, where optimization pays off most.
- 123.7 s/careersperf 58/100
- 217.9 s/changelogperf 50/100
- 317.5 s/perf 41/100
Ranked by mobile LCP (Largest Contentful Paint).
Most frequent issuesHow often each issue recurs across the scanned pages. Fixing a high-frequency issue once at the template level often resolves it everywhere.
- Render-blocking requests10 pages · 100%
- Buttons do not have an accessible name10 pages · 100%
- Forced reflow10 pages · 100%
- Issues were logged in the `Issues` panel in Chrome Devtools10 pages · 100%
- Legacy JavaScript10 pages · 100%
- Missing source maps for large first-party JavaScript10 pages · 100%
- Network dependency tree10 pages · 100%
- Reduce unused CSS10 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: LCP is failing Google's thresholds.
INP is borderline too. Start with the failing metrics — they're the biggest drag on your score.
Lab · median of scanned pages▸
Page Weight
Resource breakdown
Pages average 8.4 MB across 360 requests. Third-party scripts add 3 KB on top.
- JavaScript1.3 MB15%
- Images598 KB7%
- CSS170 KB2%
- Fonts478 KB6%
- Other6.0 MB71%
▸Show detailsHide details· heaviest page
Heaviest page: /changelog at 30.9 MB over 396 requests.
Deep dive
Resource intelligence
Where time and bytes are going across your site — the specific vendors and code paths behind the totals.
Third parties, main-thread cost, image formatsShowHide▸
Deep dive
Resource intelligence
Where time and bytes are going across your site — the specific vendors and code paths behind the totals.
Top third-party vendors
Site-wide totals| Vendor | Total bytes | BlockingTotal time this vendor's scripts blocked the main thread from responding to taps and clicks, summed across pages. | PagesHow many scanned pages load this vendor. |
|---|---|---|---|
| LinkedIn Ads | 23 KB | 51 ms | 1 |
| Sentry | 539 B | 0 ms | 1 |
Main-thread time
Average per page · 3.9 s- Script evaluation1.4 s37%
- Other1.3 s33%
- Style + layout587 ms15%
- Script parse / compile328 ms8%
- Paint + composite100 ms3%
- Parse HTML84 ms2%
- Garbage collection68 ms2%
Image format breakdown
37% modern (WebP / AVIF)- png3.7 MB
- avif2.0 MB
- webp126 KB
- svg2 KB
- gif1 KB
Technology
Detected stack
What we recognised from the homepage HTML, response headers and DNS. Used to tailor stack-specific recommendations.
Frameworks, CMS & hosting detectedShowHide▸
Technology
Detected stack
What we recognised from the homepage HTML, response headers and DNS. Used to tailor stack-specific recommendations.
Action Plan
What to fix
Root-cause groupings, sequenced by effort. Each card opens a ready-to-paste task you can create in Jira or Linear with one click.
- high severity:01Address accessibility gaps⚡ quick win
- high severity:02Set long cache lifetimes for static assets⚡ quick win
- high severity:03Fix crawlability issues⚡ quick win
- high severity:04Unblock AI answer-engine crawlers in robots.txt⚡ quick win
- critical severity:01Unblock the initial render
- critical severity:02Right-size and modernize images
- medium severity:03Add Schema.org structured data
- low severity:04Reduce total page weight
- critical severity:01Cut and defer JavaScript
Bundle any of the 9 fixes into one ready-to-paste prompt for Claude Code, Cursor or v0 — it carries the site-specific evidence and exact snippets.
Unblock the initial render
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.
- ·Render-blocking requests — Est savings of 4,900 ms
- ·Minify CSS — Est savings of 2 KiB
- ·Reduce unused CSS — Est savings of 22 KiB
▸ Steps (4)
- 1.Inline critical above-the-fold CSS and defer the rest.
- 2.Add async or defer to render-blocking scripts.
- 3.Preload the LCP image and key fonts so the browser discovers them early.
- 4.Remove unused CSS rules from above-the-fold stylesheets.
- For your stack
- 1.Use next/font so fonts do not block render.
- 2.Avoid importing large global CSS; prefer per-component styles.
Right-size and modernize images
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.
- ·Improve image delivery — Est savings of 375 KiB
▸ Steps (4)
- 1.Serve images at the dimensions they are displayed, with srcset for different screen sizes.
- 2.Use modern formats (WebP/AVIF) with fallbacks.
- 3.Lazy-load below-the-fold images.
- 4.Compress images — aim well under 200 KB for most photos.
- For your stack
- 1.Use the next/image component — it handles sizing, modern formats and lazy-loading automatically.
Cut and defer JavaScript
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).
- ·Minimize main-thread work — 9.5 s
- ·Reduce JavaScript execution time — 3.8 s
- ·Reduce unused JavaScript — Est savings of 299 KiB
- ·Legacy JavaScript — Est savings of 9 KiB
▸ Steps (4)
- 1.Audit the bundle to find the largest dependencies (a bundle analyzer or source-map-explorer).
- 2.Code-split so route- and below-the-fold code loads on demand instead of upfront.
- 3.Remove or replace heavy third-party scripts; load non-critical ones with async/defer or after first interaction.
- 4.Drop legacy polyfills and transpilation targets that modern browsers no longer need.
- For your stack
- 1.Use next/dynamic to lazy-load heavy components.
- 2.Run @next/bundle-analyzer to find oversized chunks.
- 3.Set a modern browserslist so Next.js stops shipping legacy transforms.
Address accessibility gaps
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.Give interactive elements and dialogs accessible names (aria-label or visible text).
- 2.Ensure every meaningful image has descriptive alt text.
- 3.Check color contrast meets WCAG AA.
Set long cache lifetimes for static assets
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.
- ·Use efficient cache lifetimes — Est savings of 152 KiB
▸ Steps (3)
- 1.Set Cache-Control: max-age of up to a year for fingerprinted static assets.
- 2.Use content hashing in filenames so you can cache aggressively and still ship updates.
- 3.Configure caching at the CDN or host layer rather than per request.
Fix crawlability issues
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.Use real <a href> elements for navigation, not click handlers on <div>s.
- 2.Give links descriptive text instead of “click here” or “read more”.
- 3.Ensure important pages are linked from somewhere crawlable.
Unblock AI answer-engine crawlers in robots.txt
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.
- ·Blocked/restricted: OAI-SearchBot, ChatGPT-User, Claude-User, PerplexityBot, Perplexity-User
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.Open robots.txt and find the rules covering the blocked crawlers below.
- 2.Allow the search/citation crawlers (keep training-bot blocks if IP protection is the goal — they are separate tokens).
- 3.Deploy and verify with the free readiness checker.
Add Schema.org structured data
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.
- ·Present: WebPage (1)
<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.Add an Organization + WebSite schema to your homepage (identity for the whole site).
- 2.Add BreadcrumbList to section pages so engines understand your hierarchy.
- 3.Add page-type schema where it fits — Article/BlogPosting on posts, FAQPage on Q&A, Product on product pages.
- 4.Validate with Google’s Rich Results Test before shipping.
Reduce total page weight
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).
- ·Avoid enormous network payloads — Total size was 2,967 KiB
▸ Steps (3)
- 1.Enable text compression (Brotli or Gzip) for all text assets.
- 2.Trim the largest payloads — usually JavaScript and images.
- 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, worst performance first. Click a row for the full per-page deep dive — LCP element, page weight breakdown, top failing checks.
Per-page scores for 10 pagesShowHide▸
Detail
Per-page results
Mobile metrics shown, worst performance first. Click a row for the full per-page deep dive — LCP element, page weight breakdown, top failing checks.
| Page | PerfMobile Performance score (0–100). | LCPLargest Contentful Paint — when the biggest visible element finishes rendering. Lab value. Target ≤ 2.5 s. | CLSCumulative Layout Shift — total visual jank during load. Unitless. Target ≤ 0.1. | TBTTotal Blocking Time — total main-thread blocking time during load. Target ≤ 200 ms. | WeightTotal page transfer size — HTML + CSS + JS + images + fonts. |
|---|---|---|---|---|---|
| /pricing→ | 38 | 8.0 s | 0.000 | 2.7 s | 2.0 MB |
| /contact→ | 39 | 8.9 s | 0.000 | 1.7 s | 2.1 MB |
| /→ | 41 | 17.5 s | 0.000 | 682 ms | 2.9 MB |
| /features→ | 43 | 14.9 s | 0.000 | 558 ms | 2.6 MB |
| /about→ | 50 | 13.1 s | 0.000 | 475 ms | 2.2 MB |
| /changelog→ | 50 | 17.9 s | 0.000 | 391 ms | 30.9 MB |
| /ai→ | 53 | 14.3 s | 0.000 | 321 ms | 5.5 MB |
| /agents→ | 54 | 15.3 s | 0.000 | 233 ms | 2.5 MB |
| /blog→ | 54 | 16.9 s | 0.000 | 210 ms | 27.7 MB |
| /careers→ | 58 | 23.7 s | 0.000 | 170 ms | 6.0 MB |
10 of 10 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.
Discovery & sampling detailShowHide▸
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
- 1027
- Sampled
- 10
- Scanned OK
- 10
- 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.
How we measured — caveats & data sourcesShowHide▸
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
An SVG badge for this scan. It shows this scan’s scores and does not change if you re-scan. Embeds in your README, site footer, or blog post.
Public report URL
https://avocadoscore.io/r/8ccaeca5-5b95-4b52-9e05-e3defe5a4f62Markdown (for README)
[](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
- 1Start this week. Knock out the 4 quick wins from the Action Plan — small effort, immediate gain.
- 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.
You just fixed it — now keep it fixed.
Scores drift back after every deploy. For $9/mo we re-scan linear.app monthly and email you the moment a performance, SEO or AI-readiness score slips — so you catch the regression before it costs you traffic. Cancel any time.