워드프레스는 생각보다 무거운 CMS 형 웹사이트로서 좋은 호스팅 서버를 사용한다면 상관없지만 그렇지 않다면 늘 워드프레스 최적화 작업을 통해 트래픽 절약과 함께 접속속도를 빠르게 하기 위해 다양한 설정을 해보게 되며 저 또한 계속 노력을 하고 있으며 트래픽초과를 방지하기 위한 호스팅 용량을 절약방법을 알아봅니다.
처음에는 카페24에서 가장 저렴한 요금제로 시작했고 이후 테마나 플러그인만 설치해도 트레픽 초과로 인해 데이터를 모두 소진하게 되어 계속 요금제를 올리던 끝에 카페24에서 블루호스트로 호스팅을 이전해서 현재는 공유호스팅의 블루호스트 프로 요금제를 사용하고 있습니다.
하지만 공유호스팅의 단점인 호스팅 서버를 공용으로 사용하기 때문에 다른사람들이 트래픽을 과다하게 사용하게 되면 서버가 불안정해지는 단점이 있어 이번에 단독 호스팅이나 VPS 알아보았지만 이 또한 쉽지 않은 상황이라 지금까지 했던 워드프레스 트래픽 초과로 인한 트래픽 절약방법에 대한 내용을 총 정리해 보고자 하며 해당 내용은 블루호스트 사용자 위주로 Tip이 더 들어 있습니다.
무거운 테마 플러그인 사진 제한으로 트래픽 호스팅 압축
우선 웹사이트에서 트래픽을 차지하는 가장 큰 요소는 바로 이미지와 무거운 테마, 플러그인 이 3가지라고 할 수 있으며 서버과 과부화되어 트래픽 폭주 시 흔히 404 Error “404 페이지 없음, 404 Page Not Found” 500 Internal Server Error “내부 서버오류”등이 발생할 수 있습니다.
- 가장 먼저 이미지가 많은 사이트라면 이미지를 업로드 시 무손실 무압축 이미지로 용량이 큰 PNFG, TIFF 확장자의 이미지는 피하느것이 좋습니다.
- 기본적으로 무료 이미지 용량압축 웹사이트를 통해 이미지를 압축하고 이미지 포맷을 JPEG 및 WEBP 확장자 이미지로 업로드하느것이 좋습니다.
별도로 이미지 로딩시 트래픽 초과가 쉽기 때문에 트래픽 절약하기 위해서 구글포토나 무료 이미지 사이트를 통해 다른 서버에서 이미지를 끌어오는 방법도 있습니다.
WEBP 확장자는 일반 컴퓨터에서는 필요 없지만 최근 인터넷 웹사이트에서 사용하는 차세대 이미지 포맷으로 용량이 적은 장점이 있으며 저 같은 경우 IMAGIFY를 사용하고 있습니다.
이를 통해 이미지 품질은 최대한 유지하면서 이미지 크기를 압축해 호스팅 용량의 트래픽 제한을 감소시키며 워드프레스 웹사이트 로딩속도를 크게 개선할 수 있습니다.
그리고 jpg나 png, tiff 이미지를 웹 이미지 최적화 포맷인 WEBP로 변경해 호스팅 트래픽을 절약합니다.
호스팅 트래픽 절약 유료 최적화 플러그인추천
그리고 무거운 대표적인 플러그인이 제트팩 “JetPack” 및 구글 사이트킷과 같은 플러그인은 최대한 적게 사용하고 중복되는 최적화 플러그인등을 사용하지 않는것이 좋습니다.
특히 최적화 플러그인 또한 궁합이 있기 때문에 저 같은 경우 유료 플러그인 기준 WP-Rocket을 통한 웹사이트 최적화 및 GZIP, 자바스크립트, CSS 등을 압축하고 이미지 레이지로드, 모바일 속도개선 최적화 등을 사용합니다.
이와 함께 Rocket CDN을 사용해 이미지를 불러올때 트래픽 및 속도개선을 보여주며 이미지 압축은 로켓에서 추천하는 IMAGIFY 3개를 조합하여 워드프레스 트래픽초과를 방지하고 트래픽 절약하고 속도를 빠르게 개선합니다.
CDN이 작동 중 인것을 확인하기 위해서는 크롬을 개발자옵션으로 실행합니다.
CDN이 작동 중인 웹사이트에 접속 후 F12를 눌러 NetWork탭의 Domain을 보면 rocketcdn.me 작동 중 인 것을 볼 수 있습니다.
CDN 사용 트래픽 및 속도개선
CDN(Content Delivery Network)은 웹 콘텐츠를 전 세계적으로 분산된 서버 네트워크를 통해 전달하는 서비스입니다. 이를 통해 웹 사이트의 성능과 가용성을 향상시키고, 트래픽을 효과적으로 관리할 수 있습니다.
CDN을 사용하면 일반적으로 다음과 같은 이점이 있습니다:
- 속도 향상: CDN은 사용자와 가까운 지역에 위치한 서버를 사용하여 콘텐츠를 전송합니다. 이로 인해 사용자는 빠른 응답 시간과 빠른 다운로드 속도를 경험할 수 있습니다.
- 대역폭 절약: CDN은 콘텐츠를 원본 서버에서 가져와 사용자에게 전달하는 동안 캐싱을 수행합니다. 이는 원본 서버로의 요청 횟수를 줄여 대역폭 사용을 절약할 수 있습니다.
아래는 일반적인 예시를 통해 CDN 사용 시 속도 향상과 대역폭 절약의 정도를 보여주는 표입니다. 이는 일반적인 시나리오를 기반으로 하며, 실제 결과는 여러 요소에 따라 다를 수 있습니다.
CDN을 사용하지 않을 때 | CDN을 사용할 때 | 성능 향상 (%) | 트래픽 감소 (%) | |
---|---|---|---|---|
페이지 로드 시간 | 4초 | 2초 | 50% | N/A |
대역폭 | 100GB | 50GB | N/A | 50% |
위의 표에서 “페이지 로드 시간”은 일반적인 웹 페이지의 로딩 시간을 나타냅니다. “대역폭”은 일정 기간 동안의 트래픽 양을 의미합니다.
CDN을 사용하면 페이지 로드 시간이 약 50% 감소할 수 있으며, 대역폭은 약 50% 감소할 수 있습니다. 하지만 이는 일반적인 예시이며, 사이트의 특성, 콘텐츠의 크기, 사용자의 지리적 위치 등에 따라 실제 결과는 다를 수 있습니다.
무료 최적화 플러그인 추천
무료 플러그인 사용자라면 wp hummingbird 를 통해 Gzip 압축 및 자바스크립트, CSS 등을 압축해서 웹사이트 속도를 개선합니다.
워드프레스 수동 Gzip 압축방법
워드프레스의 텍스트 Gzip 수동으로 압축하거나 압축유무를 확인하기 위해 websiteplanet 사이트로 접속합니다.
그럼 현재 내 웹사이트의 Gzip 압축유무 및 용량을 확인할 수 있습니다.
현재 압축되지 않은 상태로서 파일질라등을 통해 FTP 접속 후 .htaccess 파일을 수정합니다.
compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
# Or, compress certain file types by extension:
<files *.html>
SetOutputFilter DEFLATE
</files>
.htaccess 파일 하단에 위 코드를 추가하면 Gzip 압축이 수동으로 됩니다.
만약 .htaccess 파일을 수정할 수 없다면 PHP를 사용해 압축된 콘텐츠를 전송할 수 있습니다. HTML 파일을 .php 확장자로 지정하고 PHP 파일에 아래와 코드를 추가합니다.
<?php if (substr_count($_SERVER[‘HTTP_ACCEPT_ENCODING’], ‘gzip’)) ob_start(“ob_gzhandler”); else ob_start(); ?>
“Accept-encoding” 헤더를 확인할 수 있고 gzip으로 압축된 파일 버전(그렇지 않으면 정규 버전)을 반환할 수 있습니다.
이미지 압축은 wp smush를 사용해 이미지를 압축해서 트래픽을 절약합니다.
그 외에도 다양한 워드프레스 압축 및 최적화 플러그인이 있지만 중복된 압축 플러그인을 사용하면 충돌과 함께 속도가 더욱 느려지기 때문에 여러 개를 복수해서 설치하는것은 좋지 않으며 제트팩 플러그인을 사용한다면 이러한 CSS 및 자바스크립트 압축, 그리고 이미지 지연로드 등의 기능이 중복되기 때문에 제트팩 사용자라면 이러한 기능은 모두 꺼주는것이 좋습니다.
마지막으로 모바일 접속을 위한 모바일최적화를 해주면 모바일 인터넷검색엔진 최적화 및 트래픽 절약할 수 있지만 저 같은 경우 수익형 워드프레스에서는 AMP 설정이 오히려 유입분석 및 광고에서 좋지 못한 부분으로 보여 현재는 비활성화했습니다.
하지만 기업형 웹사이트를 관리한다면 AMP 기능을 사용하느것도 좋은거 같습니다.
클라우드 플레어 웹 서비스 활용
유료와 무료 모두 통합된 내용으로 최근 웹사이트를 불러오는데 있어서 클라우드 기반의 CDN 서비스와 분산 네임버서를 이용해 사이트 성능과 함께 속도 보안등을 제공하는 기술이 있으며 유료를 사용하지 않더라도 무료버전에서 HTTPS 보안인증서와 함께 트래픽 절약 기능을 제공해줍니다.
- CDN 서비스 제공
- 디도스 웹방어 서비스
- 1.1.1.1 DNS 서비스
- WARP & WARP +
- 인터넷 속도 측정비교
그 중 CloudFlare는 전세계 웹사이트 5개중 한개로 인터넷 업계 중 최강자라고 할 수 있기 때문에 믿고 사용할 수 있습니다.
콘텐츠 전송 네트워크 (CDN): 클라우드플레어의 전 세계 데이터 센터 네트워크를 활용하여 사용자와 가까운 서버에서 콘텐츠를 제공함으로써 대역폭 사용을 줄이고 로드 시간을 단축합니다.
캐싱: 정적 콘텐츠(예: 이미지, CSS, JavaScript 파일)를 클라우드플레어의 서버에 저장하여 원본 서버로의 요청을 감소시킵니다.
이미지 최적화: 클라우드플레어의 이미지 최적화 기능을 통해 이미지 파일 크기를 줄여 트래픽을 절감할 수 있습니다.
압축: Gzip 및 Brotli와 같은 압축 방식을 사용하여 텍스트 기반 리소스의 크기를 줄여 전송되는 데이터 양을 감소시킵니다.
Argo Smart Routing: 인터넷 경로를 최적화하여 데이터 전송 효율성을 높이고 대역폭 사용을 줄입니다.
Railgun: 동적 콘텐츠의 전송을 최적화하여 원본 서버와 클라우드플레어 간의 데이터 전송을 최소화합니다.
Hotlink Protection: 다른 사이트에서 귀하의 이미지나 리소스를 직접 링크하는 것을 방지하여 불필요한 대역폭 사용을 막습니다.
Rate Limiting: 특정 IP 주소나 사용자에 대한 요청 수를 제한하여 악의적인 트래픽이나 과도한 요청으로 인한 대역폭 낭비를 방지합니다.
블루호스트 워드프레스 최적화
블루호스트에서 워드프레스를 사용한다면 C패널을 통해 자체적으로 워드프레스 최적화하여 트래픽을 절약하고 서버가 과부하되어 서버가 다운되는것을 어느정도 방지할 수 있는 기능을 제공합니다.
기본적으로 블루호스트 자체에서 제공하는 콘텐츠 DB 압축기능을 사용해 주는것이 좋으며 이는 기본설정값으로 되어 있습니다.
추가로 phpMyAdmin을 통해 데이터베이스의 테이블 최적화를 해주는것이 좋다고 블루호스트에서는 설명하고 있으며 주기적으로 테이블최적화를 하느것이 좋습니다.
마지막으로 PHP에서 각각에 대한 서버 성능을 조절할 수 있으며 이를 통해 최대 메모리 용량 및 스크립트 최대 실행시간등을 통해 워드프레스 속도를 개선할 수 있습니다.
하지만 성능을 너무 높이게 되면 서버가 과부화되어 일시적으로 접속이 차단되거나 서버가 멈출 수 있기 때문에 이 성능은 적당히 해주느것이 좋습니다.