처음 워드프레스를 접하고 사용을 시작하시면 왜 이리 느릴까? 하는 생각을 하게 될 것입니다. 하지만, 속도 저하의 문제는 어디까지나 사용자의 잘못된 행동에 의해서 발생되게 됩니다.
처음 워드프레스를 접하였을 때와 지금 워드프레스 속도에 대해서 생각할때 많은 생각의 변화가 있었습니다. 그리고 자세한 설명을 하기전에 먼저 양해를 구하는데 저는 웹이나 서버에 대한 지식이 없음을 밝혀 드립니다. 어디까지나 내가 겪은 문제들과 그 상황에 대한 해결책을 알려드리기 위해서 이글을 작성하는 것입니다. 그리고 이글의 외부사이트에 무단전재 및, 복제에 대해서 허락하지 않습니다.
워드프레스 속도에 영향을 주는 것에는 많은 사항이 있지만 가장 큰 영향을 주는 것은 웹호스팅 선택에 있습니다. 다음 으로는 테마의 선택, 직접 제작을 하면 좋겠지만 직접 제작이 가능한 사람들이 없기에 테마를 구매하게 되는데, 대부분의 테마 제작자들은 더 많은 테마를 판매하기 위해서 테마에 너무 쓸데 없는 기능, 과한 외부폰트 사용등으로 속도저하를 주게 됩니다. 그리고 테마 데모 페이지는 각종 트릭을 사용해서 빠른 테마인것처럼 위장하게 됩니다. 실제 사용한 이미지는 6개인데, 똑같은 이미지를 30장이상 반복사용하는 경우도 있습니다. 사용자는 30장의 이미지도 빠르게 로딩된다고 생각하겠지만 실제 로딩되는 이미지는 6개입니다. 그 다음으로는 플러그인의 영향이 있습니다.
워드프레스 속도 최적화 하기에서 다룰 내용은 플러그인등의 사용방법을 설명하는 것이 아니기에 사용방법은 매뉴얼을 참고하시기 바랍니다.
워드프레스 속도 최적화 하기에 대해서 알아보겠습니다.
해당 게시글은 https://codex.wordpress.org/WordPress_Optimization를 기반으로 작성하였음을 밝혀 드립니다. 워드프레스에 대해서 모르시는게 있는 분들은 공식사이트 문서자료나 포럼을 이용하시기 바랍니다.
워드프레스 속도 최적화 하기
1. 웹호스팅 선택
워드프레스 속도 최적화에서 있어서 가장 큰 영향을 미치는 것은 웹호스팅에 있습니다. 가급적 좋은 선택은 워드프레스 서비스에 최적화 되어진 호스팅을 선택하는데 있습니다. 워드프레스 웹호스팅 선택에는 3가지 방법이 있습니다.
- 서버호스팅
- VPS, 클라우드 호스팅
- 공유 웹호스팅
가장 최선의 방법은 서버호스팅을 선택하는데 있습니다. 하지만, 대부분의 사용자들이 서버 호스팅을 사용할만한 사이트 트래픽 및 경제적 여건이 안 될것입니다.
차선책은 VPS, 클라우드 호스팅 선택에 있습니다. 보통 VPS나 클라우드 상품은 매니지먼트 기능이 있거나 없는 경우가 있는데, 초보들은 매니지먼트 기능이 있는 상품을 선택하셔야 됩니다. 그렇지 않다면 당신의 워드프레스 호스팅 상품은 보안에 무방비 상태가 되고, 해커들의 놀이터가 되어서 얼마되지 않아서 경찰서에서 연락이 올 수 있습니다. 해킹되어서 불법적인 일에 사용되게 됩니다.
가장 마지막 방법은 공유 웹호스팅입니다. 가장 추천하지 않는 방법이고, 어쩔수 없이 공유 웹호스팅을 선택하게 된다면, 가격대가 어느정도 나가는 업체를 이용하시는 것을 추천해 드립니다. 저가에 많은 트랙픽과 저장공간으로 유혹하는 업체들에서 워드프레스를 운영하게 된다면 당신의 워드프레스 블로그는 정상적인 속도를 기대할 수 없습니다.
제가 추천해드리는 웹호스팅 회사는
국내: 가비아 코스닥 상장 회사로 주로 기업 고객들이 많이 사용하고 있습니다.
해외: 블루호스트 많은 한국 유저들이 사용하고 있는 해외 웹호스팅 회사입니다.어디까지나 저렴한 금액으로 이용하시려는 분들을 위해서 소개해 드립니다. 상품으로는 공유 웹호스팅과 워드프레스 최적화 VPS 호스팅이 있습니다. 블루호스트 속도에 관한 나의 리뷰글 해당글은 워드프레스 최적화 호스팅입니다.
해외 같은 경우는 워드프레스 전용 호스팅을 제공하는 좋은 회사들이 많지만 가격대가 비싸기 때문에 이용하시는분 들이 없는 관계로 소개를 안합니다. 해외 웹호스팅이 요새는 예전과 다르게 무제한 상품은 취급을 안하는 추세이고, 정해진 디스크, 트래픽만을 제공하고 있습니다. 물론 가격대가 상당합니다. 선호도가 높은 해외 웹호스팅 사들의 최근 무제한 개념의 상품들은 트래픽이 아닌 방문자 개념으로 집계를 하고 있습니다. 방문자의 개념은 봇을 제외한 아이피로 집계하게 되고, 정해진 방문자 수에 한해서 발생되는 트래픽은 무제한으로 제공되고 있습니다.
2.테마 선택
워드프레스 테마를 선택하는데 있어서 고려할 사항은 다양한 기능 보다는 본인이 제작하려는 사이트 블로그에 필요한 기능만 제공을 하는 테마가 가장 좋은 테마입니다. 대부분 다양한 기능과 화려함, 비주얼컴포저, 슬라이더 플러그인 등 각종 유료 플러그인을 제공하는 것을 강조하는 경우가 있는데, 플러그인을 많이 사용할 수록 사이트의 속도는 느려지게 됩니다. 테마를 선택하는데 있어서 사이트 속도에 초점을 맞춘 테마를 선택하는게 좋습니다. 이러한 부분은 웹페이지 속도 테스트 툴을 이용해서 분석하시면 됩니다. 분석시 중점적으로 보실 내용은 외부에서 가져오는 내용이 많을 수록 좋지 않습니다. 테마 구매는 테마포레스트를 이용하시는게 무난한 편입니다.
저같은 경우는 Newspaper, Newsmag, Avada 테마를 가지고 있는데, Newsmag를 이용하고 있습니다. 3개다 속도면에서 크게 문제는 없습니다.
그리고 테마 매뉴얼을 보시면 테마 또한 최적화 하는 부분이 있습니다. 보통 메모리 설정, php환경 설정을 하게 됩니다. 워드프레스의 기본 메모리 할당은 40메가인데, 아바다 테마에서 우커머스 등의 기능이 들어가게 된다면 128메가 정도의 메모리를 요구하게 됩니다. 일반적인 공유 웹호스팅이라면 운영이 불가능할 것입니다.
3.플러그인 선택
워드프레스 최적화하기에 있어서 플러그인 선택은 중요한 사항입니다. 보통 다양한 기능을 위해서 플러그인들을 많이 사용하시는데, 플러그인 사용은 최소화 하는 것이 좋습니다. 일반적인 블로그에 있어서 사용자들의 방문은 컨텐츠를 보기 위해서 방문하는 것이지, 블로그의 화려함, 다양한 기능들을 보로 오는 것이 아니기 때문입니다. 간혹, 워드프레스 최적화를 위해서 다양한 플러그인을 사용하시는 분들이 있는데, 플러그인을 사용하는 것 또한 속도가 느려지는 중요한 사항입니다. 가급적 플러그인을 사용하지 않는 방법으로 해결하는 것이 좋습니다.
플러그인의 영향은 P3를 많이 사용합니다. 속도에 영향을 많이 주는 플러그인은 제외시키는게 좋습니다. 비주얼 컴포져, 슬라이더등의 플러그인은 속도에 많은 영향을 주기에 가급적 사용하지 않는게 좋습니다. 워드프레스 블로그를 아무리 잘 만들어도 속도가 느려서 검색엔진에 노출이 잘 안된다면 아무 소용이 없기 때문입니다.
4. 이미지 최적화
이미지는 속도에 가장 많은 영향을 주는 요소입니다. 그렇기 때문에 최적화를 해주는 것이 중요한데, 일반적으로 웹에서 많이 사용하는 이미지 포맷은 jpg, gif, png를 많이 사용하게 됩니다. 이미지 포맷에 대해서 자세히 알고 싶은 분들은 위키를 참고하시기 바랍니다. 이미지 최적화에 있어서 특별한 경우가 아니면 jpg를 사용하는 것이 좋습니다.
이미지 최적화를 위한 플러그인은
EWWW Image Optimizer를 많이 사용합니다. 몇가지 주의할 점이 있다면 이미지 파일명이 한글일 경우 이미지 파일명이 깨지는 경우가 있기에 사용하시면 안되고, 최적화를 너무 많이 시키게 되면 웹사이트 방문자가 이미지의 내용을 알아보기 힘든 경우가 생길 수 있습니다. 이미지의 최적화는 전하고자 하는 내용을 쉽게 알아 볼 수 있을 정도로 최적화 하면 됩니다.
5. 사이트 압축 전송
사이트의 압축 전송은 사용자의 웹브라우저에 전송하는 내용들을 압축해서 전송하는 것을 말합니다. 그냥 보낼때 보다 압축하여 전송하게 된다면 속도를 빠르게 할 수 있습니다.
사이트 압축 전송 방법은 크게 두가지가 있습니다.
cPanel 사용자는 Optmize Website를 사용하시면 되고, 그렇지 않은 경우에는 .htaccess파일을 이용하시면 됩니다. .htaccess 파일은 웹호스팅 홈디렉토리에 숨겨진 파일 형태로 존재하게 됩니다. 해당 파일을 잘못수정할 경우 에러가 발생할 수 있기에 파일 수정전 해당 파일을 백업하시기 바랍니다.
압축의 예(해당 내용을 .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
AddType x-font/otf .otf
AddType x-font/ttf .ttf
AddType x-font/eot .eot
AddType x-font/woff .woff
AddType image/x-icon .ico
6.캐시 플러그인 사용
캐시 플러그인을 사용하는 목적은 php파일을 서버와의 상호작용 없이 미리 html 파일로 바꾸어 놓고, 사용자가 사이트를 방문하였을때 서버와의 상호작용 시간만큼을 단축하는데 사용되게 됩니다. 캐시 플러그인의 선택은 본인이 사용하고 있는 서버 환경에 따라서 선택을 달리하게 됩니다. 공유웹호스팅, vps호스팅, 웹서버의 환경에 따라서 선택하시면 됩니다.
가장 좋은 캐시플러그인은 전체 웹페이지를 캐시해주는 플러그인이 좋지만 공유 웹호스팅이라면 사용할 수 없습니다. 그리고 서버의 형태에 따라서 아파치, 아파치+엔진엑스 프록시 두가지 환경에 따라서 선택은 달라지게 됩니다.
W3 Total Cache: 다양한 옵션기능 세팅 방법이 어려워서 사용을 추천하지 않습니다. 미니파이 기능을 이용할 경우 사이트가 깨지는 경우가 있습니다.
WP Super Cache: 쉬운 사용법, 대부분 테마에서 wp super cache를 기본 플러그인을 지원하는 경우가 많습니다.
7.Minify로 CSS/JS 파일 전송
Minify는 CSS/JS파일의 공백을 제공함으로서 공백이 제거된 만큼 사용자가 다운받을 용량이 줄어들게 됩니다. Minify방법은 플러그인을 이용하게 된다면 사이트가 깨져버리는 경우가 많기에 손으로 직접하시는 것을 추천해 드립니다.
Minify site 사이트에 들어가셔서 공백을 제거한 후 업로드 해주시면 됩니다. 워드프레스의 CSS/JS파일은 많지 않기에 힘든 작업은 아니라고 생각됩니다.
8. 브라우저 캐시 사용
브라우저 캐시 적용은 사용자의 브라우저에 웹사이트에서 다운 받을 내용의 유효기간을 정해서 재방문시부터 다시 다운로드 받지 않게 해주기 때문에 재방문시 속도를 향상 시켜 주게 됩니다.
다음 내용을 추가시켜 주세요.
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 5 seconds"
ExpiresByType image/x-icon "access plus 604800 seconds"
ExpiresByType image/svg "access plus 604800 seconds"
ExpiresByType image/jpeg "access plus 604800 seconds"
ExpiresByType image/png "access plus 604800 seconds"
ExpiresByType image/gif "access plus 604800 seconds"
ExpiresByType application/x-shockwave-flash "access plus 604800 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 604800 seconds"
ExpiresByType application/javascript "access plus 604800 seconds"
ExpiresByType application/x-javascript "access plus 604800 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>
9. 사이트 속도 측정을 통한 수정
사이트 속도 측정 사이트에서 사이트를 분석해 보시고 수정하시면 됩니다.
PageSpeed Insights는 페이지 속도에 영향을 주는 내용을 분석해주는데, 해당 내용을 보시고 하나하나 수정하시면 됩니다.
Webpagetest는 다양한 내용을 가장 자세히 분석해 줍니다. 보통 측정에서 부정적인 요소는 외부에서 불러오는 내용들이 많은 경우와 이미지 최적화에 있습니다. 내용을 보시고 하나하나 수정해 주시면 됩니다.
10. CDN 사용
CDN 사용은 전세계에서 접속이 있는 경우가 아니면 의미가 없기에 사용하지 않는 것을 추천합니다. 굳이 사용하시겠다면 MAXCDN을 추천해 드립니다.
지금까지 워드프레스 속도 최적화 하기에 대해서 알아 봤습니다.
워드프레스 속도 최적화는 프로그래머가 아닌 일반인 입장에서는 어렵습니다. 최적화를 할려면 테마부터 직접 제작해야 될텐데, 저같은 일반인은 그게 안됩니다.
일반인 입장에서 가장 쉽게 해결할 수 있는 방법은 좋은 웹호스팅을 선택하는데 있습니다. 제가 추천해 드리는 웹호스팅은 가비아, 블루호스트를 입니다. 금전적 여유가 되신다면 VPS나 클라우드, 서버호스팅을 직접 이용하시는게 가장 좋습니다.
두번째로는 속도가 빠른 테마의 선택, 이미지 최적화, 플러그인의 최소화, 캐시플러그인 사용에 있습니다.
위 내용만 잘 적용하시면 됩니다.
워드프레스의 사용목적은 사이트의 화려함 보다는 검색엔진 최적화와 사이트 속도 최적화를 통해서 검색엔진 상위 노출을 통해서 본인이 얻고자 하는것을 얻는데 있습니다. 상업적인 목적의 사이트 운영자라면 강의나 책을 판매하려는 네이버 카페등에서 시간을 낭비하지 마시고, 제대로된 워드프레스 제작업체에서 제작을 해서 이용하시는 것이 좋을 것이고, 비영리 목적의 블로그나 사이트 운영자라면 디자인이나 이런것에 시간을 낭비하지 마시고, 검색엔진 최적화에 시간을 투자하시는게 좋습니다.
워드프레스 속도 최적화 또한 검색엔진 최적화를 위한 과정일 뿐입니다. 웹사이트 방문자는 3초이상의 로딩이 걸리는 웹사이트에 방문하지 않습니다.