Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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?

share|improve this question

2 Answers 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.

share|improve this answer
    
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. –  Dave Drager 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. –  Jeff Albert Feb 17 '11 at 1:28

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!

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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