크롤 가능성 (Crawlability)
크롤 가능성(Crawlability)은 검색 엔진 크롤러가 페이지에 접근하여 콘텐츠를 읽을 수 있는 정도를 의미하며, 페이지에 링크가 연결되어 있는지, robots 규칙에 의해 허용되어 있는지, 오류 없이 서버 응답이 제공되는지, 그리고 크롤러가 실제로 파싱하는 HTML에 텍스트가 존재하도록 렌더링되어 있는지에 따라 결정됩니다.
페이지가 사용자에게 정상적으로 보여도 크롤러에게는 존재하지 않을 수 있습니다. 크롤러는 링크나 사이트맵을 통해 URL을 발견하고, 해당 URL을 가져올 권한이 있어야 하며(robots.txt, noindex 지시어, HTTP 상태 코드가 이를 결정합니다), 응답에서 실제 텍스트를 추출할 수 있어야 합니다. 이 단계 중 하나라도 실패하면, 콘텐츠가 아무리 뛰어나도 색인에 포함되지 못합니다. 크롤 가능성은 이후 모든 과정의 전제 조건입니다. 크롤러가 도달하여 읽을 수 없는 페이지는 순위에 오를 수 없고, 리치 스니펫을 획득할 수 없으며, 어떤 시스템에서도 인용되지 않습니다.
렌더링 단계에서 많은 스토어들이 조용히 뒤처집니다. 페이지 로드 후 JavaScript가 삽입하는 콘텐츠, 예를 들어 서드파티 스크립트나 iframe으로 불러오는 리뷰 위젯은 초기 HTML에 포함되지 않는 경우가 많습니다. 일부 크롤러는 JavaScript를 지연 렌더링하거나 전혀 렌더링하지 않기 때문에, 해당 리뷰들은 크롤링 불가 상태가 됩니다. 구매자에게는 보여도 크롤러에게는 보이지 않습니다. iframe은 특히 주의해야 할 함정입니다. iframe 내용은 별도의 URL에 위치하며 호스트 페이지에 귀속되는 경우가 드물기 때문입니다.
Shopify로 메리노 울 이너웨어를 판매하는 스토어를 생각해 보겠습니다. 상품 페이지에는 평균 4.7점의 리뷰 240개가 표시되지만, 이 리뷰들은 브라우저 스크립트가 실행된 후 리뷰 앱이 별점과 고객 상품평을 페이지에 삽입하는 방식으로 로드됩니다. 구매자에게는 페이지가 완전해 보입니다. 하지만 초기 HTML 응답을 가져오는 크롤러에게는 상품명, 가격, 짧은 설명만 있을 뿐, 리뷰 240개는 문서 안에 존재하지 않습니다. 판매자는 소셜 프루프가 검색에서 작동하고 있다고 생각하지만, 크롤러가 실제로 보는 수준에서는 리뷰가 없는 것과 같습니다.
직접 확인하는 방법은 간단합니다. 원시 HTML을 가져와(소스 보기, 또는 curl 요청) 실제 리뷰 텍스트를 검색해 보십시오. 그곳에 없으면 크롤러도 볼 수 없습니다. 이는 이제 기존 검색을 넘어 중요한 문제가 되었습니다. ChatGPT, Perplexity, Google AI Overviews 같은 AI 답변 엔진은 검색 가능하고 파싱 가능한 텍스트에서 응답을 조합하며, 그 검색의 대부분은 모든 페이지를 완전히 렌더링하는 대신 동일한 크롤 가능 HTML에 의존합니다. 구매자가 AI 어시스턴트에게 반복 세탁 후에도 형태를 유지하는 메리노 울 이너웨어를 묻는다면, AI 모델은 자신이 읽을 수 있었던 리뷰 텍스트만 활용할 수 있습니다. 클라이언트 전용 위젯 안에 갇힌 리뷰는 그 응답에 아무런 기여를 하지 못합니다.
기존 리뷰를 읽기 가능하고, 신뢰성 있으며, Google과 Naver 양쪽의 검색과 AI 모두에서 인용되도록 만드는 것이 BeyondReviews가 해결하는 격차입니다. 콘텐츠를 서버 사이드에서 렌더링하여, 크롤러가 첫 번째 요청에서 파싱하는 HTML 안에 텍스트가 담기도록 합니다. 브라우저만이 실행하는 스크립트 안에 갇혀 있는 것이 아닙니다.