← 活動記録一覧

FACTUAL ACTIVITY RECORD · 実際の作業をもとにした活動記録

日英6画面の静的コーポレートサイトを実装する

型付きコンテンツと共有部品を用い、表示経路、公開境界、静的出力の検査まで一体化する

対象期間:

目的

Home、Privacy、Termsの掲載内容とvisual designは確定していたが、既存サイトは旧いplaceholderのままで、文言、画面構成、公開範囲、locale付き経路が一致していなかった。新しい情報を補わず、確定済みの入力を動く静的サイトへ置き換える必要があった。

日本語と英語の3ページを直接参照できる形にしながら、AI Talentと人間の責任境界、現在提供していないもの、法務文書を誤認なく表示することを目指した。CMS、account、server endpoint、tracking、追加pageは対象に含めなかった。

実装

site content投影にlocale、page kind、共通文言、10名のAI Talent profile、PrivacyとTermsのsectionを型付きデータとして集約した。Homeとlegal pageは共有componentで描画し、各localeのroute fileはlocaleとpage kindだけを渡す薄いwrapperにした。

  • 日本語と英語それぞれにHome、Privacy、Termsを用意し、合計6つのcontent URLへ固定した。
  • localeを持たないrootは日本語Homeへのredirect-only entryとし、独立した本文、canonical、sitemap entryを持たせなかった。
  • browser language、Cookie、localStorage、query parameterによるlocale保持は追加しなかった。

HomeではHero、Wirohについて、AI Talent、現在の活動と提供範囲を順に構成した。AI Talentは役割を持つAI personaであって実在人物や人間の従業員ではないこと、portraitはAI生成imageであること、重要な判断と最終責任は人間の事業主が担うことを表示した。productやcreative workをこのsiteではまだ個別提供・公開していない範囲も明記した。

shared header、footer、locale selector、Home、legal rendererを整え、mobile menuにはaccessible name、expanded state、Escape close、focus return、keyboard orderを実装した。legal pageはclient-side menuを持たない静的構成とし、portraitは周辺のtextで意味が伝わる装飾imageとして扱った。

  • site build設定でdefault localeを含むlocale prefixを有効にし、content pageだけをsitemapへ含めた。
  • redirect documentは即時転送とnoindexを持ち、canonicalを持たないようにした。
  • public asset配下にあった内部運用project guideをdocumentationへ移し、sourceとbuild outputの双方で再混入を検出するようにした。

静的site検証を追加し、6つの出力、HTML language、self canonical、日英alternate、default entry、sitemap、redirect、内部link、mobile menu semantics、10 portrait、除外route、旧placeholder、404、robots、security headerを検査した。build後に同じstatic verificationを実行する継続検査も設定した。

locale route、共通layout、静的検証の実装関係

図を描画しています…

確認したこと

確認結果

型検査は0 errors、0 warnings、0 hintsで通過し、静的buildも完了した。

static verificationは6つのcontent URL、3つのredirect entry、canonical・alternate・sitemap、除外route、10 portrait、404、robots、security headerを検査して通過した。

初回確認で見つかったpublic asset内の内部project guide、継続検査の不足、旧routeを示すdocumentationは修正され、内部project guideがsourceとbuild outputにないことも検査対象になった。

source確認ではform、analytics、external fetch、Cookie・localStorage保存、追加external service、active data flowは加わっていなかった。

cutoff時点で静的サイト実装と検査は対象へ反映されていた。production deployと実際の公開到達性、最終publication判断、production data flow、portraitのrights・provenanceは未確認だった。

完了とした根拠

6つのlocale付きcontent pageとredirect、共有component、metadata、sitemap、公開asset境界が静的出力として揃い、型検査、build、static verificationの対象へ組み込まれて通過したことを、この実装範囲の完了条件とした。