コロフォン:このサイトの仕組み

patrickstox.comの構築をエッジSEOのケーススタディとして紹介します。Cloudflare上のAstro静的ファースト構成、サイトとプロダクトを分けたWorker、D1 / KV / R2データレイヤー、エージェント向けの明示的なインターフェース、編集上のプロヴェナンス、エキスパートレイヤー、パフォーマンス予算を扱います。

初回公開:2026年7月4日 · 最終更新:2026年8月8日 · Beginner
言語
このページには証拠シグナルが1件あります

これはAbout、Privacy、Termsページではなく、制作の裏側とクレジットの記録です。このサイトはCloudflareのエッジから配信するAstro静的ビルドです。サイトWorkerがコミュニティと編集のAPIを担当し、別途デプロイされたプロダクトWorkerがツール実行とプロダクトデータを担当します。サービスバインディングを通じて接続し、静的リクエストは両方のWorkerを迂回します。サイトとプロダクトのデータには分離したD1、KV、R2のインフラがあり、R2はエキスパートメディアも保存します。バインディング名、スキーマ、バックアップスケジュールはポリシーにより非公開です。記事は明示的なMarkdownツインを公開し、サイトはエージェントインデックスと読み取り専用MCPサーバーを提供します。同一URLのMarkdownコンテンツネゴシエーションは意図的に無効にしています。AI生成またはAI修正のコピーは人間のレビューまでラベル付きのままで、ラベル付きの間は集計コンテンツ数から除外します。公開エキスパートパネルは安定した記事の段落にメモと回答を付けられ、無料ツールプラットフォームはブラウザー内分析と範囲を限定したライブチェックを組み合わせます。

TL;DR — Cloudflare上の静的ファーストなAstro、動的部分を分担する意図的に分離された2つのWorker、実データまたは明確な利用不能状態、正直なステータスコード、そして検索結果ページのようにサイトを見せるデザインシステム。このページは、サイトがなったエッジSEOのケーススタディの「制作の裏側」ページです。

このページが扱うこと(扱わないこと)

コロフォンは、制作の裏側とクレジットを記録するものです。本のコロフォンが書体や印刷所を記載するように、公開された作品を支えるテクノロジー、システム、人々を説明します。法的または人物紹介上の重みを持つページの代わりにはなりません。Aboutページでは私が誰かを、Privacy Policyではどのデータをなぜ収集するかを、Terms of Useではサイト利用のルールを説明しています。このページが記録するのはサイトの構築と運用だけです。以下の主張がそれらのページと重なる場合は、該当ページが権威ある情報源です。

スタック

このサイトはAstroの静的出力を使い、ビルド時にHTMLページを生成します。 Evidence for this claim Astro prerenders pages statically by default unless on-demand rendering is enabled. Scope: Astro rendering modes used by this site's implementation. Confidence: high · Verified: Astro: On-demand rendering 静的配信はランタイムの依存関係を減らせますが、SEOの結果はレンダリングされたコンテンツ、リンク、技術設定にも左右されます。 Evidence for this claim Static delivery is an implementation choice; search performance still depends on accessible content, links, and other SEO fundamentals. Scope: Editorial conclusion combining the site's stack with Google's general SEO guidance; static generation alone does not guarantee rankings. Confidence: medium · Verified: Google: SEO Starter Guide

  • Astro は、記事、用語集、ハブ、ツールシェル、構造化データ、検索・エージェントインデックス、Markdownツインをデプロイ時に生成します。コーパスの変化が速いため、手作業で管理するページ数は有用ではありません。
  • Cloudflare Workers Static Assets は、そのビルドをエッジから配信します。サイト設定は、動的または特別に処理するパスだけをコード経由にし、通常のページとアセットのリクエストはWorkerのコンピュートを迂回させます。このページにコピーした一覧ではなく、設定がそのルート境界の真実のソースです。
  • サイトWorker は、コンタクト、読者Q&A、リアクション、ニュースレター、検索テレメトリ、エキスパートレイヤー、オーナー運用など、編集とコミュニティの関心事を担当します。
  • 別途デプロイされた プロダクトWorker は、無料ツールの実行とプロダクトの永続化を担当します。サイトWorkerはCloudflareのサービスバインディング経由でこれに到達するため、ブラウザーは同一オリジンの /api/ URLを保ったまま、2つのセキュリティ境界とデータ境界を統合しません。

意図的に分離した2つのデータプレーン

サイトWorkerとプロダクトWorkerには、それぞれ独自の D1 データベースと KV 名前空間があり、Cloudflareの service binding で接続されています。サイトD1にはコミュニティと編集の記録が、プロダクトD1にはツール利用、評価、バグレポート、機能リクエスト、調査ジョブ、監視データが入ります。KVは範囲を限定したキャッシュとフォールバックカウンターに使います。

R2 も目的ごとに分かれています。サイトのメディアバケットにはエキスパートの写真と音声回答を保存します。非公開のサイト用とプロダクト用のバックアップバケットには、別々のスケジュールでD1のエクスポートを送り、保持状態と健全性をオーナー運用に表示します。プロダクトWorkerには、範囲を限定したWorkers AI、Browser Rendering、ネイティブのレート制限バインディング、ブラウザーレンダリングの予算を調整するDurable Objectもあります。バインディングが利用できない機能や予算を使い切った機能は、作り出した出力ではなく、明確な利用不能状態を返します。

このセクションが意図的に省いているものは、バインディング名、バケット識別子、データベーススキーマ、認証情報、内部エンドポイント、バックアップスケジュールです。各サービスの公開目的を説明することはサイトを理解するのに役立ちますが、非公開トポロジーの名前は攻撃者を助けるだけです。そのため、見落としではなくポリシーによって公開ページから除外しています。

静的ファーストがホスティングの選択ではなくSEOの立場である理由

インデックス登録可能な編集ページはすべて、本物のステータスコードを伴う完全にレンダリングされたHTMLドキュメントとして配信されます。インタラクティブなツール結果はブラウザーで実行したりWorkerを呼び出したりしますが、ツールの目的と説明はクライアントレンダリングがなければ存在できないものではありません。404ページは本物の404を返し、削除したページは本物の410を返せます。また、ティーポットはコーヒーを淹れられないため、/coffee は本物の418を返します。サイトをユーザーに快適にするアップタイムとTTFBの特性は、クローラーにとって低コストにする特性でもあります。

データ正直性のルール

訪問者に表示する本番メトリクスは、特定されたソースから取得します。ワード数と読了時間は記事本文から、リアクション数はD1から、ボットのクロールデータはCloudflareのゾーン分析から、独自のCore Web VitalsはPerformanceObserverを使ってブラウザーから取得します。ツールは出力を説明するためにラベル付きの例やフィクスチャを提供できますが、ライブ測定として表示することはありません。利用できない認証情報を必要とする機能や予算を使い切った機能は、何も言わずに本番データを作り出すのではなく、そのことを表示するか、影響を受ける結果を隠します。

編集上のプロヴェナンス

コンテンツシステムは、AIのプロヴェナンスを装飾ではなくレビュー状態として扱います。完全にAI生成された記事には記事レベルのラベルを付けます。以前にレビューされたコピーに対して後からAIパスを行った場合は、そのパスが記事全体に及ばない限り、変更したレンズだけに再度ラベルを付けます。AIリビジョンのメタデータには、そのパスと日付を記録します。AIラベルが1つでも残っている間、記事にはコピーをPatrickのものとして帰属させるのではなくAI著者であることを表示し、集計コンテンツ数と関連するサイト全体の集計から除外します。ラベルを削除できるのは人間によるレビューまたは修正だけであり、別のAIパスでは削除されません。

この契約は、ラベルのないコピーに誤りがないことを証明するものではありません。人間が確認したものについて、著者情報、レビュー状態、公開数が黙って過大に示されないようにします。Terms of Use が読者向けの境界を示し、リポジトリの共有ラベルヘルパーが同じルールをすべての利用者に適用します。

エージェント向けの明示的なインターフェース

AIクローラーはほかの人と同じレンダリング済みHTMLを使えますが、もうスクレイピングする必要はありません。公開されたすべての記事には生成された index.md ツインと「Markdownとしてコピー」コントロールがあります。/llms.txt はコーパスを指し、/llms-full.txt は一括Markdownを提供し、/agent-index.json は公開検索コーパス全体を説明し、/content-graph.json は内部リンクグラフを公開します。レート制限された読み取り専用の MCP server は、コンテンツ検索、記事取得、分類、少数の範囲を限定した診断ツールを公開します。ライブの一覧と接続手順はFor agentsページにあります。これはインデックス登録、引用、ランキングを保証するものではありません。SEOの主張ではなく、安定した取得契約です。

有効にしていないのは、CloudflareのMarkdown for Agentsを通じた同一URLでの Accept: text/markdown ネゴシエーションです。現在の安定した公開契約は明示的なMarkdown URLです。将来コンテンツネゴシエーションを有効にする場合も、2つ目の編集コピーを作らず、同じ生成ソースの前段に置けます。

ツールとエキスパートレビュー

無料のSEOツールには、ブラウザー内で動くパーサー、バリデーター、計算機から、範囲を限定したライブ取得、レンダリング比較、フィールドデータの参照、AI支援の運用まであります。共有ルールレジストリにより、1つのツールに複数のインターフェースがある場合でも、ブラウザー、Worker、一括処理、MCPの結果をそろえています。

公開のエキスパートパネルは、記事をアンカー付きの議論に変えます。検証済みのエキスパートは安定した段落IDにメモを付け、質問に回答できます。信頼された投稿は直接公開され、それ以外はモデレーションに入ります。公開されたメモと回答は、インデックス登録できない後付けの要素として読み込むのではなく、記事出力と構造化データに組み込まれます。

検索ネイティブなデザインシステム

サイトは、それが存在する媒体のようにスタイル付けされています。ホームページフィード、コンテンツハブ、サイト検索はすべてSERP結果(緑のパンくず、青いタイトル、スニペット)としてレンダリングされ、記事には自己参照型の「検索結果内」プレビューがあり、TL;DRは強調スニペットのようにスタイル付けされ、読者Q&AはPeople Also Askのように折りたたまれます。5つの スキン(Clean、Magazine、Neo-Brutalist、Punk、Cyberpunk)が、CSSカスタムプロパティを通じてすべてを再スタイルします。角の丸み、境界線、影、書体をトークンで管理するため、1度トークンに対して書いたコンポーネントが5つすべてで動作します。

パフォーマンス予算

フォントはAstroのFonts APIを通じて読み込み、サイズ調整したフォールバックを使うため、切り替えでレイアウトがずれません。通常のLCP要素の背後にある表示書体だけをプリロードします。第三者埋め込みと、SEOデータタブ内のサイト自身の /api/* 呼び出しは、タブを開いたときだけ遅延読み込みします。Speculation Rulesは、Chromiumでホバー時に同一サイトのリンクをプリレンダリングします。すべての記事のヘルスストリップにあるCore Web Vitalsチップが証拠です。そこにセッションの実際の数値が表示されます。

クレジットとソース

  • オーナーと著者: Patrick Stoxがこのサイトを執筆・管理しています。背景についてはAboutページを参照してください。
  • フレームワークとプラットフォーム: ビルドにはAstroを、ランタイムとデータレイヤーにはCloudflare WorkersD1KVR2を使っています。
  • エージェントプロトコル: 上述のMCPサーバーにはModel Context Protocol仕様を使っています。
  • 貢献者: 記事の段落にメモと回答を追加するエキスパートパネルの検証済みエキスパートです。公開時には名前でクレジットします。
  • このページ自身のソース: デプロイされた挙動に関する主張はこのリポジトリのソースと設定に照らして確認し、プラットフォームの挙動に関する主張は、本文中でリンクしたAstroとCloudflareの公式ドキュメントに照らして確認しています。ここでテクノロジーを挙げるのは事実上のクレジットであり、推奨やSEO成果の主張ではありません。

このページは放置してずれが生じないよう、ライブリポジトリと現在のプラットフォームドキュメントに照らして定期的にレビューしています。下記の updated 日付は、そのような確認を最後に行った日付を示します。

イースターエッグは単なる飾りではない

/robots.txt は、有効なrobots.txtとウェブページを同時に成立させる1つのファイルです(ラベル上のコンテンツネゴシエーション、本文はバイト単位で同一)。コンソールには卵があります。/coffee は動作するHTCPCPのデモです。それぞれが、遊んでいる仕組みを教えるために存在します。これが、このサイト全体の主張を小さくしたものです。

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.