Technical SEO

Next.js SEO checklist for portfolio websites

The technical checks I use to make a developer portfolio easy to crawl, index and understand.

By Nadir AMMI SAID 10 min read

Start with strong page intent

A portfolio is not one page with every keyword on it. The homepage should make the professional offer clear, a project page should show evidence, and an article should solve a problem. I write the intended question at the top of my notes before creating a route.

This also helps visitors. Someone looking for a frontend developer should not have to decode a gallery of screenshots to understand the work. Clear page intent is useful SEO because it is useful communication.

  • Give every page one primary purpose
  • Use a specific title and description
  • Put proof close to each claim

Make the important pages discoverable

Search engines follow links, and so do people. I link the homepage to the strongest projects and services, projects to relevant articles, and articles to topics that group the same knowledge. This creates a small graph instead of a collection of pages that happen to share a header.

I also check the navigation from a new visitor's perspective. If an article is only reachable from a hidden filter or an old social post, it is not part of the site's normal information architecture.

  • Link projects, articles and topics together
  • Keep important pages within a few clicks
  • Avoid relying on search boxes as the only discovery path

Configure the technical files

The basic files are not glamorous, but they are easy to get wrong. I keep one canonical URL per page, expose the useful routes in a sitemap, and use robots rules to avoid indexing technical noise. I verify the final URLs from the deployed site rather than assuming the local route is enough.

Titles and descriptions should be generated close to the data that owns the page. That prevents a project title from drifting away from its Open Graph preview or a blog route from falling back to generic metadata.

  • Set metadata per route
  • Generate sitemap and robots files
  • Check canonical and social preview URLs

Use semantic HTML and structured data

A good heading hierarchy gives the article a visible outline. I use one H1 for the page subject, H2s for the main questions and H3s only when a section really has sub-parts. The markup should still make sense if the styles disappear.

Schema.org adds another description layer. A Person schema can identify the author, while BlogPosting can describe an article. I treat both as supporting information: the visible page remains the source of truth.

  • Use meaningful headings
  • Add Article or BlogPosting data to articles
  • Keep schema values consistent with visible content

Check performance before launch

Portfolio visitors often arrive from a phone and decide quickly whether the site feels trustworthy. I inspect large images, unnecessary client components, font loading and layout shifts. The best optimization is often removing work rather than adding a clever cache.

I finish with a production build and a route-by-route smoke test. SEO is not complete when metadata exists in TypeScript; it is complete when the deployed page sends the right content, links and headers.

Next.jsVercelSchema.org

Related project

JeelworkResponsive showcase website connecting local professionals and clients

Keep reading

Back to the journal