블로그 통계 플러그인

얼마 전 태터툴즈 1.x로 갈아탄 후 800명 정도이던 접속자 수가 2000명을 넘어서고 있어서 카운트를 태터툴즈의 카운터가 아니라 TraceWatch의 카운터로 바꿀 생각으로 이 플러그인을 만들게 되었다. 처음에는 태터툴즈의 통계처럼 오늘/어제/전체 방문자 수만 표시하려고 하다가 TraceWatch의 API에서 다른 기능도 지원하고 있기 때문에 부가적인 통계도 표시하는 플러그인을 작성하게 되었다.

목차

블로그 통계 플러그인

난 블로그 설정을 한 페이지에 하나의 글이 뜨도록 설정해서 사용하고 있다. 이유야 여러 가지가 있지만 스크롤을 하면서 글을 읽는 것을 좋아하지 않기 때문이다. 이렇게 설정하고 사용하다 보니 각각의 페이지를 몇 번이나 읽었는지 궁금한 경우가 종종 있다(PC 통신 세대의 애환). 그러나 태터툴즈의 경우 페이지 카운터를 따로 제공하지 않기 때문에 그대로 사용해왔다.

얼마 전 태터툴즈 1.x로 갈아탄 후 800명 정도이던 접속자 수가 2000명을 넘어서고 있어서 카운트를 태터툴즈의 카운터가 아니라 TraceWatch의 카운터로 바꿀 생각으로 이 플러그인을 만들게 되었다. 처음에는 태터툴즈의 통계처럼 오늘/어제/전체 방문자 수만 표시하려고 하다가 TraceWatch의 API에서 다른 기능도 지원하고 있기 때문에 부가적인 통계도 표시하는 플러그인을 작성하게 되었다.

내려받기: TraceWatchStatPlugin.zip

이전의 글에서 알 수 있듯이 태터툴즈에 플러그인을 설치하는 방법은 워낙 간단하다. 내려받은 파일을 압축해제하고 좋아하는 FTP 프로그램으로 폴더째 태터툴즈의 플러그인 폴더(plugins)에 복사한 후 '관리도구/환경 설정/플러그인 관리'에서 TraceWatch 통계 플러그인을 '사용중'으로 설정하면 된다.

이 플러그인이 정상적으로 동작하기 위해서는 TraceWatch 로그 플러그인처럼 index.php 파일에서 TraceWatch의 설치 경로를 정확히 지정해주어야 한다.

// TraceWatch를 루트 폴더가 아닌 다른 폴더에 설정한 경우 ''에 해당 폴더의 경로를
// 지정한다. 예를 들어 /tt 폴더에 twatch를 설치했다면 다음처럼 변경해야 한다.
//
// $GLOBALS['HTTP_SERVER_VARS']['DOCUMENT_ROOT'].'/tt';
$GLOBALS['adl_alt_docroot']=$GLOBALS['HTTP_SERVER_VARS']['DOCUMENT_ROOT'].'';

// 따로 변경할 필요는 없다.
@include_once $GLOBALS['adl_alt_docroot'].'/twatch_include/api.php';

// 지정된 시간 내의 접속자 수를 표시한다. 600은 10분 동안의 접속자 수를 의미한다.
$seconds = 600;

사용 가능한 치환자

이제 남은 방법은 이 플러그인에서 지원하는 치환자를 스킨 파일의 적당한 위치에 삽입하면 된다. 한가지 주의할 것은 모든 치환자는 숫자만 달랑 출력한다. 따라서 그럼처럼 분당 접속자를 표시하고 싶다면 스킨 파일에 [ ##_twatch_otoday_## ]/분처럼 치환자와 메시지를 함께 삽입해야 한다. 이 플러그인이 사용된 예를 확인하고 싶다면 좌측 상단의 통계 그래프의 접속자 통계(숫자)에 마우스를 올려 놓으면 된다. 이 플러그인에서 지원하는 통계용 치환자는 다음과 같다.

방문자 관련 치환자

[ ##_twatch_vtoday_## ]     오늘 방문자의 수를 표시
[ ##_twatch_vyesterday_## ]     어제 방문자의 수를 표시
[ ##_twatch_vtotal_## ]     전체 방문자의 수를 표시

페이지뷰 관련 치환자

[ ##_twatch_ptoday_## ]     오늘 페이지뷰를 표시
[ ##_twatch_pyesterday_## ]     어제 페이지뷰를 표시
[ ##_twatch_ptotal_## ]     전체 페이지뷰를 표시
[ ##_twatch_pageview_## ]       현재 페이지의 읽은 횟수를 표시

접속자 관련 치환자

[ ##_twatch_otoday_## ]     $second초 동안 접속한 접속자의 수를 표시

치환자를 스킨에 삽입할 때는 [ ## 사이, ## ] 사이의 공백은 제거해야 한다.

문제 해결

이 플러그인에서 가장 만족스러운 부분은 읽은 횟수를 표시하는 부분이다. 그동안 페이지에 따른 읽은 횟수를 알 수 없었기 때문이다. 한 가지 주의할 것은 읽은 횟수는 정확한 통계가 아니라는 점이다. 그 이유는 다음 두 가지이다.

같은 페이지가 다른 URL로 표시되는 경우
네이버의 상식을 배웠습니다라는 글은 두 가지 URL로 접근할 수 있다. 하나는 1.x 방식인 https://offree.net/388이며, 또 다른 하나는 0.9x 방식인 https://offree.net/index.php?pl=388이다. 1.x 방식의 카운트 수는 100 미만이지만 0.9x 방식의 카운트 수는 3542나 된다. 이런 현상은 같은 페이지가 여러 URL로 표현되는 경우 언제나 발생한다.
첫 페이지 문제
이 문제도 첫 번째 문제와 비슷한 문제이다. 예를 들어 내가 올린 마지막 글의 주소가 https://offree.net/471라면 https://offree.net/를 입력해도 같은 페이지가 나타난다. 따라서 이 경우 역시 URL이 다른 것으로 볼 수 있다.

참고로 이 플러그인은 이전에 올린 TraceWatch 로그 플러그인(태터 플러그인: TraceWatch 업데이트)과는 다른 플러그인이다. TraceWatch 로그 플러그인[1]TraceWatch의 분석 코드를 쉽게 삽입할 수 있도록 하는 플러그인 반면에 이 플러그인은 TraceWatch의 통계치를 태터툴즈에서 표시할 수 있도록 하는 플러그인이다. 두 가지 프러그인을 하나로 합칠 생각도 해봤지만 이 플러그인이 필요없는 사람도 있을 것 같아 따로 작성하게되었다.

관련 글타래


  1. 이 플러그인은 반드시 먼저 TraceWatch를 설치하고, TraceWatch 로그 플러그인을 '사용중'으로 설정한 상태에서만 사용할 수 있다.