쿼리 페이지 생성: 검색 데이터에서 SEO 최적화 페이지로
이 글에서는 검색 데이터에서 수천 개의 쿼리 페이지를 자동으로 생성하는 방법을 설명합니다.
문제: 모든 검색 쿼리에 대한 페이지 생성
사용자는 다양한 방식으로 제품을 검색합니다:
-
"사무용 미니 PC"
-
"16GB RAM 소형 컴퓨터"
-
"Windows 11 컴팩트 데스크탑"
각 쿼리는 전용 페이지를 가질 자격이 있으며, 이 페이지에는 다음이 포함됩니다:
-
쿼리 의도에 따라 필터링된 일치하는 제품
-
SEO 최적화 콘텐츠 (제목, 설명, 메타 태그)
-
사용자가 탐색할 수 있도록 돕는 관련 검색어
-
글로벌 사용자를 위한 다국어 지원
이러한 페이지를 수동으로 생성하는 것은 규모(65,000개 이상의 쿼리) 상 불가능합니다.
해결책: 자동화된 쿼리 페이지 생성
SEO 파이프라인이 쿼리 페이지를 자동으로 생성합니다:
- 유사한 쿼리 클러스터링 (예: "미니 PC" + "소형 컴퓨터")
- 쿼리 텍스트에서 필터 추출 (예: "16GB RAM" → RAM 필터)
- 의미적 유사성을 사용한 제품 매칭
- AI(DeepSeek)를 사용한 콘텐츠 생성
/q/<슬러그>에 페이지 생성
쿼리 페이지 모델
쿼리 페이지는 QueryPageV3 모델을 사용하여 DynamoDB에 저장됩니다. 각 페이지에는 다음이 포함됩니다:
-
슬러그: URL 친화적 식별자(기본 키)
-
필터: 제품 매칭을 위한 기본 필터
-
SKU: 상위 100개 일치 SKU의 캐시된 목록
-
제목: SEO용 페이지 제목
-
설명: 다국어 콘텐츠(태그라인 + 본문)
-
메타데이터: 마지막 업데이트 타임스탬프, 총 점수
생성 과정
쿼리 페이지는 SEO 파이프라인에 의해 생성됩니다:
- 쿼리 클러스터링: 벡터 유사성을 사용하여 유사한 쿼리 그룹화
- 제품 매칭: 쿼리 클러스터와 일치하는 제품 찾기
- 슬러그 생성: URL 친화적 식별자 생성
- SKU 캐싱: 상위 100개 일치 SKU 저장
- 콘텐츠 생성: AI 생성 설명
콘텐츠 생성
쿼리 페이지 콘텐츠는 AI를 사용하여 생성됩니다:
-
DeepSeek: 제품 설명, 쿼리 페이지 콘텐츠
-
시스템 프롬프트: 캐싱 효율성용
-
온도: 균형 잡힌 창의성을 위한 0.7
AI는 다음을 생성합니다:
-
태그라인: 짧고 매력적인 헤드라인
-
본문: 상세한 제품 정보
다국어 지원
쿼리 페이지는 여러 언어를 지원합니다:
-
영어 (소스)
-
스페인어, 프랑스어, 독일어, 이탈리아어, 포르투갈어
-
러시아어, 힌디어, 벵골어, 구자라트어, 칸나다어
-
말라얄람어, 마라티어, 펀자브어, 타밀어, 텔루구어
-
아랍어, 중국어, 일본어, 한국어
필터 추출
필터는 구문 매칭을 사용하여 검색 쿼리에서 추출됩니다:
- JSON에서 구문-필터 매핑 로드
- 정규식 단어 경계를 사용하여 쿼리 내 구문 매칭
- 필터 키-값 쌍 추출
- 쿼리 페이지의 기본 필터로 저장
제품 매칭
제품은 다음을 사용하여 쿼리 페이지와 매칭됩니다:
- 벡터 유사성: 쿼리 임베딩 vs 제품 임베딩
- 필터 매칭: 추출된 필터 vs 제품 속성
- 제품명 매칭: 제품명에 대한 퍼지 매칭
캐싱 전략
쿼리 페이지는 여러 캐싱 계층을 사용합니다:
-
DynamoDB: 쿼리 페이지 데이터의 기본 저장소
-
Valkey: 빠른 제품 로딩을 위한 캐시된 SKU
-
CloudFront: 정적 콘텐츠용 CDN 캐싱
요청 흐름
flowchart TD
A[클라이언트 요청] --> B{슬러그 존재?}
B -->|예| C[QueryPageV3 로드]
B -->|아니오| D[제품 검색]
C --> E[URL 필터 파싱]
E --> F[기본 필터와 병합]
F --> G[캐시된 SKU 가져오기]
G --> H[제품 로드]
H --> I[페이지 렌더링]
D --> I요약
쿼리 페이지 생성은 다음을 제공합니다:
-
동적 페이지: 검색 데이터에서 자동 생성
-
AI 콘텐츠: 자동화된 콘텐츠 생성
-
다국어: 15개 이상 언어 지원
-
빠른 로딩: 다중 캐싱 계층
-
스마트 필터링: 구문 기반 필터 추출