• User

    [Risolto] Problema paginazione blog joomla

    Ciao a tutti, da qualche giorno ho a che fare con problemi di meta-descrizioni/title duplicati per problemi di paginazione con un blog su joomla 2.5 tipo:

    /micronido/page-2
    /micronido/page-3
    /micronido/page-4
    /micronido/page-5

    su consiglio di Giorgio sarebbe il caso di implementare rel=next e rel=prev.
    Visto che non sono particolarmente esperto, mi chiedevo se esiste un plugin che facilita l'operazione o bisogna metter mano al codice per intervenire sull'head.:?


  • Moderatore

    Ciao Serjo,
    si tratta dello stesso articolo diviso su più pagine? Usi un componente SEF?

    Maurizio ZioPal


  • User

    Ciao Maurizio,
    si tratta di un blog con 4 anteprime degli articoli per ogni pagina, penso che il consiglio di Giorgio sia la cosa giusta da fare, utilizzo come componente acesef, ma non ho trovato nulla riguardo rel=next/prev.
    In rete ho trovato questo codice:

    
    $doc =& JFactory::getDocument();
    $pagdata = $this->pagination->getData();
    if($pagdata->next->link){
    $doc->addHeadLink( $pagdata->next->link, 'next');
    }if($pagdata->previous->link){
    $doc->addHeadLink( $pagdata->previous->link, 'prev');}
    
    

    modificando il file del template "blog_item.php"


  • Moderatore

    Non capisco le 4 anteprime :?, intendi 4 pagine con elencati gli articoli? Ad ogni modo il componente SEF ti permette di differenziare i meta per ogni pagina.

    Maurizio ZioPal


  • User

    ho un account limitato non posso inserire ne link ne immagini
    goo.gl/vGS1jQ
    🙂

    Attualmente ho 5 pagine
    ogni pagina ha 3 anteprime di rispettivi articoli
    quindi il sistema genera
    page-2 page-3 page-4 -page-5
    presumo che con acesef non ha senso inserire descrizioni diverse per paginazioni di un blog.


  • Moderatore

    Ciao Serjo,
    ho ritrovato un vecchi sito con ACESEF ti suggerisco ancora la modifica manuale dei meta, che puoi facilmente fare con il componente, in questo modo puoi anche inserire il No Index per me è al cosa migliore.

    Maurizio ZioPal


  • User

    Ciao Maurizio,
    il codice che ho allegato precedentemente non funziona..
    procedo con il "no-index" come mi hai suggerito tu... cmq era interessante implementare il sistema rel-prev
    ma utilizzare il canonical?
    Grazie


  • Moderatore

    Ciao Serjo,
    in questi casi il rel=canonical può essere utilizzato puntando ad una pagina di riepilogo, dove cioè è presente l'intero elenco degli articoli.

    Maurizio ZioPal


  • Moderatore

    Ciao serjo.
    Puoi implementare il "rel next e prev" seguendo le istruzioni che seguono, valide per Joomla 2.5.x .
    Prima di iniziare ti avverto che su alcuni template le istruzioni non funzionano (ad esempio sui beez presenti nelle comuni distribuzioni).

    **Paginazione su Joomla: come implementare il link rel="next" e rel="prev" nell'head tramite override
    **

    • Accedi via FTP al file: root di Joomla/templates/tuotemplate/html/com_content/category/blog.php
    • Prima di modificarlo, salva una copia di backup del file
    • Apri il file blog.php e in coda alla pagina aggiungi questo blocco di istruzioni:
    
    <?php
            $doc =& JFactory::getDocument();
            $pagdata = $this->pagination->getData();
            if($pagdata->next->link){$doc->addHeadLink(JRoute::_($pagdata->next->link), 'next', 'rel');}
            if($pagdata->previous->link){$doc->addHeadLink(JRoute::_($pagdata->previous->link), 'prev', 'rel');}
    ?>
    
    
    • Salva il file sullo spazio web, accedi dal frontend a una categoria blog per la quale è prevista la paginazione (eventualmente scarica la cache del browser) e verifica che nel sorgente vi siano nell'head righe simili a queste:
    
    [TABLE]
    
    [TD="class: webkit-line-content"]<link href="/blog?start=9" rel="next" />
    [TABLE]
    
    [TD="class: webkit-line-content"]<link href="/blog?start=3" rel="prev" />[/TD]
    [/TR]
    [/TABLE]
    [/TD]
    [/TR]
    
    [TD="class: webkit-line-content"]
    

    Nel caso riportato non avviene la riscrittura friendly degli url. Si tratta della pagina 3 della categoria "blog" che visualizza 3 articoli per categoria (ovvero, nella pagina 3, dal 6° all'8° perché si parte da 0).
    [/TD]
    [/TR]
    [/TABLE]

    Non ho testato il codice su un sito con riscrittura degli url (ad esempio: /blog/page-3): se lo provate lasciate qui un feedback :smile5:

    Francesco


  • Moderatore

    Ciao FDA,
    ho aggiunto questo hack al post delle risorse joomla. Meritava 🙂

    Maurizio ZioPal


  • Moderatore

    Ciao Dexter,
    grazie. 🙂

    Francesco


  • User

    Confermo, funziona alla grande. Grazie Francesco. :wink3:


  • Moderatore

    Ciao serjo,
    ottimo! :wink3:
    F.


  • Moderatore

    A completamento di tutte le osservazioni, dopo qualche test posso dire che la soluzione prospettata è compatibile:

    • con Joomla 2.5, indipendentemente dal template (anche con Beez);
    • con Joomla 2.5 + VirtueMart 2
    • con Joomla 3.2

    Joomla 2.5: esempio con Beez (vale per tutti gli altri templates)

    Capita che i template siano realizzati in maniera tale che la modifica dei file agli indirizzi di default nella cartella templates (mi riferisco ad esempio a quello indicato sopra: root di Joomla/templates/tuotemplate/html/com_content/category/ ) non producano i risultati sperati, sicché occorre cercare via FTP, tra le cartelle dello spazio web, dove mettere le mani.

    Vale la pena ricordare, quindi, che i file del core di Joomla che ci interessano in questo caso si trovano nella cartella:
    root di joomla*/components/com_content/views/category/tmpl
    *
    Ciò detto, per applicare il "rel next e prev" ad uno di questi temi, ad esempio al Beez5, seguiamo la stessa procedura indicata sopra ma, invece di aprire il blog.php in:
    root di Joomla/templates/tuotemplate/html/com_content/category/ ,

    lo apriamo in:
    *root di joomla/components/com_content/views/category/tmpl *.

    Attenzione soltanto a ricordare che è stato modificato questo file.

    Joomla 2.5 + VirtueMart 2

    In realtà si è trattato di verificare ciò che dovrebbe essere scontato, ovvero il funzionamento dell'override per la paginazione standard anche in presenza di un'estensione che nulla ha a che fare con la visualizzazione "categoria blog".
    Non bisogna confondere infatti la paginazione di Joomla con quella di VirtueMart: in questo topic ci siamo occupati della prima, mentre quella di VirtueMart è relativa alle liste di prodotti che finiscono su più pagine (ad esempio 28 prodotti, 10 per pagina, si posizionano su 3 pagine).

    Diciamo due cose:

    • Anche in presenza di un sito in Joomla 2.5 con VirtueMart, se avete ad esempio un blog potete tranquillamente applicare l'override sopra e la paginazione nell'head funziona lo stesso, così come era giusto aspettarsi.
    • La seconda è meno scontata: l'override può essere applicato anche alla paginazione di VirtueMart, in modo da garantire una corretta configurazione SEO dei siti Joomla anche in presenza di e-commerce. Ovviamente occorre modificare leggermente il codice, che posto sul Forum GT in un topic distinto per maggiore chiarezza.

    Joomla 3.2

    Rispetto a Joomla 2.5 non cambia assolutamente nulla. Ho testato il codice su un'installazione nuova di Joomla 3.2 usando il template Beez3 che, presentando la stessa problematica del Beez5 nel 2.5, mi ha indotto a modificare il file:
    *root di Joomla/components/com_content/views/category/tmpl/blog.php *.

    Francesco