#1. **next-seo
**とは?
next-seo
**とは?next-seo
は、Next.jsのプロジェクトにSEO設定を簡単に追加するためのライブラリです。このライブラリは、ページごとのメタタグやOGPタグを簡単に設定できる機能を提供し、SEOの設定を効率的に行えるようにします。
next-seo
を使うと、ページごとに個別のSEO設定を行ったり、サイト全体のデフォルト設定をまとめて管理することが可能です。そのため、SEOのベストプラクティスを守りながら、開発の効率も高めることができます。
#2. **next-seo
**のインストール
next-seo
**のインストールまず、next-seo
パッケージをインストールする必要があります。プロジェクトディレクトリで以下のコマンドを実行してください:
npm install next-seo
または、yarnを使っている場合は:
yarn add next-seo
#3. **DefaultSeo
**の設定
DefaultSeo
**の設定DefaultSeo
は、Next.jsのアプリケーション全体で共通のSEO設定を管理するために使うコンポーネントです。これを使うと、全てのページで共通のSEO設定を自動的に適用できます。
pages/_app.js
(または_app.tsx
)でDefaultSeo
を設定します。これにより、アプリ全体にデフォルトのSEO設定が適用されます。
import { DefaultSeo } from 'next-seo'; import Head from 'next/head'; function MyApp({ Component, pageProps }) { return ( <> <DefaultSeo title="My Website" description="This is my awesome website built with Next.js" openGraph={{ url: 'https://www.mywebsite.com', title: 'My Website', description: 'This is my awesome website built with Next.js', images: [ { url: 'https://www.mywebsite.com/og-image.jpg', width: 800, height: 600, alt: 'Og Image Alt', }, ], site_name: 'My Website', }} twitter={{ handle: '@mywebsite', site: '@mywebsite', cardType: 'summary_large_image', }} /> <Component {...pageProps} /> </> ); } export default MyApp;
#4. **DefaultSeo
**で設定できる主なプロパティ
DefaultSeo
**で設定できる主なプロパティDefaultSeo
には、SEOに関連するさまざまなプロパティを設定できます。以下は、主なプロパティです。
4.1 title
ページのデフォルトタイトルを指定します。個々のページで異なるタイトルを設定したい場合は、ページコンポーネント内でnext-seo
のNextSeo
コンポーネントを使ってオーバーライドできます。
<DefaultSeo title="My Website" />
4.2 description
ページのデフォルトの説明を設定します。この説明は、検索結果やSNSで共有される際に表示されるテキストです。
<DefaultSeo description="This is my awesome website built with Next.js" />
4.3 openGraph
Open Graph(OGP)メタデータを設定できます。これにより、FacebookやTwitterなどのSNSでリンクが共有された際に、タイトル、画像、説明をカスタマイズできます。
<DefaultSeo openGraph={{ url: 'https://www.mywebsite.com', title: 'My Website', description: 'This is my awesome website built with Next.js', images: [ { url: 'https://www.mywebsite.com/og-image.jpg', width: 800, height: 600, alt: 'Og Image Alt', }, ], site_name: 'My Website', }} />
4.4 twitter
Twitterのカードタイプやアカウント情報を設定できます。これにより、Twitterでリンクがシェアされた際に、どのようなカードが表示されるかを管理できます。
<DefaultSeo twitter={{ handle: '@mywebsite', site: '@mywebsite', cardType: 'summary_large_image', }} />
#5. ページごとのSEO設定
DefaultSeo
を使ってアプリケーション全体のデフォルトSEOを設定した後、ページごとにSEO設定を個別に行いたい場合は、NextSeo
コンポーネントを使用します。これを各ページのJSX内に追加することで、ページ固有のメタデータを設定できます。
例えば、pages/about.js
に次のように設定します:
import { NextSeo } from 'next-seo'; function AboutPage() { return ( <> <NextSeo title="About Us" description="Learn more about our awesome company" openGraph={{ url: 'https://www.mywebsite.com/about', title: 'About Us', description: 'Learn more about our awesome company', images: [ { url: 'https://www.mywebsite.com/about-og-image.jpg', width: 800, height: 600, alt: 'About Us Image', }, ], }} /> <h1>About Us</h1> <p>We are an awesome company.</p> </> ); } export default AboutPage;
これにより、About
ページだけのSEO設定が適用されます。
#6. まとめ
Next.jsでDefaultSeo
を使うことで、SEOのデフォルト設定を簡単に一元管理することができ、各ページで個別にSEO設定を行う手間を省けます。next-seo
は、SEOに必要な基本的なメタタグやOpen Graph、Twitterカードの設定を簡単に行えるツールであり、Next.jsのプロジェクトでSEOを最適化するための強力なサポートを提供します。これを活用することで、サイト全体のSEOを効率的に管理し、検索エンジンやSNSでの露出を高めることができます。