워드프레스 속도와 보안 최적화 – 애드센스를 위한 기본기 다지기

목차

워드프레스 속도와 보안 최적화 – 애드센스를 위한 기본기 다지기

워드프레스를 설치하고 테마도 설정했다면 이제 속도와 보안 최적화가 필요하다.
이 두 가지는 단순한 ‘옵션’이 아니라, 애드센스 승인과 검색 순위에 직접적인 영향을 준다.

홈서버 환경에서도 충분히 최적화된 워드프레스를 운영할 수 있다.
이번 글에서는 속도 향상과 보안 강화를 위한 핵심 팁을 정리해본다.

📊 왜 속도와 보안이 중요한가?

속도가 중요한 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 Insightshttps://pagespeed.web.dev구글 공식, 모바일/데스크탑 점수
GTmetrixhttps://gtmetrix.com상세 분석, Waterfall 차트
Pingdomhttps://tools.pingdom.com전 세계 여러 지역에서 테스트
WebPageTesthttps://www.webpagetest.org고급 분석, 비디오 분석

목표 점수

항목목표애드센스 승인 기준
PageSpeed 점수80점 이상70점 이상
로딩 시간3초 이내5초 이내
First Contentful Paint1.8초 이내2.5초 이내
Time to Interactive3.8초 이내5초 이내

정기 모니터링

# UptimeRobot 무료 모니터링
https://uptimerobot.com 가입

→ 5분마다 사이트 핑 체크
→ 다운 시 이메일 알림
→ 월간 가동률 리포트

📝 정리하며

이번 글에서 배운 내용:

속도 최적화 10가지

  1. ✅ 캐시 플러그인 (LiteSpeed Cache)
  2. ✅ 이미지 최적화 (ShortPixel + WebP)
  3. ✅ 데이터베이스 정리 (WP-Optimize)
  4. ✅ CSS/JS 압축 (Autoptimize)
  5. ✅ Lazy Load (지연 로딩)
  6. ✅ 외부 스크립트 최소화
  7. ✅ CDN 연동 (Cloudflare)
  8. ✅ PHP 8.2 업그레이드
  9. ✅ 경량 테마 사용
  10. ✅ GZIP 압축

보안 강화 10가지

  1. ✅ 2단계 인증 + 로그인 URL 변경
  2. ✅ SSL/HTTPS 적용
  3. ✅ wp-config.php 보호
  4. ✅ 파일 권한 설정
  5. ✅ XML-RPC 비활성화
  6. ✅ 정기 보안 스캔
  7. ✅ 사용자 계정 관리
  8. ✅ .htaccess 보안 규칙
  9. ✅ 자동 백업
  10. ✅ 보안 헤더 설정

다음 단계

다음 글에서는 홈서버에 도메인을 연결하고 Let’s Encrypt로 무료 SSL 인증서를 적용하는 방법을 상세히 다룬다.

  • 도메인 구매 및 DNS 설정
  • Nginx Proxy Manager로 SSL 자동 갱신
  • 포트포워딩 설정
  • DDNS로 동적 IP 문제 해결

홈서버 블로그, 이제 ‘내 것’이 되어가고 있다. 🧱

댓글 남기기

댓글 남기기

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.