워드프레스 속도 최적화, 왜 해야 하나?
저는 이 블로그를 AWS EC2에 워드프레스를 설치해서 운영하고 있습니다. 처음 세팅하고 Google PageSpeed Insights를 돌려봤더니 모바일 점수가 38점이었습니다. 데스크톱도 62점. 솔직히 충격이었습니다.
그런데 검색해보니 워드프레스 속도 최적화를 안 한 사이트는 거의 다 이 정도라고 합니다.
워드프레스가 느린 이유는 구조적입니다. PHP가 매 요청마다 데이터베이스를 조회하고, 테마와 플러그인이 각각 CSS/JS 파일을 로드하고, 이미지는 원본 그대로 올라가 있습니다. 아무것도 안 하면 느린 게 정상입니다.
제가 직접 7단계에 걸쳐 워드프레스 속도 최적화를 진행한 결과, 모바일 PageSpeed 점수가 38점에서 91점으로, 로딩 시간이 3.2초에서 0.8초로 줄었습니다. 한 단계씩 정리해드리겠습니다.
1단계: 현재 상태 측정부터
최적화를 시작하기 전에 현재 상태를 기록해두세요. 나중에 “뭘 했더니 얼마나 빨라졌는지” 비교할 수 있어야 합니다.
제가 쓰는 측정 도구는 3개입니다:
- Google PageSpeed Insights — 가장 중요. 구글이 직접 측정하는 점수이고, 검색 순위에도 영향을 줍니다
- GTmetrix — 폭포수(Waterfall) 차트로 어떤 리소스가 느린지 한눈에 보임
- Chrome DevTools Network 탭 — 개별 리소스의 로딩 시간을 직접 확인
측정할 때 주의할 점: 같은 페이지를 3번 이상 테스트하고 평균을 내세요. 서버 상태에 따라 결과가 매번 다릅니다.
2단계: Cloudflare 캐시 설정
가장 효과가 큰 단계입니다. 저는 이것만으로 로딩 시간이 3.2초에서 1.4초로 절반 이상 줄었습니다.
이미 워드프레스 도메인을 Cloudflare에 연결해두셨다면 캐시 설정만 추가하면 됩니다.
Cloudflare 대시보드에서 설정할 항목:
- Caching > Configuration — 캐싱 수준을 “Standard”로 설정
- Speed > Optimization — Auto Minify에서 JavaScript, CSS, HTML 전부 체크
- Page Rules —
*.pearsoninsight.com/*에 “Cache Level: Cache Everything” + “Edge Cache TTL: 1 month” 설정
주의할 점이 하나 있습니다. “Cache Everything”을 설정하면 로그인 상태의 관리자 페이지까지 캐시될 수 있습니다. 반드시 /wp-admin/* 경로에는 “Cache Level: Bypass”를 별도로 걸어주세요.
3단계: 이미지 압축 — 가장 티가 나는 변화
제 블로그의 초기 페이지 용량은 4.2MB였습니다. 이 중 3.1MB가 이미지였습니다. 전체의 74%입니다.
이미지 최적화에는 두 가지 방법이 있습니다:
방법 1: WebP 변환 플러그인 사용. 워드프레스 플러그인 추천 글에서도 언급했지만, ShortPixel이나 Imagify 같은 플러그인을 설치하면 업로드하는 이미지를 자동으로 WebP로 변환하고 압축합니다. 저는 ShortPixel을 쓰고 있는데, 무료 티어로 월 100장까지 가능합니다.
방법 2: 업로드 전에 직접 압축. 플러그인에 의존하기 싫다면, 업로드 전에 Squoosh로 직접 압축하세요. 저는 대표 이미지는 1200x630px, WebP 포맷, 품질 80%로 통일하고 있습니다. 원본 2MB짜리가 80KB 정도로 줄어듭니다.
이 단계만 적용해도 페이지 용량이 4.2MB에서 1.1MB로 떨어졌습니다.
4단계: 플러그인 정리와 PHP 업그레이드
플러그인은 적을수록 좋습니다. 제가 경험한 규칙은 이렇습니다:
“비활성화된 플러그인은 삭제하세요.” 비활성화 상태여도 워드프레스가 플러그인 목록을 스캔할 때 미세하게 영향을 줍니다. 안 쓰면 지우세요.
“같은 기능을 하는 플러그인이 2개 이상 있으면 하나만 남기세요.” 특히 캐시 플러그인, SEO 플러그인, 보안 플러그인에서 이런 중복이 자주 발생합니다.
저는 처음에 23개였던 플러그인을 11개로 줄였습니다. 이것만으로 관리자 페이지 로딩이 눈에 띄게 빨라졌고, 프론트엔드에서도 불필요한 CSS/JS 로드가 줄었습니다.
의외로 많은 사람이 놓치는 게 PHP 버전입니다. PHP 7.4와 PHP 8.2의 성능 차이는 크게는 3배까지 납니다. php -v로 확인하고, 8.0 이하라면 업그레이드하세요:
sudo apt install php8.2 php8.2-mysql php8.2-xml php8.2-curl php8.2-mbstring php8.2-gd
sudo a2dismod php7.4
sudo a2enmod php8.2
sudo systemctl restart apache2
업그레이드 후 반드시 사이트가 정상 작동하는지 확인하세요. 간혹 오래된 플러그인이 새 PHP 버전과 호환되지 않는 경우가 있습니다.
5단계: 캐시 플러그인과 CSS/JS 최적화
Cloudflare가 CDN 캐시를 담당한다면, 캐시 플러그인은 서버 측 캐시를 담당합니다. PHP가 매번 데이터베이스를 조회하는 대신, 미리 생성된 HTML을 바로 내려주는 방식입니다.
저는 WP Super Cache를 쓰고 있습니다. 무료이고 설정이 간단합니다. 핵심 설정:
- “캐싱 켜기” 활성화 (기본이 꺼져 있음)
- “심플 모드” 선택 (Expert 모드는 .htaccess를 건드려서 리다이렉트 루프가 생길 수 있습니다)
- “가비지 컬렉션” — 캐시 만료 시간을 3600초(1시간)로 설정
캐시 플러그인 적용 후 TTFB(Time To First Byte)가 800ms에서 120ms로 줄었습니다.
추가로 Chrome DevTools Coverage 탭(Ctrl+Shift+P → “Coverage”)을 열면 각 CSS/JS 파일에서 실제로 사용되는 코드 비율이 보입니다. 제 경우 테마 CSS의 68%가 미사용 코드였습니다. Asset CleanUp 플러그인으로 페이지별 불필요한 리소스를 비활성화하고, <head>의 JS를 defer로 전환하면 렌더링 차단이 줄어듭니다.
워드프레스 속도 최적화 전후 비교
| 지표 | 최적화 전 | 최적화 후 |
|---|---|---|
| 모바일 PageSpeed | 38점 | 91점 |
| 데스크톱 PageSpeed | 62점 | 97점 |
| 로딩 시간 | 3.2초 | 0.8초 |
| 페이지 용량 | 4.2MB | 0.9MB |
| TTFB | 800ms | 120ms |
| 플러그인 수 | 23개 | 11개 |
가장 효과가 컸던 건 Cloudflare 캐시(2단계)와 이미지 압축(3단계)이었습니다. 이 두 가지만 해도 체감 속도가 확 달라집니다.
RankMath SEO 점수 올리기와 함께 워드프레스 속도 최적화를 병행하면, 검색 엔진에서의 가시성이 크게 올라갑니다. 서브도메인 SEO 전략을 쓰고 있다면 서브도메인에도 같은 최적화를 적용하는 걸 잊지 마세요. 구글 상위노출 가이드에서도 다뤘지만, Core Web Vitals 점수가 검색 순위에 직접 영향을 줍니다.
마치며 — 속도는 SEO의 기본입니다
워드프레스 속도 최적화는 한 번 해두면 계속 효과가 지속됩니다. 글을 아무리 잘 써도 로딩이 3초 넘으면 방문자의 절반이 이탈합니다. 저도 최적화 전후로 애드센스 심사 통과율과 체류 시간이 눈에 띄게 올랐습니다.
오늘 당장 PageSpeed Insights에서 자기 사이트를 측정해보세요. 점수가 80 미만이라면, 이 글에서 2단계와 3단계만 먼저 적용하세요. 그것만으로 체감이 달라질 겁니다.