robots.txt 는 웹사이트의 검색 엔진 최적화를 위한 기본입니다.
이 파일 어떻게 설정이 되었는지에 따라 사용자들이 볼 수 있는 사이트의 상태가 변경하기 때문에 잘 설정하는 것이 중요합니다.
이번 시간에는 이 파일이 무엇이고 어떻게 설정해야 하는지 알아보도록 하겠습니다.
1. 웹사이트에 robots.txt파일 만들어서 넣기
- 아래의 파일을 다운로드 받습니다.
[robots.txt 예시파일 다운로드] → 클릭 후 화면 오른쪽 위에 다운로드 버튼이 있습니다.
파일을 다운로드 받아서 열면 아래와 같은 코드가 나옵니다.
User-agent: *
Disallow: /wp-admin/
Sitemap:
- Sitemap: 칸에 공유문서에 있는 사이트맵 주소를 넣어줍니다.
모든 사이트는 독립적인 사이트입니다.
각 사이트마다 각자의 파일을 같은 이름으로 따로 만들어야합니다.
그런 후 아래 내용처럼 호스팅 서버에서 각 사이트 폴더에 각각의 파일을 넣습니다.
이미 파일이 있는 경우 덮어쓰기를 하면 됩니다.
- 호스팅 사이트 (A2 호스팅)에 로그인합니다.
- File manager로 들어가서 robots.txt 파일을 구글 등록과 같은 방법으로 각 사이트 폴더에 위의 파일을 업로드합니다.
→ [파일 업로드 하는법 참고] - 여기까지만 하면 아래의 내용은 참고만 하시면 됩니다.
2. 이 파일은 뭔가요?
robot 파일은 검색 엔진 로봇에게 웹사이트를 어떻게 크롤링 해야 하는지 가이드를 해주는 역할을 합니다.
또한 크롤러에게 URL의 어느 부분에 액세스 가능한지 아닌지의 여부를 알려주며 웹사이트의 사이트맵을 가이드 하는 역할을 합니다.
robots.txt는 항상 사이트의 루트 폴더 또는 메인 디렉토리에 위치해야 하며 대부분 텍스트 파일로 설정이 되어 있습니다.
A. 이 파일의 영향
- 웹페이지
웹페이지에 사용하게 되면 검색 크롤러에 의한 페이지의 과부화를 방지할 수 있습니다.
사이트에 중요하지 않은 페이지 또는 중복이 되는 페이지가 있다면 굳이 크롤링이 필요하진 않겟죠?
robots.txt로 크롤링 트래픽을 관리하기 위해 이러한 페이지의 크롤링을 방지하는 것입니다.
하지만 여기서 명심해야 할 것은 이 파일을 이용해 웹페이지를 검색 결과에서 숨기면 안된다는 것입니다.
- 미디어 파일
robots.txt 파일로 이미지, 동영상과 같은 미디어 파일이 검색 결과에 노출되지 않게 할 수 있습니다.
사용자가 이미지, 동영상 파일에 연결하는 것은 막을 수 없으니 참고 바랍니다.
- 리소스 파일
페이지에 큰 영향을 주지 않는 요소가 있을 경우 robots.txt 파일로 이러한 리소스를 차단할 수 있습니다.
그러나 페이지에 중요한 영향을 끼치는 리소스는 이 파일을 사용해 차단하게 된다면 검색 크롤러가 페이지를 이해할 수 없기 때문에 그것을 주의해야 합니다.
B. robots.txt 제한 사항 이해하기
robots.txt도 제한 사항 몇 가지가 있습니다.
robots.txt가 페이지 모든 범위를 차단할 수 없기 때문에 다른 차단 방법을 알아보는 것도 중요합니다.
또한 설정할 때의 상황과 목표에 따라 설정하는 것이 중요하기 때문입니다.
- 일부 검색 엔진에서만 지원 가능
모든 크롤러가 같은 지침을 따르지 않습니다.
다시 말해, 각 크롤러마다 준수할 지침이 다르다는 것입니다.
robots.txt 지침을 잘 따를 수 있는 잘 제작된 크롤러가 있는 반면 그러지 못한 크롤러도 많기 때문입니다.
이러한 크롤러로부터 정보를 보호하기 위해서는 비밀번호를 이용해 서버 액세스를 차단하는 방법이 있습니다.
- 각 크롤러만의 다른 해석
모든 크롤러가 같은 해석 능력을 가지고 있지 않습니다.
같은 지침이어도 다르게 해석을 할 수 있기 때문에 정확한 단어와 구문을 이해하고 사용해야 합니다.
- 구글 색인
단순히 robots.txt만으로 액세스를 허용하지 않게 페이지 설정을 해도 다른 사이트에서 연결이 된다면 구글에서 색인이 됩니다.
URL 주소를 포함한 페이지의 앵커 텍스트와 기타 정보가 구글 검색 결과에 노출될 수 있는 위험이 있습니다.
URL이 구글 검색 결과에 나타나지 않게 하려면 noindex 메타 태그를 사용하거나 서버에 비밀번호를 걸어 놓는 것이 좋습니다.
3. robots.txt 지시어 및 규칙
여러가지 용도로 이파일을 설정하기 위해선 어떤 용어와 규칙이 있는지 알아야 합니다.
우선 몇 가지 용어를 소개하도록 하겠습니다.
A. 지시어
user-agent: 규칙이 적용 되는 크롤러의 이름입니다.
disallow: 유저 에이전트의 디렉토리 또는 페이지 크롤링을 차단합니다.
allow: 유저 에이전트의 디렉토리 또는 페이지 크롤링을 허용합니다. 구글봇에만 적용 가능하니 참고하시기 바랍니다.
sitemap: 웹사이트의 모든 리소스를 나열한 목록 파일입니다.
크롤링 봇 이름: Googlebot (구글), Yeti (네이버), Bingbot (빙), Slurp (야후)
B. 규칙
예시사이트.com/robots.txt를 예시로 몇 가지의 규칙에 대해 알아보도록 하겠습니다.
- 크롤링 차단하기
사이트의 모든 콘텐츠를 크롤러로부터 차단하고 싶다면 아래와 같이 설정하면 됩니다.
앞서 설명했듯이 user-agent는 크롤링 봇을 말하며 *표시가 된 것은 모든 크롤링 봇을 말합니다.
Disallow는 페이지를 크롤링 하지 않게 하는 설정인데요, / 표시를 하면 크롤링 차단을 할 수 있습니다.
해석을 하면 모든 크롤링 봇으로부터 예시사이트.com 홈페이지를 포함한 모든 페이지의 크롤링을 차단한다는 뜻입니다.
- 크롤링 허용하기
반대로 보든 크롤링 봇의 액세스를 허락하는 설정도 있습니다.
이렇게 disallow에 / 표시가 없으면 크롤링을 허락한다는 것을 나타냅니다.
다시 말해 모든 크롤링 봇이 예시사이트.com 홈페이지를 포함한 모든 페이지의 크롤링을 허용한다는 뜻입니다.
- 특정 크롤러 차단하기 – 특정 폴더
특정 폴더를 크롤러로부터 차단하고 싶다면 아래와 같이 설정할 수 있습니다.
Googlebot은 구글의 크롤링 봇의 이름입니다. 이 봇을 차단하고 싶다면 user-agent에 해당 봇의 이름을 입력하면 됩니다.
만약에 특정 위치에만 크롤링 봇을 차단하고 싶다면 위치를 선정할 수 있습니다.
- 크롤링 차단 – 특정 위치
예시사이트.com/example-subfolder/ 의 URL이 포함된 페이지의 크롤링을 차단할 수 있습니다.
위 파일 같은 경우는 크롤러가 캘린더와 정크 디렉터리를 액세스 할 수 없습니다.
- 특정 크롤러 차단하기 – 특정 웹페이지
크롤러가 특정 웹페이지를 액세스 못하게 차단할 수 있습니다.
이렇게 설정하면 네이버의 크롤러 Yeti가 예시사이트.com/example-subfolder/blocked-page.html 의 특정 페이지를 크롤링 하지 못하게 차단할 수 있습니다.
- 하나를 제외한 모든 크롤러 허용/차단 하기
위에 소개된 설정을 동시에 설정할 수 있습니다.
- 크롤링 차단 – 하나 제외한 모든 크롤러 허용
이렇게 될 경우 Unnecessarybot만 차단이 되며 나머지 크롤러는 사이트에 액세스를 할 수 있습니다.
반대로 하나의 크롤러만 허용하고 싶다면 아래와 같이 설정하면 됩니다.
이렇게 설정하면 Googlebot-news만 허용이 되면 나머지 크롤러는 액세스가 차단됩니다.
- robots.txt 이미지 크롤링 차단
구글 이미지에서 특정 이미지의 크롤링을 차단하고 싶다면 구글 이미지 크롤러가 접근하지 못하게 설정해야 합니다.
- robots.txt 이미지 크롤링 차단
이미지를 크롤링하는 Googlebot-Image 봇은 이러한 상황에서 강아지와 관련된 이미지를 크롤링하지 못하게 됩니다.
모든 이미지의 액세스를 차단하고 싶다면 단순히 disallow에 /만 하면 크롤러가 이미지에 접근하지 못합니다.
- 특정 문자열로 끝나는 URL 크롤링 차단
특정 문자열로 끝나는 URL을 차단하고 싶다면 $ 표시를 사용해야 합니다.
.xls는 엑셀 링크를 뜻하고 .gif는 GIF 파일을 뜻하는 문자열입니다.
크롤러의 해당 URL 액세스를 차단하고 싶다면 뒤에 $ 로 표기해야 합니다.
4. robots.txt 설정하기
간혹 페이지에 robots.txt가 설정이 되어 있는지 모르는 경우가 있습니다.
이럴 때는 루트 도메인에 /robots.txt 마지막에 입력한 후 검색을 해보면 나옵니다.
결과로 no.txt가 뜬다면 robots.txt가 설정이 되어 있지 않은 상태입니다.
robots.txt를 설정하기 앞서 이 파일은 HTML 파일이 아닌 일반 텍스트 파일로 작성해야 하고 루트 디렉토리에 위치해야 합니다.
robots.txt를 만들기 위해서는 아래의 특징을 명심해야 합니다:
- 파일 이름은 robot.txt로 지정해야 합니다.
- 사이트 당 하나의 robot.txt 파일이 있어야 합니다.
- 철자 오류가 있으면 안됩니다: Robots.txt/robots.TXT는 인식이 안됩니다.
위 세 가지 뿐만이 아니라 앞서 설명된 지시어와 규칙을 염두하고 robots.txt를 만들어야 합니다.
robots.txt가 제대로 만들어졌는지 확인하고 싶다면 여기를 클릭해 확인해보세요.
5. 주의할 점
더욱 더 효과적으로 robots.txt를 활용하기 위해 주의해야 할 점이 여러 개 있습니다:
- 크롤링이 되길 원하는 사이트의 콘텐츠 또는 리소스가 차단 되어 있지 않아야 합니다.
- robots로부터 차단된 사이트의 링크는 nofollow 입니다. 따라서 사이트의 링크가 follow이길 원한다면 다른 차단 방법을 사용해야 합니다.
- robots가 포함된 사이트는 모든 사람들이 액세스를 할 수 있기에 절대로 개인정보를 파일에 추가하지 않아야 합니다.
(숨기고 싶다면 noindex로 색인을 차단하거나 암호로 페이지를 보호하는 방법이 있다는 것을 알려드립니다.)
- 구글봇 그리고 구글봇 이미지와 같이 여러 크롤러가 있는 경우에는 각 크롤러가 이해할 수 있도록 정확하게 robots.txt를 만들어야 합니다.
- robots.txt 콘텐츠는 캐시에 하루에 한번은 업데이트가 되므로 파일을 업데이트 할 때 구글 서치 콘솔과 같은 도구로 다시 확인할 수 있습니다.