Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


Changes to /core/DataFiles/SearchEngines.php #916

anonymous-piwik-user opened this Issue · 6 comments

2 participants

Anonymous Piwik user Anthon Pang
Anonymous Piwik user

Attached is a patch against /core/DataFiles/SearchEngines.php with the following changes:

a) Added Google Zimbabwe (
b) Updated URL of Metager ( The old URL does not work anymore, so I think it's safe to replace it.
c) Added parameters as_q and as_epq for everything Google. These parameters are used by search appliances (instead of the usual q) and I've seen them for some, but not all Google sites. It seems wise to add them for all Google sites, though.

Anonymous Piwik user

Attachment: Patch against /core/DataFiles/SearchEngines.php

Anthon Pang

Is this level of duplication necessary? If so, I'd prefer a code patch to eliminate the need for such duplication.

Anonymous Piwik user

Well, as I said, I've seen the as_* strings only for some Google sites. That I don't see them for all of Google doesn't mean that they are not in use at most of Google, though. I have no idea how much performance it costs to have an array instead of a string as the parameter, so you have to decide what to do here (or maybe you can give some insight into it?).
Fact is, that you miss a lot of search requests, if you do not include these additional parameters at all (depending on where your search requests come from of course), so the minimum policy should be, that they will be included, if we know that they are in use (i.e. we've seen them).

I'll upload two new patches later today. Both with less code duplication and one with the additional parameters applied only to those Google sites where I've actually seen as_*.

Anthon Pang

To clarify... I would prefer to see less duplication of the keyword string (or array) in core/DataFiles/SearchEngines.php. Can we make it optional (either undefined or set to false), similar to the path (3rd array element). So, in core/Common.php, we could use something like this: (untested)

Index: Common.php
--- Common.php  (revision 1384)
+++ Common.php  (working copy)
@@ -773,6 +773,11 @@
        $searchEngineName = $GLOBALS['Piwik_SearchEngines'][$refererHost][0];
        $variableNames = $GLOBALS['Piwik_SearchEngines'][$refererHost][1];
+       if(!isset($variableNames) || $variableNames === false)
+       {
+           $url = $GLOBALS['Piwik_SearchEngines_NameToUrl'][$searchEngineName];
+           $variableNames = $GLOBALS['Piwik_SearchEngines'][$url][1];
+       }
            $variableNames = array($variableNames);
Anthon Pang

In [1404], refs #916 - optional query parameters

In [1403], fixes #916 - add and update Metager

Anthon Pang

Deferring the addition of as_q and as_epq as these can both appear in query at the same time; doing this right means coding some Google-specific URL parser. (Could possibly also address as_oq and as_eq at that time...)

Anonymous Piwik user anonymous-piwik-user added this to the Piwik 0.4.4 milestone
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.