1단계: 최적화하기 전에 측정하세요
귀하의 사이트를 PageSpeed Insights(pagespeed.web.dev)에 통과시키고 네 가지 수치를 적으세요: LCP(Largest Contentful Paint, 주요 콘텐츠가 나타나기까지의 시간), INP(Interaction to Next Paint, 응답성), CLS(Cumulative Layout Shift, 시각적 안정성), 그리고 총 페이지 무게. Google Core Web Vitals 임계값: LCP 2,5초 미만, INP 200ms 미만, CLS 0,1 미만. 2021년부터 귀하의 순위에 직접 영향을 미칩니다. 이 임계값 미만은 «좋음»이고, 임계값과 4초/500ms/0,25 사이는 «개선 필요»이며, 그보다 나쁘면 «미흡»입니다. WordPress 속도 최적화의 전체 핵심은 이 세 가지 수치를 녹색 구역으로 옮기는 것입니다. GTmetrix 점수나 기타 집계 등급은 믿지 마세요: Google의 실제 신호와 일치하지 않습니다.
2단계: 호스팅이 병목이 아닌지 확인하세요
WebPageTest로 귀하 청중의 지리에서 TTFB(Time To First Byte)를 확인하세요. TTFB가 1초를 초과하면 호스팅이 병목입니다: 어떤 프런트엔드 최적화도 이를 해결하지 못합니다. 흔한 원인: 과부하된 서버를 가진 저렴한 공유 호스팅, 청중과 다른 대륙의 호스팅, PHP opcache 부재(PHP 7+ 버전이라면 기본적으로 활성화되어 있어야 함). 가장 저렴한 해결책은 같은 요금제 등급에서 더 빠른 호스팅으로 전환하는 것입니다. 월 50,000회 미만이라면, LiteSpeed Cache를 사용한 Hostinger Business가 400ms 미만의 TTFB를 만듭니다. 더 많은 트래픽이라면, Google Cloud 프리미엄 등급의 Kinsta나 WP Engine이 꾸준히 300ms 미만의 TTFB를 만듭니다. 호스팅을 바꾸는 것은 플러그인을 설치하는 것보다 일이 더 많지만, 개선은 보통 극적입니다.
3단계: 페이지 캐싱은 가장 큰 단일 최적화입니다
기본적으로 WordPress는 매 요청마다 PHP + MySQL로 각 페이지를 생성합니다. 페이지 캐싱은 생성된 HTML을 저장하고 이후 방문자에게 직접 제공합니다: 보통 10-20배 빠릅니다. LiteSpeed 기반 호스팅(Hostinger, 대부분의 Bluehost, A2 Turbo, NameHero)에서는 LiteSpeed Cache(무료)를 설치하세요: 서버 수준 캐싱과 통합됩니다. Apache/Nginx 호스팅에서는 WP Rocket(연 59달러)을 설치하세요: 가장 고품질의 캐싱 플러그인이며 그만한 가치가 있습니다. 무료 대안(W3 Total Cache, WP Super Cache)도 작동하지만 더 많은 구성이 필요합니다. 페이지 캐싱을 활성화한 후, PageSpeed Insights에서 다시 테스트하세요: TTFB가 극적으로 떨어지는 것을 볼 수 있을 것입니다.
4단계: 이미지 최적화가 두 번째입니다
이미지는 보통 WordPress 페이지 무게의 60-80%를 차지합니다. 잡아야 할 두 가지 성과: (1) 압축: 모든 이미지는 업로드하기 전에 압축해야 합니다. 저희 이미지 압축기를 사용하거나 ShortPixel/Smush를 설치하여 업로드 시 자동으로 압축하세요. 목표: 헤더 이미지 200KB 미만, 콘텐츠 이미지 100KB 미만. (2) 최신 형식: JPG/PNG 대신 WebP(또는 AVIF)를 제공하세요. WebP는 같은 품질에서 25-35% 더 작습니다. ShortPixel과 Smush Pro는 자동으로 변환하고, 대안으로 Cloudflare의 이미지 최적화는 이미지를 즉석에서 다시 작성합니다. (3) 지연 로딩: 스크롤 아래의 이미지는 거기까지 스크롤할 때만 로드되어야 합니다. WordPress 5.5+는 loading='lazy'를 자동으로 추가합니다; 소스 코드를 보고 작동하는지 확인하세요. (4) 너비 속성: CLS를 피하기 위해 항상 이미지에 명시적인 width/height를 설정하세요.
5단계: CSS/JS 최소화 및 번들 감사
대부분의 캐싱 플러그인(WP Rocket, LiteSpeed Cache)은 CSS/JS 최소화를 포함합니다: 활성화하세요. 가장 큰 성과는 사용되지 않는 스크립트를 지연하거나 제거하는 것입니다. 홈페이지에서 Chrome DevTools → Coverage 탭을 실행하세요; 어떤 CSS와 JS 바이트가 실제로 사용되는지 보여줍니다. 일반적인 결과: CSS의 50-80%가 사용되지 않고, JS의 30-60%가 사용되지 않습니다. 해결책: (a) 더 가벼운 테마를 사용하세요(GeneratePress나 Kadence는 30KB 미만의 CSS를 전송합니다), (b) 사용하지 않는 플러그인을 비활성화하세요(종종 사용되지 않는 스크립트의 출처입니다), (c) Asset CleanUp 같은 플러그인을 사용하여 필요 없는 페이지에서 스크립트를 비활성화하세요(예: Contact Form 7은 /contact에서만 사용하더라도 기본적으로 모든 곳에서 로드됩니다).
6단계: 플러그인 감사 - 느린 것을 찾으세요
모든 활성 WordPress 플러그인은 매 페이지 로드마다 실행되어, 잠재적으로 쿼리, JavaScript, CSS를 추가합니다. 대부분의 느린 사이트는 30-50개 이상의 활성 플러그인을 가지고 있으며, 그중 절반은 더 이상 사용하지 않습니다. Query Monitor(무료)를 사용하여 어떤 플러그인이 가장 많은 데이터베이스 쿼리를 하는지 확인하세요. New Relic의 무료 등급이나 Kinsta의 APM을 사용하여 어떤 플러그인 함수가 가장 오래 걸리는지 확인하세요. 역사적인 주요 문제아: Jetpack(많은 일을 하며, 매 요청마다 모두 실행), 트래픽 급증 중에 실행되는 비대한 백업 플러그인, 공유 버튼이 없는 페이지에서도 CSS/JS를 로드하는 소셜 공유 플러그인, 실시간 파일 스캔을 하는 보안 플러그인. 플러그인 하나를 비활성화하고, 성능을 다시 테스트하고, 그 기능이 비용만큼 가치가 있었는지 결정하세요.
7단계: 데이터베이스 최적화
WordPress는 시간이 지남에 따라 데이터베이스에 쓰레기를 쌓습니다: 게시물 리비전, 만료된 transient, 스팸 댓글, 고아 메타데이터. WP-Optimize(무료)를 설치하고 데이터베이스 정리를 한 번 실행하세요. 합리적인 월간 유지 관리: 60일 이상 된 리비전 삭제(최근 것은 안전을 위해 유지), 만료된 transient, 스팸 대기열. 고트래픽 사이트의 경우, 가장 큰 데이터베이스 성과는 객체 캐싱입니다: Redis나 Memcached가 비용이 큰 MySQL 쿼리 결과를 메모리에 저장하여 반복 작업을 피합니다. 대부분의 관리형 WordPress 호스팅은 상위 등급에 Redis를 포함하며, 기본 공유 호스팅에서는 이를 이용할 수 없습니다.
8단계: 글로벌 청중을 위한 CDN
CDN(콘텐츠 전송 네트워크)은 귀하의 정적 리소스(이미지, CSS, JS)를 방문자 근처의 엣지 위치에 캐싱합니다. 미국에 호스팅된 미국 전용 청중에게는 CDN이 적당한 개선을 제공합니다. 글로벌 청중에게는 CDN이 필수적입니다: 리소스 지연 시간을 200-500ms에서 20-50ms로 줄입니다. Cloudflare의 무료 등급이 대부분의 필요를 충족하며, GB당 0,01-0,05달러의 BunnyCDN은 우수한 성능의 유료 업그레이드입니다. 특히 이미지의 경우, Cloudflare Images나 Bunny Image Optimizer가 즉석에서 크기를 조정하고 형식을 변환할 수 있습니다.
9단계: 다시 측정하고 반복하세요
각 주요 변경 후, PageSpeed Insights를 다시 실행하세요. 목표는 점진적 진전입니다: 대부분의 사이트는 단 하나의 변경으로 «미흡»에서 «좋음»으로 가지 않습니다. 전체 최적화 패스 후의 일반적인 결과: 공유 호스팅의 WooCommerce 스토어는 LCP 4-6초에서 LCP 1,5-2,5초로 갑니다. 관리형 호스팅의 콘텐츠 블로그는 LCP 2-3초에서 LCP 0,8-1,5초로 갑니다. 위의 모든 것을 한 후에도 LCP가 3초를 넘는다면, 병목은 아마도 귀하의 테마일 것입니다: 더 최적화하기 전에 더 가벼운 테마(GeneratePress, Kadence 또는 Astra)로 전환하세요.