13
チャプター13
メタデータ
<title>
HTMLタグなど、ページのメタデータを変更したい場合はどうすればよいでしょうか?
<title>
は<head>
HTMLタグの一部なので、Next.jsページで<head>
タグを変更する方法を見ていきましょう。
エディターでpages/index.js
を開き、以下の行を見つけてください
<Head>
<title>Create Next App</title>
<link rel="icon" href="/favicon.ico" />
</Head>
小文字の<head>
の代わりに<Head>
が使用されていることに注目してください。<Head>
はNext.jsに組み込まれているReactコンポーネントです。これにより、ページの<head>
を変更できます。
next/head
モジュールからHead
コンポーネントをインポートできます。
Head
をfirst-post.js
に追加する
/posts/first-post
ルートには<title>
を追加していません。追加してみましょう。
pages/posts/first-post.js
ファイルを開き、ファイルの冒頭でnext/head
からHead
をインポートしてください
import Head from 'next/head';
次に、エクスポートされたFirstPost
コンポーネントを更新して、Head
コンポーネントを含めます。今回はtitle
タグのみを追加します。
export default function FirstPost() {
return (
<>
<Head>
<title>First Post</title>
</Head>
<h1>First Post</h1>
<h2>
<Link href="/">← Back to home</Link>
</h2>
</>
);
}
https://:3000/posts/first-postにアクセスしてみてください。ブラウザのタブに「First Post」と表示されるはずです。ブラウザの開発者ツールを使用すると、title
タグが<head>
に追加されていることを確認できます。
Head
コンポーネントの詳細については、next/head
のAPIリファレンスを参照してください。
<html>
タグをカスタマイズしたい場合、例えばlang
属性を追加したい場合は、pages/_document.js
ファイルを作成することで可能です。カスタムDocument
ドキュメントで詳細を確認してください。
参考になりましたか?