MADEBYARIS
Technical SEO for Next.js

Next.js SEO servicesfor App Router sites

For teams whose Next.js site looks fine but doesn't rank, or who lost traffic after a migration. I fix what search engines see in your code, from rendering to schema markup.

This site is the proof: its metadata, schema, sitemap, and llms.txt come from the same Next.js setup I build for clients.

What Next.js SEO services cover

Next.js SEO services fix the technical side of ranking for sites built on Next.js. I check what Google actually receives: rendered HTML, titles, canonicals, status codes, and structured data. Then I fix the gaps in your App Router code, from the Metadata API and schema markup to sitemaps, redirects, and Core Web Vitals. Content and link building stay with you or your SEO team.

Technical SEO problems in Next.js sites

If traffic is flat or falling, it is usually one of these.

  • Content loads only in the browser, so crawlers get a thin HTML shell
  • Every page shares one title, description, or canonical
  • Rankings dropped after a migration because old URLs now return 404
  • No structured data, so no rich results in search
  • A slow LCP from a heavy hero image or too much client JavaScript

What you get

An audit you can act on

Issues ranked by impact on traffic, each tied to the file or route that causes it.

Correct metadata on every route

Titles, descriptions, canonicals, and Open Graph from the App Router Metadata API, so each page shows up with its own snippet.

Schema markup Google can read

JSON-LD for your organization, services, articles, breadcrumbs, and FAQs, matched to what is visible on the page.

New pages found quickly

Sitemap, robots, and IndexNow set up so search engines hear about new and updated URLs.

Faster pages

Work on LCP, CLS, and INP so Core Web Vitals stop dragging your rankings and conversions.

A migration that keeps its rankings

Every old URL mapped to a redirect before launch, then checked in Search Console after.

Running on this site

  • One JSON-LD graph per page, with Service, breadcrumb, and FAQ nodes
  • Blog titles and descriptions read from Rank Math in WordPress
  • Sitemap and llms.txt refresh when a post is published
  • IndexNow ping sent on every publish

Wondering how search and AI answers differ? Read SEO for AI vs GEO. Moving from WordPress? See headless WordPress with Next.js.

How the work runs

1

Crawl

I check what Google receives: rendered HTML, metadata, schema, and status codes.

2

Prioritize

You get the list ranked by impact, with what I would fix first.

3

Fix

Changes land as reviewable PRs in your Next.js repo.

4

Verify

Rich results tests and Search Console confirm the fixes were picked up.

Next.js SEO FAQ

How much do Next.js SEO services cost?+

Price is scoped per project. An audit of one site is smaller work than an audit plus fixes across a large App Router codebase. Send the URL and I will quote after I have looked at it.

Is Next.js good for SEO?+

Yes, when pages render on the server or at build time. The App Router gives you server components, the Metadata API, and file-based sitemaps and robots. Problems start when content loads only in the browser or metadata stays at the defaults.

Can you add schema markup and fix App Router metadata?+

Yes. I set per-route metadata with generateMetadata, add JSON-LD that matches the visible content, and check it with the Rich Results Test. This site uses the same setup.

Will a migration to Next.js hurt my rankings?+

It should not if every old URL is kept or redirected before launch. I map redirects, carry over titles and descriptions, rebuild the sitemap, and watch Search Console for 404s after the switch.

Do you write content or build links?+

No. I handle technical SEO for Next.js: rendering, metadata, schema, sitemaps, redirects, and speed. I work alongside your writer or SEO agency and explain each fix so they can build on it.

Send me the URL that should rank

I'll look at what Google receives for it and reply with the problems I see and what I would fix first. If the code is fine and the gap is content, I'll tell you.