全ページが「私はトップの複製です」と検索エンジンに申告していた
“SEOは足し算だと思っていた。実際にやることになったのは、間違って書いた1行を消す作業だった。”
自分のサイトのSEOを点検しました。作った人間が自分で見ても抜けは見つからないので、ページごと・観点ごとに分けて機械的に洗いました。
結果は、思っていたより悪かったです。
1出てきた4つ
点検で出てきた致命傷(すべて実測で確認)
| 症状 | 原因 | 影響 |
|---|---|---|
| 12ページのcanonicalがトップを指す | ルートlayoutに書いたcanonicalが全ページに継承されていた | 作ったページが「トップの複製」扱い |
| 60ページ超のSNSカードが画像なし | robots.txt の Disallow が動的OG画像ごと塞いでいた | 貼っても画像が出ない |
| 作品ページのOG画像が汎用画像に劣化 | 実行時のファイル存在チェックが、配信設定と噛み合っていなかった | 全部同じ絵になる |
| 作品ページ120本のH1がHTMLに無い | 見出しを描くコンポーネントをサーバー描画から外していた | 作品名が検索エンジンから見えない |
とくに最後の1つは、ブラウザで見ている限りまったく分かりません。ページを開けば作品名は表示されている。でもHTMLを取ってくると、その文字がどこにも無い。編集モード用のコンポーネントをブラウザ側でしか動かない設定にしていて、閲覧時もそれを通していたためでした。
120ページ分の作品名が、1年近く検索エンジンには存在していなかったことになります。
2canonicalの話
一番効くのに、直すのは一番簡単でした。ルートのレイアウトに1行、サイトのURLを正規URLとして書いていた。Next.jsのメタデータは子ページに継承されるので、それが全ページに配られていました。
つまり /works も /about も /contact も、揃って「自分はトップページの複製です」と申告していたわけです。sitemapでは「見に来てください」と言いながら。
直し方は、その1行を消して、各ページに自分自身のURLを書く。ただ、"use client" を付けたページはメタデータを書けないので、同じ階層に layout.tsx を足して、そこで宣言しました。
3robots.txtが自分の首を絞めていた
Disallow: /api/ と書いていました。管理用APIをクロールされたくなかったからです。
ところがSNSカードの画像は /api/og で動的に作っていました。60ページ超のカードが、クローラーから取れない場所に置かれていたことになります。
許可を1行足すだけで直りました。長く一致するほうが勝つので、/api/og だけ通して残りは塞いだままにできます。
4直したあとに、測る仕組みを残した
こういうのは一度直しても、次にページを足したときにまた壊れます。なので、sitemapに載っている全URLを実際に叩いて、canonical・og:image・twitterカードが正しいか、画像が本当に200で返るかを確認するスクリプトを書いて置きました。
いま流すと234URLで問題ゼロです。ページを足したら流す。これだけで、同じ失敗は繰り返しません。
点検の前と後(実測値)
| 項目 | 前 | 後 |
|---|---|---|
| 自己参照canonical | 12ページが不正 | ◎234URL すべて正しい |
| OG画像が取得できるページ | 60ページ超が遮断 | ◎全ページ取得可 |
| 作品ページのH1 | HTMLに存在しない | ◎サーバー描画で出力 |
| /contact のフォント先読み | 124ファイル・3.7MB | ◎3ファイル |
| sitemapの他ドメイン混入 | 118件 | ◎0件 |
5正直に言うと
SEOというと記事を増やすとか、キーワードを入れるとか、足す作業だと思っていました。今回やったことは、ほぼ全部が「間違って書いた1行を消す」でした。
しかも4つのうち3つは、画面を見ているだけでは絶対に気づけません。ブラウザで正常に見えているものが、検索エンジンから見えていないことがある。この2つは別物なんだと、頭では分かっていたつもりで分かっていなかった。
まだ残している宿題もあります。19件の店舗事例がクエリ付きURLのままで、正規URLが1本に潰れている件。これは実体のページを作らないと直りません。近いうちに手を付けます。
作ったものは制作実績に並べています。中身が検索エンジンからも見えるようになったのは、今週からです。
この記事を書いた人
NextCode(沖縄県宜野湾市)は、iOSアプリ・ホームページ/LP・NFCデジタル名刺・AI業務自動化を作っている開発スタジオです。 ここで書いているのは、実際に作って公開したものと、その過程で詰まったことだけです。
お電話でも大丈夫です → 098-959-6119