Given that a link to the page in the Google index can appear in the form: [somedomain.com...] (fictional) and given that a link from inside my web pages to the same page can also appear the same way....
Is there some way for me to tell when a visitor comes to a given page on my site from clicking on a Google search verses by clicking on one of the internal links on my site?
Without relying on the HTTP_REFERER variable which is notoriously unrealiable and not always set by all browsers? For example I have Opera set to never give out referrer info.
As far as my site is concerned a URL request from Google looks the same as a URL request initiated by clicking on one of the links on my site pages.
Does anyone know of a technique to differentiate them reliably?
The referer field is not 100% accurate, but I wouldn't exactly call it "notoriously unreliable". If you throw out the effect of web robots, which don't usually populate this field, I'd say it's about 90-95% accurate, which is higher than any other method you're likely to come up with.
Sometimes you can get both, sometimes one of them and none a lot of times....
I agree with jomaxx and also wouldn't call it "notoriously unreliable".
Thanks to you both for restoring some of my confidence in the HTTP_REFERER variable (though not much :)).
I guess "notoriously unreliable" was a bit too strong :).
In this case I may have to settle for 90-95% certainty and rely on the HTTP_REFERRER variable to tell me whether a URL request is coming through Google or from inside my site. I'm not sure that this 90-95% is accurate in my case though. Over time it has seemed that the referer value has been set more like 75-80% of the time. But that may not be typical of most Internet surfers. My traffic tends to be more technolically savy and to have the setting of this variable off.
Though now that you mention it, it does seem to almost always be set by Google. Which makes it useful for detecting Google accesses.