프론트엔드

robots.txt는 무엇일까? - 적용방법, 역할

developerYoung 2023. 8. 26. 13:13
반응형

robots.txt가 무엇인지, 어떻게 적용하는지, 그리고 역할에 대해서 알아보는 시간을 갖도록 할게요!
검색엔진에 노출되기 위해 사이트를 네이버서치어드바이저, 또는 구글서치콘솔을 사용한 분이라면 당연히 알고 있을거라고 생각해요.
robots.txt도 SEO(검색엔진최적화)를 위해서 꼭 있어야하는 존재인만큼 다뤄보도록 하겠습니다!

robots.txt는 무엇일까?

구글 서치 콘솔에서는 아래와 같이 설명하고 있습니다.

  • robots.txt는 크롤링해서는 안 되는 사이트 내 URL 또는 디렉터리를 검색엔진에 알려주는 텍스트 파일의 이름입니다.
  • 특정 크롤러(또는 모든 크롤러)에 대해 개별 URL 또는 전체 디렉터리를 차단하는 규칙이 포함되어 있습니다


위의 글을 읽어보면 알겠지만, 이 파일은 봇을 차단 또는 사이트 알려주는 파일입니다. 그렇기 때문에 목적과 다르게 단순히 이 파일을 만들어 놓는다면 오히려 우리의 사이트가 안좋은 사이트로 인지할수도 있어요! (크롤러가 싫어하는 페이지가 생각보다 많을수가 있기때문이죠!)

접근을 방지할 수 있는 이유로는 크롤링 봇이 우리의 웹사이트에 들어오면 가장 먼저 robots.txt를 읽어 우리가 접근할 페이지인지를 체크하기 때문이에요.

그러므로 이 파일을 적용할 때는 확실히 우리 사이트에 어디를 들어갈 수 있고, 못들어가는지를 명시해야해요!

robots.txt 적용법

  1. 서치콘솔 또는 서치어드바이저에서 robots.txt를 생성해주는 부분이 있기 때문에 그것을 이용하시면 돼요! 만약 모르신다면 하단에 코드를 복붙하여 본인의 사이트로 명시해주세요!
  2. 이제 robots.txt 파일을 생성했다면 우리는 웹사이트의 최상위 경로에 놓으면 됩니다!
  3. react, nextjs를 사용하는 저는 public 폴더에 넣어두시면 되므로 참고바랄게요!


저의 페이지의 /robots.txt 를 들어가보시면 아래와 같이 명시된 것을 확인할 수 있어요
https://exam-bomb-service.vercel.app/ 에서 robots.txt을 url뒤에 넣어주시면 됩니다!

Sitemap: https://exam-bomb-service.vercel.app/sitemap/index.xml

User-agent: Applebot
User-agent: baiduspider
User-agent: Bingbot
User-agent: Googlebot
User-agent: ia_archiver
User-agent: msnbot
User-agent: Naverbot
User-agent: seznambot
User-agent: Slurp
User-agent: teoma
User-agent: Twitterbot
User-agent: Yandex
User-agent: Vercelbot
User-agent: Yeti
Allow: /
Disallow: /chapter
Disallow: /test
Disallow: /user

# Host
Host: https://exam-bomb-service.vercel.app

User-agent: *
Disallow: /

user-agent는 크롤러를 의미하며 아래에 Allow / 는 모든 페이지를 허용한다는 의미에요!
반대로 Disallow는 접근을 제한하는 페이지로 저는 이전에 불필요한 페이지나 유저전용으로 사용 가능한 페이지에 접근을 금지했어요.

이렇게 적용하였다면 이제 여러분의 웹사이트엔 봇이 크롤링을 할 수 있어요!

이 외에도 Sitemap Host등으로 웹사이트의 어떤 내용이 담겨있는지 전해줄 수 있습니다

robots.txt 역할

그렇다면 robots.txt가 얼마나 잘 막는지는 직접 설정해보고 서치콘솔을 통해 알 수 있어요!

아래는 저의 서치콘솔의 상태 중 색인을 생성하지 않은 페이지로 저의 /user페이지가 존재하는 것을 확인할 수 있어요! 즉, 제대로 적용되었다는 뜻이죠!


이렇게 우리의 웹사이트를 봇이 읽을 수 있게 만들어서 검색엔진에 상위노출에 기여할 수 있도록 설정해보아요!

반응형