메타 태그 크롤링 - meta taegeu keulolling

반응형

* 들어가며: 이 글은 블로그 운영 및 HTML에 대한 기초적인 지식이 있는 분들을 대상으로 작성했습니다.​

나는 현재 Medium, 티스토리, 개인 웹사이트, 깃허브 블로그(Jekyll) 및 네이버 블로그 등 다양한 매체를 통해 글을 업로드 하고 있다. Medium의 경우에는 공부 정리를 위해, 개인 홈페이지는 디자인 포트폴리오 업로드를 위해, Jekyll 사이트는 스크랩/일상 공유 등 목적은 다양하지만 반응이 좋거나 좋을 것으로 예상되는 글의 경우에는 개인 홈페이지를 제외한 다른 매체에도 동일하게 업로드를 하고 있다. 바로 이 부분에서 문제가 하나 발생하는데, 블로그를 부업으로 하시는 분들이라면 한 번 정도는 들어보셨을 '저품질'이라는 문제다.

 

저품질이란?

기본적으로 각 검색엔진들에는 웹페이지를 크롤링하는 로봇이 있고, 로봇에 의해 크롤링된 웹페이지들은 각 검색엔진들의 알고리즘에 따라 검색 결과에 노출되게 된다. 이때, 같은 내용의 글들이 반복적으로 검색 결과에 노출된다면 UX의 저하를 야기하며, 이런 류의 문제는 검색엔진의 본질을 해치게 된다고 볼 수 있을 만큼 검색엔진에 있어서는 큰 문제이다. 따라서 같거나 비슷한 내용을 가진 웹페이지들은 검색엔진 단에서 검색 결과 점수 등을 통해 미리 한 차례 걸러낸 후 검색 결과를 노출시켜주게 되며, 여기서 걸러진 웹페이지(포스팅)들이 흔히 말하는 '저품질' 포스팅의 일종이라고 볼 수 있다. 물론, 각 검색엔진들의 알고리즘과 운영 정책에 따라 '저품질'을 정의하는 바가 달라질 수 있으며, 이 글에서는 편의상 위와 같이 정의하려 한다.

메타 태그 크롤링 - meta taegeu keulolling
구글 검색결과: 비슷한 내용들이 생략된 모습

보통 저품질 이슈를 해결하기 위해 많이 하는 것이 같은 글을 여러곳에 올리더라도 말투나 캡션 등을 다르게 작성해서 다른 사람이 쓴 글인 것처럼 보이게 만드는 방법인데, 요즘의 검색 엔진 로봇(크롤러)은 그러한 방식을 통한 중복 검색 결과도 필터링할 수 있을 만큼 꽤 영리해졌다. 일부 네이버 블로그에서는 발행 설정의 '외부 공유 허용'을 설정 해제 함으로써 해당 문제를 해결할 수 있다고 하지만, 같은 내용의 다른 웹페이지를 네이버 로봇(Yeti)이 크롤링하게 될 경우 결과적으로 네이버 검색 결과에서 만큼은 중복 문제는 해결될 수 없으므로, 추가적인 조치가 필요하게 된다. 위 예시의 경우에서는 네이버에서만 해당 웹페이지가 검색되지 않게 조치함으로써 저품질 이슈를 해결할 수 있다. 그렇다면 어떻게 '네이버'에서만 특정 웹페이지가 검색되지 않도록 조치할 수 있을까?

 


 

HTML 메타 태그: robots

메타 태그(meta)란 문서(= 웹페이지)의 정보를 담고 있는 태그를 말한다. 이 중 'robots'라는 'name'을 가진 메타 태그가 검색 엔진 로봇을 제어하는 태그이며, 우리는 이 속성의 값을 변경함으로써 특정 검색 엔진에 나의 글 혹은 웹사이트 전체가 크롤링되는 것을 막거나 허용할 수 있다. 아래는 일반적으로 사용되는 검색 엔진 로봇 제어를 위한 메타 태그의 예시이다.

<meta name="robots" content="index, follow" />

아래 조금 더 자세히 설명하겠지만, 위의 코드는 검색 엔진으로 하여금 해당 태그가 포함된 모든 페이지들을 크롤링하고 색인까지 함께 실행하라는 의미를 담고 있는 코드이다. 여기서 우리가 변경할 수 있는 것은 name 속성의 값(robots)과 content 속성의 값(index, follow)이다.

 

[name] 속성에 적용될 수 있는 값

이 속성의 값으로는 각 검색 엔진 크롤링 로봇들의 이름이 하나씩만 들어갈 수 있다. 다양한 크롤러들이 있겠지만, 이 글에서는 우리나라에서 자주 사용될만한 크롤러들만 예시로 들어 보았다.

  • robots (모든 검색 엔진의 크롤러를 대상으로 함)
  • googlebot (Google의 크롤러)
  • bingbot (Bing의 크롤러)
  • Yeti (Naver의 크롤러)
  • Daumoa (Daum의 크롤러)

 

​[content] 속성에 적용될 수 있는 값

이 속성의 값으로는 상반되지 않는 값들이 하나 이상 적용될 수 있다. name에 명시된 크롤러에게 전할 명령을 적어주는 곳이라고 생각하면 된다.

  • all (색인 및 크롤링에 제한이 없는 기본값. index, follow를 동시에 적용한 것과 동일)
  • index (페이지가 색인되어 검색 결과에 표시될 수 있음)
  • noindex (검색 결과에 페이지를 표시하지 않음)
  • follow (페이지를 포함해 링크된 페이지를 검색할 수 있음)
  • nofollow (페이지를 포함해 링크된 페이지를 수집하지 않음)
  • none (noindex, nofollow를 동시에 적용한 것과 동일)
  • noarchive (비표준, 페이지를 캐시 하지 않음)

 

반응형

 

특정 검색엔진에서 나의 글이 검색 결과에 반영되지 않도록 조치하기

이제 위의 robots 메타 태그를 활용해서 추가적인 조치를 취할 수 있다. 위에서 언급했던 케이스를 구체적인 예시를 통해 다시 한번 생각해보자.

먼저 네이버 블로그에 '건대 당구장'이라는 포스팅을 작성했다고 가정해보자. 그리고 저품질 문제를 피하기 위해 해당 포스팅의 발행 설정에서 '외부 공유 허용' 옵션까지 해제한 상태이다. 그 후 내가 원래 가지고 있던 다른 블로그(예: 티스토리)에 같은 '건대 당구장'이라는 포스팅을 비슷하게 업로드했다. 이렇게 되면 물론 구글에 '건대 당구장'을 검색할 경우 네이버 블로그의 포스팅이 아닌 티스토리의 포스팅만 보이기 때문에 구글에서는 저품질 문제를 피해 갈 수 있지만, 네이버에서 '건대 당구장'을 검색할 경우 여전히 네이버 블로그의 포스팅과 티스토리의 포스팅이 동일하게 크롤링되므로 저품질 문제를 완벽하게 피할 수는 없게 된다. 따라서 우리는 우리의 티스토리의 블로그가 네이버 검색 결과에 노출되지 않도록(네이버 크롤링 로봇인 Yeti가 티스토리 블로그를 색인하거나 크롤링하지 않도록) 조치해주면 된다. 방법은 이미 위에 모두 나와있다. 우선 답부터 적자면, 아래와 같다.

<meta name="Yeti" content="noindex, nofollow" />

위 코드는 네이버의 크롤링 로봇인 'Yeti'를 대상으로 하며, 'noindex, nofollow' 값을 따라 동작하게 되므로 위의 코드를 티스토리에 적용할 시 네이버의 크롤러가 우리의 티스토리를 크롤링하지도, 색인하지도 않으며 당연히 검색 결과에도 노출되지 않게 된다. 예시는 티스토리로 들었지만, 여러분이 직접 관리 중인 웹사이트나 블로그에 해당 태그만 적용하면 동일한 결과를 얻을 수 있다.

티스토리에 적용하기

예시를 티스토리로 들었고, 여러 블로그를 운영함으로 인해 저품질을 걱정하시는 분들의 대다수가 티스토리 블로그를 사용할 것으로 생각돼 티스토리에 해당 메타 태그를 적용하는 방법을 설명하고 글을 마무리 지으려 한다. 우선 티스토리의 [블로그 관리] 페이지에 들어간 후, 좌측 패널의 '플러그인' 탭을 들어가면 '메타 태그 등록'이라는 카드를 볼 수 있을 것이다. 해당 카드를 누르면 하나의 행에 셀렉트 박스(첫 번째)와 두 개의 빈 텍스트 필드가 보일 것이다. 우리는 여기의 셀렉트 박스에서는 name을 선택하고, 첫 번째 빈칸에는 name 속성의 값으로 명령 적용 대상이 될 네이버 크롤러인 Yeti를 적어준 다음, 두 번째 빈칸에는 Yeti에게 전할 명령인 noindex, nofollow를 적어주면 된다. 위에서 원리를 설명하느라 글이 길어졌을 뿐이지, 사실 굉장히 간단한 해결 방법이다.

메타 태그 크롤링 - meta taegeu keulolling
티스토리에 메타 태그를 적용한 모습

 


 

실제 적용

필자의 경우 위와 같은 방식을 사용해서, 아래와 같이 메타 태그를 적용한 상태이다.

다음 티스토리:

  • 네이버와 구글의 크롤러 색인 및 수집 금지
<meta name="Yeti" content="noindex, nofollow" />
<meta name="Googlebot" content="noindex, nofollow" />

 

Jekyll Blog:

  • 네이버와 다음의 크롤러 색인 및 수집 금지
  • 구글의 크롤러 색인 및 수집 허용
<meta name="Yeti" content="noindex, nofollow" />
<meta name="Daumoa" content="noindex, nofollow" />
<meta name="Googlebot" content="index, follow" />

 

추가조치

SEO를 위해 네이버 서치어드바이저나 Google Search Console 등에 티스토리 혹은 기타 블로그 웹사이트들을 함께 등록해두었다면, 각각의 검색 엔진에 가장 맞는 매체 하나만 남겨두고 다른 웹사이트(블로그)들은 등록하지 않는 것을 추천한다. 아래의 로봇 메타 태그에 관한 구글 공식 문서를 함께 읽어본다면, 많은 도움이 되실거라 생각된다.

https://developers.google.com/search/docs/advanced/robots/robots_meta_tag?hl=ko

 

로봇 메타 태그 사양 | Google 검색 센터  |  Google Developers

로봇 메타 태그를 추가하는 방법과 페이지 및 텍스트 수준 설정을 사용하여 Google이 검색결과에 콘텐츠를 표시하는 방식을 조정하는 방법을 알아보세요.

developers.google.com

 


 

연관 아티클

  • robots.txt 파일로 검색엔진 크롤링 범위 지정하기

 

robots.txt 파일로 검색엔진 크롤링 범위 지정하기

SEO의 핵심은 바로 콘텐츠다. 하지만 단가가 높은 키워드일수록 콘텐츠만으로는 승부를 보기 어려워지고, 결국 기술적인 부분의 도움을 받을 수밖에 없게 된다. 여기서 기술적인 부분이란 웹사