워드프레스 속도와 보안 최적화 – 애드센스를 위한 기본기 다지기
워드프레스를 설치하고 테마도 설정했다면 이제 속도와 보안 최적화가 필요하다.
이 두 가지는 단순한 ‘옵션’이 아니라, 애드센스 승인과 검색 순위에 직접적인 영향을 준다.
홈서버 환경에서도 충분히 최적화된 워드프레스를 운영할 수 있다.
이번 글에서는 속도 향상과 보안 강화를 위한 핵심 팁을 정리해본다.
📊 왜 속도와 보안이 중요한가?
속도가 중요한 3가지 이유
| 항목 | 영향 | 수치 |
|---|---|---|
| 구글 SEO | 검색 순위 결정 요소 | 3초 이내 로딩 권장 |
| 사용자 이탈률 | 1초 늦을 때마다 7% 증가 | 3초 이상 시 53% 이탈 |
| 애드센스 승인 | 사용자 경험 평가 기준 | PageSpeed 70점 이상 유리 |
보안이 중요한 이유
- 해킹 시 패널티: 구글이 악성코드 감지 시 검색에서 제외
- 데이터 손실: 백업 없으면 복구 불가능
- 신뢰도 하락: 방문자 정보 유출 시 법적 문제
- 애드센스 정지: 보안 문제 발생 시 계정 정지 가능
🚀 속도 최적화 – 10가지 실전 팁
1. 캐시 플러그인 설치 및 설정 ⭐⭐⭐⭐⭐
캐시란? 한 번 생성된 페이지를 저장해두고 재사용하는 기술
LiteSpeed Cache 설정 (추천)
# 설치
플러그인 → LiteSpeed Cache 검색 → 설치 → 활성화
# 기본 설정
LiteSpeed Cache → Dashboard → General Settings
✅ Enable Cache: ON
✅ Object Cache: ON (Redis/Memcached 없어도 가능)
✅ Browser Cache: ON
✅ CDN: OFF (나중에 Cloudflare 연동)
캐시 제외 설정
# 관리자 페이지, 로그인 페이지는 캐시 제외
Cache → Excludes
URI Excludes:
/wp-admin/
/wp-login.php
/cart/
/checkout/
WP Super Cache 대안 설정
# 설치
플러그인 → WP Super Cache 검색 → 설치
# 설정
Settings → WP Super Cache
[ ] Caching On (Recommended) 체크
[ ] Compression (압축 활성화)
[ ] Cache Rebuild (캐시 재생성)
→ Update Status
효과: 페이지 로딩 시간 50~70% 단축
2. 이미지 최적화 – 자동화 필수 ⭐⭐⭐⭐⭐
ShortPixel 설정 (추천)
# 설치 및 API 키 발급
플러그인 → ShortPixel Image Optimizer → 설치
→ 무료 API 키 발급 (https://shortpixel.com/free-sign-up)
# 설정
Settings → ShortPixel
Compression type: Lossy (권장, 품질 90%)
Resize images: 체크 (최대 너비: 1920px)
Optimize thumbnails: 체크
Convert PNG to JPEG: 체크 (배경 투명 아니면)
WebP versions: 체크 (차세대 이미지 포맷)
기존 이미지 일괄 최적화
Media → Bulk ShortPixel → Optimize All
처리 속도: 월 100장 무료 (유료: 월 $4.99/7,000장)
업로드 전 수동 압축 도구
- TinyPNG: https://tinypng.com (PNG/JPEG 압축)
- Squoosh: https://squoosh.app (구글 제공, 다양한 포맷)
효과: 이미지 용량 60~80% 감소, 로딩 속도 대폭 향상
3. 데이터베이스 최적화 ⭐⭐⭐⭐
WP-Optimize 플러그인
# 설치
플러그인 → WP-Optimize 검색 → 설치
# 최적화 항목
✅ Post revisions (글 수정 기록 삭제)
✅ Auto-drafts (자동 저장 초안 삭제)
✅ Spam comments (스팸 댓글 삭제)
✅ Unapproved comments (미승인 댓글 삭제)
✅ Optimize database tables (테이블 최적화)
→ Run all selected optimizations
# 자동 스케줄
Settings → Auto-clean settings
Schedule: Weekly
수동 최적화 (고급)
# phpMyAdmin 또는 MySQL 접속
docker exec -it wordpress-db mysql -u root -p
# 테이블 최적화
USE wordpress;
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_comments;
# 리비전 제한 (wp-config.php)
define('WP_POST_REVISIONS', 3);
효과: DB 크기 20~40% 감소, 쿼리 속도 향상
4. CSS/JavaScript 최적화 ⭐⭐⭐⭐
Autoptimize 플러그인
# 설치
플러그인 → Autoptimize 검색 → 설치
# 설정
Settings → Autoptimize
JavaScript Options:
✅ Optimize JavaScript Code
✅ Aggregate JS-files (파일 통합)
❌ Also optimize for logged in editors (관리자는 제외)
CSS Options:
✅ Optimize CSS Code
✅ Aggregate CSS-files
✅ Inline all CSS (작은 사이트)
HTML Options:
✅ Optimize HTML Code
Extra:
✅ Remove Google Fonts (불필요 시)
주의: 일부 테마/플러그인과 충돌 가능, 적용 후 사이트 확인 필수!
5. Lazy Load (지연 로딩) ⭐⭐⭐⭐
개념: 화면에 보이는 이미지만 먼저 로드, 스크롤 시 추가 로드
# 방법 1: LiteSpeed Cache 내장 기능
LiteSpeed Cache → Image Optimization → Lazy Load Images: ON
# 방법 2: 별도 플러그인
플러그인 → Lazy Load by WP Rocket 검색 → 설치
# 방법 3: 워드프레스 5.5+ 기본 지원 (추가 설정 불필요)
6. 외부 스크립트 최소화 및 비동기 로드 ⭐⭐⭐
불필요한 스크립트 제거
# Asset CleanUp 플러그인
플러그인 → Asset CleanUp 검색 → 설치
→ 각 페이지에서 사용하지 않는 CSS/JS 비활성화
예: 문의 페이지가 아니면 Contact Form 7 스크립트 로드 안 함
Google Fonts 최적화
# OMGF (Optimize My Google Fonts) 플러그인
플러그인 → OMGF 검색 → 설치
→ 구글 폰트를 로컬 서버에 저장 (외부 요청 제거)
7. CDN 연동 (Cloudflare) ⭐⭐⭐⭐⭐
CDN이란? 전 세계에 분산된 서버에서 콘텐츠 제공 → 속도 향상
Cloudflare 무료 플랜 설정
# 1. Cloudflare 가입
https://www.cloudflare.com 회원가입
# 2. 사이트 추가
Add a Site → 도메인 입력 → Free 플랜 선택
# 3. DNS 레코드 자동 스캔
→ Continue
# 4. 네임서버 변경
도메인 등록 업체에서 네임서버를 Cloudflare NS로 변경
(예: ns1.cloudflare.com, ns2.cloudflare.com)
# 5. SSL/TLS 설정
SSL/TLS → Full (Strict) 선택
# 6. 캐시 설정
Caching → Configuration → Browser Cache TTL: 4 hours
# 7. 성능 최적화
Speed → Optimization
✅ Auto Minify: CSS, JS, HTML
✅ Brotli (압축)
✅ Early Hints
✅ Rocket Loader (JavaScript 최적화)
효과: 전 세계 어디서나 빠른 로딩, DDoS 방어, 무료 SSL
8. PHP 버전 업그레이드 ⭐⭐⭐
# Docker 이미지 버전 확인
docker exec wordpress-app php -v
# PHP 8.2 이미지로 업그레이드 (docker-compose.yml)
wordpress:
image: wordpress:6-php8.2-apache
# 또는
image: wordpress:php8.2-fpm-alpine # 더 가볍고 빠름
# 재시작
docker compose down
docker compose up -d
효과: PHP 7.4 → 8.2 업그레이드 시 30~50% 성능 향상
9. 테마 경량화 ⭐⭐⭐⭐
- 무거운 테마 피하기: Divi, Avada 등 올인원 테마는 느림
- 추천: Astra, GeneratePress (10~30KB)
- 불필요한 위젯 제거: 사이드바 위젯 최소화
- 슬라이더 사용 자제: 이미지 슬라이더는 무거움
10. HTTP/2 및 GZIP 압축 활성화 ⭐⭐⭐
# Nginx에서 GZIP 활성화 (Docker 컨테이너 내부)
docker exec -it wordpress-app bash
# nginx.conf 편집
nano /etc/nginx/nginx.conf
# 추가
gzip on;
gzip_vary on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_comp_level 6;
# 재시작
nginx -s reload
exit
🔒 보안 강화 – 10가지 필수 조치
1. 로그인 보안 강화 ⭐⭐⭐⭐⭐
Wordfence 2단계 인증
# 설치
플러그인 → Wordfence Security 검색 → 설치
# 2FA 설정
Wordfence → Login Security → Enable Two-Factor Authentication
→ 스마트폰에 인증 앱 설치 (Google Authenticator)
→ QR 코드 스캔
→ 백업 코드 저장
로그인 URL 변경
# WPS Hide Login 플러그인
플러그인 → WPS Hide Login 검색 → 설치
Settings → WPS Hide Login
Login URL: my-custom-login (원하는 URL)
→ Save Changes
# 이제 /wp-admin 대신 /my-custom-login 으로 접속
로그인 시도 제한
# Limit Login Attempts Reloaded (10번 글 참고)
설정:
- Allowed retries: 4회
- Minutes lockout: 20분
- Max lockouts: 4회
- Hours until retries reset: 12시간
2. SSL/HTTPS 적용 (필수!) ⭐⭐⭐⭐⭐
홈서버 SSL 적용 방법은 다음 글에서 상세히 다룸
임시: Really Simple SSL 플러그인
# 설치
플러그인 → Really Simple SSL 검색 → 설치
→ Go ahead, activate SSL!
→ 자동으로 HTTP → HTTPS 리다이렉트
3. wp-config.php 보안 ⭐⭐⭐⭐
# wp-config.php 편집 (Docker 볼륨 내)
docker exec -it wordpress-app bash
nano /var/www/html/wp-config.php
# 추가 보안 설정
define('DISALLOW_FILE_EDIT', true); // 테마/플러그인 편집 금지
define('WP_POST_REVISIONS', 3); // 리비전 제한
define('EMPTY_TRASH_DAYS', 7); // 휴지통 7일 후 자동 삭제
# 보안 키 생성 (https://api.wordpress.org/secret-key/1.1/salt/)
define('AUTH_KEY', '랜덤 문자열...');
define('SECURE_AUTH_KEY', '랜덤 문자열...');
...
4. 파일 권한 설정 ⭐⭐⭐
# 올바른 권한
docker exec wordpress-app bash
# 디렉토리: 755
find /var/www/html -type d -exec chmod 755 {} \;
# 파일: 644
find /var/www/html -type f -exec chmod 644 {} \;
# wp-config.php: 600 (더 엄격하게)
chmod 600 /var/www/html/wp-config.php
5. XML-RPC 비활성화 ⭐⭐⭐
XML-RPC란? 워드프레스 API, 해커가 Brute Force 공격에 악용
# Disable XML-RPC Pingback 플러그인
플러그인 → Disable XML-RPC 검색 → 설치 → 활성화
(설정 불필요, 자동 비활성화)
6. 정기 보안 스캔 ⭐⭐⭐⭐
# Wordfence 스캔
Wordfence → Scan → Start New Scan
주 1회 실행 권장
확인 항목:
- 악성코드
- 백도어
- 의심스러운 파일 변경
- 알려진 보안 취약점
7. 사용자 계정 관리 ⭐⭐⭐
# 관리자 계정 점검
사용자 → 모든 사용자
✅ 관리자는 1~2명만
✅ 비밀번호 강도: 강력 (최소 12자)
❌ 'admin' 사용자명 사용 금지
✅ 미사용 계정 삭제
# 역할 권한 최소화
- 작성자: 글만 작성
- 기여자: 글 작성 (발행 불가)
- 구독자: 읽기 전용
8. .htaccess 보안 규칙 (Apache) ⭐⭐⭐
# .htaccess 편집
docker exec wordpress-app nano /var/www/html/.htaccess
# 디렉토리 브라우징 차단
Options -Indexes
# wp-config.php 직접 접근 차단
order allow,deny
deny from all
# wp-includes 접근 차단
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
9. 정기 백업 자동화 ⭐⭐⭐⭐⭐
# UpdraftPlus 자동 백업 (10번 글 참고)
백업 스케줄:
- 파일: 주 1회 (일요일 03:00)
- 데이터베이스: 매일 (03:00)
보관:
- 구글 드라이브: 최근 4주
- 로컬: 최근 2주
+ Docker 볼륨 백업 병행 (다음 글에서 다룸)
10. 보안 헤더 설정 ⭐⭐⭐
# Security Headers 플러그인
플러그인 → HTTP Headers 검색 → 설치
활성화할 헤더:
✅ X-Frame-Options: SAMEORIGIN
✅ X-Content-Type-Options: nosniff
✅ X-XSS-Protection: 1; mode=block
✅ Referrer-Policy: no-referrer-when-downgrade
✅ Strict-Transport-Security: max-age=31536000
📈 성능 측정 및 모니터링
속도 테스트 도구
| 도구 | URL | 특징 |
|---|---|---|
| PageSpeed Insights | https://pagespeed.web.dev | 구글 공식, 모바일/데스크탑 점수 |
| GTmetrix | https://gtmetrix.com | 상세 분석, Waterfall 차트 |
| Pingdom | https://tools.pingdom.com | 전 세계 여러 지역에서 테스트 |
| WebPageTest | https://www.webpagetest.org | 고급 분석, 비디오 분석 |
목표 점수
| 항목 | 목표 | 애드센스 승인 기준 |
|---|---|---|
| PageSpeed 점수 | 80점 이상 | 70점 이상 |
| 로딩 시간 | 3초 이내 | 5초 이내 |
| First Contentful Paint | 1.8초 이내 | 2.5초 이내 |
| Time to Interactive | 3.8초 이내 | 5초 이내 |
정기 모니터링
# UptimeRobot 무료 모니터링
https://uptimerobot.com 가입
→ 5분마다 사이트 핑 체크
→ 다운 시 이메일 알림
→ 월간 가동률 리포트
📝 정리하며
이번 글에서 배운 내용:
속도 최적화 10가지
- ✅ 캐시 플러그인 (LiteSpeed Cache)
- ✅ 이미지 최적화 (ShortPixel + WebP)
- ✅ 데이터베이스 정리 (WP-Optimize)
- ✅ CSS/JS 압축 (Autoptimize)
- ✅ Lazy Load (지연 로딩)
- ✅ 외부 스크립트 최소화
- ✅ CDN 연동 (Cloudflare)
- ✅ PHP 8.2 업그레이드
- ✅ 경량 테마 사용
- ✅ GZIP 압축
보안 강화 10가지
- ✅ 2단계 인증 + 로그인 URL 변경
- ✅ SSL/HTTPS 적용
- ✅ wp-config.php 보호
- ✅ 파일 권한 설정
- ✅ XML-RPC 비활성화
- ✅ 정기 보안 스캔
- ✅ 사용자 계정 관리
- ✅ .htaccess 보안 규칙
- ✅ 자동 백업
- ✅ 보안 헤더 설정
다음 단계
다음 글에서는 홈서버에 도메인을 연결하고 Let’s Encrypt로 무료 SSL 인증서를 적용하는 방법을 상세히 다룬다.
- 도메인 구매 및 DNS 설정
- Nginx Proxy Manager로 SSL 자동 갱신
- 포트포워딩 설정
- DDNS로 동적 IP 문제 해결
홈서버 블로그, 이제 ‘내 것’이 되어가고 있다. 🧱
댓글 남기기