워드프레스 플러그인 삭제: 관리자 화면 삭제 뒤 남는 DB까지 지우는 법

워드프레스 플러그인 삭제는 관리자 화면에서 버튼 하나로 끝나지만, 플러그인이 만든 테이블과 설정은 데이터베이스에 그대로 남는 경우가 많습니다. 이 사이트도 예전에 지운 광고·댓글 플러그인 두 개의 테이블 8개와 옵션 38줄이 2026-10-09 현재 남아 있습니다.
관리자 화면에서 지우는 방법부터 남은 숏코드·폴더·DB를 정리하는 방법까지 차례로 정리했습니다.
1️⃣ 관리자 화면에서 플러그인 삭제
[플러그인] > [설치된 플러그인]에서 먼저 [비활성화]를 누른 뒤, 같은 줄에 나타나는 [삭제]를 누릅니다.

플러그인에 정리 코드가 들어 있으면 이때 함께 실행되며, 정리 코드가 없으면 파일만 지워지고 데이터는 남게 됩니다.
2️⃣ 삭제해도 데이터가 남는 이유
워드프레스는 플러그인을 삭제할 때 그 플러그인의 [uninstall.php] 파일이나 [register_uninstall_hook]으로 등록한 함수를 실행합니다. 데이터를 지우는 일은 이 코드에 맡겨져 있어, 코드가 없거나 일부만 지우게 만든 플러그인은 테이블과 옵션을 남기게 됩니다.
개발자가 일부러 남기는 경우도 있으며, 다시 설치했을 때 설정을 그대로 되살리기 위해서입니다. Wordfence처럼 설정 화면에 데이터를 함께 지우는 선택지를 두는 플러그인도 있고, Polylang 다국어 플러그인도 같은 선택지를 제공합니다.

3️⃣ 남은 데이터가 사이트에 주는 영향
남은 옵션 가운데 [autoload]가 켜진 줄은 페이지를 열 때마다 다른 설정과 함께 메모리로 불러옵니다. 이 사이트에 남은 wpDiscuz의 [wc_options](15KB)와 Advanced Ads의 [advanced-ads-ab-module](14KB)이 그런 줄이었습니다.
다만 이 사이트의 autoload 합계는 약 392KB이고 그중 남은 줄은 약 39KB라, 체감할 만한 속도 차이를 만들지는 않습니다. 워드프레스 [사이트 상태] 화면은 autoload 합계가 800KB를 넘을 때 경고를 표시합니다.
남은 줄 23개의 autoload를 끄자 Advanced Database Cleaner의 [오토로드 크기]가 391.52KB에서 353.36KB로 줄었습니다.


평소에는 문제가 되지 않습니다. 캐시된 페이지를 받는 방문자는 PHP를 거치지 않으므로, autoload 묶음을 불러오는 것은 관리자 화면·캐시를 비운 직후의 첫 방문·봇처럼 캐시를 거치지 않는 요청뿐입니다. 이런 요청이 한꺼번에 몰리면 요청 수만큼 autoload 묶음을 메모리에 풀게 되므로, autoload가 커진 사이트일수록 서버 부하가 빠르게 늘어납니다.
autoload가 꺼진 옵션과 남은 테이블은 그 플러그인이 없으면 읽히지 않으므로 속도와는 관계가 없으며, 데이터베이스 용량과 백업 크기만 늘어납니다.
4️⃣ 남은 흔적 지우기
데이터베이스를 손대기 전에는 먼저 전체를 백업합니다.
🔲 숏코드
플러그인이 글에 넣던 숏코드는 플러그인을 지우면 대괄호 글자 그대로 본문에 드러납니다. 글을 하나씩 고치기 전까지는 테마의 [functions.php]에 아래 한 줄을 넣어 해당 숏코드가 아무것도 출력하지 않게 합니다.
add_shortcode( 'pluginshortcode', '__return_false' );이 사이트도 표 플러그인의 숏코드 10여 개를 쓰다가 보안 문제로 플러그인을 지우면서 숏코드와 테이블을 하나씩 정리했으며, 그 뒤로는 숏코드를 사용하지 않습니다.
🔲 플러그인 폴더
관리자 화면에서 지워지지 않은 폴더는 FTP·cPanel·SSH로 [wp-content/plugins] 아래에서 직접 삭제합니다.
🔲 DB 테이블·행 (phpMyAdmin)
대부분의 호스팅은 phpMyAdmin을 제공합니다.

남은 테이블은 [구조] 탭에서 플러그인 이름이 들어간 테이블을 찾아 삭제합니다. 아래는 Yoast SEO를 예로 든 화면입니다.

옵션 같은 행은 [검색]에서 와일드카드 [%]를 붙여 [%yoast%]처럼 찾습니다.


[행 필터링]으로 한 번 더 걸러 보면 Yoast SEO에만 관련된 행인지 확인할 수 있습니다.

행은 주로 [wp_options]·[wp_postmeta]·[wp_usermeta]에 남으며, 테이블 이름 앞의 [wp_]는 사이트마다 다를 수 있습니다. 이름만 보고 지우면 다른 플러그인이 쓰는 줄까지 지울 수 있으므로, 어느 플러그인 것인지 확인한 줄만 삭제합니다.
5️⃣ DB 정리 플러그인
phpMyAdmin 대신 관리자 화면에서 정리하려면 Advanced Database Cleaner를 사용합니다. 이 사이트도 쓰고 있으며, 옵션과 테이블마다 어느 플러그인 것인지 [소속]으로 표시하므로 지워도 되는 줄을 가려낼 수 있습니다.
[소속]이 [아직 스캔되지 않음]인 줄은 쓰지 않는 줄이 아니라 주인을 아직 모르는 줄입니다. 이 사이트에서도 낯선 이름의 상당수가 Kadence Blocks Pro·WP Ghost처럼 지금 켜져 있는 플러그인의 라이선스와 설정이었으며, 이런 줄을 지우면 라이선스가 풀리거나 설정이 초기화됩니다.
그래서 지운 플러그인의 줄이라도 바로 삭제하지 않고 autoload부터 끕니다. 값은 그대로 남아 있어 언제든 되돌릴 수 있으며, 며칠 동안 사이트에 문제가 없으면 그때 삭제합니다.


WP-Optimize도 무료 버전에서 남은 테이블을 삭제할 수 있습니다.


🔢 FAQ & 추천 콘텐츠
ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.