A recent addition to Wikidot sites is the ability to check/monitor traffic bandwidth. This comes as Wikidot announced it will be providing a new type of sites — Community Sites, benefiting popular community-driven sites providing them with assistance when needed.
Along with it came the news that Wikidot might start applying traffic usage restrictions depending on your Wikidot plan.
Quote from michal-frackowiak
Another thing is that we are planning to add bandwidth and likely usage limits to Free, Pro Lite, Pro and Pro Plus accounts. Although the limits are far above what an average site generates, some sites will definitely cross that line.
And now, Wikidot has now introduced "traffic usage" statistics will help allow users to monitor their site's bandwidth usage.
The only issue is, there is no way to check these traffic stats from a table. It's currently all muddled in the midst of the sites list here: http://wikidot.com/account/sites But I've written a little script to solve this. My quick Javascript hack will extract all the traffic information and sorts and displays all the sites you're master admin — ranking the highest traffic first.
From | to… |
The Code
Just copy and paste the following code to the browser's address bar when you're on the http://www.wikidot.com/account/sites page.
(Update #2: This is revision 2, fixed bug with Firefox)
javascript:if(!document.location.href.match(/sites/)){ alert("Must run at http://www.wikidot.com/account/sites, click OK to redirect"); window.location.href="http://www.wikidot.com/account/sites"; }else{usageStruct = [];function tobytes(a){if(a.match(/ kB$/)){b = parseFloat(a.replace(/ kB$/,""))*1000;}else if(a.match(/ MB$/)){b = parseFloat(a.replace(/ MB$/,""))*1000*1000;}else if(a.match(/ GB$/)){b = parseFloat(a.replace(/ GB$/,""))*1000*1000*1000;}else if(a.match(/ TB$/)){b = parseFloat(a.replace(/ TB$/,""))*1000*1000*1000*1000;}else{b = parseFloat(a.replace(/ Bytes$/,""));}return b;}$j(".site-traffic .show").each(function(){usageStruct.push({"site":$j.trim($j(this).parent().parent().parent().find(".url").text()),"usage":tobytes($j.trim($j(this).text())),"usagestr":$j.trim($j(this).text())});});usageStruct.sort(function(a,b) { return parseFloat(b.usage) - parseFloat(a.usage) } );usageList = "<table class=\"wiki-content-table\"><tbody><tr><th>Site</th><th>Usage</th></tr>"; $j.each(usageStruct,function(i,v){usageList += "<tr><td>"+v.site + "</td><td>" + v.usagestr +"</td></tr>";});usageList += "</tbody></table>";$j("#page-content").html(usageList);}
Using the code with Firefox (update #3)
There are some browsers that do not allow javascript code to be executed from the address bar (in the context of the document). So, the only way to get around that is to:
- Run the code in the Web Console (Ctrl + Shift + K)
- Firefox > Web Developer > Web Console (Ctrl + Shift + K)
- Save the code as a bookmarklet:
Post preview:
Close preview