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 14 of 22

Image SEO: turning pictures into traffic

Images as a traffic channel in Next.js: unique visuals over stock, alt text and file names, ImageObject schema with licensing, image sitemaps and AI-image labeling.

2026-07-15
Image SEO: turning pictures into traffic

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.

Most teams treat images as a performance problem to contain. That's half the story. Images are also a traffic channel — Google Images, Discover, rich results and AI answers all surface pages through their visuals — and a quality signal: a 2,000-word guide with zero original images reads as thin effort to both users and ranking systems.

Every content page deserves real images

  • Unique beats stock, always. An original diagram, an annotated screenshot, a photo of the actual result — these can rank in image search and get your page cited. A stock photo of "business people shaking hands" ranks for nothing and signals template content.
  • Google Discover heavily favors pages with large, high-quality images (1200px+ wide) — that's free traffic for content sites.
  • Diagrams and screenshots also make your content quotable by AI engines: a page that explains with visuals plus text ranks as a richer source.
  • Don't put load-bearing text inside images — crawlers read HTML, and image-only text is invisible to them (and to screen readers).

The mechanics: name, describe, size

<Image
  src="/images/next-seo/isr-revalidation-flow.png" // descriptive kebab-case name
  alt="ISR flow: CMS publish triggers webhook, revalidatePath purges the cache"
  width={1400}
  height={800}
/>
  • File names are a ranking input in image search: isr-revalidation-flow.png beats screenshot-final-2.png.
  • Alt text describes the image for screen readers and image search. Write what's actually in the picture, keywords only where natural. Empty alt="" is correct for purely decorative images.
  • The text around the image (captions, the preceding paragraph) gives it context — Google ranks images largely by their surroundings.

Structured data: own your images

Mark images up with ImageObject — including license and creator gets you the Licensable badge in Google Images, which matters if you produce original visuals:

const imageSchema: WithContext<ImageObject> = {
  "@context": "https://schema.org",
  "@type": "ImageObject",
  contentUrl: `${baseUrl}/images/next-seo/isr-revalidation-flow.png`,
  creator: { "@type": "Person", name: "Vlad Sedenko" },
  license: `${baseUrl}/image-license`,
  creditText: "sedenko.net",
};

Add images to your sitemap — the App Router's sitemap.ts supports an images array per entry:

{
  url: `${baseUrl}/blog/${post.slug}`,
  images: [`${baseUrl}${post.heroImage}`],
}

AI-generated images: use with care

Generated illustrations are fine for decoration, but label them honestly (IPTC DigitalSourceType metadata is the emerging standard Google reads) and don't use them where first-hand proof matters — a generated "screenshot" of results you never achieved is a trust liability, not an asset. Original screenshots and real diagrams carry the E-E-A-T weight; see Trust and E-E-A-T.

Checklist:

  • Every substantial page has at least one unique, content-bearing image
  • Descriptive file names and honest alt text; no text locked inside images
  • Hero/OG images at 1200px+ for Discover eligibility
  • ImageObject schema with license/creator on original visuals
  • Images included in the sitemap; AI-generated images labeled, never faking proof
← PreviousTrust and E-E-A-T: making your site believableNext →Internal linking and site architecture

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