워드프레스 사이트 이전 시 발생하는 대표적인 오류

작성자

카테고리:

워드프레스 사이트 이전 시 발생하는 대표적인 오류와 해결 가이드

워드프레스 사이트 이전 시 발생하는 대표적인 오류와 해결 가이드

워드프레스 사이트를 다른 서버나 도메인으로 이전할 때는 작은 설정 하나가 전체 사이트에 큰 영향을 줄 수 있습니다. 이 글에서는 이전 과정에서 자주 발생하는 오류 유형을 정리하고, 원인 진단 방법과 실제로 시도해볼 수 있는 해결책을 설명합니다. 실무에서 바로 활용할 수 있는 체크포인트도 포함되어 있으니 이전 전후 점검에 활용하세요.

1. 데이터베이스 연결 오류 (Error establishing a database connection)

증상: 사이트 접속 시 흰 화면 또는 “Error establishing a database connection” 메시지.

원인

  • wp-config.php의 DB_NAME, DB_USER, DB_PASSWORD, DB_HOST 정보 불일치
  • 데이터베이스 서버(예: MySQL)가 다운되었거나 호스트명이 변경됨
  • 데이터베이스 사용자 권한 부족

해결 방법

  1. wp-config.php의 DB 정보가 새 서버 환경과 일치하는지 확인합니다.
  2. 데이터베이스 접속을 직접 시도해 확인합니다 (phpMyAdmin, MySQL 클라이언트 등).
  3. 사용자 권한을 확인하고 필요한 권한(SELECT, INSERT, UPDATE, DELETE 등)을 부여합니다.
  4. 서버 호스팅 환경에서는 DB 호스트명이 ‘localhost’가 아닐 수 있으므로 호스트 정보를 물어보세요.

2. 이미지 및 업로드 파일이 보이지 않거나 깨지는 문제

원인

  • wp-content/uploads 경로가 이전되지 않음
  • 파일 소유권/퍼미션 문제로 웹서버가 파일에 접근 불가
  • URL이 이전 도메인으로 고정되어 있어 경로가 잘못됨

해결 방법

  1. uploads 폴더(및 하위 파일)를 새 서버로 완전 복사했는지 확인합니다.
  2. 파일 퍼미션 및 소유자(chown/chmod)를 웹서버 사용자 기준으로 설정합니다.
  3. DB 또는 테마/플러그인 설정에 남아 있는 이전 도메인 URL을 현재 도메인으로 교체합니다. (직접 SQL 교체 시 직렬화(serialized) 데이터를 깨뜨리지 않도록 주의)
  4. 안전한 교체 방법으로는 WP-CLI의 search-replace(직렬화 처리 포함) 또는 신뢰할 수 있는 마이그레이션 플러그인을 사용하세요.

3. 404 에러 / 퍼머링크(링크 구조) 문제

원인

  • .htaccess 파일이 없거나 이전되지 않음
  • 서버의 리라이트 모듈(Apache mod_rewrite, Nginx 설정 등) 미설정
  • 워드프레스의 퍼머링크 설정 재저장 필요

해결 방법

  1. 관리자 > 설정 > 고정링크에서 ‘저장’을 눌러 .htaccess를 재생성합니다. (파일 쓰기 권한 필요)
  2. Apache를 사용하는 경우 .htaccess 파일의 RewriteBase/RewriteRule이 정확한지 확인합니다. Nginx면 서버 블록에 적절한 rewrite 규칙이 있는지 확인하세요.

4. mixed content (HTTP/HTTPS 혼합) 문제

원인

  • 사이트를 HTTPS로 이전했지만 내부 링크나 이미지가 여전히 HTTP로 로드됨

해결 방법

  1. 사이트 주소(URL)를 HTTPS로 설정했는지 확인합니다 (관리자 > 설정 > 일반).
  2. DB에서 http:// 도메인을 https://로 교체합니다. 직렬화 문제에 주의하세요.
  3. 가능하면 HSTS 설정 및 리다이렉트(HTTP -> HTTPS)를 서버에서 처리하세요.
  4. 브라우저 개발자 도구의 콘솔에서 ‘Mixed Content’ 경고를 확인해 어떤 리소스가 HTTP로 호출되는지 파악합니다.

5. 플러그인·테마 호환성 및 PHP 버전 문제

원인

  • 새 서버의 PHP 버전이나 확장 모듈이 이전 서버와 달라서 특정 플러그인/테마가 오류를 냄
  • 활성화된 플러그인 중 일부가 새 환경에서 충돌

해결 방법

  1. 서버의 PHP 버전을 워드프레스 및 사용중인 플러그인/테마 요구사항에 맞추세요.
  2. 에러 로그(php error log, 서버 로그)를 확인해 어떤 플러그인에서 에러가 나는지 파악합니다.
  3. 문제가 의심되는 플러그인을 비활성화해 원인 분리 후 대체 플러그인 또는 업데이트를 적용합니다.

6. 직렬화(serialized) 데이터 문제

원인

  • 도메인 또는 경로를 문자열 단위로 DB에서 치환하면 직렬화된 배열 길이 정보가 맞지 않아 데이터가 깨짐

해결 방법

직렬화 데이터를 안전하게 변경하려면 WP-CLI의 search-replace 명령이나 직렬화 처리를 지원하는 마이그레이션 도구를 사용하세요. 예:

wp search-replace 'http://old-domain.com' 'https://new-domain.com' --all-tables

명령 실행 전엔 반드시 전체 백업을 만들어 두세요.

7. 캐시/세션/크론 관련 문제

증상

  • 이전 후 업데이트가 반영되지 않거나 예약 작업(cron)이 실행되지 않음

해결 방법

  • 서버 캐시(프록시, CDN, 플러그인)를 비우고 브라우저 캐시도 확인합니다.
  • WP-Cron이 차단되는 경우 실제 시스템 크론으로 대체 설정을 고려하세요.
  • CDN을 사용하는 경우 새 도메인/경로가 캐시에 반영되었는지 확인합니다.

점검 체크포인트 (이전 전/후 필수 확인 목록)

  • 전체 파일 및 데이터베이스 백업 완료
  • wp-config.php의 DB 정보 및 인증키(SECRET_KEY) 확인
  • uploads 및 wp-content 전체 파일 복사 여부 확인
  • 퍼머링크 저장으로 .htaccess 재생성
  • HTTPS 설정 및 mixed content 점검
  • PHP 버전과 확장(예: mbstring, gd, mysqli 등) 확인
  • 플러그인/테마 호환성 확인 및 필요한 경우 디버그 모드로 오류 로그 확인
  • 권한/소유권(chown/chmod) 점검
  • DNS 전파, SSL 유효성, CDN 캐시 반영 여부 확인

자주 묻는 질문 (FAQ)

Q1. 이전 후 하얀 화면(WSOD)이 뜹니다. 어떻게 해야 하나요?

A1. PHP 오류로 인해 화면이 흰색으로 나올 수 있습니다. wp-config.php에서 WP_DEBUG를 true로 설정해 에러를 확인하거나(프로덕션에서는 주의), 서버 에러 로그를 확인하세요. 문제가 되는 플러그인/테마를 비활성화해 원인을 좁히는 것도 좋은 방법입니다. 변경 전 전체 백업을 반드시 만들어 두세요.

Q2. 도메인을 바꿨는데 관리자 페이지만 접속이 됩니다. 프론트엔드가 404가 나옵니다. 왜 그런가요?

A2. 보통 퍼머링크(리라이트) 설정이나 .htaccess/Nginx rewrite 설정 문제가 원인입니다. 관리자 > 설정 > 고정링크에서 ‘저장’을 눌러 퍼머링크 규칙을 재생성하고, 웹서버의 리라이트 모듈과 설정을 확인하세요.

Q3. DB에서 도메인 일괄 변경하는 안전한 방법은?

A3. 직렬화(serialized) 데이터를 손상시키지 않으려면 WP-CLI의 search-replace를 사용하거나 직렬화 교체를 지원하는 플러그인(예: Better Search Replace) 또는 신뢰할 수 있는 마이그레이션 도구를 사용하세요. 수동 SQL REPLACE는 직렬화 데이터에서 오류를 일으킬 수 있어 주의가 필요합니다. 변경 전 전체 DB 백업을 반드시 수행하세요.

마무리

워드프레스 이전은 준비와 점검이 핵심입니다. 이전 전 충분한 백업과 테스트 환경에서의 시뮬레이션, 이전 후 로그/콘솔/퍼포먼스 점검을 통해 대부분의 문제를 예방하거나 신속히 해결할 수 있습니다. 문제가 복잡하거나 로그로 원인을 파악하기 어려운 경우 호스팅사나 워드프레스 전문 엔지니어에게 도움을 요청하는 것이 안전합니다.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다