administrator  Set.25.2013 0 Comments

Il modulo views è uno degli strumenti più potenti in Drupal. Gli altri CMS lo invidiano, stanno tentando di copiarlo, ma al momento solo il CMS Drupal lo ha a disposizione. In questo articolo vogliamo farvi vedere come con poche righe di codice PHP sia possibile migliorare la propria presenza all'interno dei motori di ricerca sfruttando le viste ed il meta tag description.

Quando andiamo ad effettuare una ricerca all'interno del nostro motore di ricerca preferito (chi ha detto Google ?) sappiamo che ogni risultato che ci viene proposto contiene

  • il titolo

  • l'url della pagina web

  • una descrizione di qualche tipo che ci dovrebbe permette di decidere se quel risultato è interessante oppure è da scartare.

In Drupal possiamo modificare il titolo da visualizzare nel display di tipo “Page” (all'interno della vista), ma molti non sanno che tramite il modulo metatag, ed il suo sottomodulo “Metatag: Views”, è possibile modificare il titolo da visualizzare e definire anche la descrizione da utilizzare che pero' non tiene contro dei filtri di ricerca esposti messi a disposizione dell'utente. Il nostro scopo è quello di utilizzare i valori di questi filtri per creare una descrizione più dettagliata.

La prima cosa da fare è quella di scaricare ed installare il modulo metatag con la solita procedura di installazione dei moduli di Drupal, che non stiamo qui a spiegarvi per l'ennesima volta tanto la conoscete tutti. Attenzione: il modulo metatag richiede il modulo token.

Una volta installato il modulo dobbiamo attivare il modulo principale Metatag ed il sotto-modulo Metatag: Views. Senza il sottomodulo “Metatag: Views” attivo il meta tag “description” viene compilato prendendo le prime parole del corpo della pagina (per un massimo di circa 150 caratteri) e non sempre questo è quello che a noi serve. Molto spesso vogliamo e dobbiamo far si che questo testo sia diverso dal corpo della pagina perché, specialmente nelle pagine di listing, le prime parole non sono mai utili al nostro scopo. In alcuni casi sono parte del primo annuncio e non fanno proprio al nostro caso.

Il sottomodulo Metags: Views contiene molte direttive che possiamo andare ad analizzare e modificare come i token per decidere, ad esempio, come costruire il campo TITLE o l'ABSTRACT. Potremmo anche decidere che le viste non devono essere indicizzate o che è necessario definire le parole chiavi da utilizzare per il servizio di Google News. Anche se per realizzare il nostro obbiettivo non ci interessa modificare nulla, un giretto fa sempre bene. Prima che qualcuno invii un commento sul perché non sono stati utilizzati i token per creare il codice alla base della descrizione rispondo subito che lo scopo di questo articolo è quello di far vedere come con poche righe di PHP sia possibile modificare un campo molto importante lato SEO, senza che per forza sia necessario conoscere una funzionalità complessa come i token di Drupal.

La prima cosa che dobbiamo fare è definire un testo che rappresenti il default della descrizione della nostra vista: andiamo in modifica della nostra vista e clicchiamo su “edit view name/description”

 

Si aprirà la finestra con le 3 impostazioni modificabili e nel campo “View description” inseriamo la descrizione di default per la vista. Questo punto è importante perché senza la definizione di una scritta in questo campo, avremo poi un problema con la definizione e visualizzazione di quella dinamicamente costruita.

 

Una volta che abbiamo inserito la descrizione di default salviamo la nuova descrizione e salviamo la vista. Per testare che la descrizione sia inserita correttamente nel display “Page” della nostra vista dobbiamo solamente visualizzare la pagina dei risultati della view, richiedendo i sorgenti al browser; se troviamo la scritta

<meta name="description" content="LA NOSTRA DESCRIZIONE DI DEFAULT”>

allora la descrizione, di default generica e per nulla dinamica, per il miglioramento del SEO, è attiva e funzionante.

 

In caso contrario controlliamo per bene i settaggi del modulo metatag, controlliamo di aver salvato la descrizione dentro la vista e cancelliamo la cache di drupal dalla pagina delle prestazioni.

 

Ora che il meta tags description è attivo e funzionante per le viste vediamo di modificarlo a nostro piacimento, creando un piccolo modulo che ci aiuti in questo. Prendiamo come situazione di esempio:

  • la necessità di modificare la descrizione della pagina di listing degli articoli di un blog,

  • la presenza in questa pagina di una filtro esposto basato su un campo dei post del blog che ci permetta di referenziare (legare) una categoria.

  • la volontà di inserire anche il numero di post della categoria scelta.

 

Partiamo dal file delle informazioni del modulo (zbl_views.info):

name=Utility
description = Varie utility
core = 7.x
package = ZbLabs version = "7.x-0.1"
 
E passiamo al contenuto del modulo vero e proprio (zbl_views.module):
name);

  if ($view->name == 'prova_per_view') {
    if (is_numeric($view->filter['field_categoria_tid']->value[0])) {
        $tax = taxonomy_term_load($view->filter['field_categoria_tid']->value[0]);
        $name = "dedicati a ".$tax->name;
      }
    else $name = '';
      
    $nr = $view->total_rows;
    $view->description = "Non ti perdere nessuno dei nostri $nr post $name"; 
  }
}

 

Cerchiamo di capirne il funzionamento: il nostro codice è all'interno dell'hook_view_post_render() che permette di effettuare delle operazioni dopo che la view è stata creata in html. La prima riga effettua un controllo sul nome della vista così da permetterci di modificare solamente la vista che ci interessa e non tutte le views (cosa che sarebbe sbagliata); vi ho lasciato un commento che mostra a video il nome della vista nel caso non riusciate a trovarlo. Il successivo IF controlla che il filtro su cui andremo a lavorare sia di tipo “numerico” così da eliminare possibili errori (voluti o meno), caricando il termine tassonomico associato. La prima riga successiva all'IF utilizza una variabile di appoggio per registrare il numero totali di post trovati, che è diverso dal numero di post che vengono visualizzati all'interno di una pagina. L'ultima riga riscrive la descrizione rendendola dinamica rispetto alle scelte dell'utente visualizzatore.

 

Anche in questo caso per vedere che tutto funzioni correttamente dobbiamo solo controllare che all'interno dei sorgenti della pagina della vista ci sia il campo meta tag description e che il suo contenuto sia il nostro testo dinamico. Ovviamente prima dovete attivare il modulo.

Prima proviamo a vedere senza nessuna categoria selezionatae

poi con una categoria attiva come filtro

 

Finito. In appena 12 righe siamo passati da una descrizione generalista (quella definita all'interno della vista) ad una più dettagliata che ci permette di andare a gestire meglio la ricerca per parole chiavi all'interno dei motori di ricerca.