SEO
SEO
Search Engine Optimization. 검색엔진 최적화. 운영하는 웹사이트가 검색 사이트의 검색 결과에 노출되도록 하는 행위를 말한다. 보통은 Google, 네이버의 검색 결과에 노출되는 것을 목적으로 한다.
유혹: 비정상적인 방법
인간의 욕심은 끝이 없고 어뷰저들은 언제나 존재한다. 정상적인 방법은 훌륭한 콘텐츠가 있는 웹사이트를 만들고, 알맞는 SEO를 진행하면 된다.
물론 어뷰저들은 다른 방법을 찾는다. 흰 바탕에 흰 글씨로 엉뚱한 정보들을 적는 방법, display:none을 적용한 div에 가짜 정보들을 넣는 방법, 다른 웹사이트의 댓글에 본인들의 웹사이트 링크를 넣는 방법 등 무궁무진한 편법을 사용한다.
하지만, 그러지 말고 정도를 걷자. 정상적인 방법을 사용해도 콘텐츠만 좋다면, 상단에 노출될 수 있다.
준비물: 콘텐츠
SEO만으로는 무에서 유를 창조하지 못한다. SEO를 위한 가장 기초적인 준비물은 콘텐츠다. 사용자들이 필요로하는 정보를 제공해야 한다. 콘텐츠가 없다면, SEO는 무용지물이다.
양질의 오리지널 콘텐츠가 준비되었다면, SEO를 시작한다.
title, description
글에는 제목이 있다. 웹 페이지에도 제목이 있다. 제목은 내용을 잘 요약해서 담고 있어야 한다. 설명은 전체 페이지를 짧게 설명하는 글이다.
위 이미지는 google에서 naver를 검색한 것이다. 첫째줄이 title, 둘째줄이 URL, 셋째줄이 description이다. 웹사이트를 운영한다면, title과 description은 꼭 설정해놓아야 한다. 이들은 html 문서의 head 안에 위치시킨다. title과 description은 페이지마다 달라야 하고, 너무 길지 않아야 한다.
Open Graph
facebook의 부상과 함께 중요해졌다. 외부에서 웹사이트를 참조할 때 활용할 수 있는 정보를 제공해주는 방법이다. 마찬가지로 head 안에 위치시킨다.
이외에도 twitter 태그 등을 더 활용할 수 있다.
sitemap
사이트맵은 웹사이트의 지도와 같다. 웹사이트의 페이지들을 검색엔진이 이해하기 쉽도록 제공한다. 통상적으로 url/sitemap.xml에 위치시킨다.
위와 같은 xml 형태로 만든다.
robots.txt
검색엔진의 동작 규칙을 설정해놓은 파일. url/robots.txt에 위치시킨다.
위와 같은 형태로 이루어져 있다. User-agent에는 검색엔진을 적는다. 모든 검색엔진에 대해 허용하기 위해 *를 적었다.
Allow는 검색을 허용할 페이지이다. 모든 페이지를 허용하기 위해 /를 적었다. Disallow는 검색을 불허할 페이지이다. /admin/ 디렉토리 아래 있는 페이지를 제외하기 위해 /admin/을 적었다. 단, robots.txt는 외부에서 바로 볼 수 있기 때문에, 누구나 본다는 것을 염두해둬야 한다.
더 완벽한 SEO를 위해 챙겨야할 것들
- https - Google에서는 SSL 연결이 아닌 경우, 안전하지 않은 연결로 표시하고 있으며, 검색 순위를 점차 낮출것이라고 했다. 이제는 사용하자.
- canonical URL - 하나의 웹 페이지는 하나의 URL만 갖도록 하자.
여러 URL이 존재할 경우, 검색엔진이 copy content라고 판단할 수 있다.
보다 명확하게 하기위해 head 안에 canonical URL을 선언하는 방법도 있다.
<link rel="canonical" href="https://jeesub.github.io/"> - 이미지 alt 정보 - 검색엔진은 이미지를 읽을 수 없다. alt를 통해 검색엔진도 이해할 수 있는 정보를 주자.
- 모바일 최적화 - 요즘은 기본으로 모바일 페이지를 함께 만드므로, 중요도가 낮다고 할 수도 있겠다. 모바일 페이지가 없다면 검색엔진이 모바일 기기에서 검색하는 사용자에게는 당신의 웹사이트를 보여주지 않는다.
- Google Search Console과 Naver Webmastertool을 사용하자. 각 엔진에서 자동화해놓은 툴들이 보완할 점을 알려준다.
- 빠른 로딩 - 검색엔진은 느린 웹사이트를 좋아하지 않는다. 파일 크기를 열심히 줄이고 캐시 및 CDN을 활용하는 등 속도를 개선하자.