태터 패치: TraceWatch 통계 보완(2/1/803)


사실 필자가 얼마 전에 만든 TraceWatch 통계 플러그인TraceWatch의 통계치태터툴즈 의 스킨에 삽입할 수 있는 플러그인이다. 이 플러그인에는 현재 읽고 있는 페이지가 몇 번 노출되었는지를 표시하는 페이지 뷰에 대한 치환자가 있다.

그러나 이 치환자는 페이지의 노출 횟수를 정확하게 반영하지 못한다. 그 이유는 TraceWatch 통계 플러그인에서 설명한 것처럼 URL이 다르면 TraceWatch는 서로 다른 페이지로 간주하기 때문이다. 이 문제는 http://offree.net/처럼 URL에 블로그 페이지가 포함되어 있지 않으면 더 심각해진다. 조금 전에 올린 글이라도 TraceWatch의 누적된 결과 값을 가져오기 때문에 조회 수가 아주 높게 나타나며, 이러한 현상은 블로그를 운영하는 시간이 길어지면 질수록 증가하기 때문이다.

따라서 필자는 이러한 문제를 수정하기 위해 http://offree.net/과 같은 URL이 입력되면 자동으로 최근에 올라온 글(http://offree.net/477)로 방향 전환하도록 태터툴즈 index.php 파일을 수정했다. 이 방법을 이용하면 같은 글이 다른 URL을 가질 가능성이 그만큼 줄어든다.

필자처럼 블로그 당 하나의 글만 올라오도록 설정한 상태라면 사실 페이지를 이동하는 것과 글을 이동하는 것이 정확히 일치해야 한다. 그러나 http://offree.net/로 접속하면 페이지는 /?page=1처럼 표시되며, http://offree.net/477처럼 연결하면 페이지는 /476처럼 표시된다.

그러나 이 패치를 적용하면 항상 페이지가 /476처럼 나타나기 때문이다. 다만, 이 패치는 필자가 사용하고 있는 환경을 기준으로 한 것이기 때문에 모든 사람에게 동작하지는 않는다는 점이다. 아울러 환경이 다른 사용자를 위해 패치를 다시 작성할 생각도 없다는 점이다. 따라서 이 패치는 필자가 사용하는 환경과 같은 경우에만 적용하기 바란다.

패치하는 방법은 간단하다. 좋아하는 편집기로 /blog/index.php 파일을 열고 마지막의 print $view;를 다음처럼 변경하면 된다.

GZip 압축 전송 플러그인을 설치하지 않았으면 print $view;만 주석 처리하면 되며, 플러그인을 적용한 경우에는 fireEvent();까지 주석처리해야 한다.

2006/05/06 12:31 2006/05/06 12:31

구독 & 책갈피 글이 마음에 드신다면 로 편하게 구독하세요!!!

책갈피 하기: WZD | 구글 | 네이버 | 뉴스2.0 | 다음 | 델리셔스 | 마가린 | 북마커 | 야후 | 한RSS | 정보

촛불 문화제 소식
컴관련
오늘의글
인기글

걸린글 0 댓글 17

RSS : http://offree.net/rss/response/478

걸린글 : http://offree.net/trackback/478

  1. Moonlit 2006/05/06 18:24 address edit & del reply

    이 패치를 적용했을 경우엔 [글] 만 해당하는건가요? 혹시나 공지사항도 고유한 주소를 갖기 때문에 공지가 첫 화면에 나오거나 그러진 않겠죠? ''

  2. 토이 2006/05/07 23:37 address edit & del reply

    print $view;?> 요렇게 되어 있는데. 저 4줄을 첨가하면 되는건가요?? ^^;

    • 도아 2006/05/08 07:41 address edit & del

      글을 자세히 읽어 보시기 바랍니다.

  3. 광서방 2006/05/16 18:51 address edit & del reply

    자꾸 질문하게 되네요 ^^. 저도 블로그 당 글의 수: 하나 / 블로그 참조: 숫자 / 사용 환경: 단일 사용자 환경으로 마침 도아님이랑 일치하는데요, 압축 전송 플러그인은 안 깔았구요. 그런데 이상하게 저 마지막줄을 주석처리하면 무조건 아무것도 안 나오네요.... 혹시 이유를 알 수 있을까요?
    그리고...
    //fireEvent('OBStartSession');
    //print $view;
    //fireEvent('OBEndSession');
    header(”Location: “.$blogURL.”/".$entry[’id’]);

    본문의 저 네 줄 중에서 첫번째, 세번째 줄은 압축전송 플러그인 안 깔아서 없다고 하고, 마지막 줄도 없던데... 뭔가 환경이 다른 걸로 봐야 하나요? 잘 몰라서 질문이 많네요. 죄송합니다 ^^;

    • 도아 2006/05/17 10:26 address edit & del

      글을 잘 읽어 보시면 아실 수 있지만 print $view;를 위의 네줄로 교체하는 것입니다. 압축 전송 플러그인을 깔지 않았다면 print $view;를

      //print $view;
      header(”Location: “.$blogURL.”/".$entry[’id’]);

      로 교체하면 됩니다. 그런데

      //print $view;

      만 하면 당연히 화면에는 아무 것도 표시되지 않습니다. 글에서 주석 처리하고 추가하라고 글을 쓰지 않은 이유는 태터의 소스가

      print $view;?>

      로 되어 있기 때문입니다. 만약 이상태에서 주석 처리하고 추가하라고 하면

      //print $view;?>
      header(”Location: “.$blogURL.”/".$entry[’id’]);

      이렇게 처리하는 사용자가 생기고 이 경우에는 태터가 아예 오류로 동작하지 않기 때문입니다.

  4. 광서방 2006/05/17 13:17 address edit & del reply

    네, 긴 설명 감사드려요 ^^;. 저도 윗 덧글에 '잘 읽어보세요'라는 말씀을 하시길래, 그 부분이 걸려서 나름 그렇게 해 보았는데요.
    //print $view;
    header("Location: ".$blogURL."/".$entry['id']);
    ?>
    이렇게 처리하면 되는 게 아닌가요? 이렇게 처리했는데도 여전히 아무 내용이 안 나오는 페이지가 나오네요. 다시 한 번만 답변 부탁드리겠습니다 ^^;

  5. 서비 2006/06/25 22:55 address edit & del reply

    /blog/index.php 혹시 blog 폴더 메인에 있는거 말하시는건가요?
    아니면 /blog/blog 에 있는거 말씀하시는건가요?
    전 tt 대신에 blog로 했는데 blog/index.php 를 찾아보기 힘드네요. ㅡ.ㅡ;

  6. 서비 2006/06/26 14:23 address edit & del reply

    /blog/blog/index.php에

    //print $view;
    header(”Location: “.$blogURL.”/”.$entry[’id’]);
    ?>
    를 수정/추가했는데

    Parse error: parse error, unexpected ':' in /wecan/donggu1001/computer.new21.net/blog/blog/index.php on line 2524
    이런 에러가 나네요.

  7. 서비 2006/06/26 14:25 address edit & del reply

    물론 밑에 이렇게 조건을 했습니다.
    블로그 당 글의 수: 하나
    블로그 참조: 숫자
    사용 환경: 단일 사용자

    • 도아 2006/06/26 15:31 address edit & del

      블러그 조건과는 관련없는 구문 오류입니다.
      unexpected ':' 라는 문장에서 알 수 있듯이 세미콜론을 써야하는 자리에 콜론을 썼던가 콜론을 써야하는 자리에 세미콜론을 썼을 가능성이 있습니다.

      확인해보시기 바랍니다. 그리고 위의 글을 태터 1.0.5를 기준으로 작성한 것입니다. 1.0.6에서는 패치하는 방법이 달라질 수 있습니다.

  8. LiNs 2006/08/06 12:45 address edit & del reply

    태터1.0.6.1에서는
    header("Location: $blogURL/$entry[id]");
    이렇게 수정하니 제대로 되는군요

    • 도아 2006/08/07 20:01 address edit & del

      큰따옴표와 작은따옴표만 정확하면 위와 같이 고쳐도 아무 상관없습니다. 코멘트 미리보기 플러그인이 큰따옴표와 작은따옴표를 바꾸기 때문에 카피해서 붙여넣으면 되지 않습니다.

      저 역시 1.0.6.1을 사용하고 있습니다.

  9. LiNs 2006/08/06 12:56 address edit & del reply

    그나저나 저는 저 플러그인 깔면 글 목록들이 전부 사라지네요 ㅜ.ㅜ
    기본스킨도 동일증상이 나타나는걸 보아 스킨문제도 아닌거 같은데요..

  10. LiNs 2006/08/06 13:10 address edit & del reply

    twatch_connect();
    이게 들어가면 블로그에서 링크라던지 카테고리라던지 전부 사라지는군요
    twatch문제인가 보네요...

    • 도아 2006/08/07 20:02 address edit & del

      저는 제가 만든 플러그인을 사용하고 있지만 별 다른 문제는 없더군요. 다른 플러그인과의 충돌도 생각해보기 바랍니다.

  11. LiNs 2006/08/07 23:43 address edit & del reply

    으음.. 지금 다른 플러그인 전부 끄고 해봤는데... 역시 안되네요...
    뭐가 문제일려나...