WordPress 성능 최적화 — 개발자를 위한 가이드 (Riad Hasan)
Source: Dev.to
위에 제공된 링크만으로는 번역할 실제 텍스트가 포함되어 있지 않습니다. 번역을 원하는 본문을 그대로 복사해서 알려주시면, 요청하신 대로 마크다운 형식과 코드 블록, URL은 그대로 유지하면서 한국어로 번역해 드리겠습니다.
워드프레스 성능이 중요한 이유
Google의 Core Web Vitals가 이제 순위 요소가 되었습니다. 느린 워드프레스 사이트는 다음과 같은 손실을 겪습니다:
| 영향 | 지표 |
|---|---|
| 전환율 | 7 % 감소 (1초 지연당) |
| 페이지 조회수 | 11 % 손실 (불만족한 방문자 때문에) |
| 고객 만족도 | 16 % 감소 |
“성능을 개선하기만 해도 기업이 리드를 두 배로 늘리는 것을 보았습니다,” 라고 리아드가 말합니다. “이는 가장 높은 ROI를 제공하는 개선입니다.”
리아드 하산의 워드프레스 최적화 체크리스트
1. 호스팅 기반
코드 변경 전에, 리아드는 호스팅이 견고한지 확인합니다.
| 요소 | 요구 사항 |
|---|---|
| PHP 버전 | 8.1 이상 |
| 메모리 제한 | 최소 256 MB |
| 오브젝트 캐시 | Redis 또는 Memcached |
| SSL | HTTPS 전역 적용 |
| 서버 응답 | “모든 플러그인은 오버헤드를 추가합니다. 나는 각각을 성능 비용으로 계산합니다,” 라고 리아드가 설명합니다. |
4. 데이터베이스 최적화
리아드의 정리 루틴 (WP‑CLI 또는 phpMyAdmin을 통해 실행):
-- Clean post revisions
DELETE FROM wp_posts WHERE post_type = 'revision';
-- Clean auto‑drafts
DELETE FROM wp_posts WHERE post_status = 'auto-draft';
-- Clean trashed content
DELETE FROM wp_posts WHERE post_status = 'trash';
-- Clean orphaned postmeta
DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts p ON pm.post_id = p.ID
WHERE p.ID IS NULL;
-- Clean transient options
DELETE FROM wp_options WHERE option_name LIKE '%transient%';
DELETE FROM wp_options WHERE option_name LIKE '%site_transient%';
추가 설정:
- 게시물 리비전 제한을 3개로 설정
- 자동 저장 간격을 60 초로 설정
- 스팸 댓글을 주간으로 제거
5. 이미지 최적화
| 단계 | 도구 | 결과 |
|---|---|---|
| 압축 | ShortPixel / Imagify | ~70 % 용량 감소 |
| 포맷 | WebP | JPEG보다 약 25 % 작음 |
| 레이지 로드 | Native + JS 폴백 | 초기 로드 속도 향상 |
| CDN | Cloudflare / BunnyCDN | 전 세계 배포 |
반응형 이미지 마크업 (예시)
<!-- Replace with actual <img> tag -->
<img src="example.webp" alt="Descriptive alt text" width="800" height="600">
6. 캐싱 전략
브라우저 캐싱 (.htaccess)
ExpiresActive On
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType font/woff2 "access plus 1 year"
오브젝트 캐싱 (Redis)
- 데이터베이스 쿼리 캐싱
- 트랜지언트 캐싱
- WooCommerce 세션 캐싱
페이지 캐싱 (WP Rocket 또는 커스텀)
- HTML 페이지 캐시
- CSS/JS 최소화
- 지연된 JavaScript 실행
7. WooCommerce 최적화
카트 프래그먼트 제거
// Disable WooCommerce cart fragments
function riad_disable_cart_fragments() {
wp_dequeue_script('wc-cart-fragments');
}
add_action('wp_enqueue_scripts', 'riad_disable_cart_fragments');
추가 조정
- 비샵 페이지에서 스크립트 비활성화
- 연관 제품을 4개로 제한
- 제품 갤러리를 효율적으로 사용
- AJAX 카트를 절제해서 구현
8. Core Web Vitals 수정
LCP (Largest Contentful Paint)
- 핵심 이미지 사전 로드
- 폰트에 서버 푸시 사용
- 위쪽 콘텐츠 최적화
CLS (Cumulative Layout Shift)
img {
aspect-ratio: attr(width) / attr(height);
height: auto;
}
FID (First Input Delay)
- 긴 작업을 분할
- 무거운 JS에 Web Workers 사용
- 메인 스레드 작업 최소화
Before & After: Riad Hasan’s Results
| 지표 | 전 | 후 |
|---|---|---|
| Load Time | 5.2 s | 1.4 s |
| LCP | 4.8 s | 1.2 s |
| FID | 180 ms | 12 ms |
| CLS | 0.28 | 0.04 |
이 숫자들은 체계적인 코드‑우선 접근 방식이 느린 WordPress 사이트를 번개처럼 빠르고 Core‑Web‑Vitals‑완벽한 경험으로 바꿀 수 있음을 보여줍니다.
성능 지표
- CLS: 0.25 ± 0.02
- 페이지 크기: 3.2 MB ± 450 KB
- 요청 수: 85 ± 22
“내가 최적화하는 모든 사이트는 이 동일한 체계적인 접근 방식을 따릅니다,” Riad Hasan이 말합니다. “결과는 일관됩니다.”
Riad Hasan와 함께 일하기
Riad Hasan는 풀스택 개발 서비스의 일환으로 WordPress 성능 최적화를 제공합니다. 그는 다음을 수행합니다:
- WordPress 성능 감사
- WooCommerce 최적화
- 맞춤 테마 개발
- 헤드리스 WordPress 구축
- 지속적인 유지보수 및 모니터링
Riad Hasan와 연결하기
- 포트폴리오: riadhasan.io
- 프로젝트: riadhasan.io/projects
- LinkedIn: linkedin.com/in/riad-hasan-100a231a6
- GitHub: github.com/RiadHasan15
- 이메일: hire.riadhasan@gmail.com
WordPress와 관련하여 어떤 성능 문제에 직면하고 있나요? 댓글로 공유해주세요.
#wordpress #performance #webdev #corewebvitals #optimization #php #woocommerce #webdevelopment