구글 검색시 순위 올리기

아직 진행중이지만, 구글 댄스로 인해 많은 블로그의 페이지 랭크에 변화가 있습니다. 재미있는 것은 한국의 유명한 블로그 혹은 메타블로그의 랭크가 5에 수렴한다는 사실인데요, 이것으로 페이지 랭크 알고리즘을 추적해 볼 수 있습니다.

구글의 웹 검색 순위는 페이지 랭크를 이용하는 것으로 알려져 있지만, 지금에 와서는 이 말은 전혀 틀린 이야기가 됩니다. 페이지 랭크 알고리즘에 따르면 새로 만들어진 웹문서가 전적으로 불리하게 작용합니다. 따라서, 구글은 페이지 랭크에 개인화 검색 결과를 섞어서 순위를 정하게 됩니다. 구글에서 “핵실험”으로 검색을 할 경우, 많은 뉴스 페이지들을 볼 수 있고, 그 문서가 만들어진 날짜가 보통 10월 이후입니다.

하지만, 페이지 랭크 값이 높으면 왠지 자신의 웹사이트가 유명해 진 것 같은 기분이 들기도 합니다. 검색 결과에 있어서 페이지 랭크 값은 예전에 비해서 중요도가 많이 떨어졌지만, 그럼에도 불구하고 웹사이트를 알리는데 많은 도움을 주고 있습니다.

이상한 현상 1. 한국 블로그는 랭크 5 이상이 없다?

구글 댄스가 진행되면서 대부분의 유명 블로그는 랭크 5를 얻고 있습니다. 하물며, 올블로그나 미디어몹, 블로그플러스 등의 메타 사이트들도 5를 넘지 못합니다. 그렇다면 구글 한국 공식 블로그의 랭크는 몇일까요? 무려 7입니다. 랭크 7은 네이버보다 높고, 다음이나 조선일보와 같은 값입니다.

올블로그보다, 네이버보다 구글 한국 공식 블로그가 더 인기있다는데 동의할 사람이 있을까요?

랭크 5를 넘는 블로그는 한국에는 구글 한국 공식 블로그 외에 없는 것으로 보이고, 메타 블로그의 경우는 이글루스가 랭크 6, 다음 블로그가 랭크 6을 얻고 있습니다. 다음은 그렇다 쳐도 이글루스의 랭크 6은 어떻게 얻어졌을까요?

이 내용은 이후에 알아보기로 하고, 한국 블로그의 최고 랭크는 현재까지 구글 공식 블로그를 제외하고 최대 5라는 것은 이후의 글을 이해하는데 도움이 됩니다.

이상한 현상 2. 왜 5이상의 블로그는 존재하지 않는가?

블로그는 태생이 링크로 묶여 있는 커뮤니티이기 때문에 구글의 페이지 랭크에 매우 강합니다. 구글은 링크가 많은 페이지가 더 중요하다고 보기 때문인데요, 그렇다면 블로그는 다른 페이지들 보다 높은 랭크를 얻어야 합니다. 그리고, 그 점수도 빠른 속도로 올라가야 합니다.

페이지 랭크를 주의깊게 본 사용자라면 영문 페이지들이 한글 페이지보다 일반적으로 더 높은 값을 갖는다는 사실을 알 것입니다. 그리고, 이런 이유로 블로그로 돈을 벌려면 영문으로 해야 한다고 주장하기까지 합니다. 과연 영문 블로그가 일반적으로 한글 블로그보다 방문자가 많을까요? 그래서 랭크가 높게 나오는 것일까요?

그리고, 하필이면 왜 5 이상의 블로그는 없을까요?

이상한 현상 3. 바캠프(BarCamp) 한국 페이지는 왜 6일까?

바캠프 서울은 생긴지 오래되진 않았습니다. 그리고, 일반인들에겐 잘 알려져 있지 않습니다. 블로그를 둘러보아도 많은 링크가 있다고 보기도 어렵습니다. 하지만, 바캠프 서울의 랭크는 6. 이 점수는 어떻게 나온 것일까요? 과연 페이지 랭크는 백링크가 많은 웹페이지에 높은 점수를 부여하긴 하는 것일까요?

진실 1. 트러스트 랭크(TrustRank)

페이지 랭크가 알려지고, 구글 검색에 대한 SEO, 즉 검색 엔진 최적화라는 말이 생기면서 스팸이 빠른 속도로 늘었습니다. 스패머는 자동으로 페이지를 생성해서 서로 링크를 거는 방식으로 구글의 상위에 위치하는 방법을 썼는데, 이 부분은 팔글에서도 다룬 바 있습니다.

이런 이유로 생긴 것이 트러스트 랭크인데, 요약하면 구글은 랭크 10짜리 사이트를 인위적으로 정합니다. 공정성을 기하기 위해서 오픈 디렉토리에 등록된 웹사이트를 이용할 수도 있습니다. 아무튼 어떤 인위적인 방법으로 높은 점수의 웹사이트를 정하고, 거기에 링크된 웹페이지들의 점수를 계산합니다.

이런 이유로 영어로 된 웹사이트들의 점수가 더 높은 것입니다. 즉, 현재 랭크 10을 달리고 있는 구글닷컴(google.com), 애플닷컴(apple.com) 등에 링크가 걸린 웹페이지들은 왠만해선 7 이하로는 떨어지는 법이 없습니다. 따라서, 구글의 공식 블로그들은 매우 높은 랭크값을 얻을 수 있습니다. 구글 한국 공식 블로그의 랭크 7도 이런 것으로 설명이 됩니다.

서울대 웹사이트(랭크 8 )를 보면 재미있는 사실을 알게 됩니다. 서울대 첫페이지에는 각 과별 웹사이트가 링크되어 있는데, 랭크를 확인해 보면 보통 랭크 5 이상은 된다는 것을 알 수 있습니다. 서울대 메인 페이지에 링크가 걸린다면 손쉽게 랭크 7 까지는 올릴 수 있겠지요.

진실 2. 롱테일 이론은 통하지 않는다

아무리 많은 백링크를 갖고 있는 웹페이지라도 트러스트 랭크를 통하지 않고는 일정 점수 이상 오르기는 불가능합니다. 다음은 정말 많은 백링크를 가지고 있는 한국의 대표 포털이지만, 겨우 페이지 랭크는 7, 네이버는 6입니다. 그리고, 다음 메인에 링크가 되어 있는 다음 블로그는 랭크 6.

한국에서 랭크 7을 넘기위해서는 어떻게 해야 할까요?

진실 3. 블로그는 악마의 5를 뛰어넘을 수 없다

물론 이 말은 현재의 진실이지만, 미래의 진실일 수는 없습니다. 왜냐하면 한국엔 구글 공식 블로그가 있기 때문입니다. 현재 구글 공식 블로그의 랭크는 7. 그 곳엔 십여개 블로그의 링크가 걸려 있습니다. 이삼구글도 그 곳에 링크가 있어서, 구글 댄스 이후의 값은 랭크 5. 그리고, 김중태 블로그도 역시 랭크 5입니다.

만약, 한국 블로고스피어에 페이지 랭크 5를 돌파하는 일이 발생하려면, 6 이상의 웹사이트에 고정 링크가 있어야 합니다. 세가지 시나리오가 있을 수 있습니다.

1. 다음 블로그 메인페이지에 블로그로 향하는 고정 링크가 존재
2. 이글루스 메인페이지에 블로그로 향하는 고정 링크가 존재
3. 구글 한국 공식 블로그에 고정 링크가 존재

3번은 현재에도 있는 것이니만큼, 한국 블로고스피어의 랭크 값이 올라가려면 김중태 블로그나 이삼구글 블로그가 랭크 5를 넘어야 합니다. 아니면, 1,2와 같은 방법이 적용되어야 합니다. 그렇지 않기 때문에 현실적으로 랭크 6 이상의 블로그는 현존하기가 매우 힘듭니다.

능동적 시나리오

페이지 랭크에 목숨걸 일은 없지만, 재미로 한다면, 블로고스피어의 전체적인 랭크 값을 올리기 위해, 우선적으로 높은 랭크 값을 갖는 웹페이지에 어느 한 블로그가 링크되는 일이 발생되어야 합니다. W3C(랭크 10)도 좋고, PHP.net(랭크 9)도 좋습니다. 한국에선 외국에 인용이 많이 되는 에트리(etri.re.kr, 랭크 9)가 좋겠죠. 아무튼, 이런 웹사이트 메인에 블로그 링크가 걸려야 합니다.

일단, 그런 블로그의 랭크 값이 올라가면, 그 블로그는 자신이 좋다고 생각하는 블로그를 자신의 메인 페이지에 걸어줍니다. 그리고, 그런 식으로 밑으로 뻗어나아가면 전체적인 블로그 점수가 높아집니다.

이상은 구글 댄스가 진행 중이어서 생각해 본 이삼구글의 가상 시나리오 입니다. 툴바가 설치되지 않았다면, 리플넷에서 제공하는 페이지 랭크 알아보기를 이용해 보세요. livepr에선 더 자세한 값을 알 수 있습니다.

이 모든 것이 복잡하다고 생각한다면, 페이지 랭크를 살짝 무시해버리는 센쓰가 필요합니다. 🙂

Update

페이지 랭크 6의 블로그가 존재합니다. 역시, 구글 한국 공식 블로그에 링크된 두 곳입니다. 김중태 블로그 중 구글(Google) 관련 글 모음과 하늘은 블루님의 블로그 (하늘은 블루님 감사~)

Update2

페이지 랭크는 웹사이트의 랭크가 아닌 “페이지”의 랭크입니다. 첫페이지만을 이야기 한 이유는 일반적으로 첫페이지 랭크가 가장 높기 때문이고, 그렇지 않은 경우도 많이 있습니다. 김중태 블로그의 경우도 첫페이지 보다는 구글 관련 글 모음 쪽이 랭크가 높습니다. 이삼구글 블로그도 구글 댄스 전에는 첫페이지 보다는 사이트맵(blog.repl.net/index.php/sitemap/) 쪽의 랭크가 더 높았습니다.

Update3

한국에서 랭크 5를 넘는 블로그가 존재합니다. 개발관련 웹사이트에 링크가 됐기 때문으로 풀이가 됩니다.

사이트 트래픽의 주범 웹봇 차단하기 – robots.txt

트래픽초과에 이제는 지쳤다. 결국 검색사이트의 로봇을 차단하기로 결정. 그 방법을 검색해서 가장 마음에 들게 정리한 부분을 발췌.

아래 내용을 읽고 내가 사용하고자 하는 robots.txt의 내용은 아래와 같이 했다.

User-agent: Googlebot
Disallow: /

User-agent: Googlebot-Image
Disallow: /

User-agent: Slurp
Disallow: /

User-agent: yahoo-blogs/v3.9
Disallow: /

User-agent: *
Crawl-delay: 1200
Disallow: /data/
Disallow: /blog/attach/

==================================================

robots.txt파일을 생성해야 하는 이유는 크게 두가지입니다. 트래픽을 조절할 수 있다는 것과 다른 사람에게 알리고 싶지 않는 정보를 보호하기 위해서 입니다. 이 파일의 역할을 당신의 블로그를 방문하는 로봇들에게 사이트를 검색하게 허용할 것인지, 허용한다면 어떤 로봇에게, 어떤 디렉토리를 허용할지를 담고 있는 파일입니다.

윈도우의 경우 메모장을 이용해서 생성하면 되는데요, 파일은 반드시 계정의 최상위(root) 디렉토리에 있어야 합니다. 이를테면 제 사이트 http://bklove.info/ 라면 http://bklove.info/robots.txt 에 위치해야 합니다. http://bklove.info/temp/robots.txt 라면 제대로 작동하지 않습니다.

파일의 내용은 크게 세 부분으로 나뉩니다.
주석(#), 로봇의 이름을 적는 부분(User-agent) , 방문을 허용하지 않을 디렉토리를 적는 부분(Disallow)으로 구분됩니다.

User-agent: *
Disallow: /
위처럼 적으면 모든 로봇에서 모든 디렉토리에 대한 검색을 불가능하게 하겠다는 뜻을 담고 있습니다. [*]는 User-agent에서만 사용가능한데 [모든 로봇]이라는 뜻을 지니고 있습니다. Disallow의 [/]는 디렉토리에 있는 모든 폴더를 나타내는 것이구요.

만약 특정 디렉토리를 차단하게 하려면 다음과 같이 적어주면 됩니다.

User-agent: *
Disallow: /blog
위는 모든 로봇[*]에게 [blog]디렉토리 아래에 있는 부분에 대해서는 접근을 차단한다는 내용을 담고 있습니다.

그렇다면 특정 로봇을 차단하는 방법은 어떤게 있을까요? 이를테면 사이트에서 네이버의 로봇이 활동하게 하지 못하는 방법은 다음과 같습니다.

User-agent: Cowbot
Disallow: /
Cowbot은 네이버 로봇의 이름입니다. 위처럼 작성해주시면 네이버 로봇의 경우 검색을 하지 못하게 됩니다.

조금 복잡하게 구글과 네이버는 허용하고, 그외에는 모두 차단하는 방법은 다음과 같습니다.

User-agent: Cowbot
Disallow:

User-agent: Googlebot
Disallow:

User-agent: *
Disallow: /


Disallow에 아무적도 적지 않으면 모두 허용한다는 의미가 되기 때문이죠.
/blog와 /blog/는 조금 다릅니다.
/blog의 경우는 /blog/a.htm와 /blog.htm에 대해서 불가능한 것이고
/blog/의 경우는 /blog/a.htm에 대해서만 불가능 합니다.
즉 /blog는 디렉토리와 파일까지도 포함하고, /blog/는 디렉토리만을 의미하거든요.


앞서 트래픽을 아끼기 위해서 이미지 로봇을 차단하는 방법은 다음과 같습니다. 참고로 원래는 Disallow항목에 *표시를 넣을 수 없습니다. 이 명령어는 구글과 MSN등에서만 통용되구요. 파일명 뒤에 반드시 $표시를 해주셔야 합니다. 즉 모든 검색엔진에서 통용되지는 않습니다.

User-agent: Googlebot-Image
Disallow: /*.gif$
Disallow: /*.jpg$
위 문장은 구글의 이미지를 검색하는 로봇에게 gif와 jpg로 된 이미지를 모두 검색하지 않도록 하는 명령어입니다.

참고로 주석문을 작성하기 위해서는 앞에 #를 적어주시면 됩니다. 로봇의 이름은 개별 검색사이트를 방문하셔서 아셔야 합니다. 주로 쓰는 로봇의 이름만 알려드리면…
구글: Googlebot
구글 이미지 : googlebot-image
네이버 : cowbot
야후 : Slurp
야후 이미지 : Yahoo-MMCrawler
엠파스봇 : empas
MSN : MSNBot
첫눈: 1Noonbot 1.0

차단했을 경우에, 즉시 삭제되는 것은 아니지만 시간이 지나면 검색포털에서의 검색 결과 역시 삭제된다는 사실을 염두에 두셔야 합니다.


* Crawl-Delay 항목을 지정하시면 검색엔진의 방문을 지연시킬 수 있습니다. 기본단위는 초단위입니다. 아래의 명령어 역시 위의 *.jpg$처럼 야후, MSN에서만 작동됩니다.

User-agent: Slurp
Crawl-delay: 20


이렇게 하시면, 모든 검색로봇의 방문을 허용하되 5초동안은 다시 방문을 하지 않도록 지정하게 됩니다.


** http://www.mcanerin.com/EN/search-engine/robots-txt.asp 이곳에 가시면.. 비록 외국 사이트긴 하지만.. robots.txt를 제작해줍니다. ^^!! 고르기만 하면 자동으로 파일을 생성해주죠. 가져와서 메모장에 붙여놓고 저장후 FTP로 올리면 됩니다.

*** http://tool.motoricerca.info/robots-checker.phtml 이곳은 만들어진 robots.txt파일이 잘 작성되었는지 검사해주는 사이트입니다.

**** 끝으로 제가 사용하고 있는 robots.txt는 http://bklove.info/robots.txt 여기서 확인이 가능합니다. 야후의 경우 시간을 지연시키는 명령어를 사용했고, 구글과 구글이미지, MSN의 경우 이미지와 PDF, ZIP, PPT파일에 대한 검색을 차단했습니다.