@anonymous-piwik-user opened this issue on August 10th 2009

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

a) Added Google Zimbabwe (www.google.co.zw) b) Updated URL of Metager (meta.rrz.uni-hannover.de). 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 commented on August 10th 2009

Attachment: Patch against /core/DataFiles/SearchEngines.php piwik-se.patch

@robocoder commented on August 14th 2009

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

@anonymous-piwik-user commented on August 14th 2009

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_*.

@robocoder commented on August 14th 2009

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];
+       }
        if(!is_array($variableNames))
        {
            $variableNames = array($variableNames);
@robocoder commented on August 16th 2009

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

In [1403], fixes #916 - add www.google.co.zw and update Metager

@robocoder commented on September 12th 2009

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...)

This issue was closed on September 12th 2009
Powered by GitHub Issue Mirror