robots.txt가 무엇인지, 어떻게 적용하는지, 그리고 역할에 대해서 알아보는 시간을 갖도록 할게요!
검색엔진에 노출되기 위해 사이트를 네이버서치어드바이저, 또는 구글서치콘솔을 사용한 분이라면 당연히 알고 있을거라고 생각해요.
robots.txt도 SEO(검색엔진최적화)를 위해서 꼭 있어야하는 존재인만큼 다뤄보도록 하겠습니다!
robots.txt는 무엇일까?
구글 서치 콘솔에서는 아래와 같이 설명하고 있습니다.
- robots.txt는 크롤링해서는 안 되는 사이트 내 URL 또는 디렉터리를 검색엔진에 알려주는 텍스트 파일의 이름입니다.
- 특정 크롤러(또는 모든 크롤러)에 대해 개별 URL 또는 전체 디렉터리를 차단하는 규칙이 포함되어 있습니다
위의 글을 읽어보면 알겠지만, 이 파일은 봇을 차단 또는 사이트 알려주는 파일입니다. 그렇기 때문에 목적과 다르게 단순히 이 파일을 만들어 놓는다면 오히려 우리의 사이트가 안좋은 사이트로 인지할수도 있어요! (크롤러가 싫어하는 페이지가 생각보다 많을수가 있기때문이죠!)
접근을 방지할 수 있는 이유로는 크롤링 봇이 우리의 웹사이트에 들어오면 가장 먼저 robots.txt를 읽어 우리가 접근할 페이지인지를 체크하기 때문이에요.
그러므로 이 파일을 적용할 때는 확실히 우리 사이트에 어디를 들어갈 수 있고, 못들어가는지를 명시해야해요!
robots.txt 적용법
- 서치콘솔 또는 서치어드바이저에서 robots.txt를 생성해주는 부분이 있기 때문에 그것을 이용하시면 돼요! 만약 모르신다면 하단에 코드를 복붙하여 본인의 사이트로 명시해주세요!
- 이제 robots.txt 파일을 생성했다면 우리는 웹사이트의 최상위 경로에 놓으면 됩니다!
- 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페이지가 존재하는 것을 확인할 수 있어요! 즉, 제대로 적용되었다는 뜻이죠!
이렇게 우리의 웹사이트를 봇이 읽을 수 있게 만들어서 검색엔진에 상위노출에 기여할 수 있도록 설정해보아요!
'프론트엔드' 카테고리의 다른 글
Function errors in typescript: has no properties in common with type 'Partial<Type<any, any, BareFetcher<any>>> (0) | 2023.11.23 |
---|---|
typescript를 사용해야하는 이유 | 프론트엔드개발 (0) | 2023.08.26 |
Nextjs SEO(검색엔진최적화) - Meta tags (0) | 2023.08.24 |
NextJs!시작하기(7): next build / export 를 통한 Next 정적사이트 배포하기 | 프론트엔드개발자 (0) | 2023.07.06 |
Nextjs[SEO] - Serverside Sitemap xml 생성 자동화 (0) | 2023.07.04 |