How to install Analytics tracking for Scrapy websites

This is a reminder guide of how to install Google Analytics tracking code for all Scrapy websites.

Tracking code

In the codes below, replace all ocurrences of UA-XXXXXXXX-X by UA-10231918-1 (Scrapy analyitics tracking code).

scrapy.org (Django)

Add this code into the templates/base.html template, before the </body> line.

    <script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script>
    <script type="text/javascript">
    try {
    var pageTracker = _gat._getTracker("UA-XXXXXXXX-X");
    pageTracker._trackPageview();
    } catch(err) {}</script>

dev.scrapy.org (Trac)

Use this Trac template (templates/site.html):

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:py="http://genshi.edgewall.org/" py:strip="">
  <!--! Custom match templates go here -->

  <body py:match="body" py:attrs="select('@*')">

    ${select('*|text()')}

    <script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script>
    <script type="text/javascript">
    try {
    var pageTracker = _gat._getTracker("UA-XXXXXXXX-X");
    pageTracker._setDomainName(".scrapy.org");
    pageTracker._trackPageview();
    } catch(err) {}</script>
  </body>

</html>

docs.scrapy.org (Sphinx)

Append this code to the bottom of docs/_templates/layout.html:

{% block footer %}
{{ super() }}
    <script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script>
    <script type="text/javascript">
    try {
    var pageTracker = _gat._getTracker("UA-XXXXXXXX-X");
    pageTracker._setDomainName(".scrapy.org");
    pageTracker._trackPageview();
    } catch(err) {}</script>
{% endblock %}

hg.scrapy.org (Mercurial)

TBD