자주 하는 질문 (FAQ)

차례

일반적인 검색 관련

사이트 내용이 검색이 되지 않는 이유에는 어떤 것들이 있나요?

  • 검색 엔진 차단 – 검색 엔진을 차단하는 방법에는 여러가지가 있습니다. 가장 일반적인 것은 robots.txt 파일을 사용하여 검색을 차단하는 방법이 있습니다. 이외에도 메타 태그를 사용하여 검색이 되지 않게 설정할 수 있습니다. 위의 두 가지 방법은 콘텐츠가 검색되지 않도록 막는 규약에 해당하므로 일반적인 검색 엔진의 경우 검색 결과를 보여주지 않게 됩니다.
  • 그림 혹은 플래시로 만들어진 콘텐츠 – 검색 엔진은 그림으로 제작된 글자 내용을 수집하거나 이해할 수 없습니다. 웹 사이트의 콘텐츠를 그림으로 만들 경우 검색이 되지 않습니다. 플래시의 경우도 마찬가지 입니다. 사이트 내용이 검색 되려면 콘텐츠를 텍스트 문자로 만들어야합니다.
  • IP, 사용자 에이전트(User-agent) 차단 – 검색 엔진의 IP 주소나 사용자 에이전트를 파악하여 검색 엔진이 서버에 접근할 수 없도록 막혀있는 경우 검색이 되지 않습니다. 이 방법은 방화벽의 차단 메시지가 검색 결과로 보여지는 등 여러가지 부작용을 낳을 수 있습니다. 따라서 부득이하게 검색을 차단해야 할 경우 robots.txt나 메타 태그를 활용하여 표준에 맞는 방법을 사용하실 것을 권장합니다.

일반적으로 사용자들이 어떤 사이트가 검색을 차단하고 있는지 간단하게 확인하는 방법은 무엇이 있나요?

가장 쉬운 방법부터 알려드리면, 검색 사이트의 검색결과에 해당 사이트의 메인 페이지만 바로가기 링크 등으로 검색될 때 검색이 막혀있음을 유추할 수 있습니다. 구글 검색의 경우, site 명령어로 해당 사이트의 웹페이지가 얼마나 색인되어 있는지 확인할 수 있습니다(예: site:www.example.com). 검색 사이트에 해당 사이트의 대표 페이지 한두개만 색인되어 있다면 검색이 되지 않도록 차단되어 있다고 유추할 수 있습니다.

로봇 검색을 허용하게 되면 무엇이 좋은가요?

일단 따로 사이트 등록을 요청하거나 비용을 들여 광고를 하지 않아도 인터넷 검색 사이트에서 검색이 가능한 사이트가 됩니다. 나중에 사이트 주소가 바뀌거나 이름이 바뀌는 경우에도 자동으로 검색 결과에 적용이 됩니다.

뿐만 아니라 사이트 이름만이 아닌 콘텐츠 검색이 가능해져서 인터넷 사용자가 쉽게 찾을 수 있는 사이트가 됩니다. 예를 들어, 사이버 독도 홈페이지(dokdo.go.kr)는 ‘독도’만이 아니라 ‘독도랑 캐릭터’라는 질의어에도 검색이 가능하게 됩니다.

검색 엔진에서 제공하는 각종 보안 기능과 트래픽 분석 기능을 제공 받을 수 있습니다. 예를 들어, 구글 검색에서는 웹페이지에 포함된 악성코드를 조기에 감지하여 웹마스터와 사용자에게 알려줍니다.

로봇 검색을 허용하게 되면 혹시 보안에 취약하게 되는 것은 아닐까요?

웹 사이트의 보안은 검색 접근성과 분리하여 취급하여야 합니다. 웹 사이트 보안은 인터넷을 통해 불법으로 정보의 위조, 변조, 유출을 하거나 무단으로 침입하는 등의 행위로부터 웹 사이트를 보호하는 것을 말합니다. 하지만 많은 경우, 이러한 웹 사이트 보안과 검색 상의 노출을 같은 의미로 해석하여 사이트의 정상적인 홍보 효과를 높일 수 있는 검색 엔진을 차단하려 하고 있습니다.

정상적인 검색 엔진은 어느 사용자든 실제로 방문할 수 있는 페이지만을 검색을 가능케 하기 위해 수집하며 보안상의 이유로 외부에 잘 차단된 페이지는 수집을 하지 않는 것을 원칙으로 합니다. 보안에 취약한 페이지들을 방치한 채, 정상적인 검색엔진을 막는다고 하여 악의적인 용도의 로봇의 침입을 막을 수 없습니다.

웹마스터들의 이러한 문제점을 돕기 위하여 정상적인 검색 엔진들이 사용하는 검색 로봇 소프트웨어는 표준을 지키고 웹사이트와 사용자에게 쾌적한 인터넷 검색환경을 제공하기 위해 악성코드 탐지 기능 등의 다양한 보안기능을 무료로 제공하고 있습니다.

검색 로봇을 허용하게 되면 서버에 무리를 주지는 않나요?

검색 로봇을 허용하면 추가적인 네트웍 트래픽이 발생합니다. 이는 검색 로봇이 웹 문서를 수집해야 하기 때문입니다. 정상적인 검색 로봇은 이때 서버에 무리한 요청을 하지 않으려고 다양한 방법을 사용합니다. 예를 들어, 서버의 응답이 느려지면 해당 서버의 웹문서 수집 주기를 조정하여 서버가 다른 사용자의 요청에 더 빨리 응답하도록 합니다. 이외에도 여러가지 알고리즘을 사용하여 웹 서버에 부담을 주지 않도록 조정합니다. 다만, 부담을 주지 않는 범위지만 계속해서 새로 작성되었거나 변경된 문서를 수집하기 때문에 하루를 기준으로 통계를 내보면 단일 사용자의 요청 횟수보다 훨씬 많을 수 밖에 없습니다.

정리하면, 일반적으로 검색 로봇은 서버에 부담을 주지 않는 범위 내에서만 웹 문서를 수집합니다. 따라서, 검색 로봇을 허용한다고 서버에 무리를 주지는 않습니다.

로봇 배제 표준(robots.txt) 관련

robots.txt checker를 사용하여 차단현황을 확인해도 되나요?

검색 엔진마다 조금씩 robots.txt를 해석하는 방식이 차이는 있을 수 있으나 인터넷에 공개된 대부분의 robots.txt checker로 문법이 맞는지 정도 확인하는 데에는 문제가 없습니다.

robots.txt가 없는 경우는 어떻게 되나요?

robots.txt가 따로 정의되어있지 않으면 웹 사이트는 공개 상태입니다. 기본적으로 누구나 자유롭게 웹사이트의 내용을 읽을 수 있는 상태에서 robots.txt를 사용하여 사이트 전체 또는 일부를 검색 로봇으로부터 차단할 수 있게 됩니다. 따라서, robots.txt가 없는 사이트는 다른 방식으로 차단하지 않는 경우 개방된 상태입니다.

robots.txt를 사용하면서 사이트를 개방할 수는 없나요?

다른 이유로 robots.txt이 반드시 필요한 경우는

User-agent: *
Disallow:

혹은

User-agent:
Allow: /

로 명시적으로 개방할 수 있습니다.

특정 검색 로봇에만 검색을 허용하는 것도 가능한가요?

로봇 검색 허용은 각 검색 엔진에 맞는 맞춤 설정이 가능합니다. 예를 들어 ‘구글’, ‘다음’에만 검색을 허용하고 ‘네이버’를 차단하는 것도 가능합니다. 물론, 모든 검색 엔진에 대해 동일한 정책을 적용시키는 것도 가능합니다. 여러가지 로봇의 목록은 여기에서 찾아보실 수 있습니다.

www이 붙어있는 것과 아닌(non-www) 사이트가 다른 사이트로 인식되나요?

하나의 웹서버에서 www과 non-www의 두 가지 호스트명으로 동일한 웹서비스를 제공하는 경우가 종종 있습니다. 예를 들어, www.example.com은 www버전이며 example.com은 non-www인데 일부 사이트는 이와 같은 두 가지 호스트명으로 서비스를 제공합니다. 이 때 주의할 것은 검색 엔진 등의 웹 응용프로그램들은 두 가지 버전을 다른 호스트로 인식합니다.

따라서, 만일 robots.txt을 사용하고 www과 non-www 호스트명을 모두 사용하는 경우 robots.txt(같은 내용으로)을 두 호스트 모두에 설치해주어야 합니다. 즉, www.example.com/robots.txt과 example.com/robots.txt 모두 적절한 robots.txt파일을 제공해야 합니다.

robots.txt로 전체 사이트 차단을 할 경우 검색 결과에서 완전히 사라지나요?

대부분 사라지지만 일부는 검색이 되는 경우도 있습니다. robots.txt는 검색 로봇의 수집 범위를 알려주는 규칙입니다. 따라서, robots.txt에서 전체 차단을 하는 경우 수집은 하지 않습니다. 그렇지만 홈페이지 바로가기 등의 검색 결과는 해당 사이트의 내용을 수집하지 않고도 다른 사이트에서 수집한 정보를 통해 그 링크만을 제한적으로 제공할 수 있습니다.

검색 엔진에서 색인이 되지 않도록(검색 결과에 포함되지 않도록) 하려면 해당 웹문서를 로그인을 통해서만 접근할 수 있는 비공개 자료로 만들거나 noindex 로봇 메타 태그를 사용하여 검색 엔진에 색인을 하지 말 것을 명시적으로 알려주어야 합니다.

사용자 에이전트 차단 관련

사용자 에이전트 차단은 어떻게 이루어지나요?

사용자 에이전트(User-agent)는 원래 사용자가 웹 페이지를 접근할 때 사용하는 브라우저의 정보를 보여주는데 사용되었습니다. 현재는 이 사용자 에이전트를 통해 사이트를 방문하는 것이 브라우저인지, 검색 로봇인지, 또는 모바일 기기인지를 알 수 있습니다.

각각의 검색 엔진은 다른 사용자 에이전트 문자열을 가지고 있습니다. 주요 검색 엔진의 사용자 에이전트 문자열은 여기에서 확인하실 수 있습니다.

사용자 에이전트 필드의 내용은 검색 로봇이 자발적으로 제공합니다. 이러한 정보를 가지고 특정 검색 엔진에 대하여 해당 페이지를 노출되지 않게 하는 행위를 ‘사용자 에이전트 차단’이라고 합니다. 다시 말해, HTTP 요청(request)의 사용자 에이전트 필드의 내용을 보고 검색 로봇일 경우 차단함으로써 검색 엔진이 해당 사이트의 내용을 수집할 수 없도록 합니다.

사용자 에이전트 차단과 robots.txt 차단의 다른 점은 무엇인가요?

사용자 에이전트 차단은 웹 사이트에서 웹 방화벽 등을 사용하여 적극적으로 검색 로봇을 차단하는 경우입니다. 반면 robots.txt는 로봇 배제 표준에 의해 웹마스터가 robots.txt 파일로 검색 엔진에게 읽지 말아야할 내용을 알려주어 검색 엔진이 자발적으로 웹마스터의 요청을 준수하는 방식입니다.

참고로, 검색 엔진이 웹서버에 컨텐츠를 요청할 때 HTTP라는 표준 규약을 사용하고, 이 규약에 의한 사용자 에이전트 필드에 해당 요청의 요청자가 검색 로봇임을 명시하여 요청을 합니다. 따라서, 웹서버는 HTTP 요청의 사용자 에이전트 항목을 보고 적극적인 해당 요청을 거부할 수 있습니다.

사용자 에이전트 차단은 어떻게 해결할 수 있나요?

다른 방법과 마찬가지로 웹마스터나 관리자가 검색 엔진의 사용자 에이전트에 대한 차단을 해제 하여야만 합니다. 간혹 웹마스터가 의도하지 않았더라도 호스팅 업체의 네트워크 단에서 차단이 이루어지고 있는 경우가 있습니다. 자신의 사이트가 사용자 에이전트 차단을 하고 있지 않은지 (앞서 설명한) 크롬이나 파이어폭스에서 시험해보고, 의도하지 않았는데 차단되어 있다면 호스팅 업체에 연락해 방화벽 설정을 확인해보시기 바랍니다.

noindex, nofollow 차단 관련

noindex나 nofollow의 메타태그 소스를 아예 사용하지 않으면 어떤 상태인가요?

noindex, nofollow의 이름에서 알 수 있듯이 사용하지 않으면 기본적으로 공개된 상태입니다.

nocache 태그도 검색 차단과 관련이 있나요?

아닙니다. nocache는 단지 검색 결과에서 caching(저장)만을 차단하기 때문에 검색 차단으로 볼 수 없습니다.

사이트를 개방하려면 속성을 index, follow혹은 all로 변경해야만 하나요?

noindex, nofollow를 하지 않으면 기본적으로 색인과 수집을 허용하는 게 됩니다. 굳이 메타태그에 noindex, nofollow를 추가했다는 것은 적극적으로 검색을 차단했다는 의미로 볼 수 있습니다. 물론 꼭 필요한 경우라면 차단을 할 수 있지만, 모든 페이지를 다 막는 것은 재고하는 것이 좋습니다.

GET/POST 방식(method) 관련

반드시 POST 방식을 사용해야 할때는 언제인가요?

일반적으로 외부에 보여져야하는 페이지는 GET 방식을, 사용자에게 보여지지 말아야하는 페이지는 POST 방식을 사용하는 것이 적절합니다.

게시판 글 작성 등의 쓰기 위주의 페이지에서 POST 방식을 사용하는 것은 괜찮습니다 (또한 그렇게 할 수 밖에 없습니다). 그러나 게시판 글 목록 보기, 글 보기 등의 읽기 위주의 경우는 GET을 사용해야 검색 엔진에서 검색을 할 수 있습니다.

HTML 양식의 방식을 GET으로 바꾸어도 보안에 문제가 없나요?

보안과 관련하여 중요한 것은 어떤 방식을 썼느냐가 아닙니다. 보안이 필요한 데이터를 적절한 절차를 거쳐 암호화하고 안전한 저장소를 사용했느냐가 중요합니다.

POST 방식이 파라미터(인자)를 URL이 아닌 HTTP 메시지의 body에 삽입하여 보내지만 이 메시지는 암호화되어있지 않기 때문에 간단한 도구로 그 내용을 모두 볼 수 있습니다. POST를 쓴다고 반드시 보안에 좋은 것은 아닙니다.

그런데 보안과 분리하여 개인식별정보(PII – Personally Identifiable Information)가 검색 엔진을 통해 유출될 가능성에 대해서 고민해보아야 합니다. URL을 통해서 보내는 파라미터는 검색 엔진에서 색인이 가능한 정보입니다. 따라서, URL(GET 방식)에 사용자 ID나 비밀번호를 사용하는 것은 결코 좋은 방법이 아닙니다. 자세한 가이드라인은 보안 가이드를 참고하세요.

액티브엑스(ActiveX)/플래시(Flash)/자바(Java) 관련

플래시로만 작성된 사이트들을 보면 검색이 잘 되지 않는 경우가 있는데요. 그 이유는 무엇입니까?

최근에 플래시 기반의 사이트에서 내용을 추출하는 기능이 검색 엔진에 추가되기는 하나 이는 아직 초기 단계로 OCR(Optical Character Recognition)의 수준에도 미치지 못하는 경우가 대부분 입니다. 플래시를 기반으로 한 사이트는 텍스트 및 기타 내용의 전부를 그림화 한 경우와 다를 바 없습니다.

웹 개방의 목적으로 액티브엑스로 된 필수적인 보안/로그인 프로그램을 사용하지 않을 경우 사이트의 보안이 취약해지지 않을까요?

액티브엑스 등의 플러그인은 모두 클라이언트(여기서는 웹 브라우저)에서 실행됩니다. 액티브엑스를 사용하는 것과 서버의 보안은 관련이 거의 없습니다. 웹 서버의 보안은 개인정보 등의 중요 정보의 암호화, 적절한 로그인 세션 관리, 취약점 보완 등을 통해 관리되어야 합니다.

액티브엑스, 플래시, 또는 자바를 사용할 때 주의해야 할 점은 무엇인가요?

일반적으로 웹 접근성(누구나 다 접근할 수 있는)을 잘 준수한 사이트는 웹 개방성(검색이 잘 되는)에도 좋습니다. 로그인 페이지 등을 만드는데 보안을 고려함과 동시에 개방에 저해가 되지 않도록 하는 방법에는 여러가지가 있습니다. 굳이 표준이 아닌 플러그인을 사용해야 한다면 다른 방법의 접근도 가능하게 해야 할 것입니다.