Next.js SEO Optimization: How to Get a Lighthouse Score of 90+
High performance is a key factor for user retention and improving search engine rankings. Next.js offers several powerful tools for this purpose. The main focus is on minimizing the amount of JavaScript sent to the client and speeding up the initial page load.
Performance: The Foundation for High Rankings
High performance is a key factor for user retention and improving search engine rankings. Next.js offers several powerful tools for this purpose. The main focus is on minimizing the amount of JavaScript sent to the client and speeding up the initial page load.
The performance improvement strategy includes several key areas:
- Server Components: Rendering components on the server significantly reduces the time to content paint and decreases the load on the user's browser.
- Image Optimization: The built-in Next.js Image component automatically compresses images, converts them to modern formats like WebP, and applies lazy loading.
- Code-splitting: Next.js automatically splits code into small chunks, loading only the components necessary for the current page.
- Caching: Statically generated pages are efficiently cached, and the Incremental Static Regeneration (ISR) mechanism allows for background updates without performance loss.
Accessibility: Creating an Inclusive Web
| Principle | Description |
|---|---|
| Semantic HTML | Using correct tags (h1-h6, nav, article, section) to logically structure content. |
| ARIA attributes | Additional attributes for HTML that improve the perception of dynamic content and widgets by screen readers. |
| Contrast | Compliance with the WCAG AA standard for text and background color ratios, ensuring readability for people with low vision. |
| Keyboard Navigation | The ability to control all interactive elements (links, buttons, input fields) with a keyboard without using a mouse. |
Accessibility ensures that the site can be used by everyone, including people with disabilities. This is not only an ethical standard but also a factor that influences SEO. Proper structure and markup help screen readers and other assistive technologies to correctly interpret the content.
To achieve a high accessibility score, it is necessary to follow several important principles.
Following these rules makes the web application user-friendly and understandable for the widest possible audience.

Best Practices: Ensuring Quality and Security
Adhering to web development best practices ensures the application's reliability, security, and compatibility. Google Lighthouse checks the site for compliance with modern standards, which are mandatory for any production project.
Key aspects in this category include:
- HTTPS: Using a secure protocol is mandatory for all modern websites. It ensures data encryption between the client and the server.
- Security: Configuring security headers, such as Content Security Policy (CSP), helps prevent common attacks like cross-site scripting (XSS).
- Modern JavaScript: Using current language versions (ES6+) and checking for deprecated APIs ensures that the code will run efficiently and be supported by most browsers.

SEO: Maximum Visibility in Search
| SEO Element | Purpose |
|---|---|
| Meta Tags | Unique Title and Description for each page, as well as Open Graph tags for correct display on social media. |
| Structured Data | JSON-LD markup for content (e.g., Article), breadcrumbs (BreadcrumbList), and organization information (Organization). |
| sitemap.xml | An automatically generated sitemap that helps search engine crawlers find and index all pages. |
| robots.txt | A file with instructions for search engines that controls the content indexing process. |
Technical SEO is the foundation for successful promotion in search engines. Next.js provides built-in capabilities to handle most search optimization tasks, making the process simpler and more automated.
To achieve a 100% SEO score in Lighthouse, you need to pay attention to the following elements:
Proper configuration of these components ensures that search engines can efficiently crawl, understand, and rank the site's content.

Implementation at Media Jet: A Practical Example
Theoretical knowledge is reinforced by practice. In the Media Jet project, the described strategies were applied to optimize various parts of the site. For example, server components were used for blog articles, ensuring their instant loading. Meta tags and structured data for articles were loaded dynamically from the database.
On the homepage, which features heavy WebGL animations, code-splitting was implemented. This allowed animation scripts to be loaded only when they were actually needed, without blocking the rendering of the main content. Lazy loading of images was also used throughout.
- Performance: 90+
- Accessibility: 95+
- Best Practices: 95+
- SEO: 100
To monitor these metrics, Lighthouse CI is used for automatic checks on every code update, along with continuous monitoring of metrics in production.
