本日は、Astroで構築している辞書型サイトの構造改善を中心に作業を進めました。特に「スクリプトの整理」と「カテゴリ(taxonomy)機能の導入」という、サイトの土台に関わる重要な部分に取り組みました。
まず、これまで個別に実行していた複数のスクリプトを統合し、パイプライン化を行いました。具体的には、リンク生成・辞書マップ作成・未リンクチェックの3つの処理を順番に実行する仕組みを作り、1コマンドで全てが動くようにしました。これにより、作業の手間が減るだけでなく、処理の順序ミスや再実行時の不具合リスクも大幅に軽減できました。開発の安定性と再現性が一気に向上したと感じています。
次に、taxonomy(カテゴリ)機能の導入を行いました。これまでNDCコードによる分類は存在していましたが、ユーザー視点やSEOを考えると、それだけでは不十分であると判断しました。そのため、検索されやすく直感的に理解しやすいカテゴリとして「AI」などのtaxonomyを追加しました。
具体的な作業としては、taxonomy用のディレクトリを作成し、最初のカテゴリファイルを追加。その後、dictionary側の各用語にtaxonomy情報を紐づけ、ページ上にカテゴリを表示できるようにしました。この時、content.config.tsのschemaも拡張し、データ構造として正しく扱えるように調整しています。
さらに、taxonomyごとの一覧ページも作成しました。動的ルーティングを利用し、「/taxonomy/ai」のようなURLで、そのカテゴリに属する用語一覧を表示できるようにしています。最初はレイアウトが崩れていましたが、Layoutコンポーネントで包むことで既存デザインと統一することができました。
途中、Markdownのリンク不正によるビルドエラーや、TypeScriptの型エラーなども発生しましたが、原因を一つずつ切り分けて修正しました。特にリンクの値が文字列でない場合にエラーになる点は、今後も注意が必要だと感じました。
本日の作業を通して、サイトの内部構造はかなり整理され、「辞書+カテゴリ+内部リンク」という形が見えてきました。まだ改善の余地はありますが、土台としては実務レベルに近づいてきた手応えがあります。
明日以降は、taxonomyの表示名改善やカテゴリ一覧ページの強化など、ユーザー体験とSEOの両面を意識した改善を進めていきたいと思います。


コメント