Come e perchè mostrare contenuto aggiornato all’utenza

0
633
mostrare contenuto aggiornato

Guardando i diversi articoli pubblicati in passato su posizionamento-seo mi sono reso conto che alcuni, pur portando ancora visite, sono obsoleti e trattano tecnologie, informazioni tecniche o dati che oramai, passando il tempo potrebbero non essere più validi e superati.

Per questo quindi sarebbe opportuno segnalare quale contenuto è aggiornato e quale no, ma come è facilmente immaginabile, quando si hanno molti siti web da gestire è opportuno provare ad automatizzare questa operazione.

Mostriamo automaticamente un messaggio di contenuto non aggiornato su #Wordpress Condividi il Tweet

Perché segnalare il contenuto aggiornato

In genere, per soddisfare al meglio il bisogno degli utenti di un sito web e aumentare l’usabilità dei nostri contenuti, è opportuno avvertire quando un contenuto:

  • è stato aggiornato;
  • non è più utile in quanto datato;

In particolare, per i contenuti vecchi e oramai obsoleti, è necessario avvertire che i dati forniti potrebbero non essere più validi in quanto:

  • l’utenza potrebbe arrivare direttamente sulla pagina dal motore di ricerca, i contenuti vecchi infatti, se offrono informazioni rilevanti, si posizionano meglio;
  • non tutti i visitatori guardano la data in cui l’articolo è stato pubblicato e prendono le informazioni come valide;
  • alcuni utenti guardano la data di pubblicazione dell’articolo solo dopo averlo letto e aver dedicato del tempo a un contenuto che, in alcuni casi, potrebbe essere poco utile in quanto non più valido;
  • segnalando il contenuto non più aggiornato eviteremo una possibile percezione negativa dell’utenza nei nostri confronti, per colpa delle informazioni inservibili fornite o del tempo che abbiamo richiesto per la lettura dell’articolo non più valido;

Nel dettaglio vi sono delle tipologie di siti con articoli che nel tempo diventano non più validi. In particolare lo sono i siti web di:

  • tecnologia;
  • siti di annunci (lavoro, immobiliari, automobili, etc);
  • informazioni e news (alcune possono diventare non più valide con il tempo);
  • promozioni, codici sconto e groupon;

Come avvisare l’utenza di contenuto vecchio

Quando aggiorniamo un contenuto è opportuno inserire un messaggio per avvertire i visitatori che alcune informazioni sono state modificate, aumentando così l’usabilità delle nostre pagine e l’esperienza utente.

Nel caso di contenuto vecchio e non più modificato è opportuno effettuare la stessa azione, inserendo un box con del testo a spiegare di come l’articolo possa non essere più valido a causa di una pubblicazione effettuata X mesi fa.

Automatizzare la segnalazione di contenuto scaduto su WordPress

Per provare ad automatizzare la segnalazione di contenuto vecchio, e in alcuni casi non più valido, su posizionamento-seo.com, sito web realizzato su CMS WordPress, ho creato una funzione che vado a richiamare all’interno del file del template che genera gli articoli.

Il funzionamento è molto semplice:

  1. Analizzo se l’articolo non è valido a prescindere dello scorrere del tempo
  2. Recupero la data corrente
  3. Recupero la data dell’ultimo aggiornamento del post
  4. Effettuo una differenza tra le date
  5. Se la differenza è superiore ad un intervallo prestabilito mostro il messaggio di “articolo vecchio”

In pratica il risultato finale è come da immagine a seguire:

alert contenuto non aggiornatoI più curiosi possono ad esempio analizzare un articolo in cui la funzione viene eseguita.

Vediamo come fare nel dettaglio.

Scelta di analisi della validità dell’articolo

Partiamo dal presupposto che alcuni articoli possono essere validi a prescindere dall’avanzare dei giorni. Nel caso di posizionamento-seo.com sono ad esempio le pagine portfolio, le pagine di servizio, gli articoli di informazioni generali e di alcuni argomenti “evergreen”.

Per questo ho realizzato una variabile personalizzata (che ho chiamato “controllo”) e, dopo aver selezionato gli articoli “sempre validi”, l’ho assegnata.

La funzione che analizzerà se mostrare o meno il messaggio di articolo vecchio verrà eseguita solamente se questa variabile non è presente.

if(!get_post_meta($post->ID, 'controllo', true)){
echo NoContentUpdate();
}

Come potrete capire la funzione NoContentUpdate() è quella che effettua l’analisi dell’anzianità dell’articolo e nel caso restituisce un messaggio.

L’istruzione condizionale if va inserita dove volete far comparire, il box di avvertimento.

Nel mio caso l’ho inserita nel file che genera gli articoli che, solitamente, è il file single.php. Di mio ho scelto di far comparire il box tra l’immagine sponsorizzata e il contenuto dell’articolo.

Recupero la data corrente

Ho inserito poi una nuova funzione nel file function.php (sempre del child theme) in cui come prima azione vado a recuperare la data corrente, formattandola in modo da compararla con la data di aggiornamento dell’articolo e passandola all’oggetto DateTime:

$_dataOra = new DateTime(date("Y-m-d"));

Recupero la data dell’ultimo aggiornamento

Il CMS WordPress tiene traccia dell’ultima modifica effettuata ad un articolo, aggiornando la data di update. Recupero questo valore grazie ad una funzione del codex (get_the_modified_date()) e la passo ad una nuova instanza dell’oggetto DateTime:

$_dataMod = new DateTime(get_the_modified_date("Y-m-d"));

Differenza tra le date

Effettuo la differenza tra le date grazie ad un metodo dell’oggetto DateTime:

$interval = $_dataMod->diff($_dataOra);

Analisi della differenza e box del messaggio

Effettuo poi una comparazione tra la differenza delle date, dopo averla convertita in giorni. Grazie ad una basilare istruzione condizionale analizzo se sono più di tre mesi che l’articolo è pubblicato, analizzando in termini di giorni, e nel caso mostro un messaggio all’utenza che avverte da quanti mesi il contenuto non è stato aggiornato. Per questo riutilizzo lo stesso metodo, ma formattando il risultato sui giorni. Più facile da fare che spiegarlo:

if($interval->format('%a')>180){
$_content = 'Questo articolo non è più aggiornato da almeno '.$interval->format('%m').' mesi perciò verifica le informazioni che vi sono contenute in quanto potrebbero essere obsolete.';
}

Con $interval->format('%a') formatto la differenza tra le due date in termini di giorni, con $interval->format('%m') in termini di mesi.

La funzione, completa sarà quindi così:

function NoContentUpdate(){
$_content = '';
$_dataOra = new DateTime(date("Y-m-d"));
$_dataMod = new DateTime(get_the_modified_date("Y-m-d"));
$interval = $_dataMod->diff($_dataOra);
if($interval->format('%a')>180){$_content = '<span class="alerArticol">Questo articolo non è più aggiornato da almeno '.$interval->format('%m').' mesi perciò verifica le informazioni che vi sono contenute in quanto potrebbero essere obsolete.</span>';}
return $_content;
}

Alcuni consigli

  • provate questa funzione in locale, prima di pubblicarla sul sito online o rischiate di bloccare la visualizzazione di parte del contenuto;
  • inserite le porzioni di codice su tema child, o la prima volta che aggiornerete il tema perderete il lavoro effettuato;
  • questo script funziona con (requisiti minimi) PHP 5.2.2 e WP 2.1;
  • inserite con tranquillità le variabili personalizzate o da database o dal pannello di amministrazione di WordPress, aggiornando così in automatico la data di update del post e bloccando la visualizzazione del messaggio di anzianità dell’articolo. Ma del resto le variabili vanno inserite negli articoli di cui NON volete far comparire il messaggio;
  • se aggiornate un articolo il box non comparirà più, per cui fate attenzione a modificare o avvertire l’utenza delle vostre azioni e quali informazioni sono valide e quali no.
Come e perchè mostrare contenuto aggiornato all’utenza
4.5 (90%) su 2 voti

CONDIVIDI
Nato con la passione per l'informatica da mamma Access e papà ASP nel 2002 rinnego repentinamente la mia paternità facendomi adottare da papà PHP e mamma SQL. Allevo HTML e correlati fiori in CSS mentre vedo i frutti del mio orticello SEO crescere grazie alla passione e alla dedizione della coltura biodinamica; perchè il biologico è fin troppo artificiale. Realizzo siti internet a tempo pieno, nei restanti momenti mi occupo di redigere articoli per questo sito e saltuariamente far esperimento nel mare che è internet.

LASCIA UN COMMENTO