robots.txt와 robots.ts의 차이
KUKJIN LEE • 6개월 전 작성
결론
robots.txt
와 robots.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
파일의 내용을 변경해야 할 경우 매우 유용합니다. 예를 들어, 개발 환경과 프로덕션 환경에서 다른 크롤링 규칙을 적용하고 싶을 때 효과적입니다.