0

I find it annoying to paste in the Google code for the tracker at the end of each page.

Is there a way to have Apache deliver the <script> with each *.htm and *.php file downloaded?

4

If you use Google PageSpeed Module you could set in the .htaccess:

ModPagespeedEnableFilters insert_ga
ModPagespeedAnalyticsID <Analytics ID>

See details here.

2

This is certainly possible via Apache. You can use the add-handler to add an action for all .htm or .php file on a per server, per directory or even in .htaccess.

Action add-footer /path/to/footer.cgi
AddHandler add-footer .htm

Where footer.cgi is a script which will add the footer to the file.

You can also do this within the php processing (although it would then only work for php files) using

php_value auto_append_file /path/to/footer.php

This will add the code in footer.php to your PHP code.

3
  • It doesn't actually matter where the GA code is executed; browsers will execute JavaScript placed after </html>, even.
    – Yahel
    Feb 16 '11 at 19:14
  • Ah ha, I didn't try it, but sounds right. Feb 16 '11 at 20:02
  • 1
    @yc01 of course dropping a script block outside the main html block wouldn't be what you'd call valid (x)HTML. Feb 17 '11 at 1:28
0

We solved this problem a year ago by writing a module. It looks like someone else did this as well: https://github.com/dragon3/mod_google_analytics.

This is especially useful if you are front-ending an application you can't modify or something in tomcat you don't want to tweak.

After looking at that module, it seems like they don't check for text/html.. which might mean the module could trash your binary content if you don't use AddOutputFilterByType .. text/html. Be warned!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.