오래 전에 무료 가입형 워드프레스 사이트를 하나 만들어서 해외 고객들을 대상으로 번역 업무를 소개하는 사이트를 하나 만들었습니다. 그러다가 닷블로그(.blog) 도메인을 하나 등록하여 콘텐츠를 설치형 워드프레스 사이트로 옮겨서 운영해왔습니다.
하지만 .blog 도메인의 갱신 비용이 22달러로 꽤 높은 편입니다. 사이트를 방치하고 있었기 때문에 이번에 갱신하지 않고, 대신 사이트의 콘텐츠를 모두 이 블로그의 영문 사이트로 이전하기로 했습니다.
이처럼 두 개의 워드프레스 사이트를 하나를 합치고 싶은 경우 하나를 메인으로 두고, 다른 한 사이트의 콘텐츠를 추출하여 메인 사이트로 임포트(import)하는 방법을 고려해볼 수 있습니다.
다음 순서에 따라 콘텐츠를 A 사이트에서 추출하여 B 사이트로 이전할 수 있습니다. 다른 방법으로 DB를 추출하여 Import하는 방법도 생각해볼 수 있지만 여기에서는 굳이 그럴 필요는 없을 것 같습니다. 케이보드 게시판의 경우 케이보드 자체에서 백업/복원 기능을 제공합니다.
콘텐츠 내보내기 및 가져오기
먼저 A 사이트에서 도구 > 내보내기를 통해 데이터를 XML 파일로 내보내기 합니다.
모든 글, 페이지, 댓글, 사용자정의 필드, 카테고리 및 태그, 내비게이션 메뉴와 사용자 정의 글을 모두 내보내려면 "모든 컨텐츠"를 선택합니다. 글만 내보내기 하려면 "글"을 선택합니다. "글"만 내보내기 하면 이미지 파일은 이전이 되지 않습니다.
사용자 정의 글의 경우 새로운 사이트에서 동일한 사용자 정의 글 유형이 사용되고 있는 경우에는 이전 후에 정상적으로 표시되지만, 그렇지 않은 경우 표시되지 않을 것입니다.
컨텐츠를 내보내기 하였다면 B 사이트에서 도구 > 가져오기를 통해 내보내기 한 XML 파일을 임포트합니다. 먼저 가져오기 전에 사이트 백업을 하면 좋을 것 같습니다. 임포트 방법에 대한 자세한 내용은 가입형(WordPress.com)에서 설치형으로 이전하기 글을 참고해보시기 바랍니다.
※ 콘텐츠를 가져온 후에 가져온 글이나 페이지에서 미디어 파일의 경로가 이전 사이트의 미디어 파일 경로인 경우 1) 미디어 파일을 FTP로 업로드하고 2) '워드프레스 사이트 내 링크를 일괄 변경해주는 Velvet Blues Update URLs' 글에서 소개하는 플러그인을 사용하여 미디어 파일 경로를 일괄적으로 수정해줄 수 있습니다.
리디렉션 설정
글을 가져오기 하였다면 글 > 모든 글에 임포트한 글이 표시됩니다. 이제 A 사이트의 URL을 B 사이트로 리디렉션시켜주면 작업이 완료됩니다. 검색엔진이나 다른 사이트에 노출된 A 사이트의 링크를 클릭했을 때 B 사이트의 해당 글로 리디렉션되도록 해야 SEO(검색엔진최적화)에 손해가 없습니다.
301 리디렉션을 설정하는 방법은 "워드프레스 301 리디렉션(301 Redirect)" 글을 참고해볼 수 있습니다. 저는 간단하게 Simple 301 Redirects 플러그인을 설치하여 301 리디렉션을 설정했습니다.
A 사이트의 고유주소와 B 사이트의 고유주소 설정이 동일하면 쉽게 301 리다이텍트를 설정할 수 있습니다. 두 사이트의 고유주소 설정이 동일한 경우 다음과 비슷하게 리디렉션을 설정하면 됩니다.
만약 두 사이트의 고유주소 설정이 다르면 Wildcard를 사용하여 상황에 맞게 규칙을 정해야 합니다.
참고로 기존 사이트에 캐노니컬 URL(대표 URL)을 추가할 수 있습니다. Yoast SEO를 설치하여 다음 코드를 테마의 함수 파일에 추가하면 됩니다.
// Batch Chagne Canonical
function change_canonical($url) {
global $post;
if ( is_singular( 'post' ) ) {
return 'https://www.example.com/' . $post->post_name;
} else {
return $url;
}
}
add_filter( 'wpseo_canonical', 'change_canonical' );
위와 같이 설정하면 개별 '글'에 Canonical 태그가 삽입됩니다.
마치며
이상으로 워드프레스 사이트 두 개를 하나로 합치는 방법에 대해 간단히 다루어보았습니다. 앞서 언급했지만 DB를 통해 콘텐츠를 임포트(Import)하는 방법도 고려해볼 수 있습니다. 또, 케이보드 게시판이나 레볼루션 슬라이더 콘텐츠는 플러그인 자체의 내보내기/가져오기 기능을 사용하여 이전이 가능합니다.
워드프레스 사이트를 다른 곳으로 통째로 이전하고 싶은 경우에는 Duplicator 같은 플러그인을 사용할 수 있습니다.
티스토리 블로그의 모든 개시글에 대해 일괄적으로 적용할 수 있는 캐노니컬 태그도 있는지 궁금합니다.
티스토리의 경우 스킨 파일에 canonical 태그가 없지만, 실제 페이지나 글의 소스에 보면 canonical 태그가 자동으로 삽입되어 있습니다. 티스토리에서 canonical 태그는 사용자가 제어할 수 없는 부분 같습니다.
저는 일부 게시글을 다른 게시글로 자동으로 리디렉션되도록 코드를 추가했습니다.
https://avada.tistory.com/2334
하지만 외부 사이트로 리디렉션되도록 설정하면 정책 위반이 되어 어뷰징으로 간주되어 계정이 정지될 수도 있으므로 주의가 필요합니다.