Glossary리뷰
리뷰 이전
리뷰 이전은 스토어가 보유한 기존 고객 리뷰를 한 리뷰 앱에서 다른 리뷰 앱으로 옮기는 작업으로, 대개 CSV로 내보낸 뒤 새 앱에 가져오는 방식을 쓰며, 상품 페이지가 이미 쌓아 온 별점과 사진, 검색 결과의 별 표시가 소프트웨어 교체 이후에도 남아 있게 하는 것이 목적입니다.
다른 이름 리뷰 가져오기, 리뷰 앱 이전
리뷰는 Shopify 스택에서 돈으로 되살 수 없는 유일한 자산입니다. 리뷰 1,000건은 수년치 주문을 뜻하며, 그래서 리뷰 앱을 바꾸는 일은 스토어의 다른 어떤 교체보다 무겁게 느껴집니다. 이전은 사실 두 가지 작업이 동시에 일어나는 일입니다. 하나는 데이터 이동으로, 한 데이터베이스에서 행이 빠져나가 다른 데이터베이스로 들어갑니다. 다른 하나는 검색 이벤트로, 별점을 뒷받침하던 구조화 데이터를 한 앱이 출력하기를 멈추고 다른 앱이 출력하기 시작합니다. 실패하는 이전의 대부분은 두 번째 작업에서 실패합니다. 첫 번째 작업이 성공한 것처럼 보였기 때문입니다.
내보내기 파일이 완전한 사본인 경우는 드뭅니다. 별점, 리뷰 본문, 작성자 이름, 원래 작성일은 안정적으로 따라옵니다. 반면 네 가지는 자주 따라오지 않습니다. 구매 확인 상태는 대개 이전 앱이 자체 주문 대조로 산출한 값이며 이식 가능한 플래그로 저장되어 있지 않습니다. 따라서 새 앱이 구매 확인 열을 그대로 받아들이는지, 아니면 작성자 이메일을 Shopify 주문과 다시 대조해 산출하는지 확인해야 합니다. 배지가 저절로 다시 나타나리라고 가정하지 않는 편이 좋습니다. 사진은 파일이 아니라 이전 앱 저장소를 가리키는 URL로 내보내지는 것이 보통이므로, 그 계정이 살아 있는 동안에만 열립니다. 앱을 삭제하기 전에 내려받으십시오. 판매자 답변은 별도 테이블에 들어 있어 내보내기에서 빠지는 일이 잦습니다. 그리고 원래 작성일이 아무 경고 없이 가져온 날짜로 대체되면, 그동안 쌓아 온 최신성 신호가 전부 초기화됩니다.
예고 없이 이전을 망가뜨리는 곳은 매핑 열입니다. 리뷰가 상품을 가리키는 방식에 대해 앱마다 생각이 다릅니다. 어떤 앱은 Shopify 상품 ID를 저장하고, 어떤 앱은 핸들을, 어떤 앱은 SKU를 저장하며, 셋 중 무조건 안전한 것은 없습니다. 상품 ID는 안정적이지만 카탈로그를 새로 구축하면 살아남지 못합니다. 핸들은 읽기 쉽지만 수정할 수 있어서, 2년 전에 이름을 바꾼 상품은 아무도 설정한 기억이 없는 핸들을 달고 있을 수 있습니다. SKU는 상품이 아니라 변형 상품에 붙어 있으므로 SKU를 키로 삼은 리뷰는 상위 상품으로 끌어올려야 하고, 비어 있는 SKU는 애초에 키가 아닙니다. 두 앱이 실제로 합의하는 키를 고르고, 전체 파일을 가져오기 전에 상품 열 개를 손으로 직접 확인하십시오.
파일 자체는 리뷰 한 건이 한 행을 차지하는 평범한 CSV이며, 열 구성은 대략 상품 식별자, 별점, 제목, 본문, 작성자 이름, 작성자 이메일, 날짜, 검수 상태, 경우에 따라 구매 확인 플래그와 이미지 URL 목록입니다. 개념적인 문제보다 더 큰 피해를 주는 기계적인 세부 사항이 두 가지 있습니다. 리뷰 본문에는 쉼표와 줄바꿈이 들어 있어서 파일이 올바른 따옴표 처리에 의존하며, 어떤 도구가 이를 다르게 다시 저장하면 파일이 무너집니다. 그리고 내보낸 파일을 스프레드시트로 여는 순간 SKU의 앞자리 0이 사라지고, 날짜는 가져오기 도구가 해석하지 못하는 지역 형식으로 바뀌며, 이름의 특수 문자가 깨집니다. 처음 내려받은 원본은 손대지 않은 상태로 백업으로 남겨 두십시오.
조용히 돈이 새는 부분은 검색 결과의 별 표시 공백입니다. Google은 스토어의 별점을 저장하지 않습니다. 크롤링할 때마다 페이지에서 AggregateRating과 Review 마크업을 읽습니다. 즉 별점은 어떤 앱이든 그 마크업을 출력하고 있는 동안에만 존재합니다. 월요일에 이전 앱을 삭제하고 목요일에 새 앱을 채우면, 그 사이에 수집된 모든 페이지는 별점이 없는 상품으로 보고됩니다. 회복은 즉시 이루어지지 않습니다. 마크업이 다시 살아 있어야 하고 페이지가 다시 수집되어야 하는데, 그 일정은 판매자가 아니라 검색 엔진이 정합니다. Google도 Naver도 마찬가지입니다. 공백을 피하는 순서는 이렇습니다. 이전 앱이 계속 렌더링하는 동안 새 앱을 설치하고 데이터를 채운 다음, 실제 상품 페이지에서 마크업이 유효한지 확인하고, 그다음에 이전 위젯을 제거합니다. 어느 시점에도 리뷰 마크업이 정확히 한 벌만 살아 있게 하는 것입니다. 두 벌이 동시에 살아 있는 것 역시 그 자체로 결함입니다.
도자기 핸드드립 커피 용품을 판매하는 Shopify 판매자를 예로 들겠습니다. 상품 68개, 4년간 쌓인 리뷰 1,900건, 평균 4.6점입니다. 내보낸 파일은 이전 앱의 내부 상품 ID를 키로 삼고 있는데, 새 앱은 그 값을 본 적이 없습니다. 그래서 Shopify 상품 CSV로 조회 표를 만들어 전부 핸들 기준으로 다시 키를 매깁니다. 그중 140건은 이미 통합되었거나 판매를 중단한 상품에 달린 리뷰여서 안착할 곳이 없고, 비슷한 상품에 억지로 끼워 넣는 대신 보류합니다. 사진은 이전 앱 저장소를 가리키는 링크로 도착하므로 앱이 아직 설치되어 있는 동안 이미지를 내려받습니다. 원래 작성일 열은 명시적으로 매핑해서 가져오기 도구가 모든 리뷰에 이전 당일 날짜를 찍지 않도록 합니다. 가져오기가 끝난 뒤 새 위젯은 리뷰 1,760건에 평균 4.6점을 표시하고, 줄어든 수는 갈 곳 없던 140건과 정확히 일치합니다. 다른 것이 사라지지 않았다는 사실을 말해 주는 대조가 바로 이것입니다. 이전 위젯은 사흘 더 살려 두고, 그동안 상품 페이지 열 개에서 마크업이 유효한지 확인합니다.
때로는 이전하지 않는 것이 정직한 답입니다. 이전 앱이 내보내기를 제공하지 않는다면 그것은 이전이 아니라 처음부터 다시 시작하는 일이며, 앱을 삭제한 뒤에 발견할 것이 아니라 미리 의도적으로 결정할 사안입니다. 리뷰가 수십 건 수준이라면 매핑 작업에 드는 비용이 최근 구매자에게 다시 요청해 모으는 비용보다 큽니다. 리뷰를 받은 뒤 카탈로그를 새로 구축했다면 식별자가 어디에도 남아 있지 않을 수 있고, 대체로 맞는 정도의 매핑은 나중에 풀기 힘든 방식으로 리뷰를 엉뚱한 상품에 붙입니다. 성수기는 전환 시점으로 최악입니다. 리뷰가 비어 있는 상품 페이지의 비용은 트래픽에 비례하기 때문입니다. 그리고 옮기려는 이유가 리뷰가 검색에 보이지 않아서라면, 옮겨 갈 앱이 리뷰를 크롤러가 읽을 수 없는 위젯 안이 아니라 페이지 본문으로 렌더링하는지 먼저 확인해야 합니다. 그렇지 않으면 이전은 문제를 해결하는 대신 문제를 옮길 뿐입니다. 이 검증은 모든 대상 앱에 적용되며, 저희 앱도 예외가 아닙니다.
같은 검증이 이후 AI 답변 엔진이 스토어를 어떻게 다루는지도 결정합니다. ChatGPT, Perplexity, Google AI Overviews가 어떤 상품이 살 만한지 따질 때, 이들은 실제로 가져올 수 있는 리뷰 내용을 근거로 삼습니다. 그리고 이전 작업은 그 내용이 가장 취약해지는 순간입니다. 날짜가 다시 쓰이고, 구매 확인 상태가 빠지고, 답변이 사라지고, 텍스트는 크롤러가 읽지 못하는 위젯 안에 떨어집니다. 기록을 온전히 지키는 것과 기록을 읽히게 만드는 것은 같은 일이 아닙니다. 이미 보유한 리뷰가 검색과 AI에 읽히고 교차 검증되어 인용되도록 만드는 것은 별개의 과제이며, BeyondReviews가 채우려는 빈자리가 바로 그 지점입니다. 이전은 같은 사각지대를 다음 앱으로 들고 가는 대신 이를 바로잡을 자연스러운 시점입니다.