웹호스팅을 변경하거나 사이트를 복제한 후에 다른 사이트를 만들고 싶은 경우 등 다양한 상황에서 사이트를 이전(마이그레이션)해야 할 수 있습니다. 일반 웹호스팅에서는 워드프레스를 비교적 쉽게 이전이 가능합니다. 하지만 아마존 AWS나 라이트세일 등의 클라우드 호스팅이나 서버 호스팅으로 워드프레스를 이전하는 것이 쉽지 않을 수 있습니다.
[참고*최근 들어, AWS나 Vultr 사용자들이 클라우드웨이즈(Cloudways)로 이전하는 사례가 증가하고 있습니다. 클라우드웨이즈를 이용할 경우 비용이 AWS 등에 비해서는 두 배 정도 비싸지만 SSH/SFTP/MySQL 액세스가 쉽고 도메인 추가, SSL 인증서 설치를 관리 패널에서 수행할 수 있어 서버 관리 부담을 조금 덜 수 있습니다. 클라우드웨이즈에 워드프레스를 설치하고 도메인을 연결하는 방법은 여기를 참고해보세요. 가성비 좋은 호스팅을 원하는 경우 블루호스트와 비슷한 레벨의 패스트코멧도 괜찮은 옵션일 수 있습니다. 속도가 느리다는 평도 있지만 GeneratePress와 같은 가벼운 테마를 사용하면 속도가 빠르게 나옵니다(참고).*]
워드프레스 사이트 이전 방법
저는 수동으로 워드프레스를 이전하는 편입니다. 수동으로 이전하는 방법은 (A 사이트에서 B 사이트로 이전한다면)...
- A 사이트에서 데이터(wp-content 폴더)와 DB를 백업합니다. 데이터는 FTP에 접속하여 wp-content 폴더를 다운로드하면 됩니다. DB는 phpMyAdmin을 통해 엑스포트(Export)할 수 있습니다.
- B 사이트에서 워드프레스를 설치합니다.
- B 사이트의 FTP에 접속하여 wp-content 폴더를 삭제하고 백업한 wp-content 폴더로 대체합니다.
- B 사이트의 phpMyAdmin에 접속하여 DB 테이블을 모두 삭제하고 백업한 DB를 업로드합니다.
- 사이트 URL이 바뀌는 경우 DB에서 일괄적으로 URL을 변경합니다. (혹은 워드프레스에 로그인한 후에 플러그인을 사용하여 일괄적으로 변경 가능)
- wp-config.php 파일에서 DB 테이블 프리픽스(table prefix)를 수정합니다.
DB가 큰 경우에는 phpMyAdmin을 통해 import가 안 될 수 있습니다. 그런 경우에는 SSH에서 DB를 임포트하면 빠르게 임포트가 가능합니다. 아마존 AWS/라이트세일을 사용하는 경우에는 SSH에서 임포트할 수 있습니다.
이전할 때 이전 전 서버 환경과 이전 후 서버 환경을 비슷하게 해야 오류가 발생할 가능성이 줄어듭니다. 그리고 워드프레스 버전도 비슷해야 합니다. 가능한 한 최신 버전으로 항상 업데이트하는 것이 바람직합니다.
수동을 이전에 실패하는 경우 플러그인이 있습니다. 무료 플러그인으로 Duplicator와 All-in-One Migration과 같은 플러그인이 있습니다.
플러그인을 사용하여 이전할 수 있다면 매우 편리합니다. URL도 알아서 변경해줍니다.
하지만 플러그인을 이용한 마이그레이션이 실패하는 경우가 종종 있습니다. 데이터베이스가 너무 크거나 데이터 파일이 너무 큰 경우에도 잘 안 될 수 있고, 웹호스팅 서버에서 지원이 안 되는 경우도 종종 있습니다.
블루호스트/카페24 등에서 아마존 AWS/라이트세일로 워드프레스 사이트 이전하기
블루호스트나 FastComet, GreenGeeks, 카페24 등에서 아마존 서비스로 워드프레스를 이전해야 하는 경우, 먼저 Duplicator와 같은 플러그인을 사용하여 이전을 시도해볼 수 있습니다.
다른 방법으로, 저는 Duplicator 같은 플러그인보다는 UpdraftPlus 플러그인을 자주 사용합니다. 이 플러그인을 사용하면 DB가 매우 크거나 데이터 파일이 큰 경우에도 안정적으로 마이그레이션할 수 있습니다. 다른 플러그인으로 실패하거나 수동으로 실패해도 이 플러그인으로는 성공하는 경우가 많은 것 같습니다.
UpdraftPlus 플러그인은 백업 플러그인이지만 사이트 마이그레이션도 가능합니다.
UpdraftPlus 플러그인으로 이전하는 방법은 다음과 같습니다.
- A 사이트에서 UpdraftPlus 플러그인으로 사이트를 백업합니다. DB와 데이터를 모두 백업합니다.
- B 사이트에 워드프레스를 설치합니다.
- B 사이트에서 UpdraftPlus 플러그인을 설치한 다음, 백업한 DB와 데이터 파일을 업로드합니다.
- B 사이트에서 백업된 파일로 사이트를 복원합니다.
UpdraftPlus 무료 버전으로도 작업이 가능하지만 다음의 경우에는 UpdraftPlus 프리미엄 버전을 사용해야 합니다.
- 사이트 주소가 바뀌는 경우
- DB 테이블 프리픽스가 다른 경우
- 멀티사이트인 경우
- 망보드 등 일부 플러그인에서는 wp_가 아닌 자체 DB 테이블을 사용합니다. 그런 경우 무료 버전에서는 제외됩니다(Duplicator를 사용하는 경우에도 마찬가지). 유료 버전을 사용할 경우 세팅에서 워드프레스 DB 테이블이 아닌 DB 테이블도 함께 이전하도록 설정할 수 있습니다.
아마존 AWS로 워드프레스 사이트를 수동으로 이전한 후에 파일/폴더 소유권 문제가 발생하는 경우가 있습니다. 그런 경우 SSH에서 파일 소유권 설정을 해주면 해결될 것입니다. 플러그인을 사용하면 이런 문제가 발생하지 않을 것입니다.
마치며
Bluehost나 카페24 등에서 아마존 서비스로 워드프레스 사이트를 이전해야 하는 경우, 여러 가지 방법이 있으므로 위의 설명을 참고하여 적절한 방법을 선택하시기 바랍니다.
사이트를 이전하는 데 어려움을 겪는 경우 여기에서 서비스(유료)를 의뢰하실 수 있습니다. 사이트 규모가 크지 않는 경우 저렴하게 이전해드릴 수 있습니다.
참고로 아마존 AWS/라이트세일에서 워드프레스를 운영하면 속도가 개선될 수 있습니다. 하지만 서버에서 문제가 발생할 경우 심한 스트레스를 받을 수 있고, 전문가를 고용하여 서버 문제를 해결해야 할 수 있습니다. 사이트를 복구하지 못하는 경우도 간혹 목격합니다. (반드시 백업본을 다운로드해놓으시기 바랍니다.)
사이트 속도가 느릴 경우 GeneratePress 테마와 같은 가벼운 테마를 사용하고 캐시와 최적화 플러그인을 사용하여 세팅하면 속도가 어느 정도 만족스럽게 나올 것입니다.
트래픽 등의 문제로 국내호스팅에서 비용이 높아서 이전하려는 경우에는 국내의 나우호스팅과 같은 가성비 좋은 호스팅 서비스도 옵션으로 고려해볼 수 있으리라 생각됩니다. 저는 몇 개 사이트를 나우호스팅으로 이전하여 이용하고 있는데, 속도와 안정성에서 괜찮은 것 같습니다. 자세한 정보는 다음 글을 참고해보세요:
참고
https://avada.tistory.com/2536
https://avada.tistory.com/2629
https://avada.tistory.com/2756