SEO, 검색엔진 최적화

박지찬·2023년 11월 13일

SEO 란?

Search Engine Optimization의 약자로 검색 엔진 최적화를 뜻한다. 웹사이트가 검색 결과에 더 잘 보이도록 최적화하는 과정이다.

대부분의 사람은 상위 노출된 페이지를 먼저 열람하게 된다. 이 때 검색엔진 결과 페이지에서 웹사이트 또는 웹페이지의 상위 노출도를 높이는 작업이 SEO 이다.

Google Organic CTR Breakdown By Position Graph

이미지 출처 - backlinko

대부분의 사람들은 검색 결과로 나온 첫 번째 사이트를 클릭한다. 그리고 그 밑으로 내려갈 수록 클릭율은 현저히 낮아진다. 때문에 우리가 사람들에게 노출이 되어야 하는 웹사이트를 개발할 때 SEO 를 적용하여 검색 결과 상위에 위치하게 하는 것은 중요하다.

Google Search Results Page

상위에 노출되는 검색 결과는 크게 두 가지로 나눌 수 있다. 광고가 아닌 자연 검색(Organic Search)과 광고로 노출되는 PPC (Pay-per-Click)이다. 이 중 PPC 클릭율이 더 많을 것이라고 생각할 수도 있지만 실제로는 그렇지 않다.

Paid, Organic, and Zero-Click Searches in Google Graph

위 그래프에서 나오듯이 자연 검색의 클릭율이 거의 반을 차지하는 것을 알 수 있다. SEO 기준에 맞춰 웹사이트를 개발하여 자연 검색으로 인한 클릭율을 늘리는 것이 웹사이트를 많이 노출시키는 가장 효율적인 방법이라고도 할 수 있다.

이 글에서는 구글 검색엔진에 초점을 맞추어 작성하였다.

검색엔진 알고리즘

먼저 검색엔진이 선호하는 사이트를 만들기 위해서는 검색엔진이 어떤 원리로 동작하는지 알아야 한다.

구글의 경우 크롤링 (Crawling), 인덱싱 (Indexing), 랭킹 (Ranking) 3단계 프로세스를 통해 검색 결과 내 가장 적절한 페이지를 상위 노출 시켜준다.

크롤링 단계에서는 구글봇 (웹 크롤러)가 내 웹페이지의 콘텐츠를 복사하여 모든 정보를 수집하고 수집한 정보를 데이터베이스로 가져온다.

인덱싱 단계에서는 구글봇이 가져온 정보를 주제별로 색인해서 데이터를 보관한다.

랭킹 단계에서는 색인된 콘텐츠에 순위를 부여하여 사용자가 검색했을 때 랭킹 순서대로 결과를 제공한다.

이 3단계 프로세스를 통해 구글은 SERP (Search Engine Result Page) 를 완성한다.

구글 SEO 로 상위 노출하는 방법

구글은 2016 년까지 툴바를 통해 SEO 점수를 나타내는 PageRank 를 제공했다.

하지만 많은 사이트들이 더 많이 노출될 수 있도록 이 PageRank 시스템을 악용하게 되면서 구글은 이 PageRank 를 더 이상 노출시키지 않도록 하였다.

그렇다고 해서 구글이 PageRank 시스템을 사용하지 않는 것이 아니기 때문에, 구글의 검색 결과 랭킹 방법은 비공개이지만 구글의 검색 결과를 토대로 SEO 를 어떻게 해야하는지 알 수 있다.

Http 가 아닌 Https 사용

Http 는 보안적으로도 위험하지만, SEO 측면에서도 좋지 않다.

URL 최적화

서브 도메인 보다는 서브폴더 형식을 사용한다. 서브 도메인 형식을 사용하면 검색엔진은 사이트가 여러개 있다고 인식하여 도메인 점수가 분산된다.
e.g. www.example.com/blog, www.example.com/information

robots.txt 를 사이트 루트에 작성한다

robots.txt는 사이트맵 위치, 접근 가능한 파일과 그렇지 않은 파일 등의 정보를 크롤러에게 알려주는 파일이다. 검색에 필요하지 않은 중요하지 않은 페이지나 파일들을 명시하여 크롤링 되지 않도록 하는 것이 좋다.

# brandonsbaseballcards.com/robots.txt
# Tell Google not to crawl any URLs in the shopping cart or images in the icons folder,
# because they won't be useful in Google Search results.
User-agent: googlebot
Disallow: /checkout/
Disallow: /icons/

사이트맵

사이트맵은 웹사이트의 모든 페이지들을 나열한 파일이다. 이 파일 또한 robots.txt 와 마찬가지로 루트 디렉토리에 위치하는 것을 권장한다.
자세한 sitemap 작성 방법은 sitemap protocol을 참고한다.

<title> 태그와 <meta> 태그


타이틀 태그는 웹페이지를 검색 엔진에 검색했을 때 노출되는 제목으로 이해할 수 있다. 이 제목은 검색 엔진 데이터베이스에 색인될 때 어떤 정보를 가진 웹페이지인지 알려주기 때문에 중요하다.
meta 태그 중 description 태그는 해당 웹페이지의 설명을 요약한 한 두 줄의 문장을 뜻합니다. 검색 엔진이 웹페이지의 본문 안에서 관련된 정보를 찾지 못할 경우 이 description 에 있는 내용을 토대로 관련된 정보인지 판단하기 때문에 모든 페이지에 넣어주는 것이 좋다.

캐노니컬 태그

캐너니컬 태그는 여러 URL을 가진 웹페이지가 있을 때, 해당 페이지의 대표 URL을 설정할 수 있는 태그이다. 한 페이지의 대표 URL 을 지정함으로써, 봇이 크롤링할 때 중복 URL 로 인한 페널티가 적용되게 하지 않게끔 도와주는 역할을 한다.
다른 정보를 담고 있는 경우에는 캐노니컬 태그를 쓰지 않는다.

Paid, Organic, and Zero-Click Searches in Google Graph

애플의 공식 사이트가 이 태그를 적용한 좋은 예이다. 같은 정보를 담지만 다른 언어로 되어 있을 경우 canonical 태그를 활용하여 대표 URL을 지정하고, 다른 URL 들을 alternate 으로 알려준다.

이미지 alt 속성

alt 속성은 이미지의 대체 텍스트이다. 이 속성은 이미지가 로드 되지 않을 때, 또는 시각 장애인용 브라우저로 페이지를 사용된다. 구글봇은 이 속성을 읽어 이 이미지가 어떤 이미지인지 인식하고, 해당하는 곳에 색인을 하게 된다.

오픈 그래프 (Open Graph) 태그

오픈 그래프 태그는 웹 페이지의 링크가 카카오톡이나 기타 SNS에 공유될 때 어떻게 노출되는지 정해주는 역할을 하는 태그이다.
공유될 때 정보를 보기 쉽게 표시해 줄 뿐만 아니라, 해당 웹페이지가 SNS에 얼마나 공유되고 있는지 판단하는 기준이 되어 SEO에 영향을 준다.

마무리

사실 SEO 는 마케팅의 영역이라고 볼 수도 있지만, 개인 프로젝트와 같은 작은 프로젝트에서 마케팅 전문가의 도움을 받기 쉽지 않아, 개발자로서 SEO 를 알아두어 웹사이트를 개발할 때 참고하면 큰 도움이 될 것 같아 공부해보기로 하여 이 글을 작성했다.

참고자료

https://developers.google.com/search/docs/fundamentals/seo-starter-guide
https://yozm.wishket.com/magazine/detail/1540/
https://seo.tbwakorea.com/blog/seo-guide-2022/

0개의 댓글