워드프레스 속도, 성능 최적화하기 > wp팁

본문 바로가기

검색취소

워드프레스 속도, 성능 최적화하기

검색 이전 다음 목록

본문

 

워드프레스 속도, 성능 최적화하기

1. 워드프레스 최적화

Wordpress Performance Optimization세계적으로 가장 빠른 인터넷 속도를 가진 나라 중 하나인 한국에서는 느린 사이트를 견디지 못하는 사람들이 많다. 1~2초 안에 페이지가 팍팍 뜨지 않으면 느리다면서 창을 닫는 경우가 부지기수다. 그런데 워드프레스는 블로그, CMS(Contents Management System 저작물 관리 시스템) 플랫폼들 중에서도 속도가 느린 편에 속한다. 그래서 워드프레스를 처음 설치한 사람들은 속도가 느린 것에 불만을 가지는 경우가 많다.

한국에서는 블로그를 운영하는 사람들이 대부분 네이버나 티스토리 블로그를 사용한다. 최고의 전문가들이 서버를 관리하고, 그에 맞춰 블로그 소프트웨어를 조정하기 때문에 꽤 속도가 빠르다. 이런 블로그에 익숙해져 있는 방문자들이 느린 워드프레스 블로그의 속도에 만족하기는 힘들 것이다.

또한 요즘 구글 검색에서 사이트의 로딩 속도를 검색 순위를 정하는데 이용한다고한다. 즉, 너무 로딩이 늦은 사이트는 구글 검색 순위가 낮아질 수 있다는 말이다. 그리고 요즘 모바일 기기를 통해서 웹서핑을 하는 사람이 굉장히 많아졌다. 만약에 데스크탑 컴퓨터로 접속해도 느린 사이트라면 모바일로 접속할 때는 더 느릴 것이다.

하지만 워드프레스 사이트가 꼭 느린 것만은 아니다. 수많은 사용자들을 가진만큼 그에 대한 해결책들도 많이 나와있다. 이 글에서는 워드프레스의 속도를 최적화할 수 있는 방법에 대해서 알아보려한다.

2. 워드프레스를 최적화하는 11가지 방법

2.1 좋은 웹호스팅을 선택하자

많은 사람들이 간과하는 부분인데, 워드프레스가 좋은 퍼포먼스를 내는데 있어서 좋은 웹호스팅을 선택하는 것이 가장 중요하다. 웹호스팅이라는 것은 인터넷에 24시간 연결되어 있는 컴퓨터, 즉 서버의 일정부분을 임대해서 사용하는 것으로, 워드프레스와 같은 설치형 블로그를 사용하는데 필수적인 것이다.1 그런데 우리나라의 웹호스팅 업체들은 대부분 영세한 편이라서, 한 서버를 수백개의 사용자가 사용하도록 하고 있다. 당연히 한 서버에서 돌아가는 사이트가 많거나, 서버의 사양이 너무 낮거나, 또는 같은 서버를 사용하는 사이트가 그 서버의 자원을 너무 많이 사용하면 내 사이트의 퍼포먼스가 떨어질 수 밖에 없다.

따라서 설치형 워드프레스로 사이트를 운영하기로 결정했다면 먼저 좋은 웹호스팅을 알아보는 것이 중요하다. 대부분의 웹호스팅 업체는 한 서버에 얼마나 많은 사용자를 받는지에 대해서는 언급을 하지 않고, 어떤 경우에는 서버의 사양에 대해서도 밝히지 않는 경우도 있다. 그러니 자신에게 맞는 웹호스팅 업체를 선정하기 위해서 여러 사람들의 의견을 찾아보는 것이 좋다. 검색엔진을 통해서 웹호스팅에 대한 정보를 찾아보는 것도 좋지만, 활성화되어있는 관련 커뮤니티에서 정보를 얻는 것도 꽤 좋은 방법이다. 추천하고 싶은 곳은 XE 공식 홈페이지와 그누보드 커뮤니티이다.

또한, 워드프레스로 사이트를 운영하기로 결심했다면, 워드프레스로 운영되는 여러 사이트를 알고 있을텐데, 그 사이트의 운영자들에게 정보를 얻어보는 것도 좋은 방법이다. 특히 자신이 운영하려고 하는 사이트와 비슷한 규모의 사이트가 어떤 웹호스팅을 이용하고 있는지 알아보면 큰 도움이 될 것이다.

마지막으로 워드프레스를 운영하기 위해서 웹호스팅을 선택할 때 처음부터 너무 높은 플랜을 선택할 필요는 없다는 것을 알아두면 좋다. 대부분의 웹호스팅 업체들이 상위 플랜으로 이동하는 것은 자유롭게 허용하면서, 하위 플랜으로는 내려가지 못하도록 하고 있기 때문이다. 워드프레스 블로그는 네이버 블로그나 티스토리 블로그처럼 사용자가 빨리 늘어나지 않는 편이다. 따라서 처음부터 너무 높은 플랜으로 계약해서 돈을 낭비하지 않는 것이 좋다.

2.2 빠른 테마를 사용하자

워드프레스에는 수많은 테마가 있다. 2014년 4월 30일 현재 WordPress 공식 홈페이지에 등록된 테마만 2,500개이고, 가장 유명한 테마 판매 사이트인 themeforest에 등록된 테마는 4,153개이다.

이처럼 수많은 테마가 있다보니, 테마마다 기능의 차이도 많이 나지만, 속도의 차이도 꽤 나게 된다. 특히 테마의 기능을 확장하기 위해서 엄청난 수의 자바 스크립트를 사용한다거나, 이미지를 많이 사용한 테마들의 경우에는 다른 테마들에 비해 현저히 퍼포먼스가 떨어지는 것을 볼 수 있다. 또한, 테마를 만들 때 속도에 대한 최적화를 했는지, 테마 제작자가 실력이 있는 사람인지에 따라서도 테마의 속도를 달라질 수 있다. 사실 제작자가 실력이 좋은 경우에는 기능이 많은 테마라도 좋은 속도를 보여줄 수 있기 때문에 테마를 선택할 때 무조건 기능이 별로 없는 심플한 테마를 선택할 필요는 없다.

그럼 어떻게 로딩이 빠른 테마를 선택할 수 있을까? 우선, 테마를 선택할 때는 자신이 꼭 필요한 기능이 무엇인지를 생각해보고 그 기능을 가지고 있는 테마중에서 자신에게 맞는 디자인을 가진 테마를 여러 개 찾아본다. 그 후 그 테마들의 최적화 정도를 Gooelge PageSpeed Insights를 이용해서 확인해본다. 이 때 WordPress 공식 홈페이지에 등록된 테마는 무료이므로, 자신의 사이트에 설치후에 테스트하면 되고, 유료 테마의 경우에는 “Live Preview” 버튼을 눌러서 데모 사이트로 간 후, 상단의 “Remove Frame”을 누른 후 이동하는 사이트의 주소를 넣어서 점수를 확인하면 된다. PageSpeed Insights 점수가 절대적인 기준이 될 수는 없지만, 그 점수를 보면 테마의 제작자가 최적화에 신경을 썼는지 정도는 확인할 수 있을 것이다.

Themeforest Remove Frame
▲ Themeforest 데모 사이트. 좌상단의 Remove Frame을 눌르면 진짜 데모 사이트의 주소로 이동한다.

Google PageSpeed Insights
▲ Google PageSpeed Insights. 웹 페이지 URL을 넣고 “분석”버튼을 누르면 웹페이지를 분석해서 점수를 보여주고 개선이 필요한 사항을 제시한다.

예를 들면, themeforest에 있는 Lilith라는 테마의 데스크탑 PageSpeed Insights 점수는 89점이고, Publica라는 테마의 점수는 56점이다. 단순히 점수만으로 보면, 이 두 테마 중에서는 Lilith가 좀 더 최적화가 잘 되어 있다고 볼 수 있다.

Lilith Theme PageSpeed Insights Score
▲ Lilith 테마의 PageSpeed Insights 점수

Publica Theme PageSpeed Insights Score
▲ Publica 테마의 PageSpeed Insights 점수

하지만 테마의 제작사마다 데모 사이트들의 최적화가 차이가 나기 때문에, 자신의 웹호스팅에 설치해서 점수를 비교해볼 때와는 달리 유료 테마를 비교할 때는 PageSpeed Insights 점수만으로 평가하면 안된다. 두 테마를 분석해보면 Publica 테마의 PageSpeed Insights 제안을 보면 데모 사이트는 Gzip 압축을 사용하지 않아서 점수가 깎인 반면에 Lilith테마의 데모 사이트는 Gzip 압축이 적용되어 있어서 감점되지 않았다. 따라서 유료 테마의 PageSpeed Insights 점수를 비교할 때는 점수뿐만이 아니라, 제안 부분도 유심히 보고 비교해야 한다.

2.3 플러그인을 확인해보자

워드프레스 특유의 훅(Hook) 기능은 워드프레스를 느리게 만드는 주요 원인 중 하나이다. 훅 기능에 대해 간단한 예를 들어보면, 워드프레스 상단에는 ‘wp_head’ 라는 action hook 이 존재하고 이 훅에 여러 플러그인이 스크립트나 스타일을 추가할 경우 워드프레스는 로딩 전에 이러한 과정을 모두 거치고 페이지를 보여주게 된다.2 따라서 플러그인을 많이 설치하면 할 수록 워드프레스가 느려지게 될 가능성이 높아진다.

어떤 플러그인은 워드프레스를 과도하게 느리게 만들기도 한다. 이는 위에서 설명한 바와 같이 훅에 너무 많은 스크립트나 스타일을 추가한다거나, CPU를 너무 많이 사용해서일 수 있다. 워드프레스에는 같은 기능을 하는 플러그인이 다수 존재하는 경우가 많이 때문에 이럴 때는 문제가 되는 플러그인을 삭제하고 다른 플러그인을 사용하는 것이 좋다. 하지만 문제가 되는 플러그인을 찾기 위해 플러그인을 하나하나 테스트해 보는 것은 쉬운 일이 아니다. 이럴 때 P3 (Plugin Performance Profiler) 플러그인을 사용하면 쉽게 해결 가능하다.

P3 (Plugin Performance Profiler) 플러그인을 설치해서 활성화한 후 워드프레스 대시보드에서 “도구 》 P3 Plugin Profiler” 메뉴로 들어간 다음에 “Start Scan” 버튼을 누르면 현재 어떤 플러그인이 워드프레스 사이트를 느리게 만들고 있는 지 확인이 가능하다.

P3 (Plugin Performance Profiler) 스캔 결과
▲ P3 (Plugin Performance Profiler) 스캔 결과. 여기서는 Jetpack이 전체 플러그인이 로딩되는 시간의 50% 이상을 차지하는 것을 볼 수 있다. 하지만 Jetpack의 로딩 시간이 0.0845초로 그리 길지 않기 때문에 문제가 있는 플러그인이라고는 보긴 힘들다.

2.4 휴지통을 관리하자

워드프레스 2.9 부터 휴지통 기능이 생겼다. 워드프레스에서 글, 댓글, 페이지, 미디어등 어떤 것이든, 삭제하면 그냥 삭제되는 것이 아니라 휴지통으로 이동된다. 이 기능은 실수로 워드프레스에서 무언가를 삭제했을 때 대단히 유용하다.

하지만 휴지통은 워드프레스 사이트의 데이터 베이스에 쓸모없능 공간을 차지하게 되고, 그로 인해 데이터 베이스가 커지면 데이터 베이스로부터 정보를 꺼내는 것이 더 오래 걸리게 된다. 당연히 워드프레스 사이트의 로딩 속도가 느려질 수 있다.

워드프레스는 30일이 지나면 휴지통에 있는 자료들을 완전히 삭제한다. 그런데 “wp-config.php” 파일을 편집하면 자동 삭제 기간을 조정할 수 있다. 예를 들어 wp-config.php 파일에 다음과 같은 코드를 넣으면 자동 삭제 기간을 7일로 설정할 수 있다.

define ('EMPTY_TRASH_DAYS', 7);

만약에 휴지통 기능이 전혀 필요없다면 다음 코드를 추가해서 휴지통 기능을 완전히 비활성화 시킬 수있다.

define ('EMPTY_TRASH_DAYS', 0);

2.5 리비전, 임시글, 스팸, 핑백, 트랙백을 관리하자

휴지통만이 데이터 베이스의 용량을 늘리는 것은 아니다. 임시글, 스팸, 핑백, 트랙백 모두 데이터 베이스의 용량을 늘리는 것들이다. 따라서 필요없는 임시글, 스팸 댓글, 핑백, 트랙백등을 삭제하는 것이 필요하다.

또한, 워드프레스에는 리비전 기능이 있다. 워드프레스의 리비전 기능은 사용자가 글의 이전 버전으로 돌아가서 글을 확인하거나 복원할 수 있는 기능이다. 워드프레스에는 자동저장 기능도 있는데, 자동저장 기능은 최근 버전만을 기록한다. 반면에 리비전 기능은 글을 저장할 때마다 새로 생성된다. 이 말은, 어떤 글을 작성하면서 20번 저장을 했다면, 그 글은 중간에 한 번도 저장하지 않은 글에 비해서 20배 많은 데이터 베이스 용량을 차지한다는 뜻이다.

Wordpress Revisions
▲ 워드프레스의 리비전 기능

워드프레스는 리비전을 무한히 저장하는 것이 기본값으로 되어 있다. 하지만 일반적으로 리비전을 무한히 저장할 필요가 있는 경우는 드물다. 따라서, 리비전의 수를 2~3개 정도로 제한하는 것이 좋다. 이 것은 휴지통의 자동 삭제 기한을 지정할 때처럼 “wp-config.php” 파일에 아래 코드를 추가하는 것으로 조정 가능하다.

define( 'WP_POST_REVISIONS', 3 );

아니면 아예 리비전 기능을 비활성화할 수도 있다. 사실 리비전 기능은 잘만 쓰면 상당히 좋은 기능이므로 리비전 기능을 완전히 비활성화 시키는 것은 추천할만 한 것은 아니다. 하지만 많은 웹사이트에서 데이터 베이스를 효율적으로 관리하기 위해서 리비전 기능을 완전히 비활성화 시키곤 한다. 리비전 기능을 거의 사용하지 않는 사람들이라면 아래 코드를 이용해서 리비전 기능을 완전히 비활성화할 수 있다. 참고로 리비전 기능을 비활성화 하더라도 자동저장 기능은 제대로 작동한다.

define( 'WP_POST_REVISIONS', false );

이렇게 기능을 제한하지 않더라도 플러그인을 통해서 자동으로 스팸 댓글, 임시글, 리비전등을 삭제할 수도 있다. 추천할만한 플러그인으로는 WP OptimizeWP-DBManager 그리고 Optimize Database after Deleting Revisions가 있다.

2.6 이미지를 최적화하자

이미지는 블로그에 상당히 중요한 요소중 하나다. 긴 글을 끊어줘서 방문자에게 약간의 휴식을 줄 수도 있고, SNS에 글이 더 많이 공유될 수 있게 해 주기도 한다. 하지만 이미지는 블로그에서 가장 큰 용량을 차지하는 요소다. 대부분의 글은 길어봐야 100KB 정도 되는 반면, 이미지는 조금만 크다 싶으면 MB 단위로 넘어간다. 따라서 이미지가 많이 들어간 블로그와 글은 로딩이 늦어질 수 밖에 없다.

따라서 이미지의 용량을 줄이는 것은 워드프레스 사이트의 로딩을 줄이는 데 있어서 가장 중요한 부분중 하나라고 볼 수 있다.

우선 이미지의 용량을 줄이려면 알맞은 해상도의 이미지를 사용해야 한다. 이미지는 사이즈가 작을수록 용량이 줄어든다. 만약에 사이트의 폭이 700px인데 이미지는 2000px의 폭을 가지고 있다면 늘어난 용량만큼 로딩이 느려질 것이다. 만약 고화질의 이미지를 제공하고 싶다면, 사이트의 폭에 맞는 이미지를 글에 삽입하고, 그 이미지의 링크를 고화질 이미지와 연결시키는 것이 좋다.

둘째로상황에 맞은 이미지 포맷을 선택해야 한다. 웹사이트에 가장 많이 사용되는 이미지 포맷은 JPG, GIF, PNG 정도다. 여기서 JPG는 일반적인 사진에 적합하다. 다만 JPG는 손실 압축 포맷이므로 적절하게 화질(Quality)을 조절해야 한다. 보통 화질이 80% 이상이면 모니터 상에서 구별하기 쉽지 않다. 화질이 별로 중요하지 않은 이미지는 더 낮은 화질로 설정하면 용량을 절약할 수 있다. GIF는 비손실 압축 포맷으로, 투명 이미지를 만들 수 있고, 움직이는 이미지도 만들 수 있다는 장점이 있지만 색상수가 256색으로 제한되어 있어서 로고와 같은 단순하고 색이 별로 사용되지 않는 이미지에만 사용하는 것이 좋다. 마지막으로 PNG는 비손실 압축 포맷으로 트루컬러(24비트)를 지원하고 투명 이미지로 만들 수도 있는 등 JPG와 GIF의 장점을 합친 것과 같은 이미지 포맷이다. 압축률이 상당히 좋지만 비손실 압축의 특성상 JPG 포맷보다는 용량이 큰 것이 대부분이다. 이미지가 단순하거나, 어떤 이미지를 좋은 화질로 보여주고 싶은 경우 PNG 파일을 사용하면 좋다. 정리하면 다음과 같다.

  • JPG 포맷: 일반적인 이미지에 사용. 화질은 80% 이상이면 구별하기 힘듬.
  • GIF 포맷: 투명한 이미지, 움직이는 이미지, 색이 별로 사용되지 않은 이미지에 사용.
  • PNG 포맷: 투명한 이미지, 고화질 이미지에 사용. 최적화를 거치면 JPG보다 용량이 덜 나가는 경우도 있음

셋째로이미지 최적화 프로그램이나 플러그인을 사용해서 이미지를 최적화한다. PC에서 돌아가는 이미지 최적화 프로그램이나 워드프레스에서 돌아가는 이미지 최적화 플러그인을 사용하면 이미지의 용량을 더 줄일 수 있다. 추천하는 프로그램과 플러그인은 다음과 같다.

  • PC용 이미지 최적화 프로그램
    • File Optimizer[무손실 최적화] 전체적으로 최적화 후 절약되는 용량이 가장 큰 프로그램이다. 다만 다른 프로그램에 비해서 최적화 시간이 오래 걸린다는 단점이 있다. 특히 PNG 포맷의 최적화는 시간이 꽤 걸리는 편이다. 최적화시 원본 파일을 덮어 씌어버리지면 어차피 무손실 최적화 프로그램이라서 별 문제는 없다.
    • RIOT[손실 최적화] 좌우 패널을 통해 최적화 전후 모습을 비교하면서 최적화를 할 수 있어서 좋다. 특히 JPG 포맷의 이미지를 최적화할 때 화질 설정을 다르게 할 수 있으므로 JPG 이미지를 최적화할 때 사용하면 좋을 것이다. 이미지의 리사이즈도 가능하다. 다만 다른 프로그램들에 비해 최적화시 절약되는 용량이 좀 작다는 것이 단점이다.
    • Shrink O’Matic[손실 최적화] 프로그램을 실행한 후 이미지들을 프로그램으로 드래그앤 드롭하면 자동으로 이미지가 최적화 된다. 옵션에서 “Size limits”를 설정하면 설정한 크기보다 큰 이미지가 자동으로 리사이즈된다. “Size limits”에서 “Max Width”를 자신의 워드프레스 사이트의 폭으로 설정하면 좋다.
    • 포토샵이나 김프등의 전문 이미지 편집 프로그램: 대부분의 이미지 편집 프로그램에서 최적화 도구를 제공한다. 포토샵의 경우에는 메뉴에서 “Save for Web”을 클릭하면 된다.
  • 워드프레스 플러그인
    • WP Smush.it[무손실 최적화] 야후에서 제공하는 온라인 이미지 최적화 도구인 Smush.it을 플러그인으로 편하게 사용할 수 있다. 다만 야후 서버의 문제로 오류가 생기거나 하는 경우가 가끔 있다.
    • EWWW Image Optimizer[무손실 최적화] 자신의 계정을 이용해서 최적화를 한다. 그래서 CPU의 사용량이 크며, 서버에 과부하를 일으킬 수 있다. Cloud를 이용해서 최적화하는 옵션도 있지만 유료다.
    • Prizm Image

등록된 댓글이 없습니다.

검색취소

wp팁

검색
  • drrobin.kr 워드프레스 작업내용
  • drrobin.kr 워드프레스 작업내용

    첨부파일

    설치 플러그인TinyMCE Advanced ​ http://www.linchpinsoft.com/tinymce-advanced-플러그인/​워드프레스 글쓰기 에디터에 글자 크기 버튼 추가하기 http://ninanio…

  • 워드프레스 속도, 성능 최적화하기
  • 워드프레스 속도, 성능 최적화하기

     워드프레스 속도, 성능 최적화하기목차1. 워드프레스 최적화2. 워드프레스를 최적화하는 11가지 방법2.1 좋은 웹호스팅을 선택하자2.2 빠른 테마를 사용하자2.3 플러그인을 확인해보자2.4 휴지통을 관리하자2.5 …

  • no image
  • 워드프레스, 그누보드 연동 - 길호넷

     워드프레스, 그누보드 연동현재 길호넷에서 워드프레스와 그누보드를 연동한 방식입니다.사이트를 좀 더 안정화를 시킨 후 소스를 공개하려고 하였는데, 그누보드 사용자분의 요청(?)으로 급조하여 만든걸 올립니다. (htt…

?>