**¿Cuántos hemos visto el famoso bloque llamado "Lo más visto", casi todos cierto?**
En este pequeño post, hablaremos justamente de como obtener las direcciones más vistas de nuestro sitio, basándonos en los reportes generados por [Google Analytics]((http://www.google.com/analytics/)).
Lo primero es tener instalado el [módulo de Google Analytics](https://www.drupal.org/project/google_analytics) y haber colocado nuestro ID en: http://nuestraweb.com/admin/config/system/googleanalytics
Una vez listos, procedemos a descargar la [api de google analytics php](http://code.google.com/p/gapi-google-analytics-php-interface/downloads/list), lo recomendable es crearnos un nuevo módulo y colocar el archivo gapi.class dentro del mismo.
Ahora procedemos a modificar nuestro archivo .module, en el siguiente caso, damos por entendido que nuestras URL, siguen este formato: (http://nuestraweb.com/noticia/titulo_de_noticia ; http://nuestraweb.com/video/titulo_de_video), donde noticia y vídeo son tipos de contenido.
/**
* Helper function to get the most views from google analytics.
*/
function the_links_most_viewed($content_type){
// Incluimos el api.
module_load_include('inc', 'nuestro_modulo', 'gapi.class');
// Colocamos nuestras credenciales.
$googleanalytics_token = 'token_id';
$report_id = 'report_id';
$ga = new gapi(null,null,$googleanalytics_token);
// Si nuestro objetivo es ver los resultados filtrados por el tipo de nodo (sea noticia o sea vídeo) agregamos el siguiente filtro, sino definirla como null.
$filter = 'pagePath=~/\b' . $content_type . '\b/';
// Definimos las métricas y dimensiones a buscar.
$metrics = array('uniquePageviews');
$dimensions = array('pagePath');
// Definimos la manera en que se ordenarán.
$sort_metric = '-uniquePageviews';
// Definimos una fecha inicial y final.
$start_date = date('Y-m-d', strtotime('-5 days'));
$end_date = date('Y-m-d');
// Definimos el índice inicial.
$start_index = 1;
// Cantidad máxima de resultados a obtener.
$max_results = 5;
// Obtenemos el resultado
$the_most_popular = $ga->requestReportData($report_id, $dimensions, $metrics, $sort_metric, $filter, $start_date, $end_date, $start_index, $max_results);
foreach($the_most_popular as $item){
$dimensions = $item->getDimesions();
// Convertimos la URL a la dirección normal, esto es node/$nid
$node_patch = drupal_get_normal_path(substr($dimensions['pagePath'], 1));
// Obtenemos el nid.
$nid = explode("/", $node_patch);
if(is_numeric($nid[1])){
$nodes[] = $nid[1];
}
}
return ($nodes)? $nodes : "";
}
**Conclusión**
Y de esta manera obtenemos las paginas más visitadas, filtrando por el tipo de contenido deseado.