서비스를 개발하거나 운영할 때, 사용성만큼 중요한 요소가 바로 **SEO(Search Engine Optimization, 검색 엔진 최적화)**다. 기업이나 개인이 운영하는 서비스의 검색 노출량이 증가할수록 더 많은 사용자에게 도달할 수 있고, 이는 궁극적으로 비즈니스 성과에 긍정적인 영향을 미친다.
따라서, 개발자에게 SEO의 이해와 적용은 필수적이다. SEO는 단순히 마케팅 팀의 책임이 아니다. 웹사이트의 기술적 구조와 사용자 경험을 최적화하는 데 있어 개발자의 역할이 매우 중요하다. 효과적인 SEO 구현을 통해 개발자는 웹사이트의 성능을 향상시키고, 검색 엔진에서의 가시성을 높일 수 있다.
이러한 이유로, 이번 SEO 스터디에서는 검색 엔진 최적화에 대해 자세히 알아보고, 개발자 관점에서 살펴봐야 할 SEO 요소들을 집중적으로 다뤄보고자 한다.
SEO(Search Engine Optimization)는 검색 엔진 최적화를 의미하며, 웹사이트나 콘텐츠가 검색 엔진에서 더 잘 노출되도록 개선하는 작업이다. SEO의 목적은 웹페이지가 특정 키워드로 검색될 때 검색 결과 상위에 표시되도록 하는 것이며, 이를 통해 더 많은 사용자가 방문할 수 있게 한다.
검색 엔진은 쉽게 말해 **구글, 네이버, 엣지(마이크로소트프트 빙)**처럼 검색어를 입력하면 관련 웹 페이지를 찾아주는 서비스이다. 이러한 검색 엔진은 각각 고유한 알고리즘을 통해 웹 페이지를 평가하고 순위를 매기므로, SEO 작업은 각 검색 엔진의 특성을 고려하여 최적화되어야 한다.
검색엔진이 정보를 어떻게 수집하고, 저장하며, 사용자에게 제공하는지를 이해하는 것은 SEO(검색 엔진 최적화)에서 매우 중요한 요소이며, 검색엔진 프로세스는 크게 **웹크롤링(Web crawling), 색인화(Indexing), 랭킹(Ranking)**의 세 가지 주요 단계로 이루어진다. 각 단계에서 검색 엔진은 웹 페이지를 탐색하고, 구조화하며, 순위를 매기는 과정을 통해 사용자에게 관련성 높은 정보를 제공한다.

<aside>
웹 크롤링(Web Crawling)은 웹 크롤러(스파이더 또는 검색 엔진 봇)가 인터넷의 정보를 수집하는 과정을 의미한다. 웹상의 방대한 정보를 우리가 일일이 파악하는 것은 불가능하므로, 웹 페이지가 무엇에 대한 것인지 분석하고 필요한 정보를 추출하는 작업을 웹 크롤러가 수행한다. 웹 크롤러는 웹 문서를 자동으로 탐색하여 검색 엔진이 사용자에게 정보를 제공할 수 있도록 한다.
</aside>
1. 시드 URL(Seed URL) 설정
https://example.com과 같은 웹사이트의 첫 번째 페이지가 시드 URL이 될 수 있다.2. robots.txt 파일 확인
크롤러는 각 웹사이트의 robots.txt 파일을 먼저 확인한다. 이 파일은 크롤러가 어떤 페이지나 디렉토리를 크롤링할 수 있는지, 또는 금지된 페이지가 있는지를 알려준다.
예를 들어, https://example.com/robots.txt 파일을 요청하여 페이지의 크롤링 가능 여부를 확인한다.
허용된 경우: 크롤링을 진행한다. 금지된 경우: 해당 페이지는 큐에 추가되지 않고 크롤링하지 않는다.