워드프레스 글 제목에서 문자열 일괄 변경하기

Last Updated: 2023년 07월 17일 | | 2개 댓글

워드프레스의 모든 글 제목에서 특정 단어를 일괄적으로 변경해야 하는 경우가 있을 수 있습니다. 이 경우 phpMyAdmin에서 간단한 쿼리를 실행하여 워드프레스 글 제목에서 문자열을 일괄 변경할 수 있습니다.

워드프레스 글 제목에서 문자열 일괄 변경 방법

예를 들어, 워드프레스 사이트 내의 모든 포스트 제목에서 특정 단어를 다른 단어로 변경해야 하는 상황이 발생할 수 있습니다.

모든 포스트 제목에서 특정 문구를 일괄 변경하려는 경우 phpMyAdmin에 접속하여 다음과 같은 MySQL 쿼리를 실행하면 됩니다.

UPDATE wp_posts 
SET post_title = 
REPLACE (  post_title,  'word1',  'word2')
WHERE post_type = 'post' AND post_status = 'publish';

위와 같은 쿼리를 실행하면 포스트 제목에서 모든 'word1'이 'word2'로 바뀌게 됩니다. 위의 쿼리는 '글' 유형에만 적용됩니다. '페이지'에도 적용하고 싶은 경우에는 'page' 포스트 타입을 추가하도록 수정하면 됩니다.

WHERE post_type = 'page'
OR post_type = 'post'

phpMyAdmin에 접속하는 방법을 모르는 경우에는 호스팅 업체에 문의하면 자세한 안내를 받을 수 있을 것입니다.

워드프레스 글 제목에서 문자열 일괄 변경 방법

블루호스트 등 cPanel 환경이 제공되는 호스팅에서는 cPanel에 로그인하여 phpMyAdmin에 접속할 수 있습니다("해외호스팅 블루호스트에서 phpMyAdmin에 접속하는 방법" 참고).

DB 작업은 되돌릴 수 없습니다. 위의 쿼리를 실행하기 전에 반드시 데이터베이스를 백업하시기 바랍니다(참고). 이런 경고를 해도 백업하지 않아서 낭패를 보는 안타까운 경우를 종종 접하게 됩니다. 반드시 백업하세요.

워드프레스 사이트에서 모든 포스트 URL 목록 추출하기

기본적인 MySQL 문법을 알고 있으면 편리할 때가 있습니다. 워드프레스 사이트에서 모든 글 URL 목록을 추출하고 싶은 경우 다음과 같은 쿼리를 응용할 수 있습니다.

SELECT posts_post.guid AS post_guid
FROM wp_posts AS posts_post
WHERE 1=1 
   AND posts_post.post_status = 'publish'
   AND posts_post.post_type = 'post'

자세한 정보는 "워드프레스 글 URL 리스트 추출하기(+phpMyAdmin, 플러그인)"를 참고하시기 바랍니다.

사이트 내의 특정 문자열 일괄 변경하기 - 플러그인 사용

워드프레스 사이트 내의 특정 문자열을 모두 일괄 변경하고 싶은 경우 플러그인을 사용하면 편리합니다. 이러한 기능을 하는 플러그인이 몇 가지 있습니다.

Better Search Replace 플러그인은 DB를 검색하여 일괄 변경하는 기능을 합니다. 이 플러그인은 현재 100만 개가 넘는 사이트에 설치되어 사용되고 있습니다.

사이트 내의 특정 문자열 일괄 변경하기 - 플러그인 사용

DB에서 검색하여 일괄 변경하려는 경우 이 플러그인을 유용하게 활용할 수 있습니다. 그러나 DB가 큰 경우에는 실행 시 오류가 발생할 수 있습니다. 그런 경우에는 phpMyAdmin에 접속하여 직접 쿼리를 실행해야 합니다.

마찬가지로 이러한 플러그인을 사용할 때에는 미리 데이터베이스를 백업 받아 안전한 곳에 보관하는 것이 안전합니다.

DB 관련 작업이 많은 경우에는 wpDataTables 플러그인을 사용하면 편리하게 쿼리를 만들 수 있습니다. 이 플러그인은 299달러로 가격이 비싼 편이지만 프런트엔드에 Excel(엑셀)이나 게시판 형식으로 자료를 표시하려는 경우나 DB에서 데이터를 정교하게 추출하려는 경우에 유용하게 이용할 수 있습니다.

참고


2 개 댓글

Leave a Comment

    • DB와 관련하여 조금 알면 반복적인 작업을 상당히 줄일 수 있습니다. 이 글에서 다루는 내용과 관련해서 예를 들자면, 특정 제품에 대한 정보를 제공하는 글들이 많을 경우, 제품명이 변경되었다면 개별 글들의 제목을 일일이 수정하는 것은 시간이 제법 걸릴 수 있습니다. 10개 정도면 금방 하겠지만, 그런 글이 100개 혹은 1000개가 된다면, 직접 수정하는 것보다 일괄 변경하는 것이 시간과 노력을 크게 줄일 수 있습니다.

      MySQL 문법을 공부하면 도움이 되지만, 일반 사용자라면 굳이 공부할 필요는 없을 것 같습니다. 워드프레스에서는 DB 작업을 쉽게 하도록 도와주는 플러그인들이 있기 때문에 그런 플러그인을 활용하거나, 특정 기능을 제공하는 플러그인(예: 텍스트 대량 찾기 및 변경 플러그인)을 활용할 수 있습니다. 예를 들어, XE나 제로보드, 그누보드 등의 게시판을 워드프레스 게시판으로 이전하려는 경우 상당한 DB 작업이 요구되지만 비록 유료이지만 플러그인을 활용하면 쉽게 이전이 가능합니다.

      응답