
어느 날 평소처럼 사이트를 관리하다가 문득 궁금해졌습니다. 검색엔진은 내가 보는 사이트를 과연 똑같이 보고 있을까요?
방문자 입장에서는 메뉴도 잘 보이고 글도 문제없이 읽힙니다. 하지만 직접 웹 크롤러를 만들어 사이트를 수집해본 후 생각이 완전히 달라졌습니다.
SEO를 공부하면서 내부링크, 사이트맵, 크롤링 예산 같은 용어를 자주 접했지만 실제로 체감하기는 어려웠습니다. 그런데 내 사이트를 크롤러 시선으로 바라보니 왜 이런 개념들이 중요한지 한 번에 이해할 수 있었습니다.
크롤러를 만들게 된 단순한 이유
처음부터 SEO 분석을 목적으로 크롤러를 만든 것은 아니었습니다.
사이트 규모가 커지면서 내가 작성한 글이 몇 개인지, 어떤 페이지들이 서로 연결되어 있는지 확인하고 싶었습니다. 그래서 파이썬으로 간단한 크롤러를 만들었습니다.
시작 URL을 입력하면 내부 링크를 따라 이동하면서 URL과 제목을 저장하는 구조였습니다.
처음에는 특별한 문제가 발견되지 않을 것이라고 생각했습니다. 어차피 내가 만든 사이트였고 구조도 잘 알고 있다고 믿었기 때문입니다.
그런데 결과를 확인하는 순간 예상과 다른 상황이 나타났습니다. 운영자가 알고 있는 사이트와 검색엔진이 보는 사이트는 생각보다 큰 차이가 있었습니다.

내 사이트를 크롤링하자마자 발견된 문제들
좋은 콘텐츠를 만드는 것과 검색엔진이 콘텐츠를 발견하는 것은 전혀 다른 문제였습니다.
링크가 끊긴 페이지
몇몇 페이지는 주소를 변경하거나 삭제한 적이 있었는데 오래된 링크가 그대로 남아 있었습니다.
사용자는 거의 발견하지 못하지만 크롤러는 모든 링크를 따라갑니다. 그 결과 여러 개의 404 오류 페이지가 확인됐습니다.
이런 오류가 누적되면 크롤링 효율이 떨어지고 사이트 품질 관리 측면에서도 좋지 않은 영향을 줄 수 있습니다.
고립된 페이지(Orphan Page)
가장 의외였던 부분은 오펀 페이지였습니다.
분명 내가 작성한 글인데 어떤 페이지에서도 연결되어 있지 않았습니다. URL을 직접 입력해야만 접근 가능한 상태였습니다.
사이트 운영자는 해당 글의 존재를 알고 있지만 크롤러는 그렇지 않습니다. 링크가 없다면 해당 페이지는 발견 자체가 어려워질 수 있습니다.
그 순간 내부링크가 단순한 사용자 편의 기능이 아니라 검색엔진의 길이라는 사실을 실감했습니다.
중복 URL
같은 내용을 담고 있는데 URL만 다른 페이지도 발견됐습니다.
카테고리 경로 차이, 파라미터 URL, 슬래시 유무 같은 작은 차이 때문에 동일한 콘텐츠가 여러 주소로 노출되고 있었습니다.
사이트 규모가 커질수록 이런 문제는 검색엔진이 페이지를 이해하는 데 혼란을 줄 수 있습니다.
검색엔진은 생각보다 링크에 의존한다
크롤러를 만들면서 가장 크게 깨달은 사실은 검색엔진이 링크를 통해 사이트를 이해한다는 점이었습니다.
내부링크가 크롤링 경로가 되는 이유
크롤러는 기본적으로 링크를 따라 이동합니다.
즉 중요한 페이지라면 내부링크를 통해 충분히 연결되어 있어야 합니다.
실제로 여러 페이지에서 연결된 콘텐츠는 빠르게 발견됐고, 반대로 연결이 부족한 페이지는 수집 우선순위가 낮았습니다.
내가 중요하다고 생각하는 페이지와 검색엔진이 중요하게 인식하는 페이지가 반드시 같은 것은 아니라는 점도 알게 됐습니다.
관련글과 카테고리 구조의 중요성
예전에는 관련 글 기능을 체류시간 증가용 기능 정도로 생각했습니다.
하지만 크롤러 입장에서는 새로운 콘텐츠를 발견하는 주요 통로였습니다.
카테고리 구조 역시 마찬가지였습니다.
잘 정리된 카테고리는 검색엔진이 사이트 전체 구조를 이해하는 데 큰 도움을 주고 있었습니다. 반대로 연결이 부족한 콘텐츠는 존재 자체를 알리기 어려웠습니다.
크롤링 데이터로 확인한 SEO 약점들
직접 데이터를 살펴보니 평소에는 보이지 않던 약점들이 드러나기 시작했습니다.
페이지 깊이(Depth)
중요한 글인데도 메인 페이지에서 다섯 번 이상 클릭해야 접근 가능한 경우가 있었습니다.
사용자뿐 아니라 크롤러도 이런 페이지를 상대적으로 늦게 발견할 수 있습니다.
중요한 콘텐츠일수록 가능한 한 얕은 구조에 배치하는 것이 유리하다는 점을 데이터로 확인할 수 있었습니다.
상태코드 문제
404 오류 외에도 여러 단계의 리다이렉트가 발견됐습니다.
사용자는 최종 페이지에 도착하므로 큰 문제를 느끼지 못합니다.
하지만 크롤러는 모든 이동 과정을 처리해야 하기 때문에 비효율이 발생할 수 있습니다.
사이트가 커질수록 이런 문제는 점점 누적됩니다.
크롤러가 이해하기 어려운 페이지 특징
일부 페이지는 콘텐츠가 존재함에도 불구하고 접근성이 좋지 않았습니다.
자바스크립트 의존도가 높거나 링크 구조가 지나치게 복잡한 경우였습니다.
최근 검색엔진은 발전했지만 여전히 단순하고 명확한 구조를 선호합니다.
크롤러를 직접 만들어보면 이런 문제를 생각보다 자주 발견하게 됩니다.

사이트맵보다 더 중요했던 것은 구조였다
사이트맵만 제출하면 SEO 문제가 대부분 해결될 것이라고 생각했던 시기가 있었습니다.
실제 크롤링 결과는 조금 달랐습니다.
XML 사이트맵의 역할
사이트맵은 검색엔진에게 페이지 목록을 알려주는 역할을 합니다.
특히 신규 페이지나 내부링크가 부족한 페이지를 발견하는 데 도움을 줄 수 있습니다.
실제로 크롤러에 사이트맵 분석 기능을 추가했을 때 내부 링크만으로는 발견하지 못했던 페이지들이 나타났습니다.
링크 구조와 사이트맵의 차이
사이트맵은 주소 목록입니다.
반면 내부링크는 실제 이동 경로입니다.
검색엔진은 두 가지 정보를 함께 활용해 사이트를 이해합니다.
크롤러가 실제로 발견한 결과
건강한 페이지들은 공통점이 있었습니다.
사이트맵에 포함되어 있었고 내부링크도 충분했습니다.
반대로 문제가 있는 페이지는 둘 중 하나가 부족한 경우가 많았습니다.
결국 사이트맵보다 중요한 것은 사이트 전체 구조였습니다.
이 경험은 SEO를 바라보는 시각 자체를 바꿔놓았습니다. 예전에는 좋은 글을 많이 작성하면 검색엔진이 자연스럽게 평가해줄 것이라고 생각했습니다. 하지만 크롤러를 직접 만들어보니 아무리 좋은 콘텐츠라도 검색엔진이 발견하지 못하면 기회조차 얻기 어렵다는 사실을 알게 됐습니다.
기술 SEO 역시 복잡한 최적화 작업이 아니라 검색엔진이 사이트를 이해하기 쉽게 만드는 과정이라는 점을 체감했습니다. 내부링크, 상태코드, URL 구조 같은 요소들이 중요하게 여겨지는 이유도 결국 같은 맥락이었습니다.
무엇보다 SEO는 검색엔진을 속이기 위한 기술이 아니라 검색엔진이 콘텐츠를 쉽게 발견하고 이해할 수 있도록 돕는 작업에 가깝다는 생각을 하게 됐습니다. 흥미로운 점은 검색엔진이 이해하기 쉬운 사이트가 사용자에게도 편리한 경우가 대부분이었다는 점입니다.

SEO는 결국 검색엔진에게 길을 알려주는 작업이었다
직접 크롤링을 해보기 전까지 SEO는 다소 추상적인 개념이었습니다.
하지만 크롤러 시선으로 사이트를 바라본 후에는 왜 내부링크와 구조가 중요한지 훨씬 명확하게 이해할 수 있었습니다.
실제로 사이트를 점검하면서 404 오류는 없는지, 검색엔진이 도달할 수 없는 오펀 페이지는 없는지, 중요한 글이 지나치게 깊은 위치에 숨어 있지는 않은지 자연스럽게 확인하게 됐습니다. 또한 내부링크가 충분히 연결되어 있는지, 사이트맵이 최신 상태로 유지되고 있는지도 이전보다 자주 살펴보게 됐습니다.
이런 점검 항목들은 구글 SEO 가이드에서도 반복적으로 강조하는 내용인데, 직접 크롤러를 만들어보니 왜 그런 권장사항이 존재하는지 몸소 이해할 수 있었습니다.
참고 자료
– Moz Blog
https://moz.com/blog
– 랭크온
https://akeep.co.kr