2026 年 4 月|SEO とコンテンツ基盤を整備
2026年4月24日
今月の Aedifex は、今後 6〜12 か月の成長を支える土台を一気に整えました。実際に検索されるコンテンツ、発見されるための導線、そしてそれを守るテストです。
新しいルート
/blog|建築家、デザイナー、住宅オーナーに向けた読み物です。第 1 弾は、30 平米のワンルームを設計する実践的な手順を紹介しています。/solutions/{floor-plan,interior,ai-designer}|検索意図に沿った文章と構造化データを備えた、活用シーン別のランディングページです。/showcase|コミュニティが公開した 3D デザイン。Pro アカウントがあれば、ワンクリックでプロジェクトを公開ディレクトリに掲載できます。
内部の改善
- SEO の基本要素をテストで担保。 12 ケースからなる Playwright スイートが、すべての公開ルートで title、description、canonical URL、JSON-LD 構造化データ、
robots.txt、sitemap.xml、hreflang alternates を検証します。CI ではランディング、活用シーン、ブログ、事例、ゲストデモをチェックしています。 - 共有ページを 2 クエリに分割。 これまで
/view/[shareId]ページは、ボットがクロールするたびに数メガバイトものシーン JSON を読み込んでいました。これをgetPublicProjectMetadata(軽量)とgetPublicProjectScene(重い)に分割し、検索エンジン向けには数 KB で済むようにしました。 - KV を活用した増分キャッシュ。 OpenNext が ISR ページ、サイトマップ、fetch-cache に Cloudflare KV ネームスペースを使うようになりました。これにより、ボットのアクセスのたびに D1 へルートハンドラを再実行することがなくなりました。
- クロール可能な SSR 本文。 共有ページと事例ページは、3D ビューアがクライアント側でマウントされる場合でも、プロジェクト名、作者、説明文を HTML として出力します。Schema.org の
CreativeWorkとBreadcrumbListも含めています。
新しいデータベースフィールド
slug|/showcase/{slug}の正規 URL セグメントsummary|公開時に LLM が生成し直す、1 文の meta descriptionisListed|公開事例ディレクトリに掲載するかどうかのフラグ(共有リンクのみを制御するisPublicとは別物)publishedAt|事例フィードの並び替えに使うソートキーlocale|プロジェクトごとの言語ヒント用のプレースホルダ
既存のプロジェクトには自動で値を補完済みです。お客様側での対応は不要です。
UI
- 共有ダイアログ に、独立した 2 つのトグルを追加しました。「公開アクセス」(リンクを知っていれば誰でも閲覧可能)と「コミュニティ事例に公開」(公開ディレクトリに掲載し、SEO メタデータを付与)です。
- フッター に Blog / Solutions / Showcase を表示しました。言語切り替えも設置していますが、現在は無効化しています。中国語と日本語の翻訳が揃い次第、有効にする予定です。
開発者体験
pnpm test:e2e|localhost に対して SEO 回帰スイートを実行します。pnpm test:e2e:prod|デプロイ後、aedifex.app に対して実行します。pnpm typecheck:local|TypeScript の型チェックを自社コードに限定し、上流 aedifex 由来のノイズを除外します。
既知のギャップ
- プロジェクトごとの Open Graph 画像は、サイト共通の静的カードにフォールバックします。動的な
next/og生成が OpenNext の WASM バンドラと競合するため、現在は TODO として管理しています。 - 中国語と日本語の UI 文言はまだ提供できていません。あらかじめ
hreflang x-defaultとen-USを宣言しているので、対応時に SEO が後退しないようにしています。
来月は、コンテンツの拡充(Q2 のブログロードマップ)、Satori を使った動的 OG、そして zh-CN ローンチ向けのコンテンツに取り組みます。