WP-SlimStat-Ex v2.0

Go to English document

정말 오랜만에 새로운 판을 내놓게 되었네요. 거두절미하고 바뀐내용들을 설명하겠습니다.

하고픈 말

  • 2.0 부터는 워드프레스 2.5 이상에서만 작동하며, 기존 1.6x 버전의 지원은 생각하지 않고 있습니다. 여러가지 이유가 있지만, 굳이 설명하지는 않기로 했습니다:-(
  • 워드프레스 2.5 이전 버전을 사용중인 분께서는 1.6버전을 사용하시기 바랍니다.

바뀐내용

  • 좀 더 많은 웹브라우저를 인식합니다.
  • PHP 5.0 이상에서 curl 모듈이 설치되었다면 GeoSlimStat에서 curl_multi 기능을 이용하여 빠른 속도로 지역정보를 얻어올 수 있습니다.
  • Whois 정보 DB(dnsstuff 또는 ip-lookup)를 선택할 수 있는 설정을 추가했습니다.
  • MaxMind에서 제공하는 GeoIP 데이터베이스(city 또는 country)를 지원합니다.
  • 사용자 등급(Role)별 통계추적, 통계보기, 설정관리 권한을 지원합니다.
  • 리소스 정보관련 문제를 해결하기 위해 관련 테이블을 업데이트 합니다.
  • wp-shortstat, wp-slimstat 으로부터의 업그레이드를 더이상 지원하지 않습니다.
  • 워드프레스에서 제공하는 플러그인 자동 업그레이드 기능을 지원합니다만, 아직 완전하지 않으므로 되도록 기존의 수동 업그레이드 방식을 사용하시기 바랍니다.

판올림

  • 플러그인 비활성화(Deactivate) > 기존의 플러그인을 삭제 > 새로운 플러그인을 업로드 > 플러그인 활성화(Activate)
  • 관리자화면에 표시되는 업그레이드 링크를 통해 업그레이드를 진행합니다.
  • 외부프로그램 추적을 사용중이었다면, 기존의 external.php 파일을 지우고, 새로운 파일을 생성해야만 합니다.

GeoIP 데이터베이스

  • 사용중인 HDD에 여유가 있다면, 바이너리 포멧(binary format)의 MaxMind의 GeoIP 데이터베이스를 사용할 수 있습니다.
  • 특히 GeoSlimStat을 사용중이라면, GeoLiteCity 데이터베이스를 사용한다면 100배가까이 빠른 속도를 맛볼 수 있습니다.
  • MaxMind에서 다운받은 GeoLiteCity.dat.gz 또는 GeoIP.dat.gz의 압축을 풀어(윈도우사용자는 WinRAR를 사용하세요) 생성되는 .dat 확장자를 가진 파일(GeoIP.dat 또는 GeoLiteCity.dat)을 wp-slimstat-ex/lib/geoip 폴더에 업로드하세요
  • MaxMind에서는 매월 1일에 새로운 데이터베이스를 제공하므로, 그에 맞춰 파일을 업데이트할 수 있습니다.

외부프로그램 추적

  • SlimStat-Ex v2부터 자바스크립트 코드를 삽입하는 방법을 사용할 수 있게되었습니다.
  • 자바스크립트 코드는 관리자화면(Admin) > 설정(Options) > SlimStat > SlimStat 관리도구(SlimStat-Admin) 패널의 하단에서 확인 할 수 있습니다.
  • 자바스크립트 코드 예 :

처음 설치

  • 처음 설치하시는 분께서는 이 페이지를 참고하세요.
  • 플러그인 설정에 대한 내용은 이 페이지를 참고하세요.

 

It’s been a long time since last release. After all, here is a new version.

Notice

  • Since v2.0, SlimStat-Ex requires WP 2.5 or greater.
  • Users who are using lesser than WP 2.5 can use SlimStat-Ex v1.6 which does not supported anymore.

Change

  • Supports more web browsers and bots
  • If you are on PHP 5.0 or greater with curl supported server, curl multi connection will speed up Geo-IP remote query on GeoSlimStat Pin.
  • Added option for selecting whois database (dnsstuff or ip-lookup)
  • Supports local GeoIP databse by MaxMind
  • Supports permission settings for view stats, ignore track and manage options by roles.
  • Updated SlimStat resource table for fix errors.
  • Removed support for upgrading from wp-shortstat and wp-slimstat.

Upgrade

  • Deactivate plugin > Delete old plugin > Upload new plugin > Activate plugin
  • Follow the upgrade link on wordpress admin page.
  • If you are using external tracking, delete old external.php and create new one.

GeoIP database

  • If you have sufficient space on HDD, you can use MaxMind‘s GeoIP database(binary format).
  • Especially for GeoSlimStat, using GeoLiteCity database can speed up(about 100 times) loading time.
  • Download GeoLiteCity.dat.gz or GeoIP.dat.gz and upload extracted file(GeoIP.dat or GeoLiteCity.dat) to wp-slimstat-ex/lib/geoip folder, that’s all. If you are using Windows, WinRAR is the one for extracting.
  • You can update your database file every start of month from MaxMind‘s free GeoIP Source page.

External Tracking

  • SlimStat v2 supports external tracking with javascript code.
  • You can see your javascript code on Admin > Options > SlimStat > SlimStat-Admin panel
  • Javascript code example :

First install

82 thoughts on “WP-SlimStat-Ex v2.0”

  1. Hi! I have some questions about your plugin:
    1. What happens after DB max-age? I will lose my old statistics?
    2. Can you give your interpretation what means “hits”, “visits”, “unique” in your plugin?
    3. When I select in Pins>Simple Stats the Count Type to “unique”, on the site I have 0 statistics. Can you suggest why this happens?

  2. wp-slimstat-ex 2.0 compatibility problem with wordpress Custom Field. Plugin is working perfectly but custom field not working. But i need both to working my site perfectly. Help please

  3. great to see you haven’t given up on this great plugin. would you maybe have a look if you can integrate compatibility with this translation plugin: http://wordpress.org/extend/plugins/qtranslate/

    basically your plugins doesn’t recognize the language of the page that was displayed. the plugin serves the defaulkt page at i.e. quilombobrasil.com and if you switch to Portuguese the url changes to: quilombobrasil.com/br same with pages and psots it adds the language code.

    these thigns don’t reflect in your plugin unfortunately:-(

      1. is tehre any chance to make it work? Also both titles are shown, not only the one in the right language.
        is there a chance to make this work, even with a hack on my side? some hints?

        thanks a lot.

        Btw. looking forward to the next version of this plugin:-)

        1. SlimStat excutes track code at the end of the page loading, but qtranslator substitutes $_SERVER['REQUEST_URI'] on initial loading, and it comes to same as non-translated URI.

          You better ask qtranslator’s author:?

          Thanks.

  4. Hello!

    A friend just told me that after updating to WP 2.8.1 Slimstat doesn’t work any more (Plugin Page does, the Statistics Page doesn’t). Any idea why this happens? Just checked two sites of customers and both show this phenomenon.

    Thanks in advance,
    Wolf-Dieter

    http://www.theflow.cc

  5. just curios, I wanted to exclude some visitors from my stats, its some exotic feed readers they clutter up my stats. the ugly way is to exclude their IPs but I’d prefer to exlude their user agents, but it seems your plugin doesn’t log user agents or does it? So How can I find out what user agent they are using?

    1. Slimstat does not save user agent string(UA string) by default.

      There’s a way to turn it on but it’s only for plugin development and SlimStat save UA string only when it could not found a kind of browser or platform from UA string.

      If SlimStat said it’s browser is ‘Feed reader’ or something like, it’s useless to turn ‘uaOption’ on ’cause SlimStat won’t save the UA string.

      If you still want to try it, edit wp-slimstat-ex-config.php file(about line 6).
      var $uaOption = true;

      Deactivate Slimstat and re-activate it again.

      Connect to PHPMyAdmin and see `wp_slimex_ua` table.
      (`wp_` is your table prefix)

  6. hello, can you please help me? any ideas? can you visit my site and tell me, does it look to you like your plugin is loaded? what could prevent it from working? any hints?

    1. It’s impossible to see if the slimstat is loaded on blog pages.

      You can mail me a temporary account with ‘view stats’ and ‘manage options’ ability so that I can see what’s wrong with slimstat on your blog.

  7. hello, I recently moved my blog onto a new server and everything is working except that your plugins stopped working ;-( it just displays no hits/stats since the move.
    Are there any stepts besides deactivating/reactivating the plugin? anything hardcoded? All other plugins are fine:-(

      1. yes, I moved the complete folder containing wordpress, edited wp-config.php and the site is up and running with the exception of this plugin:-(

      2. besides, klick on my name and check out my site. does it look like the tracking code is installed? what would I do to check next? I checked the settigns, all seems fine:-(does your plugin store the absolute path somewhere? obviously changing servers, changed my root path…

  8. Hi,

    I had no problems with Slimstat ex until I upgraded to 2.0. It became very slow to load for me, and I thought upgrading would help, but instead, it worsened it! Now, it takes for ever to load the goddamn stats, and they never finish loading! Please help!

    1. It coulud happen with missing index keys while upgrading from 1.6 to 2.0.

      You can redo upgrade steps by removing `wp_slimstat_ex_version` from wordpress options table, maybe `wp_options`
      Connect to PHPMyAdmin, find and delete option_name like wp_slimstat_ex_version, then SlimStat would tell you ‘needs upgrade’.

      "DELETE FROM `wp_options` where `option_name` LIKE 'wp_slimstat_ex_version'"

  9. It is me again. The fourth step failed when updating. I have upgraded to WP 2.7.1 and changed themes. This is where it gets stuck.

    `rs_md5` column…

    Is anyone else having this problem?

  10. I sure you are getting sick of me. Got it to upload again using PASV but it still keeps asking me to update slimstat everytime I log onto my website. Of course, it is not recording any web stats this way.

  11. Me again. I have tried to Ftp the file thinking I had done something wrong the 1st time since I had to manually file by file upload it the first time. It seems to always fail in the flag file no matter what I do. So something is wrong in the zip file as well.

  12. It is me again. The program keeps asking me to update the slimstats database everytime I log on so there is no stats being recorded. Why is it looping?

  13. I was playing with the time vs my blog and my server. It deleted about 900 uniques from my last months total. When I set it back, the number were gone. Nothing changed in this month.

    Also, are hits pageviews in your stats program?

  14. I’m getting some problems. I have multiple blogs, all in the same server and in one it works all ok, but two others when i try to reach the stats it’s always Loading…

    What could it be?

  15. @nipple
    gethostbyaddr()이라는 함수에서 문제가 발생한듯 합니다.
    서버에서 ip 주소로 host 이름을 알아내는 과정을 수행하지 못해서 일겁니다.

    slimstat 설정에서 “Get host name?:” 부분을 사용하지 않도록 해 보세요:-)

  16. 얼마전에 wp판올림을 했는데 그 이후로

    Fatal error: Maximum execution time of 60 seconds exceeded in D:\vhost\nipple.pe.kr\public_html\wp-content\plugins\wp-slimstat-ex\lib\functions.php on line 608

    이런 메세지가 출력되면서 안되네요..문제가 뭘까요?

  17. 플러그인에 삽입된 함수와 서버에서 지원하는 함수 사이에 문제가 발생한 듯 하군요. 가능하다면 zenguy님이 사용중인 서버에서 테스트해 보고 싶습니다.

    slimstat은 구글 사용자 그룹에서 사용자들이 간간히 새로운 확장이나 도구들을 만들고는 있는데, 개발자쪽에서는 소식이 없더군요.

  18. 아.. 잘못 썻네요. internal이 기본 설정인데… 이때 에러가 발생하여 external로 변경하여 쓰니 에러메시지는 없지만, flag 기능과 같은것들은 작용을 하지 않네요..

    원래 쓰던것은 배포되는 그대로 썼었습니다…

    무슨 문제일까요… 하 -_-a

    여담으로 slimstat는.. 개발중지 된것인가요..?

  19. internal이 정상일텐데 잘못 얘기하신거 아닌지요? ‘external’ 인터넷상의 외부 IPTC 서비스를 이용할 때 사용하는 값이고, DB 나 GeoIP 를 이용할 때는 internal을 사용합니다.

    그러니까, 원래 서버를 이전하기 전에는 외부 IPTC를 이용하고 계셨다는 얘기이신지요?

  20. @082net

    그리하여도 마찬가지이군요. 우선은 wp-slimstat-ex-config.php에서.. external를 internal로 변경하여 사용은 하고 있습니다. 에러 메시지는 없으나.. external로 변경하여 말씀하신대로 수정하여도 그대로이네요… 바쁘신데 답변 주셔서 감사드립니다.:)

  21. @zenguy
    GeoIP 지원 환경에서 제대로 테스트하지 못해서 발생한 문제인듯 하군요.

    우선은 wp-slimstat-ex-config.php 파일의 527라인 부근의
    if ( strpos($ip, '.') === false )

    if ( is_long($ip) )
    로 수정해 보시기 바랍니다.

  22. 서버를 옮기고 나서 새로 생긴 문제점이 있습니다. 어찌 해결 해야 될지 몰라 이렇게 질문 드려 봅니다.

    Warning: Wrong parameter count for geoip_country_code_by_name() in /home1/zenguy/public_html/wp-content/plugins/wp-slimstat-ex/wp-slimstat-ex-config.php on line 530

    위와 같은 에러 메시지를 각 페이지 하단부에 표시하는데… 이전에는 본적이 없는 에러라 당황스럽네요…

    http://yes.byus.net/phpinfo.html 이곳에서 보기에는 geoip 부분에 대해서 정상 지원하는것 같은데… 바쁘실텐데… -_-;; 하하.. 답변 해주시면 감사드리겠습니다. 감기 조심하세요.

  23. 智熏//
    네, 그런데 CIDR포멧이 익숙한 사람들에게는 더없이 편하지만, 처음 접하는 사람들에게는 어려움이 좀 있어서(아이피 시작 지점에 따라 포멧적용이 어려워짐) 단순하게 입력하는 방법도 지원해 보려구요.

  24. hey, just wanted to let you know that the download manager on your site is not handling the latest slimstat-ex zip correctly. I didn’t have any trouble downloading it from the address mentioned in the error code though:)Thanks again for the great plugin

  25. djshadow//
    그랬군요. 저도 원인은 확실히 알 수가 없군요.

    우선 짐작 할 수 있는것은, 자바스크립트와 PHP(또는 Apache) 사이에 데이터를 주고 받는 사이에 encoding 혹은 charset에 변화가 생기는 듯 합니다. 아무래도 서버 설정을 만져줘야 해결 될 듯 하네요.

    우선 이 파일(ajax-slimstat-jquery.zip)을 내려받아서 압축을 푼 뒤, wp-slimstat-ex/js 폴더에 덮어씌우세요.

    브라우저의 캐쉬(임시저장)파일을 삭제한 뒤 테스트 해야만합니다.

    덧) 서버에서 자바스크립트 데이터 소통 시 인코딩을 자동으로 euc-kr이나 다른 charset으로 바꿔버리는게 아닐까요??

  26. 082net//
    사용중인 호스팅 환경은 정확히는 알 수 없습니다만 (호스팅을 받는거긴 하지만 제 아는 동생이 운영하는 서버라… 얘가 응답이 빠르지가 않습니다;) php버전은 5.0을 쓰는것 같습니다. freeBSD로 돌리던가.. 그랬던것같구요.

    검색어에 따옴표가 들어가는 경우는 없었구요, 필터버튼을 클릭해서 검색할때도 같은 문제가 발생합니다. 사실 제 문제점은 필터버튼을 눌렀을때 알게되었습니다. 그리고 1.6*버전일때도 똑같은 문제가 발생했었구요.

  27. djshadow//
    글쎄요… 글자가 깨지는건 인코딩 문제인듯 하고,

  28. 고맙습니다 항상 잘 쓰고있는 플러그인이… 나오자마자 냅다 업데이트했는데, 항상 궁금했던 부분을 묻습니다. ‘피드’나 ‘자세히’부분에 들어가서 검색어를 입력하고 검색을 하게되면, 그 검색어를 찾지 못하고, 검색어 부분에서는 항상 ‘��� /> <select name=’ 이라고 글자가 깨져 나옵니다. 아마도 ‘���’부분이 검색어가 깨져 나와버린 부분같은데… 이것은 무슨 문제인지 궁금합니다.

  29. 이상//
    제가 테스트한 환경도 유사한 환경인데… 이상하군요. 자바스크립트가 아닌 기존의 < ?php include_once(.... 방식을 사용해도 마찬가지 인가요? 추적하고자 하는 프로그램은 어떤것인가요?

    아예 통계가 쌓이지 않는게 아니라, 제외할 아이피만 등록하면 그런 문제가 발생하니... 이상하네요.

  30. 082net

    희한하네요. 전 왜 안될까요. 제 환경은,

    워드프레스는 a.b.com 에 설치되어 있고,
    통계 스크립트를 삽입한 외부 페이지는 b.com 에 있습니다.

    a.b.com 이 실제로 위치한 곳은 b.com/a 디렉토리입니다.

    제외설정에 대충 211.211.211.211 로 넣어봤습니다. b.com 의 어느페이지를 가더라도, 통계에 적용되지 않습니다. 그래서 아이피를 지우고 b.com 에 접속하면 그제서야 통계가 적용됩니다. ;;

  31. 이상//
    제 환경에서 테스트해 봤는데, 이상이 없더군요. 물론, 제외설정에 아이피 등록도 해 보았구요. 등록한 아이피가 어떤것인지 알려주시면 그대로 입력한 다음 다시 테스트해 보도록 할께요.

    혹시 ‘이상’님의 아이피를 입력하신 상태로 테스트하신건 아니시죠?^^;

  32. 저만 그런것인지 모르겠지만, 제외설정에 버그가 있는것 같습니다.

    제외설정에 아무 아이피 하나 입력하면, 자바스크립트를 통한 외부 프로그램 접속 통계가 작동하지 않습니다.

    제외설정에 모든 아이피를 지우면, 자바스크립트를 이용한 외부 프로그램 접속 통계가 잘 작동합니다. 무엇이 문제일까요..

  33. 智熏//
    지난번에 함께 테스트 할 때, 아이피 대역 적용이 잘 되지 않아서 다음으로 미루기로 했었을거에요. 어쨓든, 정규식이나 와일드 카드 문자는 적용되지 않고, CIDR 포멧만 지원하도록 되어있어요. 해당 함수를 bad-behavior에서 빌려왔는데, 최근 버전을 보니 함수내용이 바뀌어서, 다음 버전에 바뀐 내용을 적용하려고 합니다. 시간 나실때 테스트에 도움좀 주세요;-)

  34. 근데 제외될 ip목록에 와일드카드나 정규식을 쓸 수 있는건가요? 그때 영팔님이랑 얘기했던 게 기억이 잘;

  35. unfusion//
    돌아왔다기 보다는…^^; 한번 손을 떼니까 걷잡을 수 없이 시간이 흘러가 버리더라구요. 그동안 미뤄왔던 것들을 하나 둘 정리하고는 있는데, 이러다가 언제 또 손을 놔버릴지 확신이 없네요 ㅋㅋ

  36. astrea//
    에고, [unusual]로 분류되는건 플러그인의 버그입니다. 워드프레스를 웹루트에 설치했을 경우에 발생하는 문제로 보이는군요^^;

    그게.. 그 페이지만 방문하는 경우가 많아놔서 spam 같은 생각이 들어서요

    방문하는경우는 많은데 댓글은 달리지 않는다면, 스팸플러그인(akismet 또는 bad-behavior)에서 막힌경우입니다. 그렇다고해서 그 접근을 모두 스팸으로 분류할수는 없겠죠?;-)

    참고로, Miscellaneous(SS_ETC) Pin 에서는 이 원리를 이용해서 스팸 댓글(트랙백) 아이피를 보여줍니다.

  37. 넵 wp-comments-post.php 맞아요
    그게.. 그 페이지만 방문하는 경우가 많아놔서 spam 같은 생각이 들어서요
    실제 방문자라면 그 페이지로 직접 방문하지 않겠지요;;
    (resource 에서 보면 unusual 로 분류 나오는데..)

  38. astraea//
    다음버전에서는 ‘track mode’를 선택가능하도록 할 생각입니다. wp_footer에 걸쇠(Hook)를 걸어 일반적인 페이지들만 추적하는 방식과 현재의 방식 그리고 wp_footer와 feed 만 추적하는 세가지 방식이 될것이고… 사실 이미 기능은 플러그인에 적용되어있지만, 충분히 테스트를 하지 못해서 살짝 가려놓았어요.

    사설은 그만하고… 생각하신 부분이 맞습니다. 나중에 다시 제거하기 쉽도록 말씀하신 코드의 바로 아래에 아래 내용을 추가하시면 되겠네요.
    [code]if ( $target_table == $SlimCfg->table_feed ) return;[/code]

    comment.php 에 방문하는 것들도 알려주시면^^;

    혹시 wp-comments-post.php를 말씀하시는것은 아닌지요? 이놈은 [add comment] 로 분류되긴 하는디…:roll:

  39. 질문이 있어요-;
    feed 로 방문하는 것들은 통계에 포함되지 않았으면 좋겠는데요
    어떻게 처리하면 좋을가요?
    $target_table = $this->feed_track($stat['resource']) ? $SlimCfg->table_feed : $SlimCfg->table_stats;
    이 부분을 수정하면 되지 않을가 싶긴한데..
    comment.php 에 방문하는 것들도 알려주시면^^;

Comments are closed.