워드프레스 성능 개선 3가지 - 하나 이상의 필수모듈 누락 예정된 이벤트, 지속적인 객체캐시 사용
워드프레스 사이트 건강 경고 – 필수 모듈, 예약 작업, 객체 캐시까지 완벽 정리
워드프레스 사이트를 운영하다 보면 관리자 화면의 ‘도구 > 사이트 건강 상태’ 메뉴에서 다양한 경고나 권장 사항을 접하게 된다. 특히 "하나 이상의 필수 모듈을 누락했습니다", "예정된 이벤트가 늦습니다", "지속적인 객체 캐시를 사용해야 합니다" 같은 메시지는 무시하기보단 한 번쯤 제대로 점검해보는 것이 사이트 성능과 안정성 면에서 훨씬 유리하다.

나 역시 이런 메시지를 보고 실제로 몇 가지 설정을 손보았고, 그 결과 관리자 페이지 속도부터 예약글 발행까지 눈에 띄게 안정화되었다.
그럼 워드프레스를 직접 운영해보면서 생긴 경험을 바탕으로 이 3가지 권장사항을 어떻게 해결했는지 하나하나 살펴보며 워드프레스 운영에 도움이 될 만한 팁도 함께 정리해보려 한다.
1. 하나 이상의 필수 모듈 누락됨 – imagick 해결하기
워드프레스에서 종종 나타나는 "하나 이상의 필수 모듈을 누락했습니다"라는 경고는 대부분 PHP 확장 모듈 중 일부가 서버에 설치되지 않았을 때 나타난다. 그중 가장 자주 언급되는 것이 바로 imagick이다.
imagick은 워드프레스에서 이미지 썸네일 생성, 압축, 크기 조정 같은 고급 이미지 처리 작업에 사용되는 모듈이다.
이 모듈이 빠져 있으면 워드프레스는 대신 GD라는 기본 모듈로 처리하게 되는데, 이 경우 이미지 품질이 떨어지거나 고해상도 이미지 처리 시 오류가 생기기도 한다.
내가 사용하는 Bluehost VPS에서도 초기엔 imagick이 누락되어 있었고, 썸네일 생성이 불안정하거나 일부 플러그인에서 이미지 업로드 오류가 발생했다. Bluehost 고객센터에 아래와 같이 요청해서 문제를 간단히 해결할 수 있었다.
Hi, my WordPress site is missing the imagick PHP module.
Could you please install and enable the imagick extension on my server?
설치가 완료되면 워드프레스 관리자에서 더 이상 해당 경고 메시지가 표시되지 않는다.
만약 VPS가 아닌 공유호스팅이라면 imagick 설치가 불가능할 수도 있으니, 이 경우에는 서버를 업그레이드하거나 GD 모듈 기반으로 최적화하는 방안을 검토해야 한다.
2. 예정된 이벤트가 늦습니다 – wp-cron 문제 해결하기
두 번째로 자주 보게 되는 메시지가 "예정된 이벤트가 늦습니다"다.
이건 워드프레스 내부의 예약 작업 시스템인 wp-cron이 제시간에 실행되지 못하고 있다는 의미다.
워드프레스는 시스템 크론(cron)이 아닌 자체적인 방법으로 예약 작업을 처리하는데, 이 방식은 방문자가 있을 때마다 wp-cron.php 파일을 호출해서 예약된 이벤트를 실행하는 구조다.
문제는 사이트에 실사용자 트래픽이 적거나 서버 측에서 wp-cron.php 호출을 차단하거나 지연할 경우, 예약된 글이 제때 발행되지 않거나 보안 플러그인의 주기적 스캔, 자동 업데이트 등이 원활히 이뤄지지 않는다는 점이다.
내 경우에도 wordfence_hourly_cron 같은 작업이 자주 늦어지면서, 워드프레스 건강 상태에 반복적으로 경고가 뜨곤 했다. 이를 해결하기 위해 가장 먼저 확인한 건 wp-config.php 파일이었다.

아래와 같이 DISABLE_WP_CRON 값이 true로 설정되어 있다면, 워드프레스는 예약 작업을 전혀 실행하지 않기 때문에 외부 크론 등록이 필수다.
define('DISABLE_WP_CRON', true);
이 줄이 없거나 false라면 내부 크론은 활성화된 상태지만, 여전히 서버 환경이나 방문자 수의 영향을 받아 지연될 수 있다. 이 경우 가장 확실한 해결 방법은 실제 서버 크론 작업(Cron Job)을 등록하는 것이다.
Bluehost의 경우, cPanel에 접속해서 다음과 같은 명령어를 등록하면 된다:
*/5 * * * * wget -q -O - https://내도메인.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
이렇게 하면 5분마다 강제로 wp-cron을 실행시켜 예약 작업이 누락되지 않게 할 수 있다.

만약 공유호스팅이나 패널 접근이 제한된 구조라면, Bluehost 고객센터에 요청해도 빠르게 설정해준다. 이렇게 외부 크론을 등록하고 나면 예약 글도 제시간에 발행되고 보안 플러그인도 정상 작동하는 걸 느낄 수 있다.
3. 지속적인 객체 캐시를 사용해야 합니다 – Redis 활성화로 속도 끌어올리기
세 번째로 많이 보게 되는 경고는 “지속적인 객체 캐시를 사용해야 합니다”라는 문구다.
이건 워드프레스가 매번 페이지를 불러올 때마다 데이터베이스에서 정보를 새로 가져오느라 속도가 느려질 수 있다는 경고다. 특히 방문자가 많아질수록 페이지 로딩 속도, 서버 부하, 응답성 등에 영향을 줄 수 있다.
이 문제의 해결 방법은 바로 Redis, Memcached 같은 객체 캐시 시스템을 사용하는 것이다.


이 시스템은 자주 사용되는 쿼리 결과나 설정값들을 메모리에 저장해두고, 요청이 들어올 때 빠르게 꺼내 쓸 수 있도록 도와준다.
나처럼 VPS 환경에서 워드프레스를 운영하고 있다면 Redis 사용이 충분히 가능하고, 성능 향상도 꽤 뚜렷하게 느껴진다.

내가 적용한 방식은 다음과 같다. 먼저 Redis Object Cache 플러그인을 설치하고, wp-config.php에 아래 코드를 추가했다.
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);

만약 플러그인을 설치해도 연결이 안 되거나 Redis 서버가 없다는 메시지가 뜬다면, 사용 중인 호스팅에서 Redis 서버와 PHP Redis 모듈이 설치되어 있는지 먼저 확인해야 한다. Bluehost VPS를 사용하는 경우 고객센터에 요청하면 Redis 설치와 활성화까지 도와준다.
객체 캐시는 단순히 속도를 올리는 걸 넘어서, 전체적인 사용자 경험과 검색엔진 평가에도 긍정적인 영향을 준다. 특히 WP Rocket 같은 정적 캐시와 병행하면 페이지 로딩 속도가 확연히 개선되는 걸 체감할 수 있다.
워드프레스는 단순한 블로그 플랫폼을 넘어서 다양한 기능을 품고 있는 CMS지만, 기본값 그대로 두면 의외로 많은 비효율이 누적되기 쉽다. ‘필수 모듈 누락’, ‘예약 이벤트 지연’, ‘객체 캐시 미사용’과 같은 경고는 단순한 알림이 아니라 사이트가 더 빨라지고, 더 안정적으로 운영될 수 있도록 알려주는 힌트다.
처음엔 어렵게 느껴졌지만 하나하나 해결하다 보니 워드프레스가 훨씬 가볍고 안정적으로 작동하는 걸 느꼈고, 특히 관리자 화면이나 예약 글 발행 속도가 체감될 정도로 개선되었다.
혹시 같은 경고 메시지를 보고도 그냥 넘기고 있었다면, 이번 기회에 한 번쯤 손봐보기를 추천한다. 확실히 달라진다.
FAQ – 워드프레스 사이트 건강 경고 관련 자주 묻는 질문
워드프레스 imagick 모듈 없이도 문제 없이 운영 가능한가요?
워드프레스는 imagick이 없을 경우 자동으로 GD 모듈을 사용하지만, 이미지 리사이징 품질이나 고해상도 썸네일 처리에서 한계가 있습니다. 예를 들어 WebP 변환이나 CMYK 처리 같은 고급 기능이 제대로 작동하지 않을 수 있습니다. 이미지 중심의 사이트라면 imagick 설치를 추천합니다.
예약 이벤트가 반복해서 실패하거나 중복 실행되는 이유는 뭔가요?
wp-cron은 페이지 요청에 따라 실행되기 때문에, 트래픽이 갑자기 몰리면 예약 작업이 중복 실행되거나 동시에 여러 개가 작동해 서버 부하를 일으킬 수 있습니다. 이런 문제를 막기 위해 WP_CRON_LOCK_TIMEOUT 값을 wp-config.php에 설정해두면 일정 시간 중복 실행을 방지할 수 있습니다.
define('WP_CRON_LOCK_TIMEOUT', 120); // 초 단위
Redis 외에 사용할 수 있는 객체 캐시 시스템은 어떤 게 있나요?
Redis 외에도 Memcached, APCu 같은 객체 캐시 시스템이 있습니다.
- Memcached는 속도는 빠르지만 설정이 복잡할 수 있고
- APCu는 단일 서버 환경에 적합하지만 멀티서버에는 부적합합니다.
다만 플러그인 호환성과 관리 편의성을 고려하면 대부분의 워드프레스 사용자는 Redis Object Cache 플러그인을 선택하는 편입니다.
wp-cron 예약 작업 목록을 확인하거나 수동으로 실행하려면 어떻게 하나요?
WP Crontrol 플러그인을 사용하면 현재 등록된 모든 예약 작업과 다음 실행 예정 시간, 반복 주기 등을 확인할 수 있습니다.
특정 작업이 지연되거나 오류가 발생하는 경우 해당 플러그인에서 직접 삭제하거나 수동 실행도 가능합니다.
객체 캐시 사용 후 페이지가 깨지거나 오류가 나는 경우 어떻게 하나요?
이는 캐시된 데이터와 실제 DB 내용 간 불일치로 발생할 수 있습니다.
Redis 플러그인 설정에서 "Flush Cache" 또는 "Purge Cache" 기능으로 캐시를 초기화한 뒤 확인하세요.
또한 WP Rocket과 함께 사용할 경우, 중복 설정을 피해야 하며 Object Cache 관련 옵션은 하나의 플러그인에서만 활성화하는 것이 안전합니다.