robots.txt와 robots.ts의 차이

KUKJIN LEE's profile picture

KUKJIN LEE6개월 전 작성

결론

robots.txtrobots.ts의 선택은 웹사이트의 특정 요구 사항과 기술 스택에 따라 다릅니다.

  • 정적 사이트나 간단한 크롤링 규칙을 가진 사이트의 경우, robots.txt가 가장 쉽고 효과적인 방법입니다.

  • 동적 사이트에서 다양한 크롤링 규칙을 적용해야 하는 경우, robots.ts가 더 적합할 수 있습니다.

 

robots.txt

정의: robots.txt는 웹사이트의 루트 디렉토리에 위치하는 표준 텍스트 파일입니다. 이 파일은 웹 크롤러(검색 엔진 봇 등)에게 사이트의 어떤 부분을 크롤링하거나 인덱싱해서는 안 되는지 지시합니다.

접근성: 웹 크롤러가 사이트를 방문할 때 가장 먼저 확인하는 파일이 robots.txt입니다. 크롤러는 자동으로 사이트의 루트 URL에서 이 파일의 존재를 확인합니다 (예: https://www.example.com/robots.txt).

효과성: 거의 모든 웹 크롤러가 이 표준을 인식하고 존중합니다. 이는 사이트 전체에 대한 크롤링 지침을 설정하는 가장 직접적이고 효과적인 방법 중 하나입니다.

 

User-agent: *
Disallow: /admin/
Disallow: /private/

 

robots.ts

정의: robots.ts는 주로 Next.js와 같은 현대적인 자바스크립트 프레임워크에서 robots.txt 파일의 내용을 동적으로 생성하기 위해 사용되는 TypeScript 파일입니다. 이 파일은 서버 측에서 실행되어 크롤러의 규칙을 정의하고, 동적인 사이트맵 주소를 생성할 수 있습니다.

접근성: robots.ts 파일 자체는 웹 크롤러에 의해 직접적으로 확인되거나 접근되지 않습니다. 대신, 이 파일은 서버 측에서 robots.txt의 내용을 동적으로 생성하고 제공하는 데 사용됩니다.

 

import { NextApiRequest, NextApiResponse } from 'next';
export default function handler(req: NextApiRequest, res: NextApiResponse) {
  const robots = `
    User-agent: *
    ${process.env.NODE_ENV === 'production' ? 'Disallow: /secret/' : 'Disallow: /'}
  `;
  res.setHeader('Content-Type', 'text/plain');
  res.send(robots);
}

효과성: robots.ts는 환경 변수나 애플리케이션의 상태에 따라 동적으로 robots.txt 파일의 내용을 변경해야 할 경우 매우 유용합니다. 예를 들어, 개발 환경과 프로덕션 환경에서 다른 크롤링 규칙을 적용하고 싶을 때 효과적입니다.

 

 

New Tech Posts