웹 사이트(혹은 웹 어플리케이션)을 만드는 이유는 뭘까? 일반적으로 내 제품을 홍보하거나 웹 사이트의 서비스 자체가 비즈니스이기 때문이다. 그렇다면 내 제품, 웹 사이트의 서비스를 효과적으로 홍보하기 위해서는 어떻게 해야할까? 요즘에는 검색이 워낙 활성화되어 있기 때문에 검색엔진에 내 사이트가 상위에 노출이 된다면 많은 홍보가 될 것이다.
그렇다면 내 사이트가 상위에 노출되려면 어떻게 해야할까??
이럴 때 SEO! 검색엔진 최적화가 필요하다.
SEO(검색엔진 최적화)란?
검색엔진에서 더 찾기 쉽도록 사이트를 개선하는 프로세스
보통 우리가 많이 알고 있는 검색엔진은 네이버, 구글, 다음 정도일 것이다.
여기서 네이버와 다음은 검색을 광고로 판매하고 있다. 때문에 우리는 Google 검색센터에 나와있는 내용을 기준으로 SEO를 공부해보려고 한다.
Google은 '웹 크롤러'를 사용하는 자동화된 검색엔진으로 3단계로 작동한다.
이 중에서 색인 생성 과정을 살펴보자.
페이지의 콘텐츠를 분석하고 이미지, 동영상 파일의 목록을 작성 하는 등의 방법을 통해서 페이지를 파악하고 Google 색인에 저장한다.
그렇다면 우리가 작성하는 HTML 코드가 검색결과에 영향을 미치는 것은 이 색인 과정일 것이다.
또한 Google 검색센터에서는 게재 및 순위를 개선하고 최적화하는 방법에 대해서 여러페이지에 걸쳐 자세하게 언급하고 있다.
SEO에서 얘기 하는 것은 구글의 검색엔진이 찾을 수 있고, 이해할 수 있는 사이트를 만들라는 것이다. 그렇게 하기 위해서는 아래의 요건들을 체크해볼 필요가 있다.
<meta>
태그 사용<a>
태그)<title>
, <alt>
속성이 구체적이고 정확한지 확인한다. 이 중에서 몇 가지를 확인해보자.
robots.txt파일은 크롤러가 사이트에 요청할 수 있는 페이지/파일과 요청할 수 없는 페이지/파일을 검색엔진 크롤러에 알려 주는 역할을 한다.
반응형으로 개발을 할 때에는 모바일 퍼스트전략으로 진행을 하는 것이 좋다. 왜 좋을까? 동일한 환경에서 모바일 퍼스트 전략을 사용하여 개발한 웹 사이트는 그렇지 않은 사이트보다 빨리 로드될 것이다. (그 차이가 미미할지라도.. 물론 인터넷 속도가 매우 느린 환경에서는 이 차이가 명확하게 보이겠지만.) css는 상위에서부터 css를 읽고, 엘리먼트에 속성을 적용하고, 같은 엘리먼트에 새로운 속성을 적용하는 선택자가 나타나면 명시도 점수를 계산하여 점수가 높거나 점수가 같은 경우에는 하위에 있는 속성이 상위에 있는 속성을 덮어쓴다. 이런 경우 모바일 퍼스트 전략을 사용한 사이트는 데스크탑에서만 필요한 css는 읽지 않게 되므로 받아오는 데이터가 더 적어질 것이고 그만큼 속도가 더 빠를 것이다. (데스크탑은 데이터 패킷 단위로 금액을 지불하는것도 아니고, 속도 자체도 모바일 환경보다 더 빠르기 때문에 이런 환경을 생각하지 않아도 된다.)
<meta>
태그 사용meta
태그는 HTML 문서의 head
요소 안에 들어간다. meta
태그는 여러가지 정보를 제공할 수 있는데, 데이터의 성격을 정의하거나 문서를 설명하는 정보를 담고 있다.
앞선 포스팅중 HTML tags에서 meta
태그에 대해서 작성한 적이 있지만, 다시 한번 설명하면 meta
태그는 name
과 content
특성을 함께 사용해서 문서의 메타데이터를 제공할 수 있다.
keyword
: 웹페이지의 홍보수단으로 검색 키워드를 지정 가능하며, ,
로 구분하여 선언한다.<meta name="keyword" content="HTML, tag, element, Frontend">
subject
: 문서의 제목정보<meta name="subject" content="HTML tag">
description
: 웹페이지 요약 정보, 제작자 정보(autuor), 저작권 정보(copyright)<meta name="description" content="HTML tag 정리">
author
: 문서의 저작자<meta name="author" content="Kim Kyuree">
위의 meta
tag는 검색결과에 노출되는 내용을 정의하게 된다.
이 부분에 대해서는 정리를 잘 해놓은 다른 블로그가 있으니 이 내용을 참고하면 될 것 같다.
메타 요약문 (meta 요소)에 대한 SEO 최적화 : 온페이지 SEO
올바르고(시맨틱) 오류가 없도록 HTML을 작성한다. HTML과 CSS를 제대로 사용한다면 콘텐츠와 디자인이 분리되므로 페이지를 더 빠르게 렌더링 및 로드할 수 있다. (W3C에서 제공하는 유효성 검사기를 통해서 사이트를 검사하는 것을 추천한다.) 단, 시맨틱한 엘리먼트를 사용하여 HTML을 작성한다고 하여도 색인생성에 큰 영향을 미치지는 않는다고 한다.
<title>
, <alt>
속성이 구체적이고 정확한지 확인한다.앞선 포스팅중 "시맨틱 웹 (Semantic Web)과 웹 접근성"에서 아래와 같이 작성했던 내용이 있다.
대체텍스트가 적용되어 있지 않은 수 많은 이미지는 단순히 이미지, 이미지 라고만 읽어줄 것이고...
이 것은 보조기기 검색엔진 또한 마찬가지다. 때문에 이미지를 사용하게 된다면 alt
를 사용하여 대체 텍스트를 작성하거나 html의 기타 속성들을 이용해 이미지에 대한 적절한 설명을 작성해 주어야 하는 것이다. (이미지가 의미를 가지지 않는 장식용 이미지인 경우에는 alt=""
와 같은 식으로 작성할 수 있다. 이 것은 일부 비 시각적 브라우저가 렌더링을 하지 않아도 된다는 의미라고도 한다. )
: 사이트의 URL 구조를 최대한 단순하게 유지하고, 콘텐츠를 정리하여 URL을 이해하기 쉬운 방식으로 구성하는 것이 좋다.
가능한 많은 브라우저에서 테스트를 하고, 각 브라우저에서 동일한 사용자 경험을 얻을 수 있는지 확인해야한다.
오늘은 SEO에 대해서 정리해보았다. 위 내용은 실제 사이트를 SEO를 적용한 사이트와 적용하지 않은 사이트를 실제로 배포해본뒤에 테스트 할 예정이다. (아직 배포를 해본적이 없어서 포스팅은 뒤로 미뤄질 예정이다. ㅠㅠ)
참고자료
구글 검색센터 문서