크레도스 2013. 10. 30. 16:58

contents
  1. SEO(search engine optimization)란?
  2. 검색 엔진 서비스의 역사
  3. 검색사이트 종류
  4. SEO Technical Guidelines(공통)
  5. SEO Technical Guidelines(구글)
  6. 네이버 SEO
SEO(search engine optimization)란?

SEO의 뜻은 '검색엔진 최적화(search engine optimization)' 또는 '검색엔진 최적화도구(Search Engine Optimizer)' 말한다. 검색사이트는 인터넷 상에 산재해 있는 제반 정보를 미리 수집하고 이를 체계적으로 저장한 후, 사용자가 원하는 정보를 수시로 찾을 수 있도록 해주는 일종의 데이터 베이스 관리 사이트이다. 고전적인 데이터베이스(정보)를 자신이 직접 보유하고 있는 반면에, 검색엔진은 다른 곳에 존재하는 정보에 대한 중계 연결 정보만을 보유하여 제공한다. 그래서 사이트에서 SEO작업을 하면 검색사이트에서 노출 알고리즘에 따라 신뢰성이 높은 사이트로 인정되어 가시성에 좋은 위치에 놓이게 되고 보다 많은 방문수를 유도할 수 있다.

검색 엔진 서비스의 역사

웹 검색 솔루션은 공개적으로 운영되는 특성 때문에 해마다 취급하는 정보의 양이 기하급수적으로 늘어나게 됨에 따라 시장과 사용자의 요구에 따라 계속 변해왔다.

1세대 검색 엔진, 디렉터리 검색 엔진

전 세계 인터넷 페이지가 수천만 페이지에 불과했던 초기에는 사람이 좋은 사이트를 선별하여 정리해 놓은 야후의 디렉터리 검색 엔진이 주류였다.

2세대 검색 엔진, 1세대 로봇 검색 엔진

인터넷 페이지가 억 단위로 증가하자 더 이상 사람이 사이트를 선별하는 것이 무의미해졌고, 사용자들은 디렉터리 검색 엔진이 찾아 주지 못하는 더 많은 정보를 검색하고자 하는 욕구가 생겼다. 이에 따라, 웹봇(webbot) 또는 에이전트(agent)를 이용한 로봇 검색 엔진이 등장하게 되었으며, W3C 의 세계로봇규약을 표준 규약에 따라 알타비스타, 핫봇, 익사이트와 같은 검색 엔진이 서비스 되었으나 잘 정리되지 못한 결과를 보여 주는 1세대 로봇 검색 엔진은 사용자의 호응을 얻지 못하였다.

2.5세대 검색 엔진, 디렉터리와 로봇의 응용 검색 엔진

로봇검색 엔진은 많은 정보를 찾아 주기는 하였지만, 1세대 검색 엔진인 야후와 같이 엄선되고 정리된 느낌의 검색결과를 보여주기에는 역부족이이었다. 또한, 로봇검색 엔진의 검색로직이 모두 다르다 보니 특정 검색어에 따라 특정 검색 엔진의 결과가 좋을 수 있었다. 이러한 이유로 메타 검색 엔진이 등장하였는데, 메타 검색 엔진은 자체적으로 정보를 보유하고 있지는 않으면서, 다른 검색 엔진 서비스 회사들의 검색결과를 실시간으로 가져와 정리해서 보여주는 방식이다. 대한민국에도 미스다찾니와 같은 메타 검색 엔진이 있었지만 지금은 사라졌으며, 대한민국 밖에서는 마이서치, 독파일 등이 서비스 되고 있다. 또한, 대한민국에서는 이 2.5세대 검색 엔진 중 디렉터리 검색 엔진의 장점과 로봇 검색 엔진의 장점을 잘 혼합한 형태의 서비스가 등장하여 지금까지 주류를 이루고 있는데, 네이버, 다음, 엠파스, 파란 등이 그 대표적인 예이다.

3세대 검색 엔진, 2세대 로봇 검색 엔진

알타비스타와 같은 1세대 로봇 검색 엔진은 여전히 매우 많은 양의 검색결과를 가져오지만, 검색결과 첫 페이지에서 클릭하고 싶은 정보가 노출되기 쉽지 않은 구조를 가지고 있다. 그러한 이유로, 알타비스타는 세계최초의 글로벌 로봇 검색 엔진이었음에도 시장을 거의 점유하지 못하였다. 하지만. 2세대 로봇 검색 엔진으로 구글이 등장하게 되는데, 이 구글은 페이지랭크(Page Rank)를 통해, 첫 페이지에 클릭하고 싶은 정보가 노출되게 하는 로직을 적용하였다. 이러한 검색 엔진 방식은 2008년 현재 전 세계적으로 가장 앞서 있는 기술로 평가되고 있으며, 한국, 일본 등 아시아 몇 개 나라를 제외하고는 북미, 유럽 등 전 세계에서 적어도 50% 이상의 점유율을 확보하고 있다.

4세대 검색 엔진, 3세대 로봇 검색 엔진

2008년 현재 4세대 검색 엔진은 흔히 차세대 검색 엔진이라고 불린다. 그 이유는 기존의 검색 엔진 서비스의 변화에서 가장 큰 변화를 가져올 것이 예상되기 때문이다. 1세대 검색 엔진부터 3세대 검색 엔진까지 약 20년 동안 모든 검색 엔진은 좋은 정보를 찾아내기 위한 방법으로 사용자가 입력한 검색어와 동일한 단어가 들어가 있는 페이지를 찾는 즉 키워드 검색 엔진에 기반을 두어 왔다. 하지만, 4세대 검색 엔진은 키워드 기반이 아닌 의미 기반의 검색 방법을 사용한다. 대표적으로 하키아와 큐로보는 시맨틱랭크를 사용한다. 이 4세대 검색 엔진 서비스는 기존 검색 엔진의 요구와 달리 사용자 인터페이스면에서도 다른 시도가 있어 왔다. 대표적으로 마이크로소프트사의 윈도 비스타에 내장된 사용자 시각 인터페이스를 적용한, 서치미와 레드지등이 있으며, 한국에는 비주얼큐로보가 있다.

검색사이트 종류

검색 사이트마다 사용하고 있는 검색엔진이 틀리다. 자동화된 로봇 프로그램이 웹 페이지 문서를 수집해오는 웹 페이지 검색 엔진(구글)과 사람들이 주제별로 웹사이트 주소록을 정리하는 디렉터리 검색 엔진(야후), 나눌 수 있으며, 우리나라에서는 지식인으로 통해 질문과 답변을 데이터베이스로 구성해서 필요한 정보를 제공하는 독창적인 검색방식(네이버)이 있다.


(네이버)

(구글)

초창기에는 정보를 검색할 수 있는 사이트의 수가 적어서. 네이버나 야후와 같은 검색사이트가 국가별 검색엔진 시장 점유율이 높았으나 시일이 지날수록 구글과 같은 웹 페이지 검색 엔진의 시장 점유율이 높아지고 있다.

아래는 2009년 3월 구글 검색엔진의 전세계 국가별 검색엔진 시장점유율 내용이다. 조사기관에 따라 오차가 있있지만, 큰 차이는 없기 때문에 한 블로그에서 조사한 내용을 캡쳐했다.

아래는 2010년 구글의 평균 전세계 검색엔진 시장점유율이다.

위의 표를 보면 한국(3%), 중국(26%), 일본(38%)의 예외적인 아시아 몇나라를 제외하고 전세계로 평균 80% 이상의 점유율을 가지고 있다. 그래서 구글 점유율이 높은 유럽국가들의 경우에는 사이트에 SEO가 꼭 들어가야 한다.

검색결과를 만드는 알고리즘은 검색엔진마다 다르다. 핵심적인 기능은 경쟁력 약화를 우려해 기업마다 일급비밀로 하기 있다. 그래서 IGK 와 같은 컨설팅사는 각 검색사이트의 리서치를 통해 랭킹 알고리즘을 파악한다. 이후에 나오는 SEO Technical Guidelines는 구글을 기준으로 기술한다. Worldwide Hyundai Motor Company의 SEO Technical Guidelines 는 가장 점유율이 높은 구글의 랭킹 알고리즘(페이지링크 알고리즘)을 기본으로 하였다.

SEO Technical Guidelines (공통)
Link
  • 모든 링크와 경로는 도메인까지 붙는 절대경로로 나타낸다.
  • Crawler의 정보 수집의 우선순위를 보면 텍스트링크, 이미지링크, 텍스트, 이미지순이다.

1.1 텍스트 링크

텍스트 링크가 가장 우선 순위가 높다. 검색엔진이 알아볼 수 있는 키워드로 구성하는 것이 바람직하다.

1.2 텍스트

텍스트 그리고 이미지 순으로 우선순위가 되나 이미지는 최대한 사용하지 않고 텍스트를 사용하는 것이 바람직하며 도메인명, 디렉토리명, 파일명, 텍스트 등 의미 또는 키워드가 되는 단어로 구성하고 소문자로 구성되는 것이 바람직하다. 예를 들어 Worldwide Hyundai Motor Company 경우에는 heading tag의 키워드를 높이기 위해 앞에 hyundai라는 단어를 붙이고 텍스트로 작성 하였다.

1.3 이미지 링크

이미지도 마찬가지로 검색엔진이 알아볼 수 있는 키워드로 파일명을 하는 것이 좋다. 텍스트나 파일명으로 크롤링(crawl)되기 때문이다. alt의 값을 대체 텍스트 일뿐이지만 <img> 태그의 alt 속성의 내용과 이미지 파일명이 같으면 좋다.
예를 들어 아래와 같은 이미지가 있다면

<img src="http://worldwide.hyundai.com/images/Web/company/Dear-Hyundai-Customers.gif" alt="Dear Hyundai
Customers">
File Name (도메인명, 디렉토리명, 파일명, 텍스트 모두 동일)

File Name은 의미에 맞는 키워드 문구로 만들어져야 한다. 특히 여러개의 키워드문구로 구성될때는 문구사이를 “_”것가 아닌 “-“을 사용해야 한다. 구글의 경우에는 글자수 제한이 없다.


(Hyundai Worldwide에서 사용한 File Name)
http://worldwide.hyundai.com/company-overview/responsibility/philosophy.html
http://worldwide.hyundai.com/company-overview/responsibility/economic-responsibility-summary.html
http://worldwide.hyundai.com/company-overview/responsibility/social-responsibility.html
디렉토리 depth

디렉토리 구조는 간단해야 한다. 주요 카테고리를 찾기 위한 디렉토리 구조가 4개보다 더 깊게 만들어지지 않아야 한다.
또 main, submain, sitemap 등 중요한 파일은 root에 존재하여야 한다.

타사이트 이동 방지

타사이트 링크를 따라 Crawler 이동을 방지하기 위해 타 사이트 link 속성을 가진 A 링크에 rel="nofollow“ 속성을 넣는다.
Hyundai Worldwide SEO 작업시엔 공통영역에서 특히 GNB와 같은 상단 공통에서는 타사이트 링크 사용을 지양한다고 권고했다.

<a href="http://fifaworldcup.hyundai.com/" target="_blank" rel="nofollow"> <img src="/Images/Web/main/worldcup_banner.jpg" alt="2010 FIFA WORLD CUP"></a>
Html페이지에서 include 방법

SEO에서 javascript는 사용되어서는 안된다고 한다. 소스보기를 할경우 해당 href 의 link 정보를 통해 크롤링 되기 때문이다. 하지만 일반적으로 Html페이지에서 include는 자바스크립트를 생각한다. Html 페이지에서도 서버 include 가 가능한 Tip 소개한다.

서버에서 아래처럼 설정을 바꿔준다.

Html페이지에서 아래처럼 include 한다.

<!-- #include virtual="/include/gnb.html" -->
SEO Technical Guidelines (구글)
Navigation

내비게이션 구조는 사용자 경험이나 SEO에 있어 매우 중요하다. 검색엔진은 내비게이션의 hypertext link (하이퍼텍스트 링크)를 통해서 웹 페이지를 긁어오게 된다. 복잡한 구조의 컨텐츠까지도 잘 접근할 수 있도록 구성된 내비게이션 구조가 아니라면, 아무리 최적화된 컨텐츠라 할지라도 검색엔진이 인덱싱 하기에 어려울 수 있다.

2.1 Links from global navigation (i.e. links in headers and footers) - GNB

Header와 Footer와 같이 주요한 컨텐츠 영역에서 키워드로 구성된 링크는 사용자뿐만 아니라 검색엔진 입장에서도 페이지의 구조를 정의하는데 도움이 된다.
보통 한국 사이트는 Header는 플래시로 Footer는 navigation이 없는 경우가 대부분이다. Worldwide Hyundai Motor Company 마찬가지였다. Header의 플래시는 텍스트링크로 수정하는 것이 가장 좋은 방법이나, 플래시는 수정범위에 속하지 않았기 때문에 Footer를 이용했다.

주의할 점은 한페이지에 모든 링크의 숫자가 100개를 넘지 말아야 한다. 그래서 Worldwide Hyundai Motor Company 의 사이트맵에서는 쇼룸 사이트맵을 따로 만들어서 사이트맵의 이원화 했다. 파란 부분이 해당 부분이다.

2.2 Breadcrumb trail

Breadcrumb은 홈페이지로부터 현재 페이지로 이끄는 각 카테고리 리스트에 의해 사이트 내에서 그들이 어디에 위치하는지를 보여주는 링크이다. Worldwide Hyundai Motor Company의 경우에는 Breadcrumb 가 다 존재했으나 쇼룸 메뉴에만 없었다. 그래서 쇼룸에 Breadcrumb 넣기 위해 레이아웃 변경이 회의시간에 오고 갔으나, crawler 는 사이트내의 위치정보가 필요한 것이 아니라 다른 페이지의 이동 경로를 위해 Breadcrumb 가 필요하다고 해서 Footer navigation 으로 대체하기로 하고 쇼룸만 예외로 두었다.


(Links from global navigation)

2.3 Sitemaps

사이트맵은 SEO적으로 중요한데, 이를 통해서 검색엔진은 사이트의 깊은 구조의 컨텐츠까지도 도달할 수 있기 때문이다. 친화적인 사이트맵을 위해서는 아래와 같은 사항이 고려되어야 한다.

  • 사이트맵은 텍스트 링크로 항상 구성되어야 한다.
  • 키워드로 구성된 링크를 통해서 컨텐츠와 사용자의 검색 성향을 반영한다.
  • 메인 페이지에서 사이트맵으로 링크가 걸려 있어야 한다

사이트맵은 검색의 집중도를 증가시키기 위해 각 카테고리를 위한 페이지와 모든 상품을 리스트 업 하는 것이 좋은 방법이여서 Worldwide Hyundai Motor Company의 사이트맵에서는 쇼룸 사이트맵을 따로 만들어서 사이트맵의 이원화 했다.


(old Worldwide Hyundai Motor Company site map 화면)

(New Worldwide Hyundai Motor Company site map 화면)

2.4 Body Copy & Image Link

본문내의 link를 말한다. 이러한 링크들은 방문자뿐만 아니라 SEO적으로도 효과적이다. Inline links의 앵커 텍스트(anchor text)는 연결되는 페이지의 최적화를 위한 키워드나 키워드 문구가 포함되어야만 한다. 물론 키워드나 키워드 문구는 이미지가 아닌 텍스트로 되는 것이 바람직하다. 예를 들어 서브메인의 뉴스의 옆에 more 하는 link가 있을 경우 more 는 텍스트여야 하면 more 보다는 hyundai news room 으로 키워드나 키워드문구로 되는 것이 보다 좋다.

2.5 Broken link control

Broken link 는 삭제되거나 다른 위치로 옮겨진 url 혹은 파일을 가리키는 하이퍼 링크(hyper link)이다. Broken link는 사용자뿐만 아니라 검색엔진을 방해하는 요소이다. 검색엔진은 또한 다량의 broken link 를 가진 사이트에 벌칙을 주게 된다. Broken link를 제거하거나 robots.txt의 예의 항목에 이를 포함시키는 것을 권고한다. 예를 들어 Worldwide Hyundai Motor Company에서 더 이상 판매되지 않은 모델 페이지의 링크에 robots.txt를 통해서 부정적일 수 있는 방문자의 경험을 예방하는 것이다.

2.6 Link programming

검색엔진이 링크를 따라가고 컨텐츠를 인덱싱하기 위해서 절대 주소의 URL을 가지는 링크가 매우 중요하다.
예를 들어 아래와 같이

<a href="/web/DownLoad/ScreenSaver.html">  → (X)
<a href="http://worldwide.hyundai.com/web/DownLoad/ScreenSaver.html"> → (O)
<a href="/images/Web/common/txt_main_copyright_03.gif">  → (X)
<a href="http://worldwide.hyundai.com/images/Web/common/txt_main_copyright_03.gif "> → (O)
Labelling

Labelling는 navigation의 일부분이다. Body copy and image links와 같은 개념이다. 앵커 텍스트(anchor text)는 사용자나 검색엔진으로 하여금 링크가 걸린 컨텐츠의 문맥을 이해하는 것을 돕고 또한 최적화하고자 하는 키워드나 키워드 문구를 대상으로 연결되는 페이지 랭크를 도와 준다. 앵커 텍스트(anchor text)는 이미지텍스트를 사용하지 말아야 하며 검색엔진 입장에서 data를 수집할 수 없게 하는 자바스크립트를 사용하지 말아야 한다.

Use of Flash

플래시는 비쥬얼 효과나 인터렉티브한 컨텐츠를 보여줄 수 있는 편리한 방식이나, 검색엔진 입장에서는 인덱싱에 어려움을 겪는 기술이다.

게다가 가장 안 좋은 시나리오는 사용자가 Flash 브라우저 plug-in을 설치하지 않거나 그래서 컨텐츠를 보지 못하는 상황이다. 이런 잠재적인 사용자들에게 보여지는 플래시 페이지는 “죄송합니다, 이 사이트는 닫혔습니다” 와 같은 의미일 뿐이다.

플래시는 꼭 써야 한다면 가장 좋은 방법은 navigation은 html로 작업하고 인덱스부분만 플래시로 작업하는 경우이다. 이 경우도 플래시영역은 plug-in이 설치되지 않았을 경우를 생각해서 텍스트 기반의 컨텐츠를 함께 삽입하는 것이다. 포드 자동차가 그 예이다. http://www.ford.com


(플래시 플러그 인이 설치되었을 때 화면 빨간 부분이 플래시)

(플래시 플러그 인이 설치되지 않았을 때 화면)

둘다 navigation 은 html 로 작업되어 있다.
단 주의할 점은 alternative content에는 navigation 링크는 들어가지 않아야 한다. Broken link로 인덱싱될 수 있다.

아래는 Samsung Imaging 사이트의 alternative content 입니다. http://www.samsungimaging.com/


(플래시 플러그 인이 설치되었을 때 화면)

(플래시 플러그 인이 설치되지 않았을 때 화면)

Ford 와 Samsung Imaging 사이트의 소스를 분석해 보면 alternative content는 스크립트를 사용한 것이 아니라 플래시 밑에 깔려있는 텍스트이다. 그래서 plug-in일 설치되지 않으면 플래시가 보이지 않으므로 그 밑에 가려져 있는 텍스트가 보이는 것이다.

근데 Worldwide Hyundai Motor Company를 작업하면서 보니 플래시 호출 함수에 따라 plug-in이 설치되지 않아도 공백 이미지처럼 빈 플래시가 생겨 밑의 alternative content가 보이지 않을 수 있다.


(플래시 플러그 인이 설치되지 않았을 때 화면)

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="h~~~ 를 document.write 로 직접 호출한 경우나, ford나 삼성, 그리고 Worldwide Hyundai Motor Company에서 사용한 플래시 호출 스크립트를 사용하면 빈공백 플래시 영역이 생기지 않는다. 현대자동차의 홍보나 판매의 수정전의 Worldwide 경우에는 위와 같은 현상이 있었다.

위의 Worldwide Hyundai Motor Company처럼 heading tag를 사용하기 어려운 경우에 alternative content를 이용해서 heading tag를 작업할 수 있다. 하지만 좋은 방법은 아니니 처음부터 heading tag를 사용할 수 있게 기획되는 것이 좋다.


(파란박스는 어느사이트인지와 plug-in의 설치link를 설명한 대체텍스트)
(빨간박스는 앵커 텍스트(anchor text)를 대체텍스트로 작업한 방식)

아래는 해당 소스이다.


(대체텍스트를 작성한 html source 화면)
Use of JavaSript

자바스크립트를 남용하는 것을 권장하지 않으며 이는 텍스트 기반의 컨텐츠와 링크 보다 효과적일 수 없다.
검색엔진 측면에서 자바스크립트를 크롤링(crawl)하기 위한 많은 진전이 있었으나, 여전히 자바스크립트는 검색엔진이 사이트의 컨텐츠를 접근하는 것을 방해하는 요소이다.
게다가 자바스크립트는 상당한 브라우저 리소스를 소비하고 가상메모리는 브라우저가 닫힐 때까지 차지한다.

<a href="/innovation/technology/fuel-cell-vehicles.html" onclick="window.open(this.href, ,’’, ’width-300px,
height=400’); return false">XXXXX</a>
Use of Iframes

iFrame 안의 컨텐츠는 검색엔진에 의해서 크롤링 될 수 없다. 때문에 frame이나 iframe의 사용을 권장하지 않는다.

구글은 다음과 같이 말하고 있다.

“Iframe을 통해서 보여지는 컨텐츠의 경우 인덱싱이 안될 수 있으나, 구글 검색 결과에 나타날 수 있다. 구글은 귀하가 컨텐츠를 보여주기 위해서 iFrame을 사용하는 것을 권장하지 않는다. 만일 귀하가 iFrame을 사용한다면, 이를 위한 텍스트 기반의 링크를 추가적으로 만들어서 구글이 이를 크롤링하고 인덱싱할 수 있도록 하길 바란다.”

그리고 페이지에서 meta나 javascript등의 방법으로 다른페이지로 자동으로 이동하는 페이지는 사용하지 말아야 한다.

<meta http-equiv="Refresh" content="15;URL=http://www.vi-nyl.com">  → (X)
SEO 친화적인 URLs

URL구조는 가능한 단순해져야 한다. 동적 URL구조보다는 정적URL 구조를 강력히 권고한다. URL는 논리적으로 구성되고 중요한 키워드 문구가 각각의 카테고리에 포함될 수 있도록 사이트의 컨텐츠가 구성되어져야 한다. 동적 URL구조라면 가능한 적은 매개변수를 사용하고 “&” 또는 “?” 와 같은 stop문자를 피하는 것을 권한다.

아래처럼 ? 로 연결되는 동적URL는 친화적인 URL 이 아니다.

동적 url http://worldwide.hyundai.com/company-overview/news-view.aspx?idx=268&&nCurPage=1&strSearchColumn=
Sitemap XML

사이트맵은 검색엔진에게 크롤링 할 수 있는 사이트의 페이지들을 알려주는데 있어 편리한 방법이다. 사이트 맵은 가장 간단한 형식인 XML 방식의 파일로 사이트 내의 각각의 URL정보를 보여주며(업데이트 주기, 변경되는 주기, 각 페이지의 중요성, 다른 URL과의 관련성) 검색 엔진이 사이트를 크롤링하는데 웹페이지가 반드시 검색 엔진에 포함되는 것은 아니지만 보다 더 지능적으로 할 수 있게 도와준다.

Worldwide Hyundai Motor Company의 사용된 Sitemap XML 입니다.

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/09/sitemap.xsd"> <url> <loc>http://worldwide.hyundai.com/car-screensaver-downLoads.html</loc> <priority>1.0</priority> <lastmod>2010-04-12T18:01:35+09:00</lastmod> <changefreq>weekly</changefreq> </url> <url> <loc>http://worldwide.hyundai.com/contact-us.aspx</loc> <priority>0.5</priority> <lastmod>2010-04-12T18:01:37+09:00</lastmod> <changefreq>weekly</changefreq> </url> ~~~~ ~~~~ </urlset>

Sitemap XML 작성 방법은

  • Sitemap 프로토콜 형식은 XML 태그로 구성된다.
  • Sitemap의 모든 데이터 값은 엔티티 이스케이프되어야 하며 파일 자체는 UTF-8로 인코딩되어야 한다.
  • <urlset> 태그로 시작해 닫는 </urlset> 태그로 끝나야 한다.
  • <urlset> 태그 안에 네임스페이스(프로토콜 표준)를 지정한다.
  • 각 URL의 <url> 항목을 상위 XML 태그로 포함시켜야 한다.
  • 각 <url> 상위 태그에 <loc> 하위 항목을 포함시켜야 한다.
  • 나머지 태그는 모두 옵션이다. 이러한 옵션 태그에 대한 지원 여부는 검색 엔진에 따라 다를 수 있다. 자세한 내용을 보려면 각 검색 엔진 설명서를 참조하면 된다.
  • Sitemap의 모든 URL은 호스트가 하나여야 한다. 만약한 개의 호스트에서 호스트 여러 개에 대한 Sitemap을 제출하려면 Sitemap에 제출할 URL의 호스트를 소유하고 있다는 사실을 "증명"해야 한다.
  • Sitemap 파일마다 URL을 50,000개까지만 포함할 수 있으며 파일 크기는 10MB(10,485,760바이트)를 초과할 없다. 필요한 경우 대역폭 요구사항을 줄이기 위해 gzip을 사용하여 Sitemap 파일을 압축할 수 있으나 파일을 압축을 풀었을 때에도 10MB를 초과하면 안되다.
  • URL이 50,000개이상이면 여러개의 Sitemap을 생성할 수 있다. 이 경우 Sitemap 색인 파일에 각 Sitemap 파일을 나열해야 한다. Sitemap 색인 파일에서는 Sitemap을 1,000개까지만 나열할 수 있고 크기는 10MB를 초과할 수 없다. 단, 압축할 수 있으며 Sitemap 색인 파일을 두 개 이상 만들 수 있다.

일반적으로 사이트 구축 후 xml 문서를 만든다. Sitemap 파일의 위치에 따라 해당 Sitemap에 포함될 수 있는 URL 집합이 결정된다. 예를 들어 http://example.com/catalog/sitemap.xml에 위치한 Sitemap 파일은 http://example.com/catalog/로 시작하는 모든 URL을 포함할 수 있지만 http://example.com/images/로 시작하는 URL은 포함할 수 없한. 그래서 root에 위치한다.

Sitemap 파일을 만들고 귀하의 웹서버에 이를 배치한 경우, 해당 프로토콜을 지원하는 검색 엔진에 Sitemap 파일의 위치를 알려야 한다. 방법은 다음과 같다.

  • 검색 엔진 제출 인터페이스를 통해 제출하기
  • 사이트의 robots.txt Sitemap 위치 지정
  • HTTP 요청을 통해 Sitemap 제출하기

<< 참고 사이트 >>
http://www.sitemaps.org/ko/protocol.php

Robots.txt

Robots.txt 파일(로봇 배제 표준 파일)란 구글 등 검색 로봇이 정보 수집을 위해 사이트를 방문할 경우를 대비하여, 검색 로봇에 대한 웹사이트의 디렉토리 및 파일 들에 대한 검색 조건을 명시해 놓은 국제 규약이다. 정상적인 검색로봇은 사이트 방문 시 가장 먼저 웹사이트의 로봇 배제 표준파일(robots.txt)를 확인하고, 파일에 명시된 사항을 준수하면서 웹사이트의 컨텐츠를 수집한다. 그래서 Robots.txt는 트래픽을 조절할 수 있다는 것과 다른 사람에게 알리고 싶지 않는 정보를 보호하기 위해서 사용하는 검색에 대한 노출의 제한이라는 성격을 가진다. Robots.txt 차단하였을 경우 즉시 삭제되는 것은 아니나 시간이 지나면 검색포철에서 검색 결과 역시 삭제된다는 사실을 염두해 두어야 한다.

Robots.txt 작성 방법

  • URI는 대소문자 구별한다.
  • /robots.txt 문자열은 모두 소문자이어야 하며, 공백은 허용되지 않습니다.
  • Disallow항목에 *표시는 구글과 MSN등에서만 통용되기 때문에 넣을 수 없다. 파일명 뒤에 반드시 $표시를 해주셔야 합니다. 즉 모든 검색엔진에서 통용되지는 않습니다.
  • 주석문을 작성하기 위해서는 앞에 #를 적어주시면 됩니다
  • 모든 로봇에 대한 모든 디렉토리 검색 허용시
    User-agent:*
    Disallow:
    User-agent: webcrawler
    Disallow:
  • 모든 로봇에 대한 모든 디렉토리 검색 거부시
    User-agent:*
    Disallow:/
  • 모든 로봇에 대한 서버 일부분만 검색거부시
    (예: /secure 디렉토리, /policy 디렉토리만 검색거부)
    User-agent:*
    Disallow:/secure/
    Disallow:/policy/
  • "Disallow"(이용 안함) 필드는 방문 할 수 없는 부분 URI를 지정한다한. 이는 완전 경로(full path) 또는 부분 경로가 될 수 있다. 이 값으로 시작되는 URI는 읽혀지지 않을 것이다. 예를 들어
    Disallow:/help  → (/help.html과 /help/index.html 둘 다 허용 안함)
    Disallow:/help/ → (/help/index.html는 허용 안하나, /help.html은 허용 됨)
  • 네이버 로봇만 검색 거부시
    >User-agent: Cowbot
    Disallow:/
    User-agent: Googlebot
    Disallow:
    User-agent:*
    Disallow:
  • gif와 jpg로 된 이미지를 모두 검색하지 않도록 하는 경우
    >User-agent:Googlebot-Image
    Disallow: /*.gif$
    Disallow: /*.jpg$
  • Crawl-Delay 항목을 지정하시면 검색엔진의 방문을 지연시킬 수 있습니다. 기본단위는 초단위입니다. 아래의 명령어 역시 위의 *.jpg$처럼 야후, MSN에서만 작동됩니다.
    >User-agent: Slurp
    Crawl-delay: 20

Robots 이름

  • 구글: Googlebot
  • 구글 이미지 : googlebot-image
  • 네이버 : cowbot
  • 야후 : Slurp
  • 야후 이미지 : Yahoo-MMCrawler
  • 엠파스봇 : empas
  • MSN : MSNBot

Robots Meta 요소를 사용하면 각 페이지 별로도 검색엔진에 의해서 인덱싱 되거나, 링크를 따라가거나 혹은 페이지가 저장되는 부분을 조절할 수 있다.

새로운 사이트가 일단 구축되면 중복 컨텐츠 뿐 아니라 중요한 컨텐츠, 개인적인 페이지, 이미지 디렉토리의 인덱싱을 허용하지 않을 수 있다. Robots.txt 의 좋은 예는 인덱스될 수 있는 중복 컨텐츠와 특정 디렉토리의 접근을 차단한 New York Times이다.

Sitemap XML도 마찬가지 이지만 Robots.txt도 파일 생성해주는 사이트들이 있습니다. 몇군데 소개합니다.

  • http://www.mcanerin.com/EN/search-engine/robots-txt.asp : 자동으로 파일을 생성해주는 사이트
  • http://tool.motoricerca.info/robots-checker.phtml : robots.txt파일이 잘 작성되었는지 검사해주는 사이트
  • http://www.google.com/intl/ko/webmasters/ : 구글 웹마스터 센터

<< 참고 사이트 >>
http://www.robotstxt.org/

Custom 404 Error Pages

Broken link의 경우 URL을 사용할 수 없고 웹페이지를 의도된 페이지를 가져오지 않는다. Broken link는 종종 웹사이트에서 URL변경 또는 페이지 컨텐츠의 relocation의 결과를 가져온다. Broken link를 클릭할 때 브라우저는 404 code를 받고 사용자는 “404 Not Found”라는 에러페이지를 본다. 이 에러메시지는 이 상황이 임시적이거나 영구적이라는 아무 암시도 주지 않는다. 이는 검색엔진에 있어서도 마찬가지이다. 그래서 사이트맵 링크를 강화해서 사용자가 지정된 404에러페이지로 연결되는 것을 권장한다.


(Worldwide Hyundai Motor Company 404 Error Pages)
301/302 Redirects

검색엔진에 친화적인 Redirect 방식은 서버쪽에서의 redirect 뿐이다. JavaScript redirects, META Refresh 일반적인 redirect 방식은 사용되어서는 안된다.

서버쪽에서의 다음과 같이 사용된다.

301 redirect – 영구적으로 도메인이나 페이지가 이전되었음을 알림
302 redirect – 임시적으로 도메인이나 페이지가 이전되었음을 알림

Source Code

과도한 빈공간과 소스상에서의 주석은 검색엔진에게 문제가 될 수 있다. 너무 많은 빈공간은 페이지를 무겁게 하고 검색 엔진이 페이지를 버리고 떠나게 한다. 게다가 느린 반응속도는 타임아웃과 “Loading connection time is over”라는 메시지가 나오는 결과를 낳는다. 또한 느린 로딩 페이지는 그래서 유저에게 부정적인 인상을 주고 가장 안좋은 시나리오는 유저가 다른 사이트로 떠나버리는 것이다.

다음의 화면처럼 빈공간이나 불필요한 주석은 줄이는 것을 추천한다.


(불필요한 빈공간이 있는 Source Code)
Global/Sub Domains

SEO를 진행한 WWN 사이트는 여러국가들의 사이트여서 나온 가이드이다.
국가 코드인 Top level domains(TLD)는 지역 타케팅에 있어 가장 효과적인 방안이다. SEO에 있어서, TLD는 검색엔진이 국가사이트를 노출시키는 데에 있어 구별하는 하나의 방법이다.
국가별로 국가TLD 도메인을 사용하는 것을 추천한다.
예를 들면 wwwhmc.hyundai.com/uk대신에 wwwhmc.hyundai.co.uk를 사용하면 UK컨텐츠의 랭킹을 향상시킬 수 있다.
만약에 컨텐츠가 충분히 주요 사이트와 다르고 사용자의 관심을 끌 정도라면 서브도메인을 추천한다.

HTML/CSS Validation

웹 표준 준수는 사이트의 질을 보장하고 향상시키는 중요한 역할을 한다. W3C 는 국제적인 소스코드 유효화 기준이다.

Page title and META data

14.1 Page title

타이틀이 각 페이지의 가장 중요한 요소이기 때문에 그 페이지의 브랜드 네임이나 카테고리를 정확하게 묘사해야 한다.

<title>Hyundai Azera – Hyundai Motors Company</title> <title>Commercial Cars – Hyundai Motors Company</title>

14.2 Meta Description

Meta Description은 페이지의 컨텐츠를 요약하는 짧은 단락이다. 이 부분은 검색 결과에 텍스트로 노출이 되기 때문에 매우 중요할 뿐만 아니라 사용자들의 클릭을 유도하는데 있어서도 중요한 부분을 차지한다.
IGK는 현대자동차의 각 페이지마다 키워드에 포커스를 맞춘 특별한 meta description을 만드는 것을 추천한다.
(키워드가 스팸으로 간주될 위험 때문에 키워드 밀집도는 5%가 넘지 않게 해야한다.)

14.3 META Keywords

Meta keywords는 키워드를 통해서 웹페이지나 기사의 컨텐츠를 요약하는데 사용한다. 그러나 최근에 IGK는 meta keywords가 더 이상 검색엔진 알고리즘에 관련이 없다는 것을 발견했다. 그러므로 meta keywords에 많은 노력을 기울이지 않는 것이 좋다.

14.4 Meta Revisit

검색엔진 스파이더는 두 번이나 세 번정도 이 매타 태그를 사용하게 되며, 만약 컨텐츠에서 어떤 변화도 찾지 못하면 그들은 일반적인 크롤링을 진행하게 된다.

<META NAME="Revisit" CONTENT="After 10 days">
Header

HTML의 Heading 요소로 컨텐츠를 구축하는 것은 SEO에 중요하다. 검색엔진은 Heading 요소에 위치하는 키워드나 키워드 문구에 대개 더 많은 비중을 두기 때문이다. 각 페이지는 하나의 H1 요소만을 가지고 있어야 하며, 필요에 따라서 H2에서 H6사이의 요소가 올 수 있다.

Heading tag의 H1은 contents의 제목(키워드)에 해당된다. 비쥬얼면을 위해 타이틀은 이미지 텍스트로 되어 있는 경우가 많은데, 검색엔진의 인덱싱을 위해서는 꼭 텍스트로 존재해야 한다. H2~H6도 텍스트로 작업되는 것이 좋다.

아래는 Worldwide Hyundai Motor Company 페이지이다.
아래 빨간 박스부분이 page의 H1에 해당되며 검색엔진의 키워드를 높이기 위해 앞에 Hyundai 단어를 더 추가했다.
그리고 키워드 높이기 위해 파란색부분도 H1으로 작업이 진행되었다.



(H1 화면 및 html source)
Image File Programming

ALT 태그는 이미지나 다른 웹페이지 요소가 보여지지 않았을 때에 정보를 나타낸다. 브라우저는 에러메시지 대신에 읽을 수 있는 텍스트를 보여주는 것이다. 이 속성은 모바일 환경에서는 더 중요한 역할을 하게 되며, 주어진 페이지의 키워드 문구를 강화하는데 하나의 방법이 될 수 있다.

Alt text는 이미지 내용을 나타낼 수 있는 주요 키워드로 반드시 정의되어야 한다. 또 이미지 파일 프로그래밍에 포함된 URL은 절대적이어야 한다.

<img src="http://wwwhmc.hyundai.com/uk/en/images/Web/showroom/hyundai-azera-exterior.jpg" alt="Hyundai Azera Exterior" class="go_micro">
Spam Analysis

다음은 스팸으로 간주될 만한 요소들이다

17.1 잘못된 redirects (Deceptive redirects)

웹마스터는 검색엔진을 속이기 위한 방법으로 특정 URL을 다른 URL로 보내기도 한다. 이 기술은 특정 내용에 최적화된 페이지를 전혀 다른 주제의 페이지로 이전하는 것으로서, 검색엔진이 이 기술을 썼다는 것을 발견하면 이 문제가 되는 사이트는 검색엔진의 인덱싱에서 제거가 되는 벌칙을 받게 된다.

17.2 대문 페이지 (Doorway Pages)

“gateway page” 또는 “leader page” 로도 알려져 있으며, 특정 키워드나 여러 개의 키워드에 지나치게 최적화가 된 페이지를 말하며, 쓸모있는 컨텐츠는 없다. 일반적으로 doorway page는 또다른 사이트로 자동적으로 링크되거나 refresh된다. 이 기술역시 검색엔진으로부터 스팸으로 간주된다.
가능한 doorway 페이지를 제거하는 것 또한 정당한 페이지의 최적화하는 방법이다.

17.3 숨겨진 텍스트 (Hidden Text)

페이지를 변경하지 않고서는 사용자가 텍스트를 볼 수 없도록 의도적으로 텍스트를 숨기는 것을 말한다. 예를 들어 Hidden Text의 색을 배경색과 동일하게 하면 사용자가 텍스트를 긁어보지 않는 한 텍스트를 볼 수 없다. 그러나 검색엔진이 이러한 부분을 보여지는 텍스트로 판단할 수 있으며, 만일 적발 시에는 벌칙을 받게 된다.

17.4 링크 팜/ 중복된 링크 페이지 (Link Farms/Duplicated Link Pages)

링크는 특정 키워드에 대해서 페이지의 연관성을 결정하는데 있어 중요한 요소이기 때문에 웹마스터들은 인위적으로 그들의 사이트로 향하는 링크의 수를 늘리려는 시도를 하게 된다. Link farm 은 링크의 인기도와 신뢰도를 높이기 위해서 링크만을 위해 구축된 사이트를 말한다. 또는 링크페이지를 중복해서 만들어서 특정 페이지로 가리키게 할 수도 있다. 검색엔진은 이러한 link farm이나 중복된 링크 페이지를 나쁜 사례로 간주한다.

17.5 오해소지의 컨텐츠 (Misleading Content)

사이트의 대부분의 중요한 컨텐츠와는 달리 특정 컨텐츠를 생성하고 이와 관련되어서 검색엔진으로 하여금 연관성이 있다고 믿게하는 기술을 misleading content라고 말한다.

17.6 중복 키워드 (Overlay Repeated Keywords)

SEO의 목표가 주요 키워드의 가시성을 얻는 것이고, 컨텐츠에 타케팅된 키워드를 생성함으로서 이러한 목적을 얻기 위함이라 할지라도, 페이지내의 컨텐츠에 같은 키워드구가 너무 반복되면 그것 역시도검색엔진으로부터 남용되었다는 평가를 받는다.

17.7 중복 사이트 (Vanity Domains (Mirror Sites))

“Mirro sites”로도 알려져 있고, 유사한 컨텐츠를 바탕으로 다량의 웹사이트를 생성하는 기술이다. 일반적으로 주요 도메인의 컨텐츠를 복제해서 다양한 사이트를 구축하는 방식이며, 동일한 컨텐츠를 가진 다양한 도메인을 통해서 특정 키워드의 순위에 대해서 독점을 하려는 전략이다.

구글 SEO 결과 (hyundai worldwide 경우)

구글에서 hyundai worldwide으로 검색했을때의 화면입니다.


(hyundai worldwide로 검색한 후 화면)

hyundai worldwide로 검색 시 1위로 나타나는 결과입니다. 밑에 하단에 나타나는 링크는 sitelinks는 브랜드를 가지고 있다.
신뢰할 만한 사이트일 때 구글이 자동적으로 생성하는 링크들 입니다.

네이버 SEO

우리나라는 가장 높은 검색 점유율은 구글이 아닌 네이버이다.
이유는 대충 지역 구석구석마다 고속 인터넷이 보편화와 문화적인 차이때문에 구글이 국내에서 맥을 못추고 있다.

위의 검색 엔진 서비스의 역사에서 설명했듯이 네이버는 2.5세대 검색 엔진에 속한다. 하지만 거기에 ‘수작업 방식’으로 보고 싶은 정보를 창출해 내는 ‘콘텐츠 검색’을 기반으로 한 ‘통합검색’, 서로 소통하는 쌍방향 문화를 점목한 ‘지식인’, 다음 카페를 보완한 ‘카페’, 1인 글쓰기 문화를 선도한 ‘블로그’ 등으로 시장의 저변을 넓혀왔다. 그것은 트랜드에 예민하고 남들보다 먼저 말하는 급한 한국 성격과 고속 인터넷의 보편화가 도와주며 네이버는 막강한 영향력을 행사중이다. 하지만 네이버는 콘텐츠 검색으로 제한적인 검색을 하므로 상당히 폐쇄적인 단점이 있다.

그래서 국내의 SEO는 네이버를 대상으로 설명하여야 하지만 네이버에 있어서는 SEO는 유명무실한 편이다.
위의 설명한 제한적인 검색도 SEO가 유명무실하게 된 이유지만 그것 보다 더 큰 이유는 키워드 광고때문이다.


(빨간 박스가 순수한 SEO 결과부분)

예를 들어 보편적으로 우리가 링컨을 검색할때는 에이브러햄 링컨의 결과 화면을 기대한다. 하지만 네이버에서 링컨을 검색하면 링컨 차와 관련된 키워드 사이트이 먼저 나온다. 그래서 네이버는 SEO와는 관련 없이 사용자 들이 가장 먼저 원하는 항목을 연관 검색어나 바로가기 등으로 대안을 제시한다.


(네이버에서 링컨을 검색했을 때의 화면)

컨설팅사와 네이버의 SEO를 진행한 적이 없어서 네이버 SEO의 정확한 Technical Guidelines는 알 수 없고, 유추하기도 쉽지 않다. 컨설팅사의 네이버 SEO의 힘든 점으로 얘기한 블로그 내용으로 대체할려고 한다.

<< 참고 사이트 >> http://zinicap.pe.kr/10044656387 http://blog.naver.com/marketoryoso?Redirect=Log&logNo=107080125

네이버는 특유의 검색 구조(서비스)를 채택하고 있기 때문에 구글에 적용하는 SEO 와 같은 정통 기법외에도 추가로 분석해야 하고 한 번 정해진 네이버 최적화 알고리즘은 주기적으로 변하고 있고 수시로 업데이트가 되기 때문에 – 대략 3개월에 한번 정도 – 매일 실시간 분석을 해 보지 않는 이상, 한 번 변경된 알고리즘을 다시 찾아 맞추는데는 상당한 시간과 노력이 필요하기 된다.

네이버 SEO 관련 검색하다가 재미있는 SEO 시도도 있어서 소개한다. 키워드 광고보다는 밑에 있지만 순수한 SEO 결과 영역보다는 블로그와 까페가 영역이 위라는 점을 착안하여 블로그에 SEO를 적용한 사례이다.

<< 참고 사이트 >>
http://fordism.net/830