Skip to content
AvocadoScore

9 tasks from this audit

Export to your tracker — bulk via CSV, or one-by-one to Jira or Linear. Check items off as you fix them.

  • High

    Address accessibility gaps

    Small effort·Affects 10 pages·Quick win
    ▸ Description

    Why it matters
    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.

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

    Steps
    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.

    Affects 10 pages · effort: small · owner: Frontend / Design

  • High

    Set long cache lifetimes for static assets

    Small effort·Affects 10 pages·Quick win
    ▸ Description

    Why it matters
    Returning visitors slow their own experience without caching. Small fix, compounding gain: every repeat visit benefits.

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

    Expected outcome
    ~300ms faster load across 10 affected pages.

    Found on this site
    - Use efficient cache lifetimes — Est savings of 152 KiB
    Seen on: /, /about, /contact, /features, /pricing

    Steps
    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.

    Affects 10 pages · effort: small · owner: Infrastructure / DevOps

  • High

    Fix crawlability issues

    Small effort·Affects 5 pages·Quick win
    ▸ Description

    Why it matters
    Crawlability issues directly cap organic search traffic. Search engines cannot rank what they cannot follow or understand.

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

    Steps
    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.

    Affects 5 pages · effort: small · owner: SEO / Content

  • Critical

    Unblock the initial render

    Medium effort·Affects 10 pages
    ▸ Description

    Why it matters
    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.

    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.

    Expected outcome
    ~2.8s faster load across 10 affected pages.

    Found on this site
    - Render-blocking requests — Est savings of 4,900 ms
    - Minify CSS — Est savings of 2 KiB
    - Reduce unused CSS — Est savings of 22 KiB
    Seen on: /, /about, /contact, /features, /pricing

    Steps
    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.

    Stack-specific
    1. Use next/font so fonts do not block render.
    2. Avoid importing large global CSS; prefer per-component styles.

    Affects 10 pages · effort: medium · owner: Frontend

  • Critical

    Right-size and modernize images

    Medium effort·Affects 8 pages
    ▸ Description

    Why it matters
    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.

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

    Expected outcome
    ~825ms faster load across 8 affected pages.

    Found on this site
    - Improve image delivery — Est savings of 375 KiB
    Seen on: /, /about, /features, /agents, /ai

    Steps
    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.

    Stack-specific
    1. Use the next/image component — it handles sizing, modern formats and lazy-loading automatically.

    Affects 8 pages · effort: medium · owner: Frontend / Design

  • High

    Unblock AI answer-engine crawlers in robots.txt

    Small effort·Affects 1 page·Quick win
    ▸ Description

    Why it matters
    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.

    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.

    Found on this site
    - Blocked/restricted: OAI-SearchBot, ChatGPT-User, Claude-User, PerplexityBot, Perplexity-User
    Seen on: /robots.txt

    Steps
    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.

    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: /
    ```

    Affects 1 page · effort: small · owner: SEO / Content

  • Critical

    Cut and defer JavaScript

    Large effort·Affects 10 pages
    ▸ Description

    Why it matters
    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).

    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.

    Expected outcome
    ~2.5s faster load across 10 affected pages.

    Found on this site
    - 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
    Seen on: /, /about, /contact, /features, /pricing

    Steps
    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.

    Stack-specific
    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.

    Affects 10 pages · effort: large · owner: Frontend

  • Medium

    Add Schema.org structured data

    Medium effort·Affects 9 pages
    ▸ Description

    Why it matters
    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.

    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.

    Found on this site
    - Present: WebPage (1)

    Steps
    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.

    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>
    ```

    Affects 9 pages · effort: medium · owner: SEO / Content

  • Low

    Reduce total page weight

    Medium effort·Affects 6 pages
    ▸ Description

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

    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.

    Found on this site
    - Avoid enormous network payloads — Total size was 2,967 KiB
    Seen on: /, /features, /ai, /blog, /careers

    Steps
    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.

    Affects 6 pages · effort: medium · owner: Frontend

This audit was run on AvocadoScore

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

Performance, SEO, and how Claude, GPT and Gemini see your site. Free, every fix unlocked. Same report format, your domain.

Scan my site — free →

Or see how your site stacks up against linear.app:

Or share this report on X