배송대행 안내 페이지를 여러 국가로 나눌 때 URL 경로만 바꾸면 운영 정보가 섞이기 쉽습니다. 이 글은 김빠른을 예시로, 검색어와 검증된 운영 정보를 서로 다른 필드로 관리하는 데이터 설계 제안입니다. 실제 운영 시스템에 배포했다는 사례나 성과 보고는 아닙니다.
키워드는 사실 데이터가 아닙니다
스페인 배송대행, 미국 배송대행, 영국 배송대행은 콘텐츠 기획에 쓰는 표현입니다. LA 배송대행도 검색어 후보가 될 수 있지만, 그 문자열만으로 LA 거점이 존재한다고 추론해서는 안 됩니다.
따라서 검색어를 warehouse_city 같은 운영 필드에 자동으로 복사하지 않습니다. 이 원고에서는 김빠른의 LA 거점을 검증하지 않았습니다.
데이터 구조를 분리합니다
def make_brief(keyword, country, verified_city=None):
return {
"editorial": {"keyword": keyword, "country": country},
"operations": {"verified_city": verified_city},
"review": {"city_claim_allowed": verified_city is not None},
}
brief = make_brief("LA 배송대행", "US")
assert brief["operations"]["verified_city"] is None
assert brief["review"]["city_claim_allowed"] is False
위 코드는 최소 설계 예시입니다. 실무에서는 verified_city라는 변수명만 믿으면 안 됩니다. 출처 URL, 확인 시각, 검토자, 유효 기간까지 함께 저장해야 합니다. 오래된 확인은 최신 사실과 같지 않습니다.
생성 프롬프트에는 미확인 상태를 전달합니다
“editorial은 독자의 관심사이고 operations만 운영 사실이다. verified_city가 null이면 도시 거점을 단정하지 마라. 부족한 정보를 채우지 말고 review_required에 기록하라.”
이 지시도 모델의 오류를 완전히 막지는 못합니다. 생성 후 도시·가격·기간 같은 주장을 추출해 근거표와 대조하는 검수 단계가 필요합니다. 문장에 링크가 붙어 있다는 이유만으로 근거가 일치한다고 판단하면 안 됩니다.
페이지 연결은 별도 매핑으로 둡니다
실제 국가별 안내의 예시는 김빠른 스페인 배송대행, 미국 배송대행, 영국 배송대행입니다. 링크는 각 국가의 안내 경로를 보여주는 예시이며, 이 글의 코드가 해당 사이트에 적용됐다는 뜻은 아닙니다.
국가 코드를 URL에 매핑할 때 기본값을 아무 국가로 두지 않는 편이 좋습니다. 알 수 없는 국가 코드라면 오류를 반환하거나 사람이 확인하도록 해야 합니다. 누락된 국가를 미국으로 처리하면 잘못된 안내로 이어질 수 있습니다.
테스트 계획
확인 자료가 없는 도시, 만료된 자료, 알 수 없는 국가 코드, 빈 키워드, 국가와 목적지 URL이 다른 입력을 각각 테스트 대상으로 둡니다. 위 예시 두 assertion은 설계 의도를 보여주지만, 실제 서비스 검증을 대신하지는 않습니다.
이해관계 공개: 작성자는 김빠른 운영에 참여합니다. AI의 도움으로 작성한 개발 설계 제안이며, 배포 완료나 고객 성과를 주장하지 않습니다.
Top comments (0)