도메인 변경 후 플러그인 업데이트가 안될 때

도메인 변경 후 플러그인 업데이트가 안될 때

사이트명을 blog.cooss.net 에서 cooss.net 으로 변경하고 나니, 플러그인 업데이트를 할 때 아래와 같은 오류가 표시되었습니다.

Operation not permitted in ...  /wp-admin/includes/class-wp-filesystem-direct.php on line 173

도메인 변경은 아래 순서로 진행했습니다.

새로운 도메인이 현재 워드프레스가 설치된 폴더로 잘 연결되어 있는 상태에서 진행해야 합니다. 그렇지 않으면, 워드프레스 관리자 페이지에 접근을 할 수 없어 곤란에 처할 수 있습니다.

도메인 변경

워드프레스 사이트의 도메인을 변경하려면 몇 가지 단계를 따라야 합니다. 도메인을 변경할 때는 데이터베이스와 워드프레스 설정을 정확하게 수정해야 사이트가 정상적으로 작동하며, 아래의 방법을 참고하시기 바랍니다.

1. 데이터베이스 백업

도메인 변경 작업을 시작하기 전에 데이터베이스와 파일을 백업하는 것이 좋습니다. 워드프레스 데이터베이스는 중요한 데이터를 포함하고 있기 때문에, 문제가 발생했을 때 복구할 수 있도록 백업을 만들어 둡니다.

2. wp-config.php 파일 수정

wp-config.php 파일을 열고 아래의 두 줄을 추가하거나 수정하여 새로운 도메인을 지정합니다.

define('WP_HOME', 'https://newdomain.com');
define('WP_SITEURL', 'https://newdomain.com');

이렇게 하면 워드프레스는 기본적으로 새로운 도메인으로 접속하도록 설정됩니다.
(newdomain.com 부분을 새로운 도메인 주소로 변경하면 됩니다.)

3. 데이터베이스 내 URL 변경

워드프레스는 도메인 URL을 데이터베이스에 저장하기 때문에, 기존 URL을 새로운 도메인으로 변경해 주어야 합니다.

다음 SQL 쿼리를 사용하여 wp_options 테이블에서 URL을 수정합니다. wp_는 기본 테이블 접두사이며, 맞지 않을 경우 테이블 접두사를 확인하고 수정하십시오.

sql복사편집UPDATE wp_options SET option_value = replace(option_value, 'https://olddomain.com', 'https://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';

그 외에 wp_postswp_postmeta 등의 테이블에서도 URL이 사용될 수 있으므로, 모든 테이블에서 URL을 일괄 변경하는 것이 좋습니다.

예제 쿼리:

sql복사편집UPDATE wp_posts SET guid = replace(guid, 'https://olddomain.com','https://newdomain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'https://olddomain.com', 'https://newdomain.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'https://olddomain.com','https://newdomain.com');

이 작업은 데이터베이스 관리 도구(예: phpMyAdmin)나 워드프레스 CLI를 통해 수행할 수 있습니다.

4. 검색 및 대체 플러그인 사용 (선택 사항)

데이터베이스 내 URL을 일괄 변경하기 위해 Better Search Replace 같은 플러그인을 사용하는 것도 방법입니다. 이 플러그인을 통해 모든 테이블에서 특정 URL을 찾아 변경할 수 있습니다.

5. 캐시 및 퍼머링크 설정 갱신

변경 후에는 사이트의 캐시를 삭제하고, 워드프레스 관리 화면에서 설정 > 고유주소 메뉴에 들어가서 퍼머링크 설정을 다시 저장하는 것이 좋습니다. 이는 새로운 URL 구조를 반영하고 링크 오류를 방지하는 데 도움을 줍니다.

6. 구글 및 외부 서비스에 도메인 변경 알림

사이트의 도메인이 변경되면 구글 서치 콘솔, 구글 애널리틱스 등 외부 서비스에도 새 도메인을 등록하고 알리는 작업이 필요합니다. 이를 통해 SEO에 미치는 영향을 최소화할 수 있습니다.

위의 단계를 따르면 워드프레스 사이트의 도메인 변경이 완료됩니다.

도메인 변경은 잘 되었고, 위 내용 중 2) 까지만 해도 사이트는 변경된 도메인으로 잘 연결됩니다. 그렇지만, 이미지 파일 등 업로드 한 것들의 주소는 옛날 도메인 주소로 저장이 되어 있어서, 기존 도메인을 사용하지 않게 되거나 다른 서버로 연결시키게 되면 이미지 들이 표시되지 않게 됩니다. 따라서, 나머지 데이타 베이스 작업들도 수행하는 것이 좋겠습니다. 데이타 베이스 작업들을 다 수행하고 나면 2) 의 변경사항은 더 이상 필요 없게 되므로 삭제해도 무방합니다. (그냥 둬도 무방하구요)

플러그인 업데이트 문제 해결

이제 플러그인 업데이트가 잘 되지 않았던 이유를 찾아 헤매었습니다.

다양한 원인이 있을 수 있겠지만, 저의 경우는 임시 작업들이 저장되어 있는 데이터들이 문제였던 것 같습니다.

mysql 에서 아래와 같이 transient 데이터들을 삭제하는 쿼리를 실행하고 나서 플러그인 업데이트도 해결되었습니다.

DELETE FROM wp_options WHERE option_name LIKE '_transient_%';
DELETE FROM wp_options WHERE option_name LIKE '_site_transient_%';

Updated : February 21, 2025
{{ reviewsTotal }}{{ options.labels.singularReviewCountLabel }}
{{ reviewsTotal }}{{ options.labels.pluralReviewCountLabel }}
{{ options.labels.newReviewButton }}
{{ userData.canReview.message }}
This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.