검색엔진 최적화

3 minute read


검색 엔진 최적화

검색 엔진
검색 엔진을 통해 문장이나 단어를 검색하면 관련된 수많은 관련 페이지들이 정렬된다.

검색 엔진이 띄우는 문서의 기준이나 정렬하는 방식 등 다양한 규칙들이 존재하며 여기에 맞춰서 페이지가 검색 되게 하기 위해서 필요한것이 검색 엔진 최적화(SEO, search engine optimization)이다.

최적화

검색 엔진 최적화를 위해서 가장 기본적인 것은 html코드를 의미론적으로 맞춰서 작성하는 것이다. 그리고 검색 엔진이 좋아할만한 요소를 갖추는 것도 검색이 잘되게 하는 부분이다.

하지만 이 까다로운 검색 엔진은 너무 의미론적으로 완벽함에 가깝거나 좋아할만한 요소를 가득채운다면 오히려 스팸이나 사기로 판단하여 배제해버리기도 한다.

따라서 이 요소들을 최대한 활용하면서도 적절하게 균형을 유지하는 것이 필요하며 이것이 검색 엔진 최적화이다.


구글의 검색 엔진 최적화

Google 검색 엔진 최적화 가이드

구글은 현재 검색 엔진의 세계적인 표준과 같은 존재이다. 따라서 이 가이드에 맞춰서 웹 페이지를 만든다면 대부분의 검색 엔진에서 동일하게 적용될 수 있다.


SEO의 기초

  • 명확하고 독창적인 타이틀

    검색할 때 먼저 확인하는 우선 순위가 존재한다. title 태그를 활용해 각 페이지마다 고유한 제목을 만드는게 이상적이다.

    검색 결과가 페이지에 나타날 때 title 태그의 콘텐츠가 주로 첫 번째 행에 나타나며 검색어는 굵은 글씨로 표시된다.

  • 각 페이지의 요약 정보 보여주기

    meta 태그의 description을 사용해서 페이지 정보의 요약 내용을 표시해준다. 이 내용은 결과 페이지의 본문 영역에 보여지고 내용 미리보기로 사용할 수 있으므로 중요하다. 요약 정보는 1 ~ 2개의 짧은 문장이나 단락을 사용하는게 좋다.


사이트 구조를 개선

URL 구조 개선
url은 어떤 컨텐츠에 도달할 수 있는 경로이다.

이해하기 쉬운 url은 콘텐츠의 내용을 전달하는데 효과적이며 검색 엔진이 문서를 크롤링 하는데도 유리하다.

직관적이고 단순한할수록 url만으로 어떤 정보를 담고있는지 알 수 있어 검색에 유리하게 된다.

  • 단어를 사용한 URL

  • 단순한 디렉토리 구조 만들기

  • 특정 문서에 도달할 수 있는 한 가지 형태의 url

    동일한 내용에 도달할 수 있는 url이 여러개라면 그만큼 인지도가 분산되므로 하나의 url만 참조하도록 만든다.

    link 태그의 rel=”canonical” 링크 속성 사용 또는 301 리디렉션 설정

    1) rel

    ```html
    <!-- 문서 first.html과 second.html이 동일한 내용이라면 -->
    
    <!-- second.html -->
    <head>
      <link rel="canonical" href-"http:// ~ first.html>
    </head>
    ```
    

    2) 리디렉션

    ```php
    <!-- 페이지에 접근시 강제로 이동 시킴 -->
    <?php
    header('Location:http:// ~ /first.html');
    ?>
    ``` <br>
    

사이트 내에서 이동

크롤링시 사이트를 순회하는 방법은 링크이다. 따라서 이 페이지 간의 이동 역할을 하는 링크를 잘 만들어야 크롤링이 원할하게 이루지게 된다.

  • 사이트 이동 경로의 표시

    빵 부스러기(bread crumbs)로 불리는 방법으로 홈페이지에서부터 사용자의 사이트내 이동 경로를 눈으로 볼 수 있는 링크로 표시하여 쉽게 이전 페이지로 이동할 수 있도록 만드는 방법이다.

  • url 조작으로 페이지 접근

    사용자가 url을 조작하여 페이지를 탐색하려는 경우 일부 생략하여도 콘텐츠를 찾으려하는 경우 페이지가 존재하지 않는다고 보이는것 보다. 상위 항목의 페이지로 이동시키는 대안을 마련하는게 낫다.

  • 자연스러운 계층 구조

  • 텍스트 링크 사용

      <a href="~">텍스트로 링크만들기</a>
    
      <!-- js사용, 콤보박스로 링크 이동 -->
      <select onchange="location.href=this.value">
        <option value="1.html"> ~
        <option vlaue="2.html"> ~
      </select>
    


콘텐츠 최적화

당연하면서도 가장 중요하다. 우수한 품질의 콘텐츠와 서비스 제공은 사용자의 관심을 끌게 만들고 이러한 컨텐츠는 다른 요소보다도 웹 사이트에 많은 영향을 미친다.

검색 엔진의 최적화도 중요하지만 너무 이 부분에만 치중하면 오히려 웹 스팸으로 인정되어 차단될 수 있다.

따라서 사용자들의 요구에 맞게 설계하면서 사이트가 검색 엔진에 엑세스하기 쉽게 만드는게 더 긍정적인 효과를 가져오게 된다.

보다 나은 앵커 텍스트 작성
a ~ /a 태그로 만들어지는 링크의 텍스트를 말한다. (a태그는 ahchor의 a)

<a href="~">연결된 내용을 보다 쉽게 전달</a>

이 텍스트 또한 검색 엔진이 판단할 수 있는 자료가 되므로 사람들만 알아보는 “여기”와 같은 앵커 텍스트는 피해야하며 연결된 내용을 함축하는 텍스트가 권장된다.


이미지 사용 최적화

  • alt

    alt 속성을 이용한 이미지 관련 정보 제공은 이미지가 깨졌을 때 또는 이미지를 지원하지 브라우저를 사용하거나 스크린 리더와 같은 기기를 사용할 때 이미지에 대한 정보를 제공할 수 있게 된다.

  • 디렉토리 설정

    보편적인 이미지 파일 포맷의 사용과 이미지를 위한 특정 디렉토리 설정이 권장된다.

    이미지의 이름 또한 의미를 부여해서 사용하는것이 좋다.


    제목 태그의 적절한 활용

    제목 태그를 활용하여 중요한 부분을 강조한다. 단순히 시각적 효과만 주는 문자의 사이즈나 굵기의 설정만 사용하는게 아닌 h1 태그를 사용한다.

    h1 부터 h6까지 사용가능한 제목 태그는 시작적 효과로 사용자가 중요한 컨텐츠가 무엇인지 파악할 수 있게 만든다.

    하지만 너무 많은 제목 태그의 사용은 구분을 어렵게 만들기 때문에 한 페이지 안에서 신중하게 제목 태그를 사용하는게 권장된다.


검색로봇에 대한 대처

robot.txt 효과적 활용

웹 사이트를 크롤링하기 위해서 접근하는 로봇들이 존재한다. 이 로봇들에게 어떤 부분의 접근을 허용과 제한하는지 설정한다.

포털 사이트의 주소창에 /robots.txt를 입력하면 문서를 다운받게 되며 각 사이트마다 로봇의 접근을 어떻게 처리하는지 알 수 있다.

User-agent: * 모든 접속에 대해 정의
Disallow: 제한할 경로
Allow: 허용되는 경로
Sitemap: /sitemap
  • 검색로봇을 보안 도구로 사용하지 않는것을 권장한다.

  • 민감한 콘텐츠는 다른 보안 방법을 사용할것

  • sitemap

    사이트의 전체적인 구조를 나타내는 것이다.

    기계가 이해하기 쉽도록 xml으로 작성된코드로 사이트의 전체 구조 정보를 저장한다.

    로봇이 사이트에 접근하여 이 문서를 읽게되면 더 정확하고 분명하게 페이지를 이해할 수 있게된다.