[작성자:] admin

  • AI 크롤러 차단하기

    AI 크롤러 차단하기

    AI 크롤러 무엇이 문제인가?

    ChatGPT, Claude 등 생성형 AI 서비스의 등장은 인터넷 생태계에 새로운 과제를 던졌습니다. SEO를 준비하는 이들은 이제 GEO(Generative Engine Optimization)를 공부하고 어떻게 하면 실전에 사용할 수 있을지 고민하고 있는 상황이죠. 하지만 이들 생성형 AI 모델을 학습시키기 위한 AI 크롤러(AI Crawlers)가 웹사이트 트래픽의 상당 부분을 차지하며 서버 부하, 비용 증가, 콘텐츠 무단 수집 등 다양한 문제를 야기하는 문제를 만들기도 합니다. 기존 검색엔진 봇과 달리, 이들은 사이트 트래픽 유입에 아직은 많은 기여를 하지 못하면서도 방대한 데이터를 수집해 갑니다.

    • AI 크롤러, 왜 문제가 되는가?
      • AI 크롤러는 기존 검색엔진 봇과 목적 자체가 다릅니다. 검색엔진 봇이 콘텐츠를 ‘색인’하여 사용자에게 연결해주는 것을 목표로 한다면, AI 크롤러는 대규모 언어 모델(LLM) 학습을 위해 콘텐츠를 ‘수집’이 목적입니다.
    • 서버 리소스 과부하 및 비용 증가
      • AI 크롤러는 단시간에 대량의 페이지를 공격적으로 요청하는 경향이 있습니다. 이로 인해 서버 트래픽이 급증하고, 특히 공유 호스팅 환경에서는 웹사이트 속도 저하를 유발하여 사용자 경험(UX)과 검색엔진 최적화(SEO)에 악영향을 미칩니다.
      • 과도한 트래픽은 고스란히 운영 비용 증가로 이어집니다.
    • 콘텐츠 무단 수집과 저작권 문제
      • AI 크롤러의 또 다른 논란은 ‘동의 없는 데이터 수집’입니다. 웹사이트 소유자의 명시적 허가 없이 콘텐츠가 AI 모델 학습에 사용되는 것은 저작권 침해 및 윤리적 문제를 야기합니다. 이는 창작자의 권리를 침해할 뿐만 아니라, 콘텐츠가 원본의 맥락과 다르게 왜곡되거나 잘못된 정보와 연관될 위험도 내포합니다.
      • 다른 목적이 있을 수는 있지만 뉴욕타임스를 비롯한 많은 콘텐츠 제작사들이 AI 크롤러 차단에 나서고 있습니다. 실제로는 수익으로 연결되지 않기 때문에 차단한 것이라고 보아야 겠지만요.

    AI 크롤러의 차단

    이 사이트는 SEO를 이야기 하는 곳으로 GEO를 위해서는 AI 크롤러를 차단하는 것은 생각할 필요가 없다고 생각하는 분들의 사이트이기는 합니다. 하지만 위에 나열한 문제를 해결하기 위해서는 어쩔 수 없이 AI 크롤러를 전략적으로 차단할 필요가 있습니다. 가장 기본적인 방법부터 시스템 관리자들의 고급 기술까지 가볍게 살펴보겠습니다.

    1단계, 우리들의 친구 robots.txt

    SEO를 위해 검색엔진 봇들의 방문을 컨트롤 하기 위한 robots.txt 파일에 대해서는 대부분 잘 아시고 계실겁니다. 크롤러에게 어떤 페이지를 수집할 수 있고 없는지를 알려주는 가장 기본적인 수단입니다. 알려진 대로 robots.txt의 규칙은 ‘강제’가 아닌 ‘요청’이지만, Google, OpenAI 등 대표 AI 기업의 크롤러는 이 규칙을 준수하고 있습니다.

    아래의 샘플을 통해 주요 AI 크롤러를 차단해 보시기 바랍니다. AI 크롤러 목록은 GitHub의 ai.robots.txt 프로젝트를 참고하여 주기적으로 업데이트하는 것이 좋습니다.

    # Block AI crawlers
    User-agent: GPTBot
    Disallow: /
    
    User-agent: ClaudeBot
    Disallow: /
    
    User-agent: anthropic-ai
    Disallow: /
    
    User-agent: Google-Extended
    Disallow: /
    
    User-agent: Bytespider
    Disallow: /
    
    User-agent: CCBot
    Disallow: /
    
    User-agent: PerplexityBot
    Disallow: /
    
    User-agent: Applebot-Extended
    Disallow: /
    
    User-agent: FacebookBot
    Disallow: /

    2단계, 메타태그와 HTTP 헤더 설정

    HTML 문서의 <head> 섹션에 추가하여 특정 페이지에 대한 규칙을 명시할 수 있습니다. 특히 AI 학습에 대한 거부 의사를 표현하기 위해 noai 및 noimageai 지시어가 제안되었습니다. 아직 공식 표준은 아니지만, 콘텐츠 사용에 대한 의사를 명확히 밝히는 신호로 작용할 수 있습니다.

    <!DOCTYPE html>
    <html>
    <head>
        <!-- 페이지 내 모든 콘텐츠의 AI 학습 거부 -->
        <meta name="robots" content="noai">
    
        <!-- 페이지 내 이미지의 AI 학습 거부 -->
        <meta name="robots" content="noimageai">
    
        <!-- 두 지시어 동시 사용 -->
        <meta name="robots" content="noai, noimageai">
        
        <title>My Page</title>
    </head>
    <body>
        ...
    </body>
    </html>

    X-Robots-Tag는 HTTP 응답 헤더에 포함되어 메타 태그와 동일한 역할을 합니다. 이 방식의 가장 큰 장점은 PDF, 이미지, 동영상 등 비(非)HTML 파일에도 적용할 수 있으며, 서버 설정을 통해 사이트 전체에 일괄적으로 규칙을 적용할 수 있다는 점입니다.

    # Apache (.htaccess) 설정 예시
    #.pdf 파일에 대해 AI 학습 및 색인 거부
    <FilesMatch "\.pdf$">
        Header set X-Robots-Tag "noindex, noai"
    </FilesMatch>
    # Nginx (nginx.conf) 설정 예시:
    # /private/ 디렉토리 하위 모든 파일에 대해 AI 학습 및 색인 거부
    location /private/ {
        add_header X-Robots-Tag "noindex, noai";
    }