태터 플러그인: TraceWatch 통계

블로그 통계 플러그인

얼마 전 태터툴즈 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 로그 플러그인을 '사용중'으로 설정한 상태에서만 사용할 수 있다. 
글쓴이
author image
운영체제의 모든 것을 운영하고 있는 IT 블로거. IT 블로거라는 이름은 현재 시국때문에 시사 블로거로 바뀐 상태다. 그러나 나는 아직도 시사와 사회에 관심이 많은 IT 블로거일 뿐이다. 컴퓨터, 운영체제, 시사, 가족, 여행, 맛집, 리뷰등과 살면서 느끼는 소소한 일상이 블로그의 주제이다. 왼쪽의 아이콘은 둘째 딸 다예가 그린 내 모습이다.
2006/04/28 19:38 2006/04/28 19:38
오늘의 글
인기있는 글
조회수 많은 글 | 베오베
댓글 많은 글 | 베오베

Facebook