검색엔진최적화(SEO)

네이버 최초 검색엔진최적화(SEO) 상세가이드

네이버 검색엔진최적화 가이드

2014년에 처음으로 네이버 웹마스터 도구로 검색을 위한 상세 가이드를 알려주었는데 벌써 6~7년이 되었군요.  이후 네이버는 웹마스터 도구를 여러번 기능적으로 업데이트 하였고 네이버 검색을 위한 가이드 내용도 더 보강하였습니다.  아래의 내용을 일부 업데이트 적용하였습니다.


네이버가 웹문서 검색 가이드 라인을 발표후 “검색잘되는 웹문서 만들기”라는 제목으로 상세가이드 페이지를 만들었군요.“검색잘되는 웹문서 만들기”가 검색엔진최적화(SEO)를 의미하지만 많이 사용되는 용어보다 쉬운 말(?)로 풀이한 것 같습니다.

네이버 웹문서 검색 가이드라인 공지
네이버 웹문서 검색 가이드라인 공지
실제로 네이버 검색 결과에 검색양이 작은 키워드 위주로 웹문서 섹션이 상위노출이 증가했습니다. 예전 웹문서 섹션의 경우 검색결과에 하위에 노출되는 것과는 다른 모습으로 네이버가 웹문서에 관심(?)을 가지고 있는 것을 옅볼 수 있는 모습입니다.

외부페이지를 검색결과로 보여주는 것은 거의 대부분 블로그 검색섹션에서 이루어졌습니다. 나머지는 대부분 네이버 자체 DB의 콘텐츠와 정보를 검색결과로 보여주었습니다. 그렇다보니 검색 품질은 외부의 방대한 웹페이지에서 수집된 검색결과를 보여주는 구글과 비교하면 떨어지는 것이 사실이었습니다. 이번 네이버의 웹문서 가이드라인 발표와 더불어 상세 가이드까지 제공하는 것은 네이버 검색로봇의 활발한 활동을 기대할 수 있는데 얼마나 많이 외부페이지 정보를 수집하여 검색결과에 반영할지는 더 지켜봐야 겠습니다. 웹문서 검색의 활성화로 검네이버 검색품질이 좀 개선될지는 여전히 의문입니다.

 
네이버 블로그 순위를 외부 블로그 보다  블로그검색 순위에 유리하게 적용하는 것처럼 웹문서 검색도 신디케이션에 의한 웹페이지를 더 상위로 노출하는 건 아닌지 의심이 되기도 합니다. 
 
하지만 정확한 웹문서 검색에 대한 네이버의 속내는 네이버만 알겠지요.
 
아래는 네이버 검색 잘되는 웹문서 만들기 상세 가이드입니다. 검색 초보자도 이해할 수 있도록 그림과 함께 친절히 안내하고 있습니다. 이런건 네이버의 강점(?)이라고 생각합니다.

z

    1. 1.웹 사이트를 만들 때

      같은 내용이라면 되도록이면 하나의 호스트 명 하나의 URL을 사용하도록 설정해 주세요.
        1. 1. 같은 내용을 나타내는 여러 hostname/URL을 만들지 마세요.

          – 여러 hostname 쓴다고 검색에 노출이 될 가능성이 높아지지 않습니다. 똑같은 내용은 어차피 중복 판정을 받습니다.
          – Web cache에 같은 내용으로 중복되는 등 불필요한 인터넷 트래픽을 유발하여 검색로봇이 효과적으로 수집하는 데 방해가 됩니다.

      1. 2. 여러 주소를 꼭 써야 한다면 대표(canonical) 주소로 301 redirect 해 주세요.

        – 대표(canonical) 주소: 사람들에게 알려지고자 하는 주소. Hosting 업체나 platform상관없이 바뀌지 않는 주소
        – 특히 www가 있는 경우와 없는 경우는 한 쪽으로 합쳐 주세요.
        – 구 서비스 유지, 호환성 등의 문제로 같은 내용에 여러 주소를 사용해야 할 경우 등.
        – JavaScript를 사용한 redirect (예: document.location = 새 URL;) 는 사용하지 말아 주세요.

      호스트 명 표준을 따라 주세요. 호스트 명에 밑줄글자(underscore) 사용하지 말아주세요.
        1. 1. 호스트, 도메인 이름으로 허락된 글자는 알파벳, 숫자 그리고 하이픈(-) 뿐

          – a.k.a. LDH (Letters, Digits and Hyphen). 단 hyphen은 맨 앞이나 뒤에 올 수 없음. (근거: RFC-952)
          – (한글 도메인이라 불리는) 국제화 DNS에서도 hostname으로 underscore를 사용할 수 없음.
          – 근거: IDNA 2008 (RFC-5890589158925893)

      1. 2. 해보면 동작하는데…

        – 규정을 느슨히 적용한 browser 등에서는 작동할 수 있으나 표준이 아니므로 다른 곳에서 오동작 할 수 있음.
        예: Chrome browser나 몇몇 mobile browser 등에서는 버전에 따라 host로 접근 못하고 검색으로 넘어가는 경우 있음. 메신저나 SNS등에서 링크가 잘못 활성화 됨

      검색로봇이 방문하면 안 되는 부분은 robots.txt를 사용하여 알려 주세요.
        1. 1. robots.txt 샘플 및 설명

          robots.txt는 검색로봇에게 사이트 및 웹페이지를 수집할 수 있도록 허용하거나 제한하는 국제 권고안입니다. robots.txt 파일은 항상 사이트의 루트 디렉터리에 위치해야 하며 로봇 배제 표준을 따르는 일반 텍스트 파일로 작성해야 합니다. 네이버 검색로봇은 robots.txt에 작성된 규칙을 준수하며, 만약 사이트의 루트 디렉터리에 robots.txt 파일이 없다면 모든 콘텐츠를 수집할 수 있도록 간주합니다.

          간혹 특정 목적을 위하여 개발된 웹 스크랩퍼를 포함하여 일부 불완전한 검색로봇은 robots.txt 내의 규칙을 준수하지 않을 수 있습니다. 그러므로 개인 정보를 포함하여 외부에 노출되면 안 되는 콘텐츠의 경우 로그인 기능을 통하여 보호하거나 다른 차단 방법을 사용해야 합니다.

        1. 2. robots.txt 파일은 반드시 root에 위치해야 합니다.

          http://www.example.com/robots.txt

      1. 3. robots.txt에서 sitemap.xml의 위치를 알릴 수 있습니다.

        User-agent: *
        Allow: /
        Sitemap: http://www.example.com/sitemap.xml

      robots.txt에 대한 좀 더 상세한 내용을 알고 싶으시면 http://www.robotstxt.org/를 참고해주세요.

      전체 site 구조를 알 수 있도록 sitemap.xml 파일을 만들어 주세요.

      사이트맵 은 검색로봇에게 사이트 내에 수집되어야 할 페이지들을 알려 주기 위하여 마련된 표준 규약입니다. 사이트맵을 활용하여 URL의 추가 정보를 검색로봇에 제공할 수 있으므로 검색로봇이 사이트의 콘텐츠를 더 잘 수집할 수 있도록 도울 수 있습니다.

      사이트 맵은 본문이 아닌 콘텐츠의 URL 정보만 담고 있기 때문에 사이트 내의 모든 URL을 포함하는 것을 권장합니다. 검색로봇은 해당 사이트맵에 포함된 URL 정보를 추출후 내부 알고리즘을 통하여 수집 대상 URL을 선별하여 우선 순위별로 수집을 진행합니다.

      사이트맵 문서 예제

      사이트맵은 사이트의 URL 모두를 담을 수 있습니다. 용량에 따라서 아래와 같이 2가지 형식으로 제출할 수 있습니다.

      1. 수집 대상 URL을 포함하는 사이트 맵으로 수집 대상 콘텐츠 URL을 포함하는 문서
      요소 설명 필수여부
      loc 수집 대상 URL 필수
      lastmod 페이지가 수정된 날짜 선택
      changefreq 페이지 변경 빈도 선택
      priority 사이트내 중요도 선택
      
      <?xml version="1.0" encoding="UTF-8"?>
      <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
        <url>
      	<loc>http://www.example.com/article-1.html</loc>
      	<lastmod>2019-08-26T11:16:53+09:00</lastmod>
      	<changefreq>weekly</changefreq>
      	<priority>0.8</priority>
        </url>
        <url>
      	<loc>http://www.example.com/article-2.html</loc>
      	<lastmod>2019-08-26T11:16:53+09:00</lastmod>
      	<changefreq>weekly</changefreq>
      	<priority>0.8</priority>
        </url>  
      </urlset>
      
      1. 또다른 사이트맵을 포함하는 사이트맵 인덱스

      사이트맵은 모든 URL 정보를 담고 있기 때문에 콘텐츠 타입이나 카테고리 별로 여러개의 사이트맵 문서를 제작한뒤 인덱스 문서를 사용하여 담을 수 있습니다. 예를들어 커뮤니티 사이트와 같이 사이트 내의 콘텐츠가 많은 경우 1번과 같이 단일 사이트맵에 모든 URL을 포함하기 어려운 경우 사용합니다.

      요소 설명 필수여부
      loc 사이트맵 URL 필수
      lastmod 사이트맵이 수정된 날짜 선택
      
      <?xml version="1.0" encoding="UTF-8"?>
      <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
        <sitemap>
          <loc>http://www.example.com/sitemap-1.xml</loc>
          <lastmod>2016-02-26T18:41:07+09:00</lastmod>
        </sitemap>
        <sitemap>
          <loc>http://www.example.com/sitemap-2.xml</loc>
          <lastmod>2015-05-14T21:06:14+09:00</lastmod>
        </sitemap>
      </sitemapindex>
      

      사이트맵 제출시 주의사항

      웹마스터도구는 사이트맵 피드 제출시 아래와 같이 기본적인 검증 절차를 진행합니다.

      1. 사이트맵 피드내 모든 URL의 도메인은 소유확인 된 사이트와 동일한 도메인 이어야 합니다.
      2. 사이트맵 피드 용량이 10MB 이상 넘어가는 경우 제출 할 수 없습니다.
      3. 하나의 사이트맵은 50,000 개 이상의 URL 을 포함할 수 없습니다.
      4. 사이트맵 수집시 응답속도가 느린 경우 제출이 제한될 수 있습니다.
      오류 페이지는 HTTP 규약에 맞게 작성해 주세요.
      1. HTTP 응답코드

        응답 코드 그룹 응답 코드 설명
        1xx Informational
        2xx Successful 200 OK 가장 일반적인 경우, 요청된 웹 페이지를 돌려줄 경우
        3xx Redirection 301 Moved Permanently 요청된 URL이 (Location: header로 지정된) URL로 완전히 전환된 경우. client는 요청된 URL을 지우던가 새 URL로 바꿔치기 한다
        302 Found HTTP/1.0과 초기 HTTP/1.1과 호환성 유지를 위해 남겨진 코드. 원래는 요청된 URL이 301과는 달리 임시로 변경된 것을 나타내는 것이었으나, 실제 구현이 HTTP 규약의 의도를 벗어나서 303과 307로 분리하여 제정
        303 See Other 요청된 URL이 잠시 다른 URL로 바뀐 것을 알림. (Location: header로 지정된) 바뀐 URL은 GET method로 접근해야 함
        307 Temporary Redirect 요청된 URL이 잠시 다른 URL로 바뀐 것을 알림. (Location: header로 지정된) 바뀐 URL은 GET method로 접근해야 함
        4xx Client Error 400 Bad Request HTTP 요청, 특히 문법이 잘못된 경우
        403 Forbidden 권한이 없는 웹 페이지에 접근했을 경우
        404 Not Found 없는 페이지에 접근했을 경우
        5xx Server Error 500 Internal Server Error 웹 서버 설정이 잘못 되었거나 서버 프로그램에 오류가 있을 때
        503 Service Unavailable 웹 서버에 너무 많은 요청이 몰리거나 웹 서버에 부하가 걸려 응답하지 못할 때
    1. 2.웹 페이지의 작성

      글자로 쓸 내용(text)를 이미지(image)로 만들지 말아 주세요.
      1. 사이트 내에 좋은 정보들은 이미지로 제작하지 말고 가급적 글자(text)를 사용하여 표현하는 것이 좋습니다. 실제 페이지를 실제로 보는 이용자는 이미지로 제작된 내용을 읽는 데 아무런 문제가 없지만, 검색로봇은 해당 글자를 인식할 수 없기 때문입니다. 물론 OCR(이미지 내의 텍스트 추출) 기술 등 문자들을 추출하는 기술이 있긴 합니다만 비용적/기술적 한계가 있어서 적용하고 있지 않습니다.

        정보 표현 시 부득이하게 이미지로 제작해야 할 경우, “alt”속성 등을 통해 해당 정보가 어떤 내용인지 글자로 표현해주시는 것도 권장해 드립니다. 단 이 경우 지나치게 긴 글자열을 쓸 경우 스팸성 이미지로 오인될 수도 있으니 꼭 필요한 정보 중심으로 편집하여 작성하는 것이 좋습니다.

      복사하지 마시고 자신의 이야기를 해 주세요.
      1. 검색결과 상위 노출 또는 많은 노출을 위해, 타 사이트의 좋은 글을 그대로 복사해 오는 경우가 있습니다. 이럴 경우 검색로봇은 해당 문서를 중복문서로 판정할 뿐 아니라, 해당 사이트가
        새로운 좋은 정보를 생산하지 않기 때문에 가치가 낮은 사이트라고 판단할 수 있습니다.
        특히, 뉴스 기사의 경우 한국온라인신문협회의 “인터넷 사용자들을 위한 디지털뉴스 이용규칙 [Ver. 3.0]”에서는 신문기사의 전체 복사 및 변형을 금하고 있으며, 기사 하나의 일부만 인용할 경우에도 원 출처를 되도록이면 직접 링크 (Deep Link)로 표현할 것을 권장하고 있습니다.

        또한 네이버 검색결과 상위노출을 목적으로 이용자가 직접 볼 수 없는 숨겨진 문자열(대부분 인기 검색어)을 검색로봇에게만 제공한다거나 문서 또는 사이트와 직접 관련 없는 문자열을 무분별하게 많이 사용한다거나 하는 경우, 해당 사이트나 문서는 검색결과 품질을 저해하고 이용자에게 혼란을 주는 스팸성 페이지로 판정되어 검색결과 노출 자체가 제외될 수도 있습니다.

        따라서, 검색이용자가 필요로 하는 좋은 정보를 자신의 관점에서 직접 제작해 주시기를 부탁 드립니다.

      2. 만약, 다른 문서나 저작물에 대한 의견이나 평가라면 적절한 인용을 첨부하면 더 좋으리라 생각합니다. 검색 사용자가 원하는 정보는 비슷한 내용의 문서들의 나열이 아니라 글쓴이 자신의 고유한 경험과 의견, 관점이라고 생각합니다. 사실상, 검색결과 상위노출을 위한 다른 무엇보다 가장 적절한 방법은 검색 사용자가 원하는 당신만의 개성적이고 독특한 이야기라고 말씀 드리고 싶습니다.

        참고로, 네이버검색에서는 원본 문서를 잘 찾아주기 위해 기술적/정책적 노력을 계속하고 있습니다. 이와 관련한 추가적인 정보를 원하시면
        “[네이버 다이어리] 원본문서 검색 개선에 대해 말씀 드립니다”를 참고해 주세요.

      표준적인 (하이퍼)링크 방법을 사용해 주세요.
      1. 페이지들의 링크 처리 시 자바스크립트만을 사용하면, 검색로봇이 어떤 URL 인지 정확하게 파악할 수 없어서 이후의 다른 좋은 정보들을 찾아갈 수 없는 문제가 있습니다. 네이버의 검색로봇에게 여러분의 사이트 내부 페이지를 잘 알려주기 위해서는 표준에 맞는 링크 URL정보를 제공하는 것을 권장합니다.

        <a href=”http://www.A.com”>Link</a>
        해당 링크가 어떤 URL 인지 정확하게 확인할 수 있음

        <span onClick=”javascript:goto(A)”>Link</span>
        대상 링크가 자바스크립트 함수로만 표현되어 있어서 검색로봇은 해당 링크의 정확한 URL을 파악할 수 없음

    1. 3.웹 사이트 이동, 개편, 리뉴얼 장애 처리 등

      JavaScript나 Flash로 redirect하지 말아 주세요.
      1. 사이트 및 페이지의 redirect 처리 시 자바스크립트 형식을 사용하는 경우 일반적으로 검색로봇이 이해하기 어려운 형식이라 해당 링크가 어떤 URL로 redirect 되는지 잘 파악하기 어려운 문제가 있습니다.

        또한 redirect 정보를 숨기는 형태의 페이지는 주로 스팸성 문서에서 많이 발견되고 있어서, 양질의 좋은 페이지임에도 스팸 문서 처리 과정에서 불필요하게 중요도가 낮은 것으로 저평가를 받을 수도 있습니다.

        따라서 url 링크 또는 redirect 처리 시에는 자바스크립트 함수를 사용하지 않는 것이 검색로봇에게 올바른 정보를 알려주는 데 도움이 됩니다.

        만약 해당 주소가 redirect 되는 것을 방문자에게 알리고 싶다면 meta refresh를 사용할 수도 있으며, 네이버의 검색 로봇은 meta refresh를 인식합니다. 다만, HTML 4.01 표준에서는 meta refresh 를 사용하지 않기를 권장하고 있으므로 되도록이면 HTTP redirect를 사용해 주시기 바랍니다.

        잘못된 redirect 사용 예시

        var timerld = setTimeout(“move()”, 500);
        function move() {
        location.href = “http://new.site.com/”;
        timerld = 0;
        }
        meta refresh 사용 예시

        <meta http-equiv=”refresh” content=”10;url=http://new.site.com”>

      사이트나 page를 변경할 경우 301 Permanently Moved 형식의 redirect를 사용해 주세요.
      1. 사이트 또는 내부 페이지의 URL을 변경할 경우 검색로봇은 기존 사이트 또는 그 내부 페이지와 다른 신규 정보인 것으로 잘못 판단할 수 있습니다. 또한 이후의 중복 정보 처리과정에서 기존의 좋은 검색 정보 및 검색 이용자 선호도 정보가 사용되지 못할 수 있습니다.

        이렇게 URL 변경 시에는 기존의 URL을 검색로봇에게 함께 알려줘서 기존 정보를 잘 활용할 수 있도록 하는 것이 검색 노출에 큰 도움이 됩니다.
        알려주는 방법은 http 규약에 따라 301 permanently moved 형식의 redirect 를 사용하여 서버에서 응답해주시기 바랍니다.

        Old host 전체를 New host 의 top page 로 redirect (apache 웹서버)

        Redirect 301 / http://new.site.com
        혹은
        Redirect permanent http://new.site.com
        example.com/* 을 www.example.com/* 으로 redirect (apache 웹서버)

        RewriteEngine On
        RewriteCond %{HTTP_HOST} example.com
        RewriteRule ^([^/]*})$ http://www.example.com [R=301,L]

      Site 장애나 잠시 페이지를 변경할 경우 302 Temporarily Moved 형식의 redirect를 사용해 주세요.
      1. 사이트에 일시적인 장애가 있거나 잠시 페이지를 변경하는 경우 검색로봇은 사이트와 그 내부 페이지에 대해 응답을 받지 못할 경우 해당 페이지가 삭제된 것으로 잘못 판단할 수 있습니다. 일시적인 페이지 변경을 인지하지 못하여 다른 정보로 변경된 것으로 판단하여 기존 정보를 삭제할 수도 있습니다.

        이렇게 원하지 않는 기존 검색로봇이 수집한 원래 페이지의 정보를 유지하기를 원하신다면, 사이트에 일시적인 장애가 있거나 잠시 페이지를 변경 시 http 규약에 따라 302형식의 redirect를 사용하여 서버에서 응답해주시기 바랍니다.

        공사중인 페이지로 redirect (apache 웹서버)

        Redirect / /under_const.html
        혹은
        Redirect temp / /under_const.html

  1. 4.웹 사이트 운영을 그만둘 때

    깔끔한 사이트/블로그 종료를 위한 지침.
      1. 1. 당신의 이름 혹은 브랜드가 나쁜 기억이 되지 않도록 해 주세요.

        – 당신의 사이트에 방문했던 분들은 사이트 이름과 당신의 이름/브랜드를 기억하고 있습니다.
        – 단순히 운영을 정지하실 거라면 관리자를 제외한 모든 사용자의 쓰기 권한을 회수해 주세요.
        – 서비스를 종료하실 거라면 최소 1개월 이상 사이트 종료 공지를 내 주세요.
        – 저희 네이버 검색등록을 통해 등록 유지 중인 경우 삭제요청을 해주세요. [삭제 신청 안내글 보기]
        이를 통해 해당 사이트가 운영 중단할 예정이라는 정보를 네이버 검색 로봇에게도 자동으로 알려주실 수 있습니다.

    1. 2. 사이트를 방치할 경우의 문제점

      – 관리를 포기한 사이트의 게시판은 스팸으로 가득 차기 쉽습니다.
      – 도메인이 만기가 되면 웹사이트 연결이 끊기지 않고 도메인 판매업자에게 넘어갑니다.
      이를 통해, 당신의 사이트를 방문하던 기존의 사용자들에게 성인, 불법, p2p사이트, 쇼핑몰 등의 불쾌감을 유발할 수 있는 정보가 가득한 저품질 페이지로 자동 연결시킬 수 있습니다.
      – 또한 만기가 된 도메인은 불법,음란, 도박, 스팸 사이트로 직접 변경될 수도 있습니다.

출처 : https://searchadvisor.naver.com/guide




2 thoughts on “네이버 최초 검색엔진최적화(SEO) 상세가이드

  1. 좋은 글 잘보았습니다. SEO에 대해 간략하게나마 파악이 되는 기분이예요. 혹시 SEO에 대해 혼자 공부할때 참고하거나 공부하기 좋은 사이트나 책이 있을까요??

    1. SEO는 마케팅적, 프로그램적, 디자인적인 부분과 더불어 검색에 대한 지식과 웹분석 능력등 다양한 지식과 경험이 필요합니다. 국내 자료보다는 해외 자료를 참고하시면 좋을 것 같습니다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

This site uses Akismet to reduce spam. Learn how your comment data is processed.