Turkish government have blocked some IPs including Google Analytics. This caused all the web sites using alanytics to slow down and even not to load. How can we prevent this problem? How can we skip loading of ga.js if not available?
-
3An interesting close vote. I would consider external javascript loading questions to be programming related, and that's exactly what this problem is.Andy E– Andy E2010-06-08 10:00:52 +00:00Commented Jun 8, 2010 at 10:00
-
Maybe serverfault but I wouldn't think superuser.Douglas Leeder– Douglas Leeder2010-06-08 10:02:46 +00:00Commented Jun 8, 2010 at 10:02
4 Answers
Google offers an asynchronous snippet for their tracking code:
Note that you need to use a different tracking syntax to use it, check the migration guide on the link for details. It also require a browser with support for the HTML5 attribute 'async', so it may not fully solve your problem.
Another solution is proposed in 'Better Google Analytics JavaScript that doesn't block page downloading'
2 Comments
You could try using the defer attribute on a script element to delay loading until the document has been fully parsed.
<script src="http://www.google.com/path/to/analytics.js"
type="text/javascript"
defer>
</script>
I'm not sure if this would affect the analytics scripts adversely, though.
As an aside, the defer attribute is available in newer versions of Firefox, IE6+, Chrome, Safari, Opera.
Comments
It depends how the Turkish government is blocking:
- Connections hang
- Connections are refused
- Packets just black-hole
It's probably 3), so you'll have to detect Turkish IPs and write the page differently to not reference google to fix the problem. At least that's the only solution I can think of at the moment.