WordPress에 다국어 콘텐츠를 가져오는 방법 – WooCommerce, CSV 및 XML
WordPress로 다국어 콘텐츠를 대량으로 가져오는 방법을 알아보세요. WPML은 모든 행에 올바른 언어를 할당하고 여러 언어에 걸쳐 번역을 연결합니다. 이 가이드에서는 WooCommerce 제품 카탈로그, 부동산 매물, 이벤트 피드 및 스프레드시트 기반의 모든 콘텐츠 가져오기를 다룹니다.
WPML 내보내기 및 가져오기는 이미 사용 중인 WordPress 가져오기 플러그인과 함께 작동합니다. 가져오기 플러그인이 데이터를 이동하면, WPML 내보내기 및 가져오기가 마지막에 언어 정보를 추가하여 각 행이 올바른 언어로 배치되고 각 번역이 원본에 연결되도록 합니다.
시작하기 전에
가져올 사이트에 다음 플러그인을 설치하고 활성화하세요.
- 가져오기 플러그인: WP All Import Pro, WP All Export Pro, 기본 WooCommerce CSV Importer 또는 표준 WordPress 가져오기 도구.
- WPML 및 WPML 문자열 번역.
- WPML 내보내기 및 가져오기(이 페이지에서 다루는 애드온).
- WooCommerce 제품을 가져오는 경우 WPML Multilingual & Multicurrency for WooCommerce.
가져오기 사이트에서 가져올 모든 언어로 WPML을 설정하세요. 가져오기를 실행하기 전에 대상 언어가 WPML > 설정 > 언어에 이미 존재해야 합니다.
두 가지 경로 – 소스에 맞는 경로 선택
다국어 데이터의 출처에 따라 두 가지 가져오기 경로가 있습니다.
- 지원되는 가져오기 플러그인. WP All Export Pro(또는 기타 지원되는 내보내기 도구)를 사용하여 기존 WordPress 사이트에서 콘텐츠를 이동하는 경우, 내보내기 파일에 이미 WPML 내보내기 및 가져오기가 포함되어 언어 정보가 자동으로 포함됩니다. 아래의 WPML 가져오기 실행 단계로 건너뛰세요.
- 사용자 정의 CSV 또는 XML. 스프레드시트에서 다국어 데이터를 관리하거나 소스가 WordPress가 아닌 시스템(PIM, MLS, ERP, 예약 플랫폼)인 경우, 파일에 세 개의 언어 열을 수동으로 추가해야 합니다. 아래의 CSV 또는 XML 준비를 계속 진행하세요.
세 개의 언어 열로 CSV 또는 XML 준비
사용자 정의 가져오기의 경우 스프레드시트의 각 행에 세 개의 열을 추가하세요. 이는 WPML이 번역을 서로 짝지어 각 행에 올바른 언어를 태그하는 방법입니다.
_wpml_import_translation_group. 하나의 콘텐츠에 대한 모든 언어 버전이 공유하는 고유한 값입니다. 제품의 경우 SKU를 사용하세요. 그 외의 모든 경우에는 고유한 ID를 생성하여 원본 행과 각 번역에 재사용하세요._wpml_import_language_code. 해당 행의 ISO 언어 코드입니다(영어는en, 스페인어는es, 프랑스어는fr, 유럽 포르투갈어는pt-pt등)._wpml_import_source_language_code. 번역 행에만 해당하며 원본의 언어 코드입니다. 원본 언어 행의 경우 비워 두세요.
WP All Import Pro 및 유사한 도구의 경우 두 개의 스프레드시트를 준비하세요. 하나는 택소노미(카테고리, 태그, 제품 카테고리)용이고, 다른 하나는 글과 제품용입니다. 기본 WooCommerce CSV Importer는 제품 카테고리가 제품 행 안에 있으므로 단일 스프레드시트를 사용합니다.
옵션 상품을 위한 사용자 정의 WooCommerce 속성
사용자 정의 속성이 있는 옵션 상품의 경우 번역된 제품 행에 네 번째 열인 _wpml_import_wc_local_attribute_labels을 추가하세요. 이 값은 slug:translation 쌍의 JSON 객체입니다. Size 및 Color 속성이 있는 프랑스어 옵션 상품의 예는 다음과 같습니다.
{"size":"Taille","color":"Couleur"}
슬러그는 소문자로 작성된 속성 이름이며 공백은 대시로 바뀝니다.
가져오기 순서
택소노미용 파일이 따로 있는 경우 항상 택소노미를 먼저 가져오세요. 글과 제품이 참조하려면 카테고리, 태그 및 기타 모든 택소노미가 먼저 존재해야 합니다. 그런 다음 글, 페이지, 제품 및 기타 콘텐츠 유형을 가져오세요.
데이터를 언어당 하나의 파일로 분할한 경우, WPML 연결 단계를 실행하기 전에 모든 언어 파일을 가져오세요.
가져오기 플러그인에서 언어 열 매핑
각 가져오기 플러그인은 사용자 정의 열을 고유한 방식으로 처리합니다. 중요한 단계는 세 개의 WPML 열을 사용자 정의 필드(또는 택소노미의 경우 용어 메타)에 매핑하는 것입니다. WP All Import Pro에서는 가져오기 마법사의 Step 3에서 이 작업을 수행합니다.
- 글 및 제품의 경우. 사용자 정의 필드를 열고 세 개의 필드를 추가한 다음, 언어 열을 Value 상자로 드래그하고 Name 상자에는 괄호 없는 열 이름을 사용하세요.
- 택소노미의 경우. 용어 메타를 열고 세 개의 용어 메타 필드를 추가한 다음 동일한 방식으로 언어 열을 매핑하세요.
열이 매핑되지 않으면 연결 단계를 실행할 때 WPML이 읽을 수 있는 데이터가 없습니다.
가져오기와 연결 단계 사이에서 볼 수 있는 내용
WPML 내보내기 및 가져오기를 실행할 때까지 가져온 콘텐츠는 모두 기본 언어 아래에 배치되며, WPML은 프런트엔드에 여러 언어가 섞인 콘텐츠가 표시되지 않도록 글과 제품을 임시글 상태로 자동 유지합니다. 이는 예상되는 중간 상태이며 가져오기 실패를 의미하지 않습니다.
지원되지 않는 가져오기 플러그인의 경우 연결 단계가 완료된 후 글을 수동으로 발행해야 합니다.
WPML 가져오기 실행
가져오기 플러그인 작업이 완료되면 다음을 수행하세요.
- WordPress 관리 화면에서 WPML > 내보내기 및 가져오기를 여세요.
- WPML 가져오기 실행을 클릭하세요.
WPML은 각 행의 언어 열을 읽어 해당 행에 언어를 할당하고 번역을 원본에 연결합니다. 대규모 카탈로그의 경우 이 작업에 몇 분 정도 걸릴 수 있습니다. 완료되면 가져온 콘텐츠가 올바른 언어로 발행되며 모든 번역이 원본에 연결됩니다.
백엔드와 프런트엔드에서 샘플을 확인하세요.
- 글 유형 또는 제품 목록을 열어 각 행이 올바른 언어 국기 아래에 표시되는지 확인하세요.
- 프런트엔드를 방문하여 언어를 전환하세요. 각 번역된 페이지는 원본으로 대체되지 않고 번역된 버전을 로드해야 합니다.
택소노미 번역이 연결되지 않은 경우, WordPress 관리 화면에서 해당 용어를 열고 용어의 언어 상자를 사용하여 기본 언어 용어에 연결하세요.
자동화 – 예약된 가져오기마다 WPML 가져오기 실행
야간 동기화, 공급업체 피드 또는 모든 예약된 가져오기의 경우, 가져오기 플러그인이 완료된 직후 WPML 연결 단계를 자동으로 실행할 수 있습니다. 이를 연결하는 세 가지 방법은 다음과 같습니다.
옵션 1 – POST 엔드포인트(WP All Import Scheduled Actions와 같은 Cron 기반 가져오기용)
이 방법이 권장됩니다. wp-config.php에 강력한 비밀 키를 추가하세요.
define( 'WPML_IMPORT_KEY', 'your-strong-secret-key-here' );
그런 다음 예약된 가져오기 설정에 두 번째 명령을 추가하세요. 이 명령은 사이트에 POST 요청을 보내고 요청 본문에 키를 전달합니다.
curl -X POST https://yoursite.com/ \
-d 'wpml_import_trigger=your-strong-secret-key-here'
wget을 사용하는 동일한 호출입니다.
wget -q -O - \
--post-data='wpml_import_trigger=your-strong-secret-key-here' \
https://yoursite.com/
WP All Import Pro의 수동 예약의 경우, 가져오기 명령 직후에 두 명령 중 하나를 추가하세요.
연결 단계가 실행되면 사이트에서 상태 200과 함께 다음 메시지로 응답합니다.
Import process completed
발생한 상황을 알려주는 다른 두 가지 응답이 있습니다. 401은 키가 일치하지 않음을 의미하고, 204는 처리할 남은 항목이 없음을 의미합니다.
옵션 2 – URL 엔드포인트(지원 중단됨)
WPML 내보내기 및 가져오기 1.2.0 이전에는 URL에 키를 전달했습니다.
https://yoursite.com/?wpml_import_trigger=your-strong-secret-key-here
이 URL은 여전히 작동하므로 현재 cron 작업은 계속 실행됩니다. 이는 지원 중단되었으며 WPML의 다음 주요 릴리스에서 제거됩니다.
이유는 키 때문입니다. URL은 서버 로그, 브라우저 기록 및 분석 데이터를 통해 이동하며 키도 함께 이동합니다. POST 요청은 키를 요청 본문에 유지합니다. 예약된 가져오기를 옵션 1의 POST 호출로 이동하세요.
옵션 3 – 액션 훅(PHP 예약 가져오기용)
Action Scheduler 또는 wp_schedule_single_event를 사용하여 PHP에서 가져오기를 예약하는 경우, 하나의 액션 호출로 WPML 단계를 트리거하세요.
do_action( 'wpml_import_process' );
가져오기 액션 직후 일회성 백그라운드 태스크로 실행하려면 다음을 수행하세요.
wp_schedule_single_event( time(), 'wpml_import_process' );
이러한 경로 중 하나에서 오류가 발생하는 경우 wp-config.php에서 WP_DEBUG_LOG을 켜서 PHP 오류 로그에 오류를 캡처하세요.
명령줄에서 WPML 가져오기 실행
배포 스크립트, 컨테이너 빌드 또는 관리 UI를 사용할 수 없는 모든 파이프라인의 경우, WP-CLI에서 연결 단계를 실행하세요.
wp wpml import process
이 명령은 연결된 번역의 수를 보고합니다. 이는 WPML 가져오기 실행 버튼을 완벽하게 대체합니다.
일반적인 문제
- 가져오기 파일에 세 개의 언어 열이 누락된 경우. 콘텐츠를 가져오지만 태그가 없는 원본 언어 행으로 배치됩니다. WPML 가져오기 실행에서 연결할 항목이 없습니다. 해결 방법: 소스 데이터에 열을 추가하고 다시 내보낸 다음 다시 가져오세요.
- WP All Import의 사용자 정의 필드 / 용어 메타 매핑을 건너뛴 경우. 열이 누락된 것과 같은 형태입니다. 데이터가 파일에 있지만 가져오기 플러그인이 글에 저장하지 않았습니다. 필드를 매핑하여 가져오기를 다시 실행하세요.
- 가져오기 사이트에 대상 언어가 설정되지 않은 경우. 구성되지 않은 언어에 대해 가져온 행은 기본 언어로 배치됩니다. 먼저 WPML > 설정 > 언어에서 누락된 언어를 추가한 다음 다시 실행하세요.
- 지원되지 않는 가져오기 플러그인. 연결 단계 후에도 가져온 글이 임시글 상태로 유지됩니다. 수동으로 발행하거나 지원되는 플러그인으로 전환하세요.
- 언어 데이터를 전달하지 않는 맞춤형 가져오기 스크립트. 스크립트 수준에서 수정해야 합니다. 세 개의 언어 열(및 해당하는 경우 WooCommerce 속성 열)이 행에 도달해야 합니다.
가져오기 시 동일한 문제가 계속 발생하는 경우, WPML 지원 팀이 연중무휴 24시간 가져오기 관련 질문에 답변해 드립니다.
WPML All Import 플러그인을 찾고 계셨던 경우
WPML All Import는 WPML 내보내기 및 가져오기 이전의 레거시 플러그인입니다. 더 이상 지원되거나 권장되지 않습니다. 위의 절차는 WordPress 사이트로 다국어 콘텐츠를 가져오는 최신 방법이므로, 이전 플러그인의 문서에 설명된 워크플로 대신 이 방법을 사용하세요.
작성자: Amir · 마지막 업데이트: 2026년 7월 2일
작성자: Amir · 마지막 업데이트: 2026년 7월 2일