2010-01-19 15 views
3

Le compteur de pages vues sur chaque page MediaWiki semble être un excellent moyen d'identifier les pages populaires qui méritent d'être mises à jour et utiles, mais j'ai rencontré un problème.Comment puis-je faire en sorte que MediaWiki ignore les pages vues d'un système Google Search Appliance?

Nous utilisons un Google Search Appliance pour indexer notre installation MediaWiki. Le problème que j'ai est que le GSA incrémente le compteur d'affichage de page chaque fois qu'il explore la page. Cela domine complètement les statistiques, submergeant les vues faites par les utilisateurs réels.

Je sais comment reset the page counters pour recommencer. Mais existe-t-il un moyen de configurer MediaWiki pour qu'il ignore les demandes de pages de la GSA afin de compter les pages vues?

Répondre

3

cela peut être fait en ajoutant une condition dans Article.php:

includes/Article.php: 2861: viewUpdates fonction():

if(!$wgDisableCounters && !$wgUser->isAllowed('bot') && $this->getID()) { 

ajouter:

&& strpos($_SERVER['HTTP_USER_AGENT'], 'gsa-crawler') === false 

où gsa-crawler fait partie du gsa UA par défaut ...

est une autre façon de configurer l'authentification par formulaire dans GSA, et avoir à vous connecter wikimedia en tant qu'utilisateur dans le groupe bot ..

+0

Fonctionne parfaitement! Notez que vous n'avez pas besoin de pirater le code directement - j'ai ajouté cette condition supplémentaire à LocalSettings.php, donc il est maintenable dans toutes les mises à jour de version. –

3

Nous avons ajouté cet extrait LocalSettings.php, avec beaucoup de succès:

if (strpos($_SERVER['HTTP_USER_AGENT'], 'gsa-crawler') !== FALSE) { 
    $wgDisableCounters = TRUE; 
} 

Merci!