If you noticed that your Piwik has stopped working when enabling SSL or it never worked in the first place using https, you may be having issues with the protocol. Most hosts only allow SSL for one subdomain (usually www) unless you order an expensive package so if you happened to install Piwik on a subdomain (say analytics.example.com) while SSL will work, an exception will need to be made as the certificate doesn't match the exact URL. Because of this, piwik will not load the scripts correctly. Luckily this is simple fix.
Overview:
Step 1:
To make sure that SSL is a problem you have to try to load the piwik.js file from your installation folder using both https and http. By default, mine was trying to use https and it was showing something similar below in firebug. If it shows the piwik.js source code then this is not your issue.
Alternatively you can open the file in the browser by going to:
If you get a confirm secuirty exception (in firefox) or if you get a message similar to the picture above, then this is indeed an SSL problem.
Step 2:
To fix this, all that is needed is to change the tracking code snippet to always use http instead of http. Your tracking code should look similar to below:
All that is needed is to change the pkBaseURL to always be http://analytics.example.com/ so change the pkBaseURL line to:
And that's it, save your changes and retry!
Overview:
- Make sure SSL is the problem
- Update the tracking script
Step 1:
To make sure that SSL is a problem you have to try to load the piwik.js file from your installation folder using both https and http. By default, mine was trying to use https and it was showing something similar below in firebug. If it shows the piwik.js source code then this is not your issue.
Alternatively you can open the file in the browser by going to:
https://analytics.example.com/piwik.js
If you get a confirm secuirty exception (in firefox) or if you get a message similar to the picture above, then this is indeed an SSL problem.
Step 2:
To fix this, all that is needed is to change the tracking code snippet to always use http instead of http. Your tracking code should look similar to below:
<!-- Piwik -->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://
analytics.example.com
/" : "http://
analytics.example.com
/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img
src="http://analytics.example.com/piwik.php?idsite=1" style="border:0"
alt="" /></p></noscript>
<!-- End Piwik Tracking Code -->
All that is needed is to change the pkBaseURL to always be http://analytics.example.com/ so change the pkBaseURL line to:
var pkBaseURL = (
"http://
analytics.example.com
/");
And that's it, save your changes and retry!
Hi this post helped me to fix my problem, although the actual probelm is that my page was technically on a subdomain eg www.example.something.com even though really it should be just www.something.com
ReplyDeleteThis was having some weird effects and leading me to a different page not owned by me
I confirmed this by seeing a security message from chrome when trying to access the page that piwik was using.
All I had to do was go into my hosting cpanel and redirect www.example.something.com to www.something.com
Then I was able to go to the wordpress plugin wp-piwik and use the rest url as www.something.com (before I had to use www.example.something.com because of problems with it in hostgator)
Sorry if that makes no sense, hope it helps someone
I doubt that this will _really_ solve your problems. Or to rephrase: you will probaly get new problems. At least IE will moan at your users that there are unsecure scripts in your page.
ReplyDelete