안녕하세요. 웹 시스템 아키텍트이자 데이터베이스 엔지니어 관점에서 워드프레스 서버 이관(Migration)을 안정적이고 효율적으로 수행하는 핵심 가이드를 공유합니다.
보통 워드프레스 이관 시 DB는 내보내기/가져오기(Export/Import)를 통해 비교적 쉽게 옮기지만, "플러그인과 테마는 어떻게 안전하게 옮겨야 하는가?"에 대한 의문과 "이전 후 절대경로 깨짐 현상"으로 고생하는 경우가 많습니다. 본 포스팅에서 그 명확한 해법을 단계별로 정리해 드립니다.
결론부터 말씀드리면, 플러그인과 테마는 DB 임포트 방식이 아닌 파일 시스템 직접 백업 및 업로드(FTP/SSH) 방식을 사용하는 것이 가장 안전합니다.
워드프레스의 디렉터리 구조상 핵심 소스 코드는 다음과 같이 격리되어 있습니다.
테마 경로: /wp-content/themes/
플러그인 경로: /wp-content/plugins/
업로드 미디어 경로: /wp-content/uploads/
기존 서버 백업: 기존 웹 서버의 /wp-content/ 디렉터리 전체를 타르볼(tar.gz)이나 zip 파일로 압축하여 다운로드합니다. (디렉터리 통째로 FTP 다운로드를 하면 수많은 잔여 파일로 인해 속도가 느리고 파일이 누락될 수 있으므로 서버단 압축을 권장합니다.)
신규 서버 호스팅 업로드: 새 서버의 동일한 경로(wp-content)에 압축 파일을 업로드한 후 압축을 해제합니다.
권한 설정 (Linux 환경): 이관 후 플러그인 업데이트나 미디어 업로드가 원활하도록, 웹 서버 사용자 계정(예: nginx 또는 apache)에 맞게 소유권과 권한을 재설정합니다.
chown -R nginx:nginx /var/www/html/wp-content
find /var/www/html/wp-content -type d -exec chmod 755 {} \;
find /var/www/html/wp-content -type f -exec chmod 644 {} \;
DB를 신규 데이터베이스에 임포트한 직후에는 반드시 워드프레스가 새로운 서버 환경을 인식하도록 기본 도메인 설정을 변경해야 합니다.
새 서버의 DB 관리 도구(phpMyAdmin 또는 CLI)에 접속하여 wp_options 테이블의 두 가지 핵심 옵션 값을 신규 도메인(또는 신규 IP 주소)으로 변경합니다.
siteurl: 워드프레스 코어 파일이 있는 주소
home: 웹사이트의 프론트 주소
공식 문서 참고: 워드프레스의 도메인 변경 및 사이트 주소 제어에 대한 보다 상세한 메커니즘은 워드프레스 공식 문서인 Codex: Changing The Site URL에서 확인할 수 있습니다.
많은 작업자들이 가장 곤란을 겪는 단계입니다. 워드프레스는 내부적으로 포스팅 콘텐츠(wp_posts)나 테마/플러그인 설정 데이터 내에 상대경로가 아닌 절대경로(예: http://old-domain.com/image.png)를 그대로 저장하는 경향이 있습니다.
도메인이 변경되면 이 절대경로들로 인해 이미지 엑박(Link Broken)이나 스타일시트 로드 에러가 발생합니다. 게다가 일부 플러그인은 데이터를 직렬화(Serialized Data)하여 저장하므로, 단순 DB 텍스트 치환(REPLACE SQL문)을 쓰면 데이터 구조가 깨질 수 있습니다.
안전한 직렬화 데이터 치환을 위해 Better Search Replace 플러그인을 임시로 설치하거나, 서버 터미널에서 WP-CLI 명령어를 사용하는 것을 강력히 권장합니다.
# WP-CLI를 이용한 안전한 도메인 일괄 변경 예시
wp search-replace 'http://구도메인.com' 'https://신도메인.com' --skip-columns=guid
이 과정을 거치면 wp_posts 내 본문 텍스트는 물론, 테마 옵션에 절대경로로 박혀있던 레코드들까지 완벽하게 신규 도메인으로 컨버팅됩니다.
이관의 마지막 단계는 철저한 검증입니다.
브라우저 개발자 도구(Inspector) 활용: 새 도메인으로 접속한 후 F12를 눌러 Console 탭과 Network 탭을 확인합니다. 여전히 이전 서버의 URL을 호출하려다 발생하는 404 Not Found 에러나 Mixed Content(HTTP/HTTPS 혼재) 에러가 있는지 하나씩 전수 조사하여 수정합니다.
고유주소(Permalink) 재저장: 이관 직후 글 상세 페이지가 404 에러를 뿜는다면, 워드프레스 관리자 페이지 -> 설정 -> 고유주소(Permalink) 메뉴로 이동하여 아무것도 변경하지 않고 [변경사항 저장] 버튼을 한번 눌러줍니다. 이 과정을 통해 .htaccess 또는 Nginx의 라우팅 규칙 파일이 새 서버 환경에 맞게 재정역됩니다.
댓글쓰기