コース一覧
Next.js公開設計:SEO・画像最適化・デプロイ
つくる - 検索とSNSに強く

Next.js公開設計:SEO・画像最適化・デプロイ

metadata、動的metadata、OGP、Image、フォント最適化、本番ビルド、マネージド環境・自サーバーへの公開、公開前チェックを扱う全13レッスンの公開プロジェクトです。fleamaを検索・SNS・表示速度まで整え、公開URLを持つ本番サービスとして完成させます。

1
メタデータ・OGP・画像
01. メタデータ15分
02. 動的メタデータ15分
03. OGP15分
04. 画像最適化15分
05. フォント最適化15分
06. つくる - 検索とSNSに強く20分
07. 第7章クイズ15分
2
デプロイと総合制作
01. 本番ビルド15分
02. マネージドへ公開15分
03. 自サーバー案15分
04. 公開前チェック15分
05. 自由拡張20分
06. 完成と次のステップ10分

つくる - 検索とSNSに強く

仕上げの回です

第7章で覚えたのは、metadata と generateMetadata と openGraph、それに next/image と next/font でした。今日は新しいことを覚えず、これを fleama にまとめて入れます。

どれも画面の見た目はほとんど変わりません。変わるのは、検索から来た人が最初に見る文字と、リンクを貼られたときのカードと、写真が出るまでの速さです。作っている本人には見えにくいところなので、最後にまとめて手を入れる回を置いています。

どこに何を書くか

置き場所を整理します。

全ページで同じもの はルートレイアウトに書きます。サイト名のタイトル、サイトの説明文、共通の OGP 画像、それに書体です。1か所書けば下のページ全部に効きます。

ページごとに変わるもの はそのページに書きます。商品詳細のタイトルと OGP は商品名や商品 ID から作るので、generateMetadata を使います。ここで openGraph を書いたら、レイアウト側とは入れ替わることを思い出してください。ページ側に出したいものを全部書きます。

画像 は書いてある場所で置き換えます。img を Image にして、width と height と alt を付けます。

見落としやすいところ

書体の呼び出しを関数の中に入れてしまうと動きません。ファイルの外側に1回だけ書きます。

images を配列にし忘れるのもよくある間違いです。1枚でも角かっこで囲みます。

generateMetadata は params を await してから使います。第2章のページ本体と同じ書き方です。

演習

fleama の3ファイルに、第7章の内容をまとめて入れます。

ヒント

レイアウトは第7章の1回目と3回目と5回目で書いたものをそのまま合わせます

書体の呼び出しは関数の外側に置きます。const inter = Inter({ subsets: ["latin"] }); です

generateMetadata では const { id } = await params; で id を取り出します

images は1枚でも ["/og/" + item.id + ".png"] のように配列にします

img を Image にするときは、width と height と alt をそのまま引き継ぎます

app/items/[id]/page.tsx
layout.tsx
app/page.tsx
プレビュー

できているか

  • img タグが1つも残っていない
  • 商品ページに generateMetadata を書いている
  • サイト共通のタイトルが付いている
  • サイト共通の説明文を設定している
  • サイト共通の OGP 画像を指定している
  • トップの画像を全部 Image に置き換えている
  • サイト名に Noto Sans JP が当たっている
  • 商品ページのタイトルと OGP が商品ごとに変わる
エディタを読み込んでいます