Avoid Google keyword detection picking up Firefox ‘aq=’
For those of you who are monitoring or stripping keywords from referrer strings from Google you may be seeking out the query string parameter ‘q=’.
Beware that a simple string match on ‘q=’ could lead you to match on the additional Firefox parameter ‘aq=’. This appears in a Google referrer string if the search terms were originally searched for from the Firefox searchbar.
The aq=t parameter was added by Mozilla in 2006 at the request of Google.
Make sure that any string matching you’re doing is looking for a preceeding ampersand (&) or question mark (?) so that you match the ‘q=’ parameter correctly.
If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.



Good point there Jon. I’ve been using the following snippet to detect these things…
http://tinypaste.com/2247d
// GET AND LOG QUERYSTRING FROM REFERER
if ($_SERVER['HTTP_REFERER']){
$refer = $_SERVER['HTTP_REFERER'];
$referrer_url = $refer;
if (strstr($referrer_url, "google")) {
$sitefrom = "Google";
$ptn = '![?&]q=([^&.]*)!';
} else if (strstr($referrer_url, "yahoo")) {
$sitefrom = "Yahoo";
$ptn = '![?&]p=([^&.]*)!';
} else if (strstr($referrer_url, "msn")) {
$sitefrom = "MSN";
$ptn = '![?&]q=([^&.]*)!';
}
if (preg_match($ptn, $referrer_url, $matches)) {
$qstring = urldecode($matches[1]);
logaction("arrived from " . $sitefrom .", searched for '" . $qstring . "'");
}
}