diff --git a/docs/community.mdx b/docs/community.mdx
index c5d898962..3e8f90076 100644
--- a/docs/community.mdx
+++ b/docs/community.mdx
@@ -1,4 +1,6 @@
-export const introduction = 'A collection of links to places where to discuss and learn about Bref.';
+import { NextSeo } from 'next-seo';
+
+
# Community
diff --git a/docs/default/getting-started.mdx b/docs/default/getting-started.mdx
index de7174009..2948c498c 100644
--- a/docs/default/getting-started.mdx
+++ b/docs/default/getting-started.mdx
@@ -2,8 +2,9 @@ import { Cards, Card } from 'nextra/components';
// Path relative to the copy in the `website/` folder
import { LaravelIcon } from '../../../components/icons/LaravelIcon';
import { SymfonyIcon } from '../../../components/icons/SymfonyIcon';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Run PHP serverless on AWS Lambda using Bref.';
+
# Getting started - Bref with any framework
diff --git a/docs/environment/database-planetscale.mdx b/docs/environment/database-planetscale.mdx
index 0a36afb17..f5a7c6444 100644
--- a/docs/environment/database-planetscale.mdx
+++ b/docs/environment/database-planetscale.mdx
@@ -1,6 +1,7 @@
import { Callout } from 'nextra/components';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Configure Bref to use a PlanetScale database in your PHP application on AWS Lambda.';
+
# Using PlanetScale with Bref on AWS Lambda
diff --git a/docs/environment/database.mdx b/docs/environment/database.mdx
index b40be65cc..ad16fbd1f 100644
--- a/docs/environment/database.mdx
+++ b/docs/environment/database.mdx
@@ -1,6 +1,7 @@
import { Callout } from 'nextra/components';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Configure Bref to use a database in your PHP application on AWS Lambda.';
+
# Using a database
diff --git a/docs/environment/logs.mdx b/docs/environment/logs.mdx
index 111dd08f1..6a433562b 100644
--- a/docs/environment/logs.mdx
+++ b/docs/environment/logs.mdx
@@ -1,4 +1,6 @@
-export const introduction = 'Learn how to write and read PHP logs on AWS Lambda using Bref.';
+import { NextSeo } from 'next-seo';
+
+
# Logs
diff --git a/docs/environment/performances.mdx b/docs/environment/performances.mdx
index a9e58d151..48b1a09ff 100644
--- a/docs/environment/performances.mdx
+++ b/docs/environment/performances.mdx
@@ -1,6 +1,7 @@
import { Callout } from 'nextra/components';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Performance tuning and optimizations for serverless PHP applications on AWS Lambda.';
+
# Performance
diff --git a/docs/environment/php.mdx b/docs/environment/php.mdx
index 6912ab41d..fabb6b2ad 100644
--- a/docs/environment/php.mdx
+++ b/docs/environment/php.mdx
@@ -1,6 +1,7 @@
import { Callout } from 'nextra/components';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Configure PHP versions, extensions and options for your serverless application using Bref.';
+
# Configuring PHP
diff --git a/docs/environment/serverless-yml.mdx b/docs/environment/serverless-yml.mdx
index 3f618fa08..5e24d4061 100644
--- a/docs/environment/serverless-yml.mdx
+++ b/docs/environment/serverless-yml.mdx
@@ -1,4 +1,6 @@
-export const introduction = 'Configure your application with the serverless.yml file.';
+import { NextSeo } from 'next-seo';
+
+
# serverless.yml
diff --git a/docs/environment/storage.mdx b/docs/environment/storage.mdx
index 75d3a8590..1dd0eaebb 100644
--- a/docs/environment/storage.mdx
+++ b/docs/environment/storage.mdx
@@ -1,4 +1,6 @@
-export const introduction = 'Learn how to store data and files in serverless PHP applications running on AWS Lambda.';
+import { NextSeo } from 'next-seo';
+
+
# Storage on AWS Lambda
diff --git a/docs/environment/variables.mdx b/docs/environment/variables.mdx
index 293460490..e76c469b2 100644
--- a/docs/environment/variables.mdx
+++ b/docs/environment/variables.mdx
@@ -1,6 +1,7 @@
import { Callout } from 'nextra/components';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Define environment variables for your Bref application.';
+
# Environment variables
diff --git a/docs/index.mdx b/docs/index.mdx
index befdb39ae..a18722df4 100644
--- a/docs/index.mdx
+++ b/docs/index.mdx
@@ -1,4 +1,6 @@
-export const introduction = 'An introduction to what serverless and Bref can offer for PHP applications.';
+import { NextSeo } from 'next-seo';
+
+
# What is Bref and serverless?
diff --git a/docs/laravel/getting-started.mdx b/docs/laravel/getting-started.mdx
index eae684089..4f0a4131d 100644
--- a/docs/laravel/getting-started.mdx
+++ b/docs/laravel/getting-started.mdx
@@ -1,6 +1,7 @@
import { Callout } from 'nextra/components';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Run Laravel serverless on AWS Lambda using Bref.';
+
# Serverless Laravel - Getting started
diff --git a/docs/laravel/octane.mdx b/docs/laravel/octane.mdx
index 782f836f4..60517beb0 100644
--- a/docs/laravel/octane.mdx
+++ b/docs/laravel/octane.mdx
@@ -1,4 +1,6 @@
-export const introduction = 'Run Laravel with Octane on AWS Lambda using Bref.';
+import { NextSeo } from 'next-seo';
+
+
# Laravel Octane
diff --git a/docs/laravel/passport.mdx b/docs/laravel/passport.mdx
index fc9893388..142502b81 100644
--- a/docs/laravel/passport.mdx
+++ b/docs/laravel/passport.mdx
@@ -1,6 +1,7 @@
import { Steps } from 'nextra/components';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Laravel Passport on AWSÂ Lambda with Bref';
+
# Laravel Passport
diff --git a/docs/laravel/queues.mdx b/docs/laravel/queues.mdx
index 4c234f315..098882689 100644
--- a/docs/laravel/queues.mdx
+++ b/docs/laravel/queues.mdx
@@ -1,6 +1,7 @@
import { Callout } from 'nextra/components';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Run Laravel Queues on AWS Lambda and SQS using Bref.';
+
# Laravel Queues
diff --git a/docs/runtimes.mdx b/docs/runtimes.mdx
index 234a2150f..48255fe97 100644
--- a/docs/runtimes.mdx
+++ b/docs/runtimes.mdx
@@ -1,5 +1,7 @@
import { Callout } from 'nextra/components';
-export const introduction = 'Bref provides runtimes to bring support for PHP on AWS Lambda.';
+import { NextSeo } from 'next-seo';
+
+
# PHP runtimes for AWS Lambda
diff --git a/docs/runtimes/console.mdx b/docs/runtimes/console.mdx
index a66c7e41b..1a9abbf8e 100644
--- a/docs/runtimes/console.mdx
+++ b/docs/runtimes/console.mdx
@@ -1,4 +1,6 @@
-export const introduction = 'Learn how to run serverless console commands on AWS Lambda with Symfony Console or Laravel Artisan.';
+import { NextSeo } from 'next-seo';
+
+
# Console runtime
diff --git a/docs/runtimes/fpm-runtime.mdx b/docs/runtimes/fpm-runtime.mdx
index 06b6ce034..9765f30b7 100644
--- a/docs/runtimes/fpm-runtime.mdx
+++ b/docs/runtimes/fpm-runtime.mdx
@@ -1,5 +1,7 @@
import { Callout } from 'nextra/components';
-export const introduction = 'Learn how to run serverless HTTP applications with PHP on AWS Lambda using Bref.';
+import { NextSeo } from 'next-seo';
+
+
# PHP-FPM runtime for AWS Lambda
diff --git a/docs/runtimes/function.mdx b/docs/runtimes/function.mdx
index e776ca1ab..3f6e73d15 100644
--- a/docs/runtimes/function.mdx
+++ b/docs/runtimes/function.mdx
@@ -1,5 +1,7 @@
import { Callout, Tab, Tabs } from 'nextra/components';
-export const introduction = 'Run serverless event-driven PHP functions on AWS Lambda using Bref.';
+import { NextSeo } from 'next-seo';
+
+
# PHP functions runtime for AWS Lambda
diff --git a/docs/serverless-costs.mdx b/docs/serverless-costs.mdx
index 5c6c13809..0db87c3a0 100644
--- a/docs/serverless-costs.mdx
+++ b/docs/serverless-costs.mdx
@@ -1,6 +1,7 @@
import { useState } from 'react';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Calculate the costs of running your PHP application on AWS Lambda.';
+
# Costs of a serverless application
diff --git a/docs/setup.mdx b/docs/setup.mdx
index e8a69a763..4b4d8ab38 100644
--- a/docs/setup.mdx
+++ b/docs/setup.mdx
@@ -2,8 +2,9 @@ import { Callout, Steps, Cards, Card } from 'nextra/components';
// Path relative to the copy in the `website/` folder
import { LaravelIcon } from '../../components/icons/LaravelIcon';
import { SymfonyIcon } from '../../components/icons/SymfonyIcon';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Getting ready to use Bref.';
+
# Setup
diff --git a/docs/setup/aws-keys.mdx b/docs/setup/aws-keys.mdx
index 7a7287375..0516a18ca 100644
--- a/docs/setup/aws-keys.mdx
+++ b/docs/setup/aws-keys.mdx
@@ -1,6 +1,7 @@
import { Callout } from 'nextra/components';
+import { NextSeo } from 'next-seo';
-export const introduction = 'How to create AWS access keys for Bref';
+
# Creating AWS access keys
diff --git a/docs/symfony/getting-started.mdx b/docs/symfony/getting-started.mdx
index c702c3471..c367685a6 100644
--- a/docs/symfony/getting-started.mdx
+++ b/docs/symfony/getting-started.mdx
@@ -1,6 +1,7 @@
import { Callout } from 'nextra/components';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Run Symfony serverless on AWS Lambda using Bref.';
+
# Serverless Symfony - Getting started
diff --git a/docs/symfony/messenger.mdx b/docs/symfony/messenger.mdx
index 530529e19..6a41745d8 100644
--- a/docs/symfony/messenger.mdx
+++ b/docs/symfony/messenger.mdx
@@ -1,6 +1,7 @@
import { Callout } from 'nextra/components';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Run Symfony Messenger on AWS Lambda with SQS using Bref.';
+
# Symfony Messenger
diff --git a/docs/use-cases/cron.mdx b/docs/use-cases/cron.mdx
index 8ccc3bc53..4eda71636 100644
--- a/docs/use-cases/cron.mdx
+++ b/docs/use-cases/cron.mdx
@@ -1,5 +1,7 @@
import { Tab, Tabs } from 'nextra/components';
-export const introduction = 'Learn how to create serverless cron functions with PHP on AWS Lambda.';
+import { NextSeo } from 'next-seo';
+
+
# Cron tasks on AWS Lambda
diff --git a/docs/use-cases/http/custom-domains.mdx b/docs/use-cases/http/custom-domains.mdx
index eec786d20..e399e6960 100644
--- a/docs/use-cases/http/custom-domains.mdx
+++ b/docs/use-cases/http/custom-domains.mdx
@@ -1,6 +1,7 @@
import { Callout } from 'nextra/components';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Configure custom domain names for your web applications.';
+
# Custom domain names
diff --git a/docs/use-cases/websites.mdx b/docs/use-cases/websites.mdx
index f67271b28..dbb8025f4 100644
--- a/docs/use-cases/websites.mdx
+++ b/docs/use-cases/websites.mdx
@@ -1,6 +1,7 @@
import { Callout, Tab, Tabs } from 'nextra/components';
+import { NextSeo } from 'next-seo';
-export const introduction = 'Learn how to deal with assets and static files to deploy serverless PHP websites.';
+
# Serverless PHP websites
diff --git a/website/src/pages/credits.mdx b/website/src/pages/credits.mdx
index c96c2d9ae..fb7aaffc2 100644
--- a/website/src/pages/credits.mdx
+++ b/website/src/pages/credits.mdx
@@ -1,6 +1,9 @@
import { useData } from 'nextra/data';
import { getContributors, mergeAndSortContributors } from '../github/contributors';
import { getSponsors } from '../github/sponsors';
+import { NextSeo } from 'next-seo';
+
+
export const getStaticProps = async () => {
let sponsors;
diff --git a/website/src/pages/index.mdx b/website/src/pages/index.mdx
index c1919e022..7cfe6292d 100644
--- a/website/src/pages/index.mdx
+++ b/website/src/pages/index.mdx
@@ -10,6 +10,9 @@ import Sponsors from '../components/home/sponsors';
import Intro from '../components/home/intro';
import { useData } from 'nextra/data';
import { getBrefInvocations } from '../aws/invocations';
+import { NextSeo } from 'next-seo';
+
+
export async function getStaticProps() {
let invocations;
diff --git a/website/src/pages/support.mdx b/website/src/pages/support.mdx
index 735763fd0..fac72ad23 100644
--- a/website/src/pages/support.mdx
+++ b/website/src/pages/support.mdx
@@ -1,4 +1,7 @@
import Plans from '../components/support/plans';
+import { NextSeo } from 'next-seo';
+
+