第14回 ゆまラボのヘッダー導線とサイト内検索を追加―横長の表とsitemap.xmlも修正

ゆまラボのヘッダーへ記事一覧・カテゴリ・連載・タグとサイト内検索を追加。横長の表を表だけ横スクロールできるように修正し、404だったsitemap.xmlも追加した内容を記録します。

執筆:ゆまラボ運営者

公開:更新:
第14回 ゆまラボのヘッダー導線とサイト内検索を追加―横長の表とsitemap.xmlも修正

第13回では、個別タグページへnoindexを設定し、フッターへお問い合わせ、プライバシーポリシー、免責事項への導線を追加した。

その後も公開中のサイトを確認していると、まだ修正したいところが4つあった。

  • ヘッダーからカテゴリ、連載、タグへ直接移動できない
  • 記事が増えてきたが、サイト内をキーワードで検索する方法がない
  • 横に長い表はスクロールできるものの、操作が少し分かりにくい
  • https://bringain.com/sitemap.xmlが404になる

今回はこの4点を修正する。

ヘッダーからカテゴリ・連載・タグへ移動できるようにする#

修正前のヘッダーは、

Home
記事一覧
About

の3つだけ。

修正前のトップページヘッダー

サイトを作り始めた頃はこれで十分。ただ、第9回、第10回で記事の分類方法を追加したことで状況が変わった。

現在は、

カテゴリ
サブカテゴリ
連載
タグ

を使って記事を探せる。

ただし、その入口は記事一覧ページの上部に置いていた。

記事一覧ページ内のカテゴリ・連載・タグへの導線

記事一覧を開けば、

記事一覧 / カテゴリ / 連載 / タグ

へ移動できる。

逆にトップページや記事詳細からカテゴリを見たい場合は、一度記事一覧へ移動してからカテゴリを選ぶ必要がある。

カテゴリやタグ自体はすでに作っているので、新しい分類機能を追加する必要はない。今回は、既存ページへの入口をヘッダーへ追加する。

修正後は、

Home
記事一覧
カテゴリ
連載
タグ
About

をヘッダーへ表示するようにした。

カテゴリ・連載・タグを追加した修正後のヘッダー

これでトップページ、記事一覧、記事詳細のどこからでも、カテゴリ、連載、タグへ直接移動できる。

第13回では、お問い合わせやプライバシーポリシーのように普段の記事閲覧で常に使うわけではないリンクはフッターへ追加した。今回は逆で、記事を探すために頻繁に使うリンクなのでヘッダーへ追加している。

ヘッダーに何でも追加するのではなく、

記事を探すための入口
→ ヘッダー

運営情報や固定ページ
→ フッター

という分け方にした。

サイト内検索をヘッダーへ追加#

記事一覧、カテゴリ、連載、タグがあれば、ある程度は目的の記事を探せる。

ただ、記事数が増えてくると「以前どの記事でこの単語を書いたか」を探したい場面も出てくる。

現在のゆまラボにはAIの記事とWeb制作の記事があり、同じAstroCloudflareでも複数の記事に登場する。カテゴリだけでは探しにくいケースもあるので、ヘッダーへサイト内検索を追加した。

修正後のヘッダー右側には「サイト内を検索」を表示する。

サイト内検索を追加したヘッダー

ここを押すと、画面中央に検索欄が開く。

ヘッダーから開いたサイト内検索

検索画面は別ページへ移動せず、現在のページの上へ重ねて表示する。

背景は暗くなり、検索欄へそのまま入力できる。検索だけ行いたい場合にページを移動しなくてよい。

実際にGPT-6と入力して確認した。

GPT-6で検索した結果

画面にはGPT-6の2件の検索結果と表示され、該当する記事が出ている。

検索結果には記事タイトルに加え、記事内の見出しと周辺の文章も出る。

今回の画面では、

  • GPT-6 AstraとClaude Fable 5.1を並べてみた。数字は似ているのに、任せたい仕事が少し違う
  • GPT-6 Astraを調べてみた。気になったのは性能より「仕事の任せ方」の変化

の2記事が検索結果に出た。

さらに1つの記事の中でも、

Astraは「考えるAI」より「動いて終わらせるAI」に見える
ベンチマークを見ると「Astraが上」「Fableが上」では終わらない
参考

など、検索語が含まれる箇所が候補として表示されている。

記事タイトルだけを検索するより、本文中のどこに書いたかまで探せる方が使いやすい。

サイトを作り始めた時点では検索機能がなくても困らなかったが、記事が増えたことで必要性が出てきた機能になる。

横長の表を表だけスクロールできるように修正#

ゆまラボでは、設定値や製品比較を書くときにMarkdownの表を使うことがある。

例えばGPT-6 AstraとClaude Fable 5.1の記事では、開発元、リリース日、コンテキスト、API料金などを横に並べている。

修正前の状態はこちら。

修正前の横長テーブル

列数が多いため、画面幅に収まらない部分は横スクロールで確認する形になっていた。

横スクロール自体をなくして、すべての列を画面幅へ無理に押し込む方法もある。ただ、その方法では列幅が狭くなり、長い文字列が不自然に折り返される。

特に、

1,050,000トークン
$10 / 100万トークン
Computer Use

のような値は、列幅を狭くしすぎると読みにくい。

横スクロール自体は残し、横長の表を横長のまま扱いやすくする方向で修正した。

対応したのは次の5点。

  1. 表だけを囲む横スクロール領域
  2. キーボードフォーカス対応
  3. 表示されるスクロールバー
  4. 列内の不自然な1文字折り返し防止
  5. ページ全体の横スクロール防止

表だけを横スクロールさせる#

一番避けたいのは、表が本文幅を押し広げてページ全体が左右へ動く状態。

本文、見出し、画像まで一緒に横へ動くと読みづらい。

そこで、スクロール対象を表の領域だけにする。

記事本文

┌────────────────────┐
│ 横長の表              → │
└────────────────────┘

記事本文

表が画面幅を超えても、その外側の記事レイアウトには影響させない。

横に動かせることを画面上に表示#

スクロールできても、利用者が気付かなければ意味がない。

修正後は表の右上に、

横にスクロールできます

と表示するようにした。

横スクロール案内を追加した修正後の表

下部のスクロールバーも表示したままにしている。

これで、表の右側に続きがあることを、文章とスクロールバーの両方から確認できる。

キーボードでも操作できるようにする#

マウスやタッチ操作だけを前提にせず、横スクロール領域へキーボードフォーカスを移せるようにもした。

PCでキーボードを使っている場合も、表のスクロール領域を操作できる。

見た目だけでは分かりにくい部分だが、表を独立した操作領域として扱うために追加した対応になる。

列を無理に細くしない#

表を画面内へ収めるために、すべてのセルを強制的に細くすることもしない。

列内の文字が、

C
o
m
p
u
t
e
r

のように1文字単位で折り返される方が、横スクロールより読みにくい。

必要な列幅は残し、入りきらない分を表の中で横に移動して読む形にした。

表を小さくするのではなく、横長の表を横長のまま扱いやすくする対応。

404になっていたsitemap.xmlを追加#

もう1つはサイトマップ。

https://bringain.com/sitemap.xmlへアクセスすると、修正前は404。

sitemap.xmlが404だった修正前の画面

サイト自体は表示でき、記事一覧やカテゴリページも動いている。それでもsitemap.xmlは別なので、ファイルやルートが用意されていなければ404になる。

今回は/sitemap.xmlでXMLを返せるように追加した。

修正後はこちら。

追加後のsitemap.xml

ブラウザ上部には、

This XML file does not appear to have any style information associated with it.

と表示されている。

これはHTMLページのような見た目を付けていないXMLをブラウザで直接開いたときの表示で、404ではない。

その下にはurlsetが表示され、locとしてサイト内URLが並んでいる。

画面上でも、

https://bringain.com/
https://bringain.com/about/
https://bringain.com/blog/
https://bringain.com/blog/01-why-astro-and-cloudflare/
https://bringain.com/blog/02-build-astro-on-windows/
...

を確認できる。

第1回から続けてきたAstro+Cloudflareの連載記事だけでなく、AI関連の記事URLも含まれている。

修正前は「サイトマップがない」状態。これでhttps://bringain.com/sitemap.xmlを直接開いて内容を確認できるようになった。

公開画面で4点を確認#

修正後の公開画面では、以下を確認した。

ヘッダー
→ Home / 記事一覧 / カテゴリ / 連載 / タグ / About を表示

サイト内検索
→ ヘッダーから検索画面を開ける
→ GPT-6で2件の記事を検索できる
→ 記事内の該当見出しも検索結果へ表示

横長の表
→ 表の領域だけ横スクロール
→ 「横にスクロールできます」を表示
→ スクロールバーを表示
→ ページ全体は横へ動かさない

sitemap.xml
→ 404を解消
→ XMLとしてサイト内URLを確認できる

第9回、第10回でカテゴリ、連載、タグを作ったあと、それらへの入口をヘッダーへ移した。記事数の増加に合わせて、サイト内検索も追加している。

横長の表は、CSSで無理に縮めず、表だけを操作できる形へ変更している。

sitemap.xmlについても404のままにせず、公開URLで内容を確認できるところまで対応した。

追加した機能は別々に見えるが、どれも記事が増えたことで必要になった修正。