워드프레스의 도메인 변경 후 데이터 베이스에서 URL을 변경하는 방법을 알려드립니다. 이번에 제가 제시해 드리는 방법은 mysql 기반 환경에서 데이터베이스 관리 도구 phpmyadmin 을 이용한 방법입니다.
이 글의 목차
phpmyAdmin 에서 SQL을 이용한 주소 변경
phpmyAdmin 에서 SQL 쿼리문을 이용해서 워드프레스 주소를 일괄 변경할 수 있습니다. phpmyadmin를 호스팅 업체마다 제공하는 곳도 있고 제공하지 않는 곳도 있습니다. 접속하는 방법은 해당 서버의 호스팅 업체에 문의하십시오.
절대 주의!!
DB작업 전 반드시 mysql DB 전체를 백업하시기 바랍니다.
상단 메뉴중 SQL을 클릭합니다. 그러면 이미 입력되어 있는 내용이 있는데 모두 삭제합니다.
URL변경하는 SQL쿼리문을 붙여넣기 하고 “쿼리 시뮬레이션하기” 을 클릭합니다.
어떤 SQL 쿼리문을 사용해야 하는지는 다음 챕터에서 자세히 다루도록 하겠습니다.
쿼리 시뮬레이션 결과 별다른 에러 없다면 X표를 눌러 빠져나옵니다.
실행 버튼을 클릭하여 쿼리를 실행합니다. 에러가 없다 하더라도 반드시 오탈자가 있는지 없는지 테이블과 열 이름이 정확한지 두 세번 확인하세요. 실행 취소 없습니다.
빨간색 X표 없으면 된 겁니다.
워드프레스 주소 변경 mysql 쿼리문 정리
찾아 바꾸기, 쿼리문 기본 형식 ( 중요!!)
이번에 사용할 쿼리문 기본 형식은 아래와 같습니다.
UPDATE [테이블] SET [열이름] = ‘replace(‘[열이름]’, ‘[찾을 값]’,‘[바꿀 값]’);
아래와 같은 예를 들어 보겠습니다.
UPDATE wp_post SET url_name = ‘replace(‘url_name’, ‘http://구주소’,‘http://신주소’);
이 경우 Wp_post 테이블의 url_name 열에서 http://구주소를 찾아서 http://신주소로 바꾸어라 라는 명령이 되겠습니다.
홈페이지 주소와 URL 기본 주소 변경
UPDATE wp_options SET option_value = replace(option_value, 'https://www.sabujak.org', 'https://new_url.com') WHERE option_name = 'home' OR option_name = 'siteurl';
테이블 : wp_options 열 : option_value 조건 : option_name 에서 ‘home’ 또는 ‘siteurl’ 값 일치
워드프레스 기본 정보를 수정합니다. 딱 두개 밖에 없어 직접 수정 해 주셔도 됩니다. 이 값은 반드시 수정되어야 합니다. 위의 쿼리문에서 구 주소와 신 주소를 자신에 맞게 변경하여 사용하세요.
블로그 Post 내 첨부된 주소 일괄변경
UPDATE wp_posts SET guid = replace(guid, 'https://www.sabujak.org','https://new_url.com');
UPDATE wp_posts SET pinged = replace(pinged, 'https://www.sabujak.org','https://new_url.com');
UPDATE wp_posts SET post_content = replace(post_content, 'https://www.sabujak.org', 'https://new_url.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'https://www.sabujak.org','https://new_url.com');
블로그 글 내에 인용된 링크나 메타 정보를 일괄 수정합니다. 이 쿼리문이 핵심입니다. 본문 내용에 관련된 쿼리문 입니다. 위의 쿼리문에서 구주소와 신주소를 자신에 맞게 변경하여 사용하세요.
코맨트 댓글 사용자 계정에 첨부된 주소 일괄 변경
UPDATE wp_comments SET comment_author_url = replace(comment_author_url,'https://www.sabujak.org','https://new_url.com');
코멘트에 관리자 아이디로 대댓글을 달은 것이 있다면 코멘트 테이블도 수정해 주셔야 합니다. 코멘트 항목에서 아이디 눌렀을 때 연결되는 링크 주소를 일괄 변경합니다.
사용자 아이디 계정 정보 변경
UPDATE wp_users SET user_url = replace(user_url,'https://www.sabujak.org','https://new_url.com');
아이디의 기본 정보를 수정해 줍니다. 보통은 관리자 아이디 한 개일텐데요. SQL 쿼리문을 사용하지말고 직접 phpmyadmin 에서 직접 수정해 주셔도 됩니다.
Yoast SEO 에서 사용된 구 주소 변경
Yoast SEO 플러그인을 사용하신다면 Yoast 관련 데이터 베이스도 수정해 주셔야 합니다. phpmyadmin 에서 Yoast 데이터베이스 내용을 까보면 매우 많이 웹페이지 주소를 참조하고 있음을 확인할 수 있습니다.
UPDATE wp_yoast_indexable SET permalink = replace(permalink,'https://www.sabujak.org','https://new_url.com');
UPDATE wp_yoast_indexable SET twitter_image = replace(twitter_image,'https://www.sabujak.org','https://new_url.com');
UPDATE wp_yoast_indexable SET open_graph_image = replace(open_graph_image,'https://www.sabujak.org','https://new_url.com');
UPDATE wp_yoast_indexable SET open_graph_image_meta = replace(open_graph_image_meta,'https://www.sabujak.org','https://new_url.com');
UPDATE wp_yoast_seo_links SET url = replace(url,'https://www.sabujak.org','https://new_url.com');
위와 같은 쿼리문을 사용하시면 Yoast SEO 관련 주소를 일괄적으로 변경할 수 있습니다. 위의 쿼리문에서 구 주소와 신 주소를 자신에 맞게 변경하여 사용하세요.
타 SEO 관리프로그램 Rankmath 도 DB를 사용하고 있는 것으로 알고 있습니다만 저는 RankMath를 사용하지 않는 관계로 자세한 쿼리문을 작성해 드릴 수 없습니다. rankmath 사용하시는 분은 다음 챕터의 “구 주소 수동으로 찾기” 를 참고해 주세요.
구 주소 수동으로 찾기
만약 워드프레스에서 사용 중인 플러그인이 데이터베이스를 사용하고 있다면 구 주소를 참조하고 있는 컬럼(열)이 있는지 직접 찾으셔야 합니다.
phpmyadmin을 통해 수동으로 구 주소를 사용한 컬럼(열) 찾는 방법을 알려드리겠습니다.
- 검색할 테이블을 선택합니다.
- 최대치를 기본 20에서 500으로 변경합니다.
- 행 필터링 값에 구 주소를 입력합니다. 저는 구 주소로 https://www.sabujak.org를 입력하였습니다.
이제 구 주소 “https://www.sabujak.org” 값이 포함된 행만 나옵니다. 우측으로 스크롤 해 가면서 구 주소가 어디에 사용되었는지 확인합니다.
“Ctrl + F” 를 눌러 구 주소를 입력하면 노란색으로 마커되어 쉽게 찾을 수 있습니다. 여기서는 wp-posts 테이블의 guid 열에서 사용되고 있군요. 이것을 기반으로 쿼리문을 작성합니다.
쿼리문 작성은 윗 챕터 “워드프레스 주소 변경 mysql SQL 쿼리문 정리” 를 참고 하세요.