검색엔진최적화(SEO) 기초

Categories

검색엔진 최적화(SEO)란?

검색엔진에서 사용자들이 원하는 혹은 비슷한 키워드로 검색 시 소유하고 있는 사이트를 검색순위에 최대한 올리는 노력을 검색엔진 최적화(SEO) 라고 합니다.

Google 검색창

SEO를 통해 사이트의 구조 개선 및 마케팅비용 절감을 기대 해 볼 수 있습니다. 특정 알고리즘을 통해 검색결과 순위를 결정하기 때문에 광고비용을 따로 지불하지 않는 이상 노출 순위를 올리는 조건은 평등합니다. 따라서 SEO 가이드를 준수한다면 사이트의 트래픽을 올리는데 큰 도움이 될 것입니다.

수집(Indexing)

사이트가 개설되면 검색엔진들은 사이트에 대한 정보를 수집해 갑니다. 이런 행동을 크롤링(Crawling)이라 하는데 Google을 기준으로 본다면 크롤러/스파이더봇(Googlebot, Bingbot …)이 ROOT URL을 기준으로 링크에 모두 접근을 시도 합니다. 이 과정에서 서버에 부하가 갈 수 있으니 필요치 않은 페이지에는 접근 차단(robot.txt설정, nofollow, noindex..)으로 사이트를 보호해야 합니다.

Googlebot 로그

분석

수집한 사이트의 페이지들을 가지고 알고리즘을 통해 선별과정을 거치게 됩니다. 사용자 편의성, 가독성, 양질의 컨텐츠, 업데이트주기, 알맞은 이미지/텍스트, 모바일 친화성, 도메인 상태 등을 판단하여 검색엔진에서 노출을 시킬 것인지 버릴 것인지, 노출이 된다면 순위 등을 결정합니다.

게시

분석된 페이지를 검색결과 창에 표시를 해줍니다. 크롤링 및 적합한 컨텐츠라고 판단된 페이지들은 검색결과에 노출을 시켜줍니다. 검색순위가 높을 수록 사이트에 트래픽 유입이 많아집니다. 구글에서 분석결과 컨텐츠에 관계 없이 사람들의 시선은 상위 검색결과에 오래 머문다고 하네요.

검색엔진 최적화(SEO) 방법

검색엔진 구글 기준으로 작성해보겠습니다.
검색엔진최적화(SEO)의 목적은 검색순위를 올리는것! 그렇다면 어떻게 하면 순위가 올라갈까요?
구글에서는 이러한 방법에 대해 표준 가이드를 작성해서 공유를 해주고 있습니다.

원문 : [PDF] 검색 엔진 최적화 기본 가이드 – 구글

원문을 기본으로 실무에 적용중인 부분을 공유하도록 하겠습니다.

title, meta 태그(description) 활용

타이틀 태그는 구글에서 검색 했을때 동일하게 출력되는 태그입니다. 타이틀과 메타태그 중 Description 부분의 내용이 구글에 출력되게 됩니다.

Google Keyword 검색
Google keyword 검색 소스보기

빨간색 부분이 구글 검색 시 노출되는 타이틀 부분입니다. 해당 페이지의 소스보기를 하면 <title> 태그 안의 내용과 동일합니다.파란색 부분은 해당 페이지의 설명으로 구글 검색결과 페이지에서 해당 페이지에 대한 Preview를 보여줍니다.

description 태그에는 키워드 검색 결과에 대한 구체적인 설명을 작성하게 되며 <meta name=”description”> 의 content 속성과 매칭되는 부분입니다.

이를 잘 활용하면 유사 검색어의 유입이나 사이트 관리자가 유도하는 방향으로 사용자들을 유인? 할 수 있습니다.

title이나 meta description의 경우 사이트의 페이지마다 고유한 값을 작성해주는 것을 권장하고 있습니다. 유사페이지도 동일하게 작성 시 구글의 Search Console이나 타 SEO 점검 사이트에서 오류나 경고 메시지를 많이 보실겁니다.

title

  • 구체적이고 간결하게 적어 검색결과 화면에서 텍스트가 잘리지 않도록 함
  • 사이트명이나 회사명을 기입 할 경우 title 마지막에   |   –   :  등으로 구분
  • 키워드에 대한 반복을 지나치게 많이 사용 할 경우 스팸으로 간주하므로 적당히 사용
  • title 태그에 키워드가 포함될 경우 앞에 위치하는 것이 좋음
  • 같은의미의 키워드 검색이라도 단어 순서가 정확히 일치하는 것이 유리
  • 공백을 포함하여 10~70글자(구글에 title 최대 노출은 70글자)

meta description

  • 사이트의 페이지마다 페이지 고유의 description 값을 넣을 것을 권고
  • title 태그와 description 내용이 중복되지 않는 편이 좋음
  • 모든 페이지에 작성 할 필요는 없지만 주요페이지에는 작성 하는 것이 좋음
  • 공백을 포함하여 70~160글자로 작성

meta keyword

  • 키워드는 사용자들에게 정보만 제공 할 뿐 검색결과에는 반영되지 않음
  • 키워드나 키워드 문구는 콤마( , )로 구분
  • 공백을 포함하여 10~20글자의 고유한 단어나 문구로 작성

URL 구조 개선

구글은 키워드 검색 결과에 title과 meta 태그 이외에도 URL의 영향도 반영하고 있습니다.

  • URL에 키워드가 있을 경우 크롤링 및 순위에 좋은 영향을 미침
  • 불필요하거나 너무 많은 Parameter는 좋지 않은 영향을 미침
  • ID값 보다는 키워드로 URL을 구성하는 것을 권고
  • URL 구분자는 Under Score( _ ) 보다는 Hyphen( – )을 권고
  • 대문자 보다는 소문자를 선호- URL구조는 단순한 수록 유리

우수한 품질의 컨텐츠와 서비스 제공

구글은 텍스트만 있는 웹페이지 보다는 멀티미디어(이미지, 동영상)가 포함된 웹페이지를 좋아합니다. 아마도 컨텐츠에 대한 이해를 돕는다는 측면에서 반영한 듯 싶습니다.

  • 본문의 분량이 많은 것이 상위 노출에 유리
  • 검색 키워드와 연관성 있는 단어들이 본문에 포함되면 하나의 의미로 판단하여 품질에 유리
  • 사이트 내에 동일한 Content 역시 피해야 함
  • 가급적 문법과 맞춤법을 맞추어 작성하는 것이 유리
  • 필요 이상의 링크는 좋지 않은 영향을 미침
  • 구글은 새로운 최신 페이지를 선호하지만 그보다도 자주 업데이트 되는 페이지를 선호
  • 사용자 친화적인 레이아웃을 선호하며 광고등의 노출이 컨텐츠보다 많거나 가리게 된다면 좋지 않은 영향을 미침
  • 이미지 태그에는 alt 속성을 넣는 것이 유리하며 너무 많은 키워드를 입력 할 경우 패널티가 존재함
  • anchor 태그에는 title 속성을 넣는 것이 유리
  • 반응형 웹 디자인이 적용된 사이트를 권장함(모바일 검색순위에 장점)
  • 구글은 품질과 유용성이란 관점에서 가치와 독창적 성찰을 제공하는 사이트를 선호
  • Breadcrumb 로 웹페이지에서의 사용자 위치를 표시해 주는 것이 유리

웹서버 설정 – HTTPS 사용

HTTP 사이트 보다는 HTTPS (SSL 인증)가 적용 된 사이트에 가점이 더 붙습니다. 이유는 좀 더 안전한 사이트라고 판단하는 거겠죠?

구글에 의하면 HTTPS를 적용하게 되면

  • Increased rankings(순위 증가)  – HTTPS 로 전환함에 따라 랭킹이 상승한다고 구글에서는 명확히 밝히고 있습니다. 이는 구글에서 따로 조치를 취해주지는 않지만 시간이 지남에 따라 효과가 증가한다고 합니다.
  • Referrer Data(리퍼러 데이터-사이트 방문시 흔적) – 트래픽이 HTTPS 사이트로 전달되면 보안이 적용된 리퍼러 데이터 정보가 보존됩니다. 이는 HTTPS 사이트를 접속할 때 발생하는 상황과는 달리 직접적으로 연결되는 것으로 보이게 됩니다. 또한 변조되기 쉬운 리퍼러 데이터를 보증 할 수 있습니다. 
  • Security and privacy(보안 및 개인 정보보호) – 방문자의 데이터를 안전하게 보호해 줍니다. 검색 기록이나 신용카드 정보 등 URL을 포함한 모든 데이터를 암호화 하기에 3자 변조 등으로 부터 보호 할 수 있습니다.

하지만 아무 SSL이나 적용하면 안됩니다. TSL1 의 경우 보안이슈으로 인해 HTTPS를 적용해도 안하니만 못한 결과를 초래합니다. 분명 인증서 갱신 등의 체크포인트도 더 생기고 SSL 적용으로 인한 사이트 속도 저하현상의 문제도 있긴 하지만 장기적으로 보았을때는 여러 이점이 있는 HTTPS입니다.

HTTPS 도입시에는 현재 서버의 openssl, Apache, nginx 등의 버전과 호환이 되는지 먼저 확인 해 보시고 도입 계획을 세우시기 바랍니다.

robots.txt, NOINDEX, NOFOLLOW

robots.txt 파일은 크롤러/스파이더 봇의 접근을 차단/허용해주는 역할을 합니다.
사이트의 모든 페이지를 크롤링 해가면 좋겠지만 서버 담당자로서는 트래픽에 대한 부담이 생기게 됩니다.

robots.txt를 설정함으로써 사이트에서 중요하지 않거나 중복되는 부분을 제거하는 방향으로 사용하게 되면 서버에 부담도 덜하고 구글 색인도 빠르게 반영되게 됩니다.

작성방법으로는 사이트 최상위 디렉토리에 robots.txt파일을 생성합니다. 파일명과 위치는 고정이기 때문에 파일명이 다르거나 하위 디렉토리에 존재하게 되면 인식하지 못하게 됩니다.

사용되는 명령어로는
User-agent : 크롤러 종류를 의미합니다.
Disallow : 차단하고자 하는 URL 경로를 의미합니다.
Allow : 차단 목록 중 허용하고자 하는 Sub디렉토리나 경로를 의미합니다.

사용용되는 와일드 카드로는
* : 전체
/ : 디렉토리 구분
$ : 마지막을 의미

robots.txt와 비슷한 기능으로는 NOINDEX와 NOFOLLOW 의 속성값이 있습니다.

robots.txt는 서버 전체에 대한 통제라면 NOINDEX, NOFOLLOW 값은 HTML 페이지 내부에서 사용이 됩니다.
NOINDEX : 현재 페이지는 색인 차단
NOFOLLOW : 이 링크로는 연결하지 않음

robots.txt 설정이 잘 되어 있어야만 구글봇(크롤러, Agent) 들이 불필요한 정보나 가져가서는 안되는 정보들을 못가져 가도록 해서 유출이나 불필요한 트래픽을 막을 수 있습니다.

Sitemap 제출

sitemap.xml 파일은 사이트의 구조를 크롤러에게 좀 더 명확하게 전달 할 수 있습니다.
사이트에 컨텐츠가 많거나 신규 사이트, 페이지간의 연결이 원활하지 못한 사이트의 경우 sitemap에 중요페이지나 크롤링 대상이 되길 원하는 페이지를 작성하여 명시적이며 우선적인 색인이 진행됩니다.

작성방법은 수동으로 작성하거나 툴을 이용하는 방법이 있습니다.
수동작성은 사이트 규모가 크다면 추천드리지는 않습니다. 작성요령 중 UTF8 형식으로 50,000건씩 단일파일 50MB 이하로 작성해야 하는 규칙이 있기에 툴을 사용하시는 것을 추천드립니다.

xml-sitemaps.com 을 소개드리자면,
사이트에 접속하시어 URL을 넣고 변경주기나 최종수정일 등은 옵션이기에 Start 버튼만 클릭해주시면 됩니다.

Sitemap 생성

크롤링이 끝나면 다운로드받을 수 있는데 이 파일을 사이트 최상위 디렉토리에 올려주시면 됩니다. 구글 Search Console을 사용하신다면 파일 내용에 이상이 없는지 테스트 및 사이트맵 제출 하시면 작성된 URL을 기준으로 요류 및 색인 상태 확인 가능합니다.

Search Console

위에 설명된 기본적인 SEO를 바탕으로 구조적인 데이터 설정(Schema.org)과 Open Graph 추가 정도만 해도 검색엔진에서 가산점을 받을 수 있습니다.

워드프레스의 경우 다양한 SEO 툴이 있으니 이를 활용하면 간단하게 설정이 가능하니 툴 적용도 고려해보시는 것이 좋습니다.
저는 현재 Yoast SEO라는 플러그인으로 SEO를 설정 중인데 플러그인 소개는 다음 포스팅에서 진행에 보겠습니다.

1 thought on “검색엔진최적화(SEO) 기초”

Leave a Comment