The Website Specification

2 hours ago 2
  • 좋은 웹사이트가 갖춰야 할 기술 기능을 플랫폼과 무관하게 정리한 명세로, <title>부터 llms.txt까지 다룸
  • 사람과 에이전트를 모두 대상으로 하며 WHATWG, W3C, IETF RFCs, WCAG, MDN 등 현대 웹 표준을 레퍼런스
  • WordPress, Next.js, Django 앱, 순수 HTML 등 배포 방식과 관계없이 명세 자체는 동일하며 구현 힌트도 포함
  • 전체 주제는 Foundations, SEO, Accessibility, Security, Performance 등 10개 영역으로 나뉘고 널리 수용된 표준에 매핑됨
  • 공개 MCP 서버, Agent Skill, /llms.txt, Markdown 응답을 제공해 에이전트와 운영자가 감사·학습·개선 흐름에 활용 가능

좋은 웹사이트를 위한 플랫폼 독립 명세

  • The Website Specification은 좋은 웹사이트가 갖춰야 할 기술 기능을 플랫폼과 무관하게 정리한 명세로, <title>부터 /.well-known/security.txt, WCAG 대비, llms.txt까지 다룸
  • 사람과 에이전트를 모두 대상으로 하며, 각 주제는 WHATWG, W3C, IETF RFCs, WCAG, MDN 등 현대 웹 표준 출처와 연결됨
  • WordPress, Drupal, TYPO3, Next.js, Astro, Hugo, Django 앱, 순수 HTML 등 어떤 방식으로 배포하든 명세 자체는 동일하고, 구현 힌트는 그 뒤에 붙음
  • 모든 페이지에 Edit on GitHub 링크가 있으며, PR을 받을 수 있고 각 페이지에는 출처가 표시됨
  • 다루는 영역

    • 전체 주제는 널리 수용된 표준에 매핑된 10개 영역으로 나뉨
    • Foundations: 14개 항목으로 HTML, head, 문서 기본 요소를 다룸
    • SEO: 13개 항목으로 robots.txt, 사이트맵, canonical, 구조화 데이터 등 검색 노출 요소를 포함함
    • Accessibility: 20개 항목으로 모든 능력의 사용자가 사이트를 쓸 수 있도록 WCAG 기반 규칙을 제시함
    • Security: 12개 항목으로 방문자를 안전하게 보호하는 헤더, 전송, 정책을 다룸
    • Well-Known URIs: 9개 항목으로 /.well-known/ 아래의 표준 합의 경로를 정리함
    • Agent Readiness: 18개 항목으로 AI 에이전트와 크롤러가 사이트를 읽을 수 있게 하는 요소를 다룸
    • Performance: 19개 항목으로 Core Web Vitals, 캐싱, 이미지, 폰트, 네트워크 동작을 포괄함
    • Privacy: 6개 항목으로 동의, 신호, 방문자 선택 존중을 다룸
    • Resilience: 5개 항목으로 오류 페이지, 오프라인, 리디렉션 같은 우아한 실패를 다룸
    • Internationalisation: 12개 항목으로 언어, 로케일, 방향, 번역 콘텐츠를 다룸

에이전트와 사이트 운영자를 위한 사용 방식

  • 전체 명세는 읽기 전용·인증 없는 공개 MCP 서버로 제공됨
  • 호환 에이전트가 언제 어떻게 명세를 사용할지 알려주는 Agent Skill이 게시되어 있음
  • 각 명세 URL은 /llms.txt와 Accept: text/markdown을 통해 페이지별 Markdown을 제공함
  • MCP 서버 설정 예시는 다음과 같음
{ "mcpServers": { "specification-website": { "transport": "http", "url": "https://mcp.specification.website/mcp"; } } }
  • 사용 흐름

    • Audit: 체크리스트를 훑으며 각 항목을 “사이트가 이것을 하는가 — 예/아니오”로 확인함
    • Learn: 각 항목에서 그것이 무엇인지, 왜 중요한지, 어떻게 구현하는지 확인함
    • Improve: 빠진 부분, 오래된 사실, 누락된 주제를 찾으면 출처를 붙여 PR을 열 수 있음
Read Entire Article