世界を動かす技術を、日本語で。

ウェブサイト仕様書

概要

このドキュメントは、 優れたウェブサイト が備えるべき 技術的機能 のプラットフォーム非依存仕様をまとめたものです。 10分野 に分類し、各項目は国際的な標準に準拠しています。 人間とエージェント の両方を対象とした内容設計。 各トピックは 公式標準 へのリンク付きで、実装ヒントも提供。 オープン開発 ・PR歓迎・GitHub編集リンク・全仕様はMCPサーバー経由で提供。

優れたウェブサイトの技術仕様

  • HTML・head・ドキュメント基本要素 の網羅
    • title要素、基本的なHTML構造、メタデータなどの基礎仕様
  • SEO(検索エンジン最適化)対応
    • robots.txt、sitemaps、canonical、構造化データなど検索可視性向上策
  • アクセシビリティ(WCAG準拠)
    • 色コントラスト、キーボード操作、代替テキストなど全ユーザー対応
  • セキュリティ
    • HTTPヘッダー、HTTPS強制、CSPなど安全性確保策
  • Well-Known URI
    • /.well-known/配下の標準パス(security.txt等)の設置
  • エージェント対応
    • AIエージェントやクローラーに読解可能な構造・llms.txt対応
  • パフォーマンス最適化
    • Core Web Vitals、キャッシュ制御、画像・フォント最適化
  • プライバシー尊重
    • 同意管理、プライバシーシグナル対応、ユーザー選択の尊重
  • レジリエンス(耐障害性)
    • エラーページ、オフライン対応、リダイレクト設計
  • 国際化
    • 言語・ロケール・テキスト方向・翻訳コンテンツ対応

標準と実装方針

  • 各項目 はWHATWG、W3C、IETF RFCs、WCAG、MDNなどの 公式標準 に準拠
  • プラットフォーム非依存 (WordPress、Drupal、Next.js、Hugo、Django、静的HTML等すべて対象)
  • 仕様が最優先、実装ヒントは仕様に従属
  • オープン開発体制、全ページに「Edit on GitHub」リンク設置
  • 情報源明記、各ページにソースクレジット
  • エージェント対応 :全仕様はMCPサーバー経由で公開、/llms.txtやAccept: text/markdownでMarkdown取得可能

サイトの利用方法

  • 監査
    • チェックリスト形式で「実装済みか否か」を確認
  • 学習
    • 各項目をクリックし、内容・重要性・実装方法を詳細解説
  • 改善
    • 不足・誤り・追加要望はPRで提案(ソース必須)

MCPサーバー・エージェント連携

  • 仕様全体 はMCPサーバー(https://mcp.specification.website/mcp)で公開
  • Agent Skill としても提供、互換エージェントが利用可能
  • ページごとにMarkdown取得 (/llms.txtまたはAccept: text/markdownヘッダー)

まとめ

  • 広範な標準準拠チェックリスト による品質保証
  • 人間とAIエージェント 双方の利用を想定した設計
  • オープンかつ透明性重視 の運用方針

Hackerたちの意見

.well-known/securityは有名な例として挙げられてるけど、実際には有名なカテゴリには入ってないんだよね。

便利な参考資料だね、https://securitytxt.org/。ただ、いくつかのサイトは/.well-known/security.txtの代わりにルートの/security.txtに置いてることもあるから注意してね。招待状はバウンティやスパムを引き寄せるから。

「セキュリティ」カテゴリに入ってるよ。彼らが使ってるカテゴライズの仕組みでは、アイテムごとに複数のカテゴリを割り当てることができないみたいだね。

うーん、これらの中でどれくらい一般的なのか気になるな… /.well-known/change-passwordがあったらいいのに。でも、https://news.ycombinator.com/.well-known/change-passwordやgoogle.com/.well-known/change-passwordは実装されてないみたい?

security.txtは、存在する場合、サイトのこのフォルダの下に常に置かれてるよ。これは、letsencryptが証明書や更新失敗のためにも使うんだ。

SafariとChromeでは動くみたいだね: https://web.dev/articles/change-password-url でも、実際に使われてるのは聞いたことないな。GoogleのURLは https://accounts.google.com/.well-known/change-password にあるけど、メインのドメインにはないよ。

「エージェントの準備状況」は「Web 4.0 ブロックチェーン統合」と同じように時代遅れになるだろうね。(はっきり言うけど、エージェントが関係なくなるわけじゃないと思うけど、特別な許可をサイトから求めることが全体の目的を損なうと思うんだ。結局、悪用するやつらがエージェントが見るものと人間が見るものをずらして使うだけだから、意図的に無視されることになるだろうね。)

そうだね、エージェント向けに提案された「基準」の全体像は、今のエージェントの限界やコストをなんとかごまかそうとしてる一時的な策に見えるよ。彼らはAnthropicやGoogle、OpenAIなんかが新しいモデルを出すたびにすぐに回転していくんだろうね。

今のウェブサイトは広告だらけで膨れ上がってるから、純粋なテキスト版があったらいいなと思うよ。人間はそれを使って、エージェントには私たちのために必要なものを処理させればいいんじゃないかな。でも、そうなるとは思えないんだよね。悪質な行為については、昔からできてたことだし。例えば、検索エンジンのクローラーには違うコンテンツを見せるとか。確か、Googleはそういうサイトをペナルティした時期もあったよね。

神に誓うわ。2000年代に戻りたい。あの頃は、基本的にプレーンなHTMLとちょっとしたCSSだけで、デフォルトでレスポンシブデザインがあって、読みやすいテキストと超ユーザーフレンドリーなGUIがブラウザのデフォルトスタイルシートから提供されてた。今はどのウェブサイトを開いても、全部がクソなコンポーネントだよ。有限リストのシンプルなドロップダウン? 自分専用のローダーがあって、意味もなく10回もフェッチリクエストをする。誇張じゃない、ウェブのInstagramやFacebookを見てみて。クソみたいな仕様はどうでもいいから、俺にお前らのクソみたいな新しいJSフレームワークに隠されてない生のHTMLをくれよ(お前のことを見てるぞ、React)。

キーワードメタタグを再び素晴らしいものにしよう!

これはスラップファクトリーから出てきたスラップみたいだ。「SEO」と「エージェント準備」。まさに良いウェブサイトがやらないことだね(ホームページを言い換えると)。ああ、これはWordpressの「SEO」専門家とプライベート投資家がClaude LLMを使って作ったものなんだ。驚きだね。広告のスラップで私たちが愛したインターネットを壊して富を築いた男が、今残っているものをLLMのスラップで壊そうとしてるんだから。

Hacker Newsで議論の続きを見る