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

Structured data: JSON-LD that earns rich results

JSON-LD structured data in Next.js: server-rendered schema for articles, breadcrumbs, FAQ and products — typed with schema-dts.

2026-07-15
Structured data: JSON-LD that earns rich results

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.

Structured data is how you get review stars, FAQ dropdowns, breadcrumbs and article cards in search results — and it's also the format AI engines parse most reliably. In the App Router, render JSON-LD as a script tag from a Server Component (typed with schema-dts):

import type { WithContext, BlogPosting } from "schema-dts";

export default async function PostPage({ params }) {
  const post = await getPost(params.slug);

  const jsonLd: WithContext<BlogPosting> = {
    "@context": "https://schema.org",
    "@type": "BlogPosting",
    headline: post.title,
    description: post.excerpt,
    datePublished: post.publishedAt,
    dateModified: post.updatedAt,
    author: {
      "@type": "Person",
      name: "Vlad Sedenko",
      url: "https://example.com/about",
    },
    image: post.ogImage,
  };

  return (
    <>
      <script
        type="application/ld+json"
        dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
      />
      <article>{/* ... */}</article>
    </>
  );
}

Which types to implement, in order of impact:

  1. Organization / Person — site-wide, in the root layout. Feeds the knowledge panel.
  2. BlogPosting / Article — every post.
  3. BreadcrumbList — replaces the URL with a readable path in results.
  4. FAQPage — for pages with genuine Q&A content (also heavily quoted by AI engines).
  5. Product + Offer + AggregateRating — e-commerce; this is where the stars come from.
  6. Service + LocalBusiness — agencies and local companies.

Validate with Google's Rich Results Test — the schema.org validator checks syntax, but only Google's tool tells you whether you're eligible for rich results.

Checklist:

  • JSON-LD rendered server-side (never injected on the client after load)
  • Article/BlogPosting on all posts with real dates
  • BreadcrumbList site-wide
  • Data in the markup matches the visible page (mismatches can earn a manual action)
← Previoussitemap.ts and robots.ts: file conventions instead of hand-written XMLNext →Images, fonts and scripts: the classic performance trio

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