WP-CLI는 브라우저를 열지 않고도 터미널에서 직접 워드프레스 설치를 관리할 수 있는 공식 명령줄 도구입니다. 여러 사이트의 플러그인을 업데이트하기 위해 오후 내내 워드프레스 관리자 대시보드를 클릭해 본 적이 있다면 이 도구의 존재 이유를 이미 알고 있을 것입니다.
이 가이드에서는 Linux, macOS, Windows에 WP-CLI 설치부터 스크립트 및 구성 파일을 사용한 복잡한 유지관리 작업 자동화까지 모든 것을 배웁니다. 하나의 블로그를 관리하든 수십 개의 클라이언트 사이트를 관리하든 WP-CLI를 마스터하면 워드프레스 작업 방식이 근본적으로 달라집니다.
학습 내용
- 다양한 운영 체제에서 WP-CLI를 설치하고 구성하는 방법
- 플러그인, 테마, 사용자, 콘텐츠 관리를 위한 필수 명령어
- 내보내기, 가져오기, 안전한 검색-바꾸기를 포함한 데이터베이스 작업
- 스크립트, 별칭 및 크론 작업을 사용한 자동화 기술
- 터미널에서 작업할 때 흔히 발생하는 함정을 피하기 위한 모범 사례
WP-CLI란 무엇인가요? (간단한 설명 먼저)
WP-CLI는 워드프레스 명령줄 인터페이스의 약자로, 터미널에서 워드프레스 사이트를 완전히 관리할 수 있는 오픈소스 도구입니다. wp-admin에 로그인하여 메뉴를 탐색하는 대신 wp plugin update --all 같은 명령을 실행하면 전체 플러그인 스택이 몇 초 만에 업데이트되는 것을 확인할 수 있습니다.
이 프로젝트는 대규모로 워드프레스를 더 빠르게 관리할 수 있는 방법을 찾고 있던 개발자들이 2011년경에 시작했습니다. 2017년에는 공식 워드프레스닷오알지 산하로 옮겨져 현재 Alain Schlesser와 Daniel Bachhuber를 비롯한 전담 기여자 팀이 관리하고 있습니다.
WP-CLI에 대해 알아야 할 사항은 다음과 같습니다:
- 현재 안정적인 버전입니다: WP-CLI 2.x 시리즈
- 워드프레스 호환성: 워드프레스 5.x~6.x(이전 버전은 3.7까지)에서 작동합니다.
- PHP 요구 사항: 보안 및 성능을 위해 PHP 7.4 이상 또는 8.x 권장
- 명령어 생태계: 거의 모든 워드프레스 작업을 포괄하는 40개 이상의 상위 명령어
- 기본 사용자: 복잡한 또는 여러 사이트를 관리하는 개발자, 대행사, DevOps 엔지니어 및 파워 유저
- 배포: 배포: 패키지 관리자를 통해 PHAR 파일로 제공되거나 많은 관리형 워드프레스 호스트에 사전 설치되어 있습니다.
WP-CLI 사용의 주요 이점
WP-CLI의 존재 이유를 이해하면 학습 곡선을 정당화하기가 훨씬 쉬워집니다. 이 섹션에서는 이 도구를 사용할 가치가 있는 구체적인 이점에 대해 설명합니다.
반복 작업 시간 절약
워드프레스 대시보드를 통해 20개의 플러그인을 업데이트한다는 것은 20개의 페이지 로드, 20번의 클릭, 20개의 진행률 표시줄 확인을 의미합니다. WP-CLI를 사용하면 wp plugin update --all 한 번만 실행하고 계속 진행하면 됩니다. 여러 클라이언트 사이트를 관리하는 대행사의 경우 이러한 차이는 매주 절약되는 시간으로 이어집니다.
대량 및 자동화된 작업
블랙 프라이데이를 위해 15개의 WooCommerce 스토어를 준비하는 시나리오를 가정해 보겠습니다. 각 사이트에서 플러그인을 업데이트하고, 캐시를 지우고, 데이터베이스 무결성을 확인해야 합니다. WP-CLI를 사용하면 이 전체 시퀀스를 스크립트로 작성하여 몇 시간이 아닌 몇 분 안에 모든 사이트에서 실행할 수 있습니다. 주요 자동화 기능은 다음과 같습니다:
- 단일 스크립트로 여러 설치에서 모든 플러그인 업데이트하기
- 미리 정의된 역할로 대량으로 사용자 만들기
- 크론을 통한 야간 유지 관리 실행(데이터베이스 최적화, 일시적 정리)
- 새로운 환경에 동일한 워드프레스 구성 배포하기
브라우저 기반 작업에 대한 안정성
브라우저 작업이 HTTP 시간 초과에 도달합니다. 대용량 데이터베이스 가져오기가 프로세스 중간에 실패합니다. 검색-바꾸기 작업은 원시 SQL로 수행할 때 직렬화된 데이터를 손상시킵니다. WP-CLI는 시간 제한 제약 없이 서버에서 직접 실행되고 검색-대체 명령이 직렬화된 데이터 구조를 올바르게 처리하므로 이러한 모든 문제를 피할 수 있습니다.
핵심 워드프레스 시스템을 직접 제어
하나의 터미널에서 할 수 있습니다:
- 워드프레스 데이터베이스 내보내기 및 가져오기
wp-config.php설정 수정- wp-cron 이벤트 검사 및 트리거하기
- 유지 관리 모드 켜기 및 끄기
- 워드프레스 컨텍스트에서 임의의 PHP 코드를 실행하세요.
wp-admin의 부하 감소
바쁜 프로덕션 서버에서는 관리자 대시보드 페이지를 로드할 때마다 리소스가 소모됩니다. WP-CLI를 통해 유지 관리 작업을 실행하면 트래픽이 많은 기간에 중요한 웹 서버의 부하를 줄일 수 있습니다.
WP-CLI 요구 사항 및 지원 환경
WP-CLI를 설치하기 전에 서버 또는 로컬 환경이 기본 요구 사항을 충족하는지 확인해야 합니다. 좋은 소식은 대부분의 최신 워드프레스 설정이 이미 자격을 갖추고 있다는 것입니다.
PHP 버전 요구 사항:
- 최소: PHP 5.6(구 버전이지만)
- 권장: 2026년 보안 및 성능을 위해 PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 또는 8.5 사용 권장
워드프레스 버전 호환성:
- 과거 지원: 워드프레스 3.7 이상
- 최신 대상: 현재 프로젝트의 경우 워드프레스 5.0~6.7 이상
운영 체제 기대치:
- 최고의 지원: UNIX 계열 시스템(우분투 22.04 LTS, 데비안 12, CentOS 스트림, macOS)
- Windows: WSL(Linux용 Windows 하위 시스템) 또는 기본 PHP 설치를 통해 지원됩니다.
추가 요구 사항:
- 명령줄에서 PHP를 사용할 수 있습니다(
php바이너리가 경로에 있어야 함). wp-cli.phar파일을 다운로드하려면 cURL 또는 wget을 사용합니다.- 원격 서버에 대한 SSH 액세스(대부분의 관리형 워드프레스 호스팅 요금제에는 기본적으로 이 기능이 포함되어 있습니다)
Kinsta, SiteGround, DreamHost와 같은 많은 인기 호스트는 이제 WP-CLI가 사전 설치되어 제공됩니다. 워드프레스닷컴은 SSH 액세스가 활성화된 사이트를 위한 WP-CLI도 제공합니다.
Linux 및 macOS에 WP-CLI를 설치하는 방법
표준 설치 방법은 공식 PHAR(PHP 아카이브) 파일을 사용합니다. 이 프로세스는 우분투, 데비안, CentOS, 페도라 및 macOS 터미널에서 작동합니다.
1단계: PHAR 파일 다운로드
터미널을 열고 curl을 사용하여 wp-cli.phar 을 다운로드합니다:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
또는 wget을 사용하세요:
wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
2단계: 다운로드 확인(선택 사항이지만 권장)
SHA-256 체크섬을 WP-CLI 문서에 게시된 공식 값과 비교하여 다운로드 중에 파일이 변조되지 않았는지 확인합니다:
sha256sum wp-cli.phar
출력을 공식 WP-CLI 웹사이트에 나열된 체크섬과 비교합니다.
3단계: PHAR 파일 테스트
php 파일이 작동하는지 확인합니다:
php wp-cli.phar --info
WP-CLI 버전, PHP 버전 및 시스템 정보가 표시된 출력이 표시됩니다.
4단계: 실행 파일로 만들고 PATH로 이동
파일을 실행 파일로 표시하고 시스템 PATH의 디렉터리로 이동합니다:
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
/usr/local/bin 은 시스템 디렉터리이므로 일반적으로 sudo 명령이 필요합니다. 주로 일반 사용자로 실행할 경우 WP-CLI를 루트로 설치하지 마세요.
5단계: 글로벌 설치 확인
이제 WP-CLI를 전 세계에서 사용할 수 있는지 확인합니다:
wp --info
wp cli version
wp cli 버전, PHP 바이너리 위치 및 운영 체제 세부 정보를 확인하는 출력이 표시되어야 합니다. 이 시점에서 WP-CLI가 설치되어 사용할 준비가 된 것입니다.
Windows에 WP-CLI를 설치하는 방법
Windows 사용자는 Linux용 Windows 하위 시스템(WSL)을 사용하거나 기본 Windows 설치를 설정하는 두 가지 주요 경로가 있습니다. WSL은 Linux와 더 유사한 환경을 제공하며 일반적으로 권장됩니다.
옵션 1: WSL 사용(권장)
먼저 Windows 10 또는 11에서 WSL을 사용하도록 설정합니다:
wsl --install
Microsoft Store에서 우분투를 설치한 다음 우분투 터미널을 실행합니다. 거기에서 이전 섹션에서 설명한 것과 똑같은 Linux 설치 단계(phar 파일을 다운로드하고 실행 가능한 상태로 만든 다음 /usr/local/bin/wp 으로 이동)를 따릅니다.
옵션 2: 기본 Windows 설치
기본 설치의 경우 시스템 경로에 있는 php 실행 파일을 사용하여 Windows용 PHP를 설치해야 합니다.
- 공식 Windows용 PHP 사이트에서 PHP를 다운로드하여 설치하세요.
- Windows PATH 환경 변수에 PHP 디렉토리를 추가합니다.
- 명령 프롬프트를 열고 다음을 실행하여 PHP가 작동하는지 확인합니다.
php -v
다음으로 WP-CLI PHAR 파일을 다운로드합니다:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Windows에는 2018년부터 기본적으로 curl이 포함되어 있으므로 추가 설정 없이도 작동합니다. WP-CLI용 폴더(예: C:\wp-cli)를 만들고 다운로드한 파일을 이 폴더로 옮깁니다.
그런 다음 같은 폴더에 wp.bat 이라는 배치 래퍼 파일을 만듭니다:
@echo off
php "C:\wp-cli\wp-cli.phar" %*
C:\wp-cli 을 시스템 PATH 환경 변수에 추가합니다. 이제 새 명령 프롬프트 또는 PowerShell 창을 열고 확인합니다:
wp --info
WP-CLI가 제대로 설치되었는지 확인하는 WP-CLI 버전 및 환경 세부 정보가 표시되어야 합니다.
기본 WP-CLI 사용 및 도움말 받기
WP-CLI가 설치되어 있으면 특정 작업을 시작하기 전에 기본 명령 패턴을 이해해야 합니다. 모든 WP-CLI 명령은 이 구조를 따릅니다:
wp <command> <subcommand> [options]
명령은 워드프레스 설치 디렉터리( wp-config.php 폴더가 포함된 폴더) 내에서 실행됩니다. 다른 위치에 있는 경우 --path=/var/www/html/mysite 로 경로를 지정할 수 있습니다.
환경 확인
설정을 확인하는 것부터 시작하세요:
wp --info
여기에는 WP-CLI 버전, PHP 버전, PHP 바이너리 경로, 운영 체제 및 기타 환경 세부 정보가 표시됩니다. WP-CLI 버전만 보려면 다음과 같이 하세요:
wp cli version
사용 가능한 명령어 살펴보기
사용 가능한 모든 wp cli 명령어를 나열합니다:
wp help
특정 명령에 대한 도움말을 참조하세요:
wp help plugin
wp help core update
모든 명령에 --help 을 추가할 수도 있습니다:
wp user --help
도움말 출력은 유닉스 매뉴얼 페이지와 유사한 호출기에 표시됩니다. q 을 눌러 종료합니다.
먼저 시도할 명령어입니다:
wp core version– 워드프레스 버전을 표시합니다.wp plugin list– 설치된 모든 워드프레스 플러그인을 상태와 함께 표시합니다.wp theme list– 설치된 테마 표시wp user list– 사이트의 모든 사용자를 나열합니다.
이러한 읽기 전용 명령을 사용하면 아무것도 변경하지 않고도 워드프레스 사이트를 탐색할 수 있으므로 인터페이스에 익숙해지는 데 적합합니다.
WP-CLI로 워드프레스 설치 및 구성하기
WP-CLI는 기존의 웹 기반 설치 관리자보다 빠르게 완전히 새로운 워드프레스 설치를 수행할 수 있습니다. 이는 개발 환경을 스핀업하거나 프로그래밍 방식으로 새 사이트를 배포할 때 특히 유용합니다.
전제 조건
설치 명령을 실행하기 전에 MySQL 또는 MariaDB 데이터베이스가 준비되어 있어야 합니다. 이 예제에서는 이미 생성했다고 가정합니다:
- 데이터베이스 이름:
wpsite_db - 데이터베이스 사용자:
wpsite_user - 비밀번호:
securepassword123 - 호스트:
localhost
1단계: 워드프레스 코어 파일 다운로드
원하는 설치 디렉터리로 이동하여 워드프레스 코어를 다운로드합니다:
wp core download
최신 워드프레스 버전을 가져옵니다. 버전 또는 로캘을 지정합니다:
wp core download --version=6.4.2 --locale=fr_FR
완료되면 워드프레스가 성공적으로 다운로드되었다는 확인 메시지가 표시됩니다.
2단계: wp-config.php 생성
wp config create를 사용하여 구성 파일을 생성합니다:
wp config create --dbname=wpsite_db --dbuser=wpsite_user --dbpass=securepassword123 --dbhost=localhost
그러면 데이터베이스 자격 증명과 자동으로 생성된 보안 솔트가 포함된 완전한 wp-config.php 주소가 생성됩니다.
3단계: 설치 실행
이제 사이트 세부 정보로 워드프레스를 설치합니다:
wp core install --url=https://example.com --title="My New Site" --admin_user=admin --admin_password=strongpassword [email protected]
“워드프레스가 성공적으로 설치되었습니다”라는 메시지가 표시되면 사이트를 사용할 준비가 된 것입니다.
멀티사이트 설치
워드프레스 멀티사이트 네트워크의 경우 멀티사이트 변형을 사용합니다. WP-CLI는 다음을 사용하여 다중 사이트 설치를 구성할 수 있습니다:
wp core multisite-install --url=https://example.com --title="My Network" --admin_user=admin --admin_password=strongpassword [email protected]
WP-CLI로 테마 관리하기
WP-CLI는 워드프레스 관리자 대시보드에 액세스할 필요 없이 모든 테마 작업을 처리합니다. 터미널에서 직접 테마를 나열, 설치, 활성화, 업데이트 및 삭제할 수 있습니다.
설치된 테마 목록 보기
현재 설치된 모든 테마를 확인합니다:
wp theme list
샘플 출력:
| 이름 | 상태 | 업데이트 | 버전 |
|---|---|---|---|
| twenty-four | 활성 | none | 1.0 |
| 스물셋 | 비활성 | none | 1.2 |
| astra | 비활성 | 사용 가능 | 4.5.0 |
테마 활성화하기
다른 테마로 전환합니다:
wp theme activate astra
이렇게 하면 활성 테마가 즉시 변경됩니다. 기본 테마로 다시 전환하면 테마 관련 문제를 해결하는 데 유용합니다:
wp theme activate twentytwentyfour
새 테마 설치하기
워드프레스닷컴 리포지토리에서 테마를 설치합니다:
wp theme install astra
하나의 명령으로 설치 및 활성화하세요:
wp theme install astra --activate
테마 업데이트하기
특정 테마를 업데이트합니다:
wp theme update astra
또는 모든 테마를 한 번에 업데이트할 수도 있습니다:
wp theme update --all
테마 삭제하기
더 이상 필요하지 않은 테마를 삭제합니다:
wp theme delete twentytwentythree
WP-CLI로 플러그인 관리
플러그인 관리는 WP-CLI가 시간을 가장 많이 절약하는 곳입니다. 대시보드에서 수십 번의 클릭이 필요한 대량 작업을 수행할 수 있습니다.
플러그인 나열
wp plugin list
샘플 출력:
| 이름 | 상태 | 업데이트 | 버전 |
|---|---|---|---|
| woocommerce | 활성 | none | 8.5.1 |
| yoast-seo | 활성 | 사용 가능 | 21.0 |
| elementor | 비활성 | none | 3.18.0 |
플러그인 설치하기
플러그인을 슬러그별로 설치합니다:
wp plugin install woocommerce
설치 및 활성화합니다:
wp plugin install yoast-seo --activate
활성화 및 비활성화
플러그인을 활성화합니다:
wp plugin activate elementor
플러그인 비활성화(디버깅에 유용):
wp plugin deactivate elementor
모든 플러그인을 한 번에 비활성화합니다(“죽음의 하얀 화면” 디버깅을 위한 생명의 은인):
wp plugin deactivate --all
플러그인 업데이트하기
특정 플러그인을 업데이트합니다:
wp plugin update yoast-seo
모든 플러그인을 업데이트합니다:
wp plugin update --all
대량 업데이트에서 특정 플러그인을 제외할 수도 있습니다:
wp plugin update --all --exclude=woocommerce
워드프레스 코어 업데이트 및 복구
워드프레스를 최신 상태로 유지하는 것은 보안을 위해 매우 중요합니다. WP-CLI는 이 프로세스를 투명하고 제어할 수 있게 해줍니다.
업데이트 확인
wp core check-update
워드프레스 업데이트하기
최신 버전으로 업데이트합니다:
wp core update
코어 업데이트 후에는 데이터베이스 스키마를 업데이트하는 것이 좋습니다:
wp core update-db
체크섬 확인
사이트가 해킹당한 것으로 의심되는 경우 핵심 파일이 수정되지 않았는지 확인할 수 있습니다:
wp core verify-checksums
이렇게 하면 파일을 공식 워드프레스 저장소 체크섬과 비교합니다.
코어 재설치하기
파일이 손상된 경우 콘텐츠에 영향을 주지 않고 강제로 재설치할 수 있습니다:
wp core download --force --skip-content
콘텐츠, 사용자 및 데이터베이스 관리
WP-CLI를 사용하면 사이트의 데이터와 직접 상호 작용할 수 있습니다.
사용자 관리
사용자를 나열합니다:
wp user list
새 관리자를 만듭니다:
wp user create newadmin [email protected] --role=administrator --user_pass=securepass123
사용자 비밀번호를 업데이트합니다:
wp user update 1 --user_pass=newpassword
사용자를 삭제하고 콘텐츠를 다시 할당합니다:
wp user delete 5 --reassign=1
데이터베이스 작업
데이터베이스를 파일로 내보냅니다:
wp db export backup.sql
파일에서 데이터베이스를 가져옵니다:
wp db import backup.sql
데이터베이스를 최적화합니다:
wp db optimize
워드프레스 데이터베이스에 직접 연결된 MySQL 콘솔을 엽니다:
wp db cli
검색 및 바꾸기(올바른 방법)
워드프레스 사이트를 새 도메인으로 수동으로 옮기는 것은 데이터가 데이터베이스에 직렬화되어 있는 경우가 많기 때문에 위험합니다. 간단한 SQL 찾기 및 바꾸기로 위젯과 테마 옵션이 손상될 수 있습니다. WP-CLI는 직렬화를 올바르게 처리합니다.
표준 검색-바꾸기
wp search-replace 'http://old-domain.com' 'https://new-domain.com'
드라이런(미리보기)
명령을 실행하기 전에 항상 변경되는 내용을 확인하세요:
wp search-replace 'http://old-domain.com' 'https://new-domain.com' --dry-run
교체된 데이터로 내보내기
라이브 데이터베이스는 그대로 두고 파일에서 교체된 데이터만 내보낼 수 있습니다:
wp search-replace 'old.com' 'new.com' --export=migrated-db.sql
고급 유지 관리: Cron 및 오브젝트 캐시
Cron 작업 관리하기
예약된 이벤트 보기:
wp cron event list
모든 만기 크론 이벤트를 즉시 실행하세요:
wp cron event run --due-now
트랜지션 및 캐시 관리
객체 캐시를 지웁니다:
wp cache flush
만료된 모든 트랜지션을 삭제합니다:
wp transient delete --expired
스크립트로 작업 자동화하기
자동화된 유지 관리를 위해 WP-CLI 명령을 Bash 스크립트에 결합할 수 있습니다.
예시: 주간 유지 관리 스크립트
maintain.sh 이라는 파일을 만듭니다:
#!/bin/bash
# Update everything
wp core update
wp core update-db
wp plugin update --all
wp theme update --all
# Cleanup
wp transient delete --expired
wp cache flush
wp db optimize
echo "Maintenance complete."
실행 파일(chmod +x maintain.sh)로 만들어 실행하면 몇 초 만에 전체 사이트 유지보수를 수행할 수 있습니다.
SSH를 통해 원격으로 WP-CLI 사용하기
별칭을 구성한 경우 서버에 로그인하지 않아도 명령을 실행할 수 있습니다.
로컬 wp-cli.yml 파일에 있습니다:
@prod:
ssh: [email protected]/var/www/html
@dev:
ssh: [email protected]/var/www/html
이제 로컬 컴퓨터에서 원격 서버에 명령을 실행할 수 있습니다:
wp @prod plugin list
wp @dev core version
모범 사례
- 항상 백업: 대량 업데이트 또는 검색-바꾸기 명령을 실행하기 전에
wp db export을 실행합니다. - 드라이런을 사용합니다: 검색 바꾸기의 경우 항상
--dry-run을 먼저 사용하세요. - 루트로 실행하지 마세요: 루트로 실행하면 WP-CLI에서 경고를 표시합니다. 웹 서버 사용자(예:
www-data) 또는 특정 사용자 계정으로 실행하는 것이 더 안전합니다. - 스테이징에서 테스트: WP-CLI를 사용하여 프로덕션 사이트를 스테이징에 복제하고 거기서 업데이트 스크립트를 테스트한 다음 프로덕션에 적용합니다.
결론
WP-CLI는 일련의 클릭을 통한 워드프레스 관리를 간소화된 스크립트 작성 가능한 작업으로 전환합니다. 버전 확인이나 플러그인 나열과 같은 간단한 명령부터 시작하여 고급 자동화를 위한 기반을 구축할 수 있습니다. 지금 바로 WP-CLI를 워크플로에 통합하면 워드프레스 프로젝트 전반에서 수많은 시간을 절약할 수 있습니다.