Jump to content

Modul SEKEYWORDS nedetekuje všechny klíčová slova z URL


softpro

Recommended Posts

Modul pro rozpoznání klíčových slov z příchozí url na můj eshop (např. ze ZBOZI.CZ uživatel dá hledat nějaké zboží a pak klikne na náš zobrazený odkaz) a Presta (v. 1.2.5) rozpozná jen když je v odkazující URL adrese uvedená proměnná pro hledání (podle nastavení v AdminSearchEngines) "q=" za"&" a ne za "?":

 

 

...http://www.zbozi.cz/?q=keyword .... nerozpozná "keyword"

 

...http://www.zbozi.cz/?typ=nabidky&q=keyword .... rozpozná "keyword" a uloží do databáze a je vidět ve statistice...

 

Koukal jsem i na novější verze Presty (1.4.xx, 1.5.3.x) a kod funkce getKeywords je v jádru stejný....

 

 

function getKeywords($url)

{

if (!Validate::isAbsoluteUrl($url))

return false;

$parsedUrl = parse_url($url);

$result = Db::getInstance()->ExecuteS('SELECT `server`, `getvar` FROM `'._DB_PREFIX_.'search_engine`');

foreach ($result as $index => $row)

{

$host =& $row['server'];

$varname =& $row['getvar'];

if (strstr($parsedUrl['host'], $host))

{

$kArray = array();

preg_match('/[^a-z]'.$varname.'=.+\&'.'/U', $parsedUrl['query'], $kArray);

if (!isset($kArray[0]) OR empty($kArray[0]))

preg_match('/[^a-z]'.$varname.'=.+$'.'/', $parsedUrl['query'], $kArray);

if (!isset($kArray[0]) OR empty($kArray[0]))

return false;

$kString = urldecode(str_replace('+', ' ', ltrim(substr(rtrim($kArray[0], '&'), strlen($varname) + 1), '=')));

 

return $kString;

}

}

}

 

Jak to upravit, aby to rozpoznalo obojí ?

Díky

Nikdo prosím neřeší statistiky prokliků z vyhledávačů na Prestu ?

Edited by softpro (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...