S.
  • Services
  • For you
  • Solutions
  • Work
  • About
  • Know-how
  • Blog
Start a project
EN/PL/RU
  • Services01
  • For you02
  • Solutions03
  • Work04
  • About05
  • Know-how06
  • Blog07
Start a project
EN/PL/RU
Vlad Sedenko
Independent web product developer
EU / Poland / Warsaw
Products
  • NextWooNext.js storefront for WooCommerce
© 2026. All rights reserved
Services
  • Product Discovery
  • UX/UI Design
  • MVP Development
  • SaaS Development
  • Website Redesign
  • Web Application Security
  • Conversion Optimization
  • API Integrations & Business Automation
  • Product Support
Explore
  • Services
  • For you
  • Work
  • Solutions
  • About
  • Blog
  • Know-how
  • Contact
Start a project
  • vlad@sedenko.net
  • LinkedIn
  • Privacy/Cookies
Know-how/Next.js SEO Checklist: The Complete Guide for App Router (2026)

Part 7 of 22

Images, fonts and scripts: the classic performance trio

Optimizing images, fonts and third-party scripts in Next.js: next/image priority and sizes, next/font self-hosting and script loading strategies.

2026-07-15
Images, fonts and scripts: the classic performance trio

All topics in this guide

A practical, section-by-section SEO checklist for Next.js: rendering strategy, Metadata API, hreflang, structured data, Core Web Vitals, and optimization for AI answer engines.

This topic covers the performance side. Images as a traffic channel — alt text, image search, ImageObject schema — live in Image SEO.

Images. next/image gives you lazy loading, AVIF/WebP, and correct sizing — but only if you configure it honestly:

import Image from "next/image";

// The LCP image: priority, no lazy loading
<Image
  src="/hero.jpg"
  alt="Team building a product roadmap"
  width={1200}
  height={630}
  priority
  sizes="(max-width: 768px) 100vw, 1200px"
/>;
  • priority on the LCP image only (usually the hero). Everything below the fold stays lazy.
  • sizes must match your layout — without it, mobile devices download desktop-sized files.
  • alt text describes the image for both screen readers and image search. Empty alt="" only for purely decorative images.

Fonts. next/font self-hosts Google Fonts, eliminates the third-party request, and sets font-display: swap automatically:

import { Inter } from "next/font/google";

const inter = Inter({ subsets: ["latin"], display: "swap" });

Scripts. Every third-party script competes with your content for the main thread:

import Script from "next/script";

// Analytics: after the page becomes interactive
<Script src="https://www.googletagmanager.com/gtm.js?id=GTM-XXX" strategy="afterInteractive" />

// Chat widgets, heatmaps: only when the browser is idle
<Script src="https://widget.example.com/chat.js" strategy="lazyOnload" />

Audit what you load: run a Lighthouse trace and question every script that isn't core to the page. A tag manager full of forgotten pixels is the most common INP killer we see in audits.

Checklist:

  • Hero image has priority, correct sizes, meaningful alt
  • All fonts through next/font, no external font CSS
  • Third-party scripts on afterInteractive or lazyOnload
  • No layout shift from images (width/height always set)
← PreviousStructured data: JSON-LD that earns rich resultsNext →Core Web Vitals: the three numbers Google measures

01—22

All topics in this guide

  1. 01Rendering strategy: what does the crawler actually see?→
  2. 02Metadata API: titles, descriptions and the template pattern→
  3. 03Canonical URLs and hreflang: one page, one address→
  4. 04Open Graph and dynamic OG images→
  5. 05sitemap.ts and robots.ts: file conventions instead of hand-written XML→
  6. 06Structured data: JSON-LD that earns rich results→
  7. 07Images, fonts and scripts: the classic performance trio•
  8. 08Core Web Vitals: the three numbers Google measures→
  9. 09Redirects, 404s and status codes→
  10. 10Caching and content freshness→
  11. 11AEO/GEO: getting cited by ChatGPT, Perplexity and Google AI Overviews→
  12. 12Monitoring: SEO is a loop, not a launch task→
  13. 13Trust and E-E-A-T: making your site believable→
  14. 14Image SEO: turning pictures into traffic→
  15. 15Internal linking and site architecture→
  16. 16Search intent: pages that match what people actually type→
  17. 17Programmatic SEO in Next.js: pages at scale without the spam→
  18. 18SEO migration: replatforming to Next.js without losing traffic→
  19. 19Pagination and faceted navigation without index bloat→
  20. 20Accessibility and SEO: one job, two rewards→
  21. 21Content decay: refresh, consolidate or prune→
  22. 22Off-page for developers: earning links without buying them→

Want this handled for you?

I audit and fix technical SEO on Next.js sites — indexing, performance, hreflang and AI visibility.

Technical SEO service