robots.txt 파일을 사용하여 페이지 차단 또는 삭제
http://support.google.com/webmasters/bin/answer.py?hl=ko&answer=156449
robots.txt 파일은 웹을 크롤링하는 검색엔진 로봇에 의한 사이트 액세스를 제한합니다. 검색 로봇은 자동으로 작동하며 한 사이트의 페이지에 액세스하기 전에 특정 페이지에 대한 액세스를 차단하는 robots.txt 파일이 있는지 여부를 확인합니다. 일부 로봇은 명령어를 다르게 해석할 수도 있지만 잘 제작된 모든 로봇은 robots.txt 파일의 명령어를 그대로 따릅니다. 그러나 robots.txt는 강제성을 띄지 않으므로 일부 스팸 발송자나 다른 악의적인 사용자는 이 파일의 명령어를 무시할 수 있습니다. 따라서 기밀 정보 보호를 위해 비밀번호를 사용하는 것이 좋습니다.
Google에서 크롤링할 수 없도록 차단된 URL을 보려면 웹마스터 도구의 상태섹션에서 차단된 URL 페이지를 방문하시기 바랍니다.
robots.txt 파일은 검색엔진을 통해 색인을 생성하지 않으려는 콘텐츠가 사이트에 포함되어 있는 경우에만 필요합니다. 검색엔진이 사이트의 모든 콘텐츠에 대한 색인을 생성하도록 하려면 설령 빈 파일이라 할지라도 robots.txt 파일이 전혀 필요하지 않습니다.
robots.txt에 의해 차단된 페이지의 콘텐츠는 Google에서 크롤링하거나 색인을 생성하지 않지만, 웹의 다른 페이지에서 해당 페이지의 콘텐츠를 찾은 경우에는 여전히 URL의 색인을 생성할 수 있습니다. 따라서 페이지의 URL 및 사이트 링크의 앵커 텍스트나 오픈 디렉토리 프로젝트(Open Directory Project)의 제목(www.dmoz.org) 같은 기타 공개 정보가 Google 검색결과에 나타날 수 있습니다.
robots.txt 파일을 사용하려면 도메인의 루트 액세스 권한이 있어야 합니다. 권한이 있는지 확실하지 않으면 웹호스팅 업체에 문의하시기 바랍니다. 도메인의 루트에 대한 액세스 권한이 없는 경우에는 로봇 메타태그를 사용하여 액세스를 제한할 수 있습니다.
페이지가 다른 사이트에 연결되어 있더라도 페이지의 콘텐츠가 Google 웹 색인에 열거되지 않도록 완전히 차단하려면 noindex 메타 태그 또는 x-robots-tag를 사용합니다. Googlebot이 페이지를 가져오는 즉시, noindex 메타 태그를 보게 되고 해당 페이지가 웹 색인에 표시되지 않게 합니다. x-robots-tag HTTP 헤더는 그래픽이나 다른 종류의 문서와 같이 HTML이 아닌 파일의 색인 생성을 제한하고 싶을 때 특히 유용합니다.
robots.txt 파일 만들기
가장 간단한 형식의 robots.txt 파일은 다음 두 가지 규칙을 사용합니다.
•User-agent: 아래에 나오는 규칙이 적용되는 로봇
•Disallow: 차단할 URL
이 두 행은 파일 내에서 단일 항목으로 간주됩니다. 원하는 만큼 항목을 추가할 수 있으며 하나의 항목에 여러 Disallow 행 및 여러 User-agent를 포함할 수도 있습니다.
robots.txt 파일의 각 섹션은 별개이며 이전 섹션 위에 빌드되지 않습니다. 예를 들면 다음과 같습니다.
User-agent: *
Disallow: /folder1/
User-agent: Googlebot
Disallow: /folder1/
이 예에서는 /folder2/와 일치하는 URL만 Googlebot에 대해 차단됩니다.
User-agent 및 검색 로봇
User-agent는 특정 검색엔진 로봇입니다. 웹 로봇 데이터베이스에는 다양한 일반적인 검색 로봇이 나와 있습니다. 이름을 표시하여 특정 검색 로봇에 대한 항목을 설정할 수도 있고, 별표(*)를 사용하여 모든 검색 로봇에 대한 항목을 설정할 수도 있습니다. 모든 검색 로봇이 해당되는 항목의 경우 다음과 같이 지정합니다.
User-agent: *
Google은 다양한 검색 로봇(user-agent)을 사용합니다. Google 웹 검색에 사용하는 검색 로봇은 Googlebot입니다. Googlebot-Mobile 및 Googlebot-Image 같은 다른 검색 로봇은 Googlebot에 설정된 규칙을 따르지만 해당 검색 로봇에만 적용되는 특정 규칙을 설정할 수도 있습니다.
user-agent 차단
Disallow 행에는 차단할 페이지가 표시됩니다. 특정 URL이나 패턴을 포함할 수 있으며, 각 항목은 슬래시(/)로 시작해야 합니다.
•사이트 전체를 차단하려면 슬래시를 사용합니다. Disallow: /
•디렉토리 및 디렉토리에 포함된 모든 항목을 차단하려면 디렉토리 이름 다음에 슬래시를 사용합니다. Disallow: /junk-directory/
•특정 페이지를 차단하려면 해당 페이지를 표시합니다. Disallow: /private_file.html
•Google 이미지에서 특정 이미지를 삭제하려면 다음을 추가합니다. User-agent: Googlebot-Image
Disallow: /images/dogs.jpg
•Google 이미지에서 사이트 내 모든 이미지를 삭제하려면 다음과 같이 설정합니다. User-agent: Googlebot-Image
Disallow: /
•특정 파일 형식(예: .gif)을 차단하려면 다음과 같이 설정합니다. User-agent: Googlebot
Disallow: /*.gif$
•사이트 페이지에 애드센스 광고를 게재하면서도 크롤링되지 않도록 하려면 Mediapartners-Google을 제외한 모든 로봇을 차단합니다. 이렇게 하면 해당 페이지가 검색 결과에는 표시되지 않지만 Mediapartners-Google 로봇이 페이지를 분석하여 게재할 광고를 결정할 수 있습니다. Mediapartners-Google 로봇은 다른 Google user-agent와 페이지를 공유하지 않습니다. 예를 들면 다음과 같습니다. User-agent: *
Disallow: /
User-agent: Mediapartners-Google
Allow: /
명령문은 대소문자를 구분합니다. 예를 들어, Disallow: /junk_file.asp는 http://www.example.com/junk_file.asp URL은 차단하지만 http://www.example.com/Junk_file.asp URL은 허용합니다. Googlebot은 robots.txt에서 빈 공간(특히 빈 행)과 알 수 없는 명령문을 무시합니다.
Googlebot은 robots.txt 파일을 통한 Sitemap 파일 제출을 지원합니다.
패턴 일치
패턴 일치를 인식하지 못하는 검색엔진도 있지만, Googlebot은 일부 패턴 일치를 인식합니다.
•별표(*)를 사용하여 일치하는 문자열을 찾을 수 있습니다. 예를 들어, private으로 시작하는 모든 하위 디렉토리에 대한 액세스를 차단하려면 다음과 같이 설정합니다. User-agent: Googlebot
Disallow: /private*/
•물음표(?)를 포함하는 모든 URL에 대한 액세스를 차단할 수 있습니다. 즉 도메인 이름으로 시작되고 임의의 문자열, 물음표, 임의의 문자열로 구성된 모든 URL을 크롤링하지 않도록 차단하려면 다음 항목을 사용하세요. User-agent: Googlebot
Disallow: /*?
•URL의 마지막 부분이 일치하도록 지정하려면 $ 문자를 사용합니다. 예를 들어, .xls로 끝나는 모든 URL를 차단하려면 다음과 같이 설정합니다. User-agent: Googlebot
Disallow: /*.xls$
이 패턴 일치를 Allow 명령어와 함께 사용할 수 있습니다. 예를 들어, ?가 세션 ID를 나타내는 경우, 이를 포함하는 모든 URL을 제외하여 Googlebot이 중복된 페이지를 크롤링하지 않도록 해야 합니다. 그러나 ?로 끝나는 URL은 크롤링하려는 페이지의 버전이 될 수 있습니다. 이런 경우 robots.txt 파일을 다음과 같이 설정합니다.
User-agent: *
Allow: /*?$
Disallow: /*?
Disallow: / *? 명령어는 ?가 포함된 모든 URL을 차단합니다. 즉, 도메인 이름으로 시작되고 임의의 문자열, 물음표, 임의의 문자열로 구성된 모든 URL을 차단합니다.
Allow: /*?$ 명령어는 ?로 끝나는 모든 URL을 허용합니다. 즉, 도메인 이름으로 시작되고 임의의 문자열과 물음표로 구성되며 물음표 다음에 문자가 없는 모든 URL을 허용합니다.
파일을 다운로드하거나 콘텐츠를 텍스트 파일에 복사하고 robots.txt로 저장하여 robots.txt 파일을 저장합니다. 해당 파일을 사이트의 최상위 디렉토리에 저장합니다. robots.txt 파일은 도메인의 루트에 있어야 하며 이름은 ‘robots.txt’여야 합니다. 검색 로봇은 도메인의 루트에 있는 robots.txt 파일만 찾기 때문에 하위 디렉토리에 있는 파일은 유효하지 않습니다. 예를 들어, http://www.example.com/robots.txt 는 유효한 위치이지만, http://www.example.com/mysite/robots.txt 는 그렇지 않습니다.
robots.txt 파일 테스트
robots.txt 테스트 도구는 robots.txt 파일이 잘못해서 Googlebot이 사이트의 파일이나 디렉토리를 크롤링하지 못하도록 차단하고 있는지 또는 Googlebot이 웹에 표시되어서는 안 되는 파일을 크롤링하도록 허용하는지 여부를 표시합니다. 제안된 robots.txt 파일의 텍스트를 입력하면 이 도구는 Googlebot과 같은 방식으로 텍스트를 읽고 파일의 영향 및 발견된 문제점을 나열합니다.
사이트의 robots.txt 파일을 테스트하려면 다음 단계를 따르세요.
1.웹마스터 도구 홈페이지에서 원하는 사이트를 클릭합니다.
2.상태에서 차단된 URL을 클릭합니다..
3.아직 선택되지 않은 경우 robots.txt 테스트 탭을 클릭합니다.
4.robots.txt 파일의 콘텐츠를 복사하여 첫 번째 입력란에 붙여넣습니다.
5.URL 입력란에 테스트할 사이트를 나열합니다.
6.User-agents 목록에서 원하는 User-agents를 선택합니다.
이 도구에 대한 변경사항은 저장되지 않습니다. 변경사항을 저장하려면 콘텐츠를 복사한 다음 robots.txt 파일에 붙여넣어야 합니다.
robots.txt 분석 도구는 Googlebot과 같은 Google User-agent에만 적용되는 결과를 제공합니다. 다른 검색 로봇은 robots.txt 파일을 다른 방식으로 해석할 수 있습니다. 예를 들어, Googlebot은 표준robots.txt 프로토콜의 확장된 정의를 지원합니다. Allow: 명령어는 물론 일부 패턴 일치도 인식합니다. 따라서 도구에서 이러한 확장된 정의를 포함하는 행을 인식하는 것으로 표시하는 경우에도, 이는 Googlebot에만 적용되며 사이트를 크롤링하는 다른 검색 로봇에는 적용되지 않을 수 있습니다.
메타 태그를 사용하여 사이트 액세스 차단하기
http://support.google.com/webmasters/bin/answer.py?hl=ko&answer=93710
페이지가 다른 사이트에 연결되어 있더라도 페이지의 콘텐츠가 Google 웹 색인에 열거되지 않도록 완전히 차단하려면 no index 메타 태그를 사용합니다. 그러면 Googlebot이 페이지를 가져오는 즉시 no index 메타 태그를 보게 되고 해당 페이지가 웹 색인에 표시되지 않습니다.
noindex 메타 표준에 대한 자세한 내용은 http://www.robotstxt.org/meta.html 페이지를 참조하세요. 이 방법은 서버에 대한 루트 액세스 권한이 없을 때 페이지별로 사이트에 대한 액세스를 제어할 수 있어 유용합니다.
어떤 로봇도 사이트의 페이지에 대해 색인을 생성하지 못하게 하려면 페이지의 <head> 섹션에 다음 메타 태그를 추가합니다.
<meta name="robots" content="noindex">
Google 로봇을 제외한 다른 모든 로봇이 사이트의 페이지에 대해 색인을 생성하도록 허용하려면 다음 메타태그를 추가합니다.
<meta name="googlebot" content="noindex">
다른 페이지에 연결되어 있는 경우에도 페이지에 noindex 메타 태그가 있으면 Google은 검색결과에 해당 페이지를 표시하지 않습니다. 하지만 다른 검색엔진에서는 이 태그가 다르게 해석될 수도 있으며, 이 경우 해당 페이지에 대한 링크가 검색결과에 표시될 수 있습니다.
페이지를 크롤링해야 noindex 메타 태그가 있는지 알 수 있으므로 Googlebot이 크롤링하지 않은 경우 noindex 메타 태그를 확인하지 못해 올바르게 처리하지 못할 수도 있습니다. 페이지가 계속 검색결과에 표시된다면 태그를 추가한 이후 Google에서 사이트를 아직 크롤링하지 않았기 때문일 가능성이 큽니다. 또한 robots.txt 파일을 사용하여 해당 페이지를 차단할 경우에도 태그를 확인할 수 없습니다.
콘텐츠가 현재 Google 색인에 포함되어 있는 경우 다음 번에 크롤링할 때 삭제됩니다. 바로 삭제하려면 Google 웹마스터 도구의 URL 삭제 요청 도구를 사용합니다.