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

Open Graph and dynamic OG images

Open Graph tags and dynamic OG images in Next.js with ImageResponse: auto-generated 1200×630 previews for every page.

2026-07-15
Open Graph and dynamic OG images
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

OG tags don't affect ranking, but they shape how your link appears on LinkedIn, Slack, Telegram or X and can influence whether people click it. The Metadata API handles the tags:

export const metadata: Metadata = {
  openGraph: {
    title: "Next.js SEO Checklist",
    description: "Every layer of SEO in the App Router.",
    type: "article",
    images: [{ url: "/og/next-seo-checklist.png", width: 1200, height: 630 }],
  },
  twitter: {
    card: "summary_large_image",
  },
};

The underrated feature: generated OG images. Drop an opengraph-image.tsx file next to any route and Next.js renders a 1200×630 image on the edge — no designer needed for every blog post:

// app/blog/[slug]/opengraph-image.tsx
import { ImageResponse } from "next/og";

export const size = { width: 1200, height: 630 };
export const contentType = "image/png";

export default async function OgImage({ params }) {
  const post = await getPost(params.slug);
  return new ImageResponse(
    (
      <div
        style={{
          display: "flex",
          flexDirection: "column",
          width: "100%",
          height: "100%",
          justifyContent: "center",
          padding: 80,
          background: "#0a0a0a",
          color: "#fff",
        }}
      >
        <div style={{ fontSize: 64, fontWeight: 700 }}>{post.title}</div>
        <div style={{ fontSize: 28, marginTop: 24, color: "#a1a1aa" }}>
          example.com/blog
        </div>
      </div>
    ),
    size,
  );
}

Checklist:

  • OG title/description/image on every shareable page
  • Image is 1200×630; text on it is readable at thumbnail size
  • twitter.card set to summary_large_image
  • Preview checked in opengraph.xyz or the LinkedIn Post Inspector
← PreviousCanonical URLs and hreflang: one page, one addressNext →sitemap.ts and robots.ts: file conventions instead of hand-written XML

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