검색에 노출되지 않게 하는 3가지 방법

검색에 노출되지 않게 하는 3가지 방법

SEO는 검색엔진에 ‘노출’되게 하는 것 아닌가요?

SEO(검색엔진최적화)를 한다고 하면 일반적으로 검색에 노출되게 하는 방법을 찾기 마련입니다. SEO = 상위노출 이라는 단순한 공식을 적용하기 때문이죠. 하지만 이런 공식을 떠올리기 전에 잠깐 검색엔진최적화이라는 단어의 마지막 부분에 주목해보시죠. 상위화도 아니고 법칙도 아닌 “최적화”라는 단어가 눈에 들어옵니다. 최적이라는 말에서 우리는 검색엔진최적화에 덧셈의 접근과 뺄셈의 접근이 있다는 것을 짐작할 수 있습니다. 엄청난 경쟁을 뚫고서라도 검색 결과 1페이지의 1위에 반드시 노출 시켜야하는 과제가 있는가하면, 검색 결과에 절대 노출되지 않도록 해야하는 과제도 있을 수 있다는 말입니다. 오늘은 이렇게 검색에 노출되지 않게 해야하는 상황에서 무엇을 해야하는 지에 대해서 이야기해보려고 합니다. 

노출되지 않게 설정해야하는 페이지에는 어떤 것이 있나요?

검색에 노출되지 않게 하는 방법을 알기 전에 검색에 노출되면 안되는 페이지는 무엇인가요? 사이트를 운영해본 분이라면 모두 이해하시겠지만 사실 모든 페이지가 검색에 노출될 필요는 없습니다. 만약 고객이 로그인을 한 후에 들어갈 수 있는 ‘내정보’와 같은 페이지가 그러하겠죠? 또한 아예 모두에게 페이지를 숨기고 싶거나 여러 페이지가 존재하는 리스트 페이지의 경우 1페이지만 노출하고 싶은 경우도 있을 것입니다. 웹사이트의 운영자는 보안이나 전략적인 이유로 이와 같이 노출되지 않게 하기를 원하는 것입니다.

검색에 노출되지 않게 하는 3가지 방법

검색에 노출되지 않게 하기 위해서는 크롤러에게 문을 열어주지 않거나 문을 열어주되 정보를 가져가지 말라고 말해야합니다. 따라서 검색 결과에 노출되지 않도록 숨기는 방법은 세가지가 있습니다.

(1) 크롤링하지 못하게 하기

(2) 색인되지 않게 하기

(3) 비밀번호를 사용하여 잠그기

(1) 크롤링(Crawling)하지 못하게 하기

  크롤링하지 못하게 하는 방법으로는 robots.txt를 활용하는 방법이 있습니다. 즉, 방문자는 해당 페이지를 볼 수 있으나 크롤러는 보지 못합니다. robots.txt는 “건전한” 크롤러가 따라야하는 규약이기 때문에 나쁜(?)크롤러가 마음만 먹으면 크롤해갈 수 있습니다. 또는 다른 웹사이트에서 해당 주소를 발견하여 색인할 수도 있습니다. 어찌되었건 검색엔진 크롤러는 robots.txt를 발견하게 되면 설정된 규약에 따라 규정된 범위 외에는 크롤하지 않습니다. 

robots.txt 어떻게 만들까요

robots.txt파일에는 다음과 같은 내용을 포함하여야 합니다. 

User-agent: Googlebot, Yeti

Disallow: /blog/

Allow: /

Sitemap: http://www.ascentkorea.com/sitemap.xml

User-agent는 크롤러의 이름을 말합니다. 일반적으로 구글은 “Googlebot”, 네이버는 “Yeti”라는 user-agent를 사용하고 있습니다. Disallow에는 접근하지 말라는 도메인, 디렉토리 또는 서브폴더를 표시합니다. Allow에는 허용할 디렉토리를 표시합니다. 즉, 위의 내용은 “Googlebot과 Yeti라는 User-agent를 사용하는 크롤러(검색봇)은 우리 도메인 이하의 모든 페이지에 접근할 수 있지만 /blog/이하에는 접근하지 마세요.”라는 의미가 되는 것입니다. (Sitemap은 크롤러에게 sitemap.xml의 위치를 알려줍니다.)

한편, 아무나 접근해도 상관 없는 경우 아래와 같이 “*”를 사용하면 “모든 크롤러는 도메인 이하의 페이지에 접근할 수 있어요.”라는 것을 의미합니다. 

User-agent: *

Allow: /

Sitemap: http://www.ascentkorea.com/sitemap.xml

재미있는 실제 사용예시를 가져왔는데요, 아래 예시와 같이 삼성닷컴의 robots.txt는 정말 복잡하고 정교하게 크롤러의 접근을 제어하고 있습니다. 이처럼 robots.txt를 이용하여 크롤러의 행동을 제어할 수 있습니다. (정확히는 제어 신호를 보내는 것이지만요.)

robots.txt는 어디에 넣어야하나요?

robots.txt파일은 사이트 호스트의 루트에 있어야합니다. 즉, 사이트 디렉토리의 최상단에 있어야합니다. 예를 들어, https://www.ascentkorea.com/robots.txt에 있어야하며 https://www.ascentkorea.com/class/robots.txt에 있으면 안된다는 것입니다. 여기서 robots.txt파일은 하나만 있어야한다는 점도 유의하시기 바랍니다.
정확히 말씀드리자면 robots.txt는 크롤러가 불필요하게 접근해서 크롤링 버짓을 낭비하지 않도록 하는 취지로 사용하는 방법이기 때문에 이미 색인되고 있거나 다른 링크에서 발견한 페이지가 노출되는 것을 막지는 못합니다. 정확히 원하는 페이지가 색인이 되지 않도록 하려면 아래 2번 방법을 사용하시는 것을 권장드립니다.

(2) 색인(Index)되지 않게 하기 

위에서 설명한 robots.txt는 크롤러가 크롤을 하지 못하게 하기 때문에 당연히 색인도 되지 않습니다. 한편 크롤을 할 수 있지만 색인이 되지 않도록 하는 방법으로는 html <head> 부분에 meta태그를 이용하여 “noindex”를 설정하는 방법이 있습니다.

<meta name=”robots” content=”noindex”>

위의 meat태그를 <head>에 삽입합니다. 이는 모든 “robots”에게 index(색인)하지 말라는 명령어입니다. 다만, 웹크롤러마다 이해할 수 없을 수 있기 때문에 위의 태그를 삽입하였더라도 여전히 색인이 될 수도 있다는 점은 이해하고 있어야합니다. 

만약 특정 크롤러만 막고 싶다면 어떻게 해야할까요?

<meta name=”googlebot” content=”noindex”>

“Googlebot”에게 index하지 말라는 명령어입니다. 네이버 크롤러에게 명령하고 싶다면 “googlebot”을 “yeti”로 바꿔야겠죠?

robots.txt로만 크롤러를 막으면 안될까요?

위에서 설명드렸듯이 robots.txt는 서브디렉토리 (서브폴더)를 기준으로 크롤러를 막는 방법이기 때문에 만약 특정 페이지를 색인되지 않게 하고 싶거나 우리 사이트가 체계적으로 디렉토리가 구성되어있지 않다면 meta태그로 noindex를 표현하는 것이 더 효과적일 수 있습니다. 

(3) 비밀번호를 사용하여 잠그기

  이 방법은 원하는 페이지 일부에 비밀번호를 설정하는 방법으로 크롤러, 방문자 모두가 접근할 수 없습니다. 

비밀번호는 여러가지 방법으로 설정할 수 있는데, 그 중 가장 일반적인 방법은 .htpasswd를 생성하는 방법입니다. 간단히 이야기해서 .htpasswd파일과 .htaccess파일을 만들어서 http://www.htaccesstools.com/htpasswd-generator에서 인코딩된 비밀번호와 필요한 명령어를 삽입하는 방법입니다. 이와 같이 비밀번호를 생성하는 방법은 wikihow에 더 자세히 설명되어있기 때문에 해당 페이지를 보시고 쉽게 따라하실 수 있습니다.

SEO는 선택과 집중!

간혹 “모든 페이지가 색인되었으면 좋겠어요.”라고 하는 사람이 있지만, 사실 굳이 색인될 필요가 없는 페이지는 오히려 색인이 되지 않도록 하는 것이 SEO적으로 효과적인 방법입니다. 여러분의 웹사이트에는 어떻게 적용할 수 있을까요? 우리 사이트의 콘텐츠가 가장 효율적이고 효과적으로 노출되기 위해 SEO를 할 때 색인이 되지 않도록 하는 방법에 대해 알아보았습니다.