• User Attivo

    Problemi con Rich Snippet per la data

    Ciao,

    ho implementato, per il sito finanziamentipergiovani . it, i microdati per il "set Article".

    Nello specifico, per la pagina finanziamentipergiovani . it / incentivi-imprenditoria-femminile.html, ricevo un solo errore per l'oggetto "datePublished". Nonostante abbia usato lo stesso schema PHP dell'oggetto "dateModified" ricevo un errore (dal tool developers.google . com /structured-data/testing-tool/).

    Da che può dipendere? Posto qui il codice che ho usato:

    
    
    <div itemscope itemtype="http : // schema . org/Article" style="width: 740px; margin: 30px 0px 0px 0px;">
    
    
    <img itemprop="image" style="width: 150px; margin: margin: -4px 20px 0px 0px; float: left;" src="URL" />
    
    
    <p itemprop="headline"><?php echo $this->escape($this->article->title); ?></p>    
    
    
    Data di pubblicazione: <span itemprop="datePublished">  <?php echo JHTML::_('date', $this->article->created, JText::_('DATE_FORMAT_LC2')); ?>  </span> </br>    
    
    
    Ultimo aggiornamento: <span itemprop="dateModified">  <?php echo JHTML::_('date', $this->article->modified, JText::_('DATE_FORMAT_LC2')); ?> </span>     
                  
    </div>
    
    
    

    Grazie


  • Moderatore

    @ElaMedia: microdati messi male al di là della marcatura, proprio per semantica. Devi marcare un "oggetto" che si chiama Article e che coincide con il tuo articolo e non con un div che contiene le sole itemprop di interesse (headline, data, ... ). Queste itemprop devono essere incluse nell'Article , ma quet'ultimo deve corrispondere al tuo contenuto "articolo". Con la marcatura fatta da te in questo momento il tuo articolo è il seguente:

    
    <div itemscope itemtype="http://schema.org/Article" style="width: 740px; margin: 30px 0px 0px 0px;">
    <img itemprop="image" style="width: 150px; margin:     margin: -4px 20px 0px 0px; float: left;" src="http://www.finanziamentipergiovani.it/templates/jw_clean_pro/images/logo.png" />
    <p itemprop="headline">Incentivi per l'imprenditoria femminile: una guida completa</p>	
    Data di pubblicazione: <span itemprop="datePublished">  Giovedì 06 Gennaio 2011 10:56  </span> </br>	
    Ultimo aggiornamento: <span itemprop="dateModified">  Giovedì 09 Ottobre 2014 09:53 </span>
    </div>
    
    

    Sia schema.org sia Joomla con DATE_FORMAT_LC2 adottano lo standard ISO8601 e da questo punto di vista non dovrebbero esserci problemi per la data.
    Mi sorge il dubbio che Google richieda un diverso formato per la data di pubblicazione rispetto a quello visualizzato dal tuo template con DATE_FORMAT_LC2, ma sempre ISO8601. In questo caso dovresti modificare il formato da Joomla agendo nel file .INI della lingua. Se non riesci a trovare il file e/o non risolvi fammi sapere e verifico. :smile5:


  • User Attivo

    Ciao e grazie della cortese risposta.

    Per quanto riguarda la semantica hai ragione: mi rendo conto che dovrei associare i diversi item ai diversi oggetti all'interno della pagina. Il problema è che ho cercato di farlo una volta per sito, agendo sul file default.php e non direttamente all'interno del singolo articolo. Questo ha creato un piccolo problema: mettendo il

    <div itemscope itemtype="http : // schema . org /Article" >
    

    all'inizio del file default.php e

    </div>
    

    alla fine del medesimo file, il tool di verifica non mi riconosceva nessun tipo di microdato all'interno di nessun articolo. Allora mi sono inventato questa soluzione. In pratica metto a fine pagina il richiamo di tutti i microdati dell'articolo. Graficamente viene anche carino, con il logo piccolo del sito, il titolo del pezzo e le varie date di pubblicazione e aggiornamento. Dici che alle lunghe potrebbe essere considerato un errore grave? Il tool non mi dà errori se non per la data di pubblicazione. Nonostante usi la stessa formula di quella usata per la data di aggiornamento.

    Qui nasce il secondo problema. Come faccio a cambiare lo standard? Qual è il file che devo modificare e dove lo trovo? Scusami ma è la prima volta che mi cimento con una cosa del genere.

    Grazie


  • Moderatore

    Il tool non ti dà errore ma non associa il tuo vero articolo all'article, bensì soltanto quel div.


  • User Attivo

    e questo a cosa potrebbe portare come conseguenza?

    io confesso che sto facendo tutto questo lavoro per vedere in SERP la data di ultimo aggiornamento associato al titolo e alla meta description del mio articolo. Aggiornandoli spesso credo che potrebbe dare una buona spinta al CTR in serp...


  • Moderatore

    ... e questo a cosa potrebbe portare come conseguenza?
    Immagina di avere nella pagina un articolo, come nel tuo caso, e di volere comunicare ad una macchina come Google che il tuo è proprio un articolo.
    Google capisce "la lingua" di schema.org e decidi di usare quella.
    Schema.org ti dice di marcare il tuo articolo nel modo che conosci e che tu stesso hai usato (a proposito, quando usi il tag *code *sul Forum GT non preoccuparti dei caratteri speciali perché vengono riscritti, quindi inserisci pure tra i tag code i link senza spazi; fuori dalla coppia di tag code ovviamente devi aggiungere gli spazi):

    
    <div itemscope itemtype="http://schema.org/Article">
    
    

    Il modo più semplice di inserire questa marcatura è farlo su un elemento HTML (*div *o article) che include l'articolo. Non puoi marcare con schema.org/Article una cosa che non è l'articolo, sarebbe un po' come inserire l'immagine di una scimma e scrivere sotto che è un coccodrillo! 😄

    Per fare questa cosa con i microdata si possono usare metodi diversi, ma il più gettonato consiste nel modificare i file php del template.

    Qual è il file che devo modificare e dove lo trovo?

    Questo dipende da dove vuoi inserire i microdata. Del tutto in generale dovrei suggerirti di modificare tutti i file php collegati alle viste (i template) che vengono usati sul tuo sito, a partire dalla visualizzazione del singolo articolo (e poi visualizzazione blog e tutte le altre viste).

    Se non ti dico quale file devi modificare è solo perché non sono sul tuo spazio web e non posso sapere quale sia la struttura del tuo template. Posso però darti una dritta: tra i file php più gettonati ci sono quelli del com_content, il componente del core di Joomla! che mostra articoli e categorie: partire da questi file è una buona idea, poi deciderai se hai bisogno di modificare anche altri php.

    Un'idea dei file "di template" del com_content puoi fartela guardando in questa folder: root/components/com_content/views/ .
    Questi file vengono sovrascritti dai rispettivi file del template (quelli che trovi in root/templates/tuotemplate/html/com_content/ .
    Il file del singolo articolo nel tuo template potrebbe quindi essere: root/templates/tuotemplate/html/com_content/article/default.php .

    ... vedere in SERP la data di ultimo aggiornamento associato al titolo e alla meta description del mio articolo ...

    Fammi pensare a una soluzione veloce. Non ricordo se te l'ho già chiesto: finanziamentipergiovani . it con quale versione di Joomla è stato fatto?


  • User Attivo

    considera che il file .php da modificare lo conosco e l'ho modificato: è quello che si trova nel percorso finanziamentipergiovani .i t/ components/com_content/views/article/tmpl/default . php. Il motivo per cui ho inserito il codice:

    
    <div itemscope itemtype="http: // schema. org/Article" style="width: 740px; margin: 30px 0px 0px 0px;">
    <img itemprop="image" style="width: 150px; margin: -4px 20px 0px 0px; float: left;" src="http: // www . finanziamentipergiovani.it/templates/jw_clean_pro/images/ logo . png" />
    <p itemprop="headline"><?php echo $this->escape($this->article->title); ?></p>    
    Data di pubblicazione: <span itemprop="datePublished">  <?php echo JHTML::_('date', $this->article->created, JText::_('DATE_FORMAT_LC2')); ?>  </span> </br>    
    Ultimo aggiornamento: <span itemprop="dateModified">  <?php echo JHTML::_('date', $this->article->modified, JText::_('DATE_FORMAT_LC2')); ?> </span>
    </div>
    
    

    alla fine di questo file è solo perché comportandomi diversamente (e cioè come giustamente suggerisci tu, inserendo i vari item associati ai vari oggetti come il titolo e le date sparse nel file) il tool di controllo mi dava errore, segnalandomi vari articoli (articolo 1, articolo 2 ecc...).

    Provando invece a mettere un solo:

    
    <div itemscope itemtype="http: // schema. org /Article" style="width: 740px; margin: 30px 0px 0px 0px;">
    
    

    all'inizio del file default.php e un solo

    
    </div>
    
    

    alla fine dello stesso file (con all'interno le varie marcature) il tool non mi riconosceva nessun microdato. Per questo ho optato per mettere tutto alla fine.

    ps: il file che non riesco a trovare e a modificare è quello relativo alla data di cui parlavi tu in merito all'errore che ho per quel che riguarda la data di pubblicazione.

    Grazie della pazienza