[SEO] 의미 구조를 정확히 하자

2015. 3. 27. 10:57 from Dev/SEO
The fundamental failure of most graphic, product, architectural, and even urban design is its insistence on serving the God of Looking-Good rather than the God of Being-Good. – Richard Saul Wurman

여러 명의 웹디자이너, 퍼블리셔 분들과 작업해보면서 느낀 점은, tool에 너무 의존하다 보면 웹페이지의 의미구조에 대해 고민하는 분이 적을 수밖에 없겠구나 하는 것입니다. WYSIWYG로 보이는 대로만 작업하다 보면 그렇게 되는 거지요.

그 다음부터는 작업하면서 꼭 문서구조가 어떻게 되는지 중간중간 확인을 해봅니다. 간단하게는 html5.org에서 운영하는 아래 사이트에서 url만 입력해 보아도 알 수 있지요.

https://gsnedders.html5.org/outliner/

심심하면 평소에 잘 설계되었다고 생각하던 사이트들을 넣어보시면서 결과를 비교해보는 것만으로도 많은 걸 느낄 수 있을 것입니다. 브라우저로 보는 게 아니라 검색엔진들이 페이지를 어떻게 보는지 감이 오니까요. 저는 웹툰 보러 들어가던 사이트를 한번 찾아보았다가 예상외로(!) 의미 구조가 FM대로 정확하게 나와있는 걸 보고 깜놀한 기억이 남네요 ㅋㅋ. 내가 이것보다 못하다니 OTL

HTML5에 도입된 semantic structure와 관련된 요소들로는 section, article, aside 같은 것들이 있습니다. 이 요소들로 문서를 구조화 시키거나, div를 이용한 블록들에 h1, h2, h3 만 잘 붙여줘도 결과가 확실히 달라지는 걸 보실 수 있을 겁니다.

SEO는 단지 meta tag 잘 만들고 title 붙이는 수준이 아니라, 기본적인 구조 설계부터 진행이 되어야 하는 것이구나.. 하는 생각을 설계부터 구현까지 계속 지니고 있어야 하는 것 같습니다. 물론 저도 일정에 쫓기고 클라이언트한테 치이다 보면 신경을 못쓰는 때가 많습니다만;;

Posted by banasun :

[SEO] rel=canonical link, 검색엔진 최적화와 canonical

2014. 9. 1. 02:30 from Dev/etc

검색엔진 최적화에서 가장 중요한 것 중 하나가 원본 데이터에 대한 정보를 검색로봇에 알려주는 것인데, 몇 년전에 대형 검색엔진들이 검색 결과에서 중복된 값들을 삭제하기로 한 이후로 중요성을 띄게 된 태그가 이 CANONICAL 입니다.

canonical link는 다음과 같이 정의합니다 :


<link rel="canonical" href="http://sample.com/index.php" />


이는 여러 가지 이유로 인해 원본 문서와 동일한 복사된 문서가 존재할 경우에, 검색엔진에 원본문서를 알려주는 역할을 합니다. 그렇다면 보통(!)의 경우 언제 필요한 걸까요?


1. 지저분한 url 값의 정리

구글에서 사이트 검색을 해보면 이런 값들이 심심치 않게 보입니다. 

sampledomain.com/index.php?PHPSESSID=3a98ad5ee8b0923ac868dc7e891ec154

이런 경우야 별 거 아니지만, 인수값에 page, category, search값 등 온갖 값들이 다 붙은 채로 인덱싱이 되어 있는 경우에는 문제가 생길 수가 있겠습니다. 


2. url이 변경될 때

이 경우가 더 중요하겠지요. 사이트 수정보완하면서 url이 변경되는 경우가 많습니다. 이 경우 이전 url로 들어오는 트래픽을 redirect 시켜주어야 하는데, 이때 원본 문서의 값을 검색엔진에 알려주어야 합니다. 


3. https 이용할 경우

이 경우에는 당연히 보안 적용된 url과 보안 적용이 안된 url이 다르겠지요. 특히 호스팅 업체에 따라서는 포트 번호 등이 추가됨에 따라서 같은 컨텐츠라도 다르게 인식이 될 수 있습니다. 


이런 경우에는 canonical link를 걸어주는 것이 바람직하다고 봅니다. 


다음은 적용시 주의해야 할 사항들에 대한 정리입니다 :

  • rel = canonical 로 지정한 타겟 url이 실제로 존재하는지 확인해야 합니다(실제로 개발하다 보면 빼먹기 쉬운 경우입니다). 당연히 검색 결과를 없는 페이지로 돌려버리면 큰 일 나겠지요;;
  • 위와 같은 경우이겠지만, 원본 문서가 있는 디렉토리의 robot.txt 설정이 검색 로봇의 인덱싱을 허용해 주어야 합니다.

  • 원본 문서에는 해당 페이지의 문서가 포함되어 있어야 합니다. 당연한 얘기이겠지만, 여러 페이지로 나누어져 있는 문서를 하나의 canonical link로(예를 들어 첫 페이지로) 묶는 오류도 가끔 볼 수 있는데, 이 경우에는 원하는 SEO결과를  기대할 수 없습니다. 검색엔진의 입장에서는 각각의 페이지가 다른 문서이기 때문이지요. 굳이 여러 페이지로 나누어진 문서에 대해서 하나의 canonical link를 정해주려면 모든 페이지를 포함하는 마스터 문서를 하나 만든 후에 여기로 링크를 해주는 것은 도움이 될 것 같습니다.

  • HEAD에 들어가야 합니다. google webmastser에서는 명식적으로 BODY에 들어가는 canonical link는 고려하지 않는다고 하고 있습니다. 아울러 가능하면 HEAD 안에서도 앞쪽에서 지정하라고도 되어 있습니다.


그리고 한가지 작업전에 알아두어야 할 점은, 이러한 canonical link의 값을 검색결과에 반영하는 것은 전적으로 검색엔진의 정책에 달린 것이지, canonical을 지정하였다고 꼭 반영이 되는 것은 아니라는 점입니다. 내부적으로 원본 데이터의 존재에 대해 알았다 하더라도 원본 데이터에 대해서 자체적으로 반영을 할지 안할지는 별개의 문제라는 점입니다. 


Posted by banasun :