Metadata
# 바닐라 PHP 블로그에 AI 에이전트 표준 4가지를 구현한 방법(코드 포함)
클라우드플레어가 AI 에이전트에 대한 사이트 준비 상태를 평가하는 스캐너 [isitagentready.com](https://isitagentready.com/)을 공개했다. 내 블로그 점수는 50/100이었다. 프레임워크도 없고 Node도 없다. 그냥 PHP, 마리아DB, 공유 호스팅만 쓴다.
핵심은 이렇다. 10개 표준 가운데 6개는 블로그에 해당하지 않는다(OAuth, MCP, API Catalog). 실제로 중요한 4가지는 1시간도 안 되어 구현했다.
## 1\. `llms.txt`, AI용 명함(business card)
도메인 루트에 두는 마크다운 파일이다. LLM에게 내가 누구인지, 어떤 페이지가 중요한지 알려준다. `robots.txt`의 ChatGPT와 Claude 버전이라고 생각하면 된다.
```
# 사이트 이름
> AI 모델을 위한 사이트 설명
## 주요 페이지
[소개](https://yoursite.com/about)
[대표 글](https://yoursite.com/best-article)
```
PHP 라우터가 이 파일을 가로채지 않도록 하는 아파치 설정은 다음과 같다.
```
RewriteRule ^llms\.txt$ - [L]
```
직접 작성하기 귀찮다면 내가 만든 [무료 생성기](https://shinobis.com/tools/llmstxt-generator)를 이용하면 된다.
## 2\. `robots.txt`의 콘텐츠 신호(content signals)
한 줄이면 끝난다.
Content-Signal: ai-train=no, search=yes, ai-input=yes
뜻은 이렇다. 내 콘텐츠로 학습하지는 말고, 질문에 답할 때는 내 사이트를 출처로 인용하라는 의미다.
## 3\. 에이전트를 위한 마크다운(Markdown)
AI 에이전트가 `Accept: text/markdown`을 보내면 HTML 대신 마크다운을 반환하라. 에이전트는 내비게이션, 스크립트, 레이아웃은 건너뛴다. 콘텐츠만 원한다.
`.htaccess` 규칙은 다음과 같다.
```
RewriteCond %{HTTP_ACCEPT} text/markdown
RewriteRule ^(.*)$ markdown-negotiator.php [L,QSA]
```
PHP 쪽에서는 HTML 콘텐츠를 마크다운으로 변환한다. 태그를 제거하고, `<h2>`는 `##`로, `<a>`는 `[text](url)`로, `<strong>`은 `**bold**`로 바꾼다. 정규식 50줄 정도면 충분하다.
## 4\. 에이전트 스킬(skills) 탐색(discovery)
`/.well-known/agent-skills/index.json`에 두는 JSON 파일이다. 에이전트가 내 사이트에서 무엇을 할 수 있는지 나열한다.
```
{
"skills": [
{
"name": "llms.txt 생성기",
"url": "https://yoursite.com/tools/llmstxt-generator",
"description": "유효한 llms.txt 파일 생성"
}
]
}
```
## 내가 무시한 것들(그리고 여러분도 그래야 하는 이유)
OAuth, MCP Server Card, WebMCP, API Catalog, Link header는 모두 공개 API를 제공하는 SaaS 플랫폼을 위한 설계다. 블로그에는 인증 토큰도 API 카탈로그도 필요 없다. 이런 것까지 구현하는 건 자전거에 에어백을 다는 것과 비슷하다.
## 결과
**50/100**. 표준 4가지만 구현한 점수다. 대부분의 블로그는 0점을 받는다. 이 네 가지만 갖춰도 인터넷의 95%보다 AI 에이전트 대응 준비가 더 잘 된 셈이다.
**여러분 사이트 점수는 몇 점인가?** [isitagentready.com](https://isitagentready.com/)에서 테스트해 보고 댓글로 결과를 공유해 달라. 다른 스택은 어떤 모습인지 궁금하다.