Rss parser in php e newsmastering: come ripubblicare un feed rss seo friendly con wordpress (parte 2)



Nella prima parte dell’articolo ti ho fatto vedere cos’è il newsmastering e come sia possibile e opportuno ripubblicare un newsradar mediante un rss parser in php.

Questo metodo ti permette di avere sul tuo blog un flusso di notizie indicizzabile dai motori di ricerca con un beneficio in termini di visite.

Oggi ti faccio vedere come personalizzare il codice del parser rss in php sia nei contenuti da mostrare che nell’aspetto grafico con cui si presenta.

Ecco il codice di un feed rss

Il codice di un feed rss

Photo credit: Andrea Ursini Casalena

Analizzando il codice di un feed rss ti puoi rendere conto che ha una struttura molto semplice. Scritto in linguaggio xml, il feed rss si basa su una serie di tags che individuano chi sono gli autori degli articoli sorgente, piuttosto che il contenuto o il link dei post a cui esso rimanda.

Andiamo a vedere la struttura xml base di un feed rss e più in dettaglio i tags contenuti in esso. Ho notato che alcuni feed hanno dei tags diversi rispetto ad altri, ma questo non cambia nulla per il tuo scopo.

Se visualizzi il codice sorgente di questo feed rss , ti accorgerai che ha una struttura simile a quella che ti mostro qui sotto.

<rss>
<channel>
<title>Titolo del feed rss</title><description>Descrizione del feed rss</description>…….
<item>
<title>Titolo dell’articolo</title>
<content:encoded>
Tutto il contenuto dell’articolo</content:encoded>
<link>
Il link all’articolo sorgente</link>
<author>Qui c’è l’autore dell’articolo</author>
<pubDate>
La data di pubblicazione del post</pubDate>
…..
</item>
<item>
…… secondo articolo
</item>
<item>
…… terzo articolo
</item>
…..
</channel>
</rss>

Sembra difficile da capire, ma non lo è, fidati!

Quello che più ti interessa è il contenuto degli <item>, ovvero gli articoli. Ogni <item> rappresenta un articolo diverso che a sua volta è formato da titolo, contenuto, data, autore ecc..

Come visualizzare il contenuto dei tags del feed rss sorgente

I tags di un feed rss

Photo credit: nattu

Adesso che sai come è fatto un feed rss, ti faccio vedere come è facile visualizzare sul tuo blog il contenuto dei tags del feed rss attraverso la modifica del codice parser in php.

Analizziamo un attimo il codice del parser rss:

<?php
require_once (ABSPATH . WPINC . ‘/rss-functions.php’);
define(‘MAGPIE_CACHE_AGE’, 1);
$rss = fetch_rss(“http://indirizzo del feed che vuoi pubblicare”);
if ( $rss ) {
$i = 1;
foreach ($rss->items as $item) {
$titolo = $item[‘title’];
$contenuto = $item[‘content’][‘encoded’];
$autore = $item[‘author’];
$data = $item[‘pubDate’];
$href = $item[‘link’];
echo “<h2 style=”font-size:20px”><a href=”$href”>$titolo</a></h2>”;
echo “<br /><strong>$autore</strong><br />”;
if ($i == 3 ) break;
$i = $i + 1;
}}?>

La prima cosa che devi fare è inizializzare i tags del feed rss che vuoi visualizzare, ovvero battezzarli con delle parole a tuo piacimento. Quindi, come vedi sopra, se vuoi ad esempio inizializzare il tag del contenuto scriverai:

$contenuto = $item[‘content’][‘encoded’]; dove ‘content:encoded’ è il tag che contiene il contenuto.

A questo punto devi dire al codice quali tags vuoi visualizzare sul blog per ogni articolo contenuto nel feed rss. Si usa il comando “echo”. Nell’esempio sopra saranno visualizzati tre articoli ognuno dei quali contiene il $titolo, collegato all’articolo originale mediante il $href e l’ $autore.

Il numero degli articoli da visualizzare lo decedi nella riga if ($i == 3) break; in questo caso tre.

Il comando echo ha questa sintassi:

echo “codice html e css + tags“;

(le virgolette ” del codice html vanno anticipate con un backslash ” per non confonderle con quelle del parser)

Sono proprio i tags che inseriamo a richiamare il contenuto che rappresentano, come un link piuttosto che il contenuto oppure la data, nell’ordine che scegliamo.

Come personalizzare facilmente con html e css l’aspetto del newsradar

Personalizzare con i css

Photo credit: aarongustafson

A questo punto non resta che personalizzare l’aspetto del newsradar mediante html e css.

Riporto per semplicità le righe del codice che stabiliscono cosa vuoi che sia pubblicato sul tuo blog, ad esempio:




echo “<p style=”font-size:10px; color: darkgray”>$data</p>”;
echo “<h2 style=”font-size:20px”><a href=”$href”>$titolo</a></h2>”;
echo “<br /><p>$contenuto</p>”;
echo “<br /><strong style=”color: darkgray”>$autore</strong><br />”;


Il codice che ho scritto sopra visualizza la serie degli articoli del feed rss secondo  questo stile di esempio:

Data (dimensione carattere 10px e colore grigio scuro)
Titolo (linkato all’articolo originale, con una dimensione carattere di 20 px)
Contenuto (magari preparato e troncato a monte con strumenti tipo mysyndicaat )
Autore (in grassetto di colore grigio scuro)

17/02/2009

Feed rss: cosa sono

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras nulla. Nulla interdum nisl quis erat. Maecenas feugiat. Aenean quis neque sed dolor imperdiet varius. Cras nec lacus et nisl ultricies pellentesque.
Andrea

15/02/2009

Seo ed ottimizzazione articolo

Nulla eget magna ac neque placerat sollicitudin. Cras condimentum commodo mauris. Nulla sed mi. Fusce tempus dolor eget libero.
Mondoinformatico.info

10/02/2009

Aumenta le visite

Proin congue. Nulla eget mi a libero tempor hendrerit. Nam interdum congue enim. Morbi non mi. Fusce ac ipsum vel dolor sodales laoreet.
zioseo.com


Fai le tue prove di personalizzazione, sia nei contenuti mostrati che nell’aspetto grafico del newsradar e fammi sapere se hai dei dubbi.

Secondo te come può essere migliorato questo codice per pubblicare un newsradar sul tuo blog, magari aggiungendo altre funzionalità?

Ciao, a presto :-)

Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
  • Pingback: diggita.it()

  • Pingback: technotizienews()

  • Ciao. trovo molto interessante questi 2 articoli sui parser, e testando il tutto funzionano alla grande.

    avrei però dei quesiti:

    volendo inserire un thumb dell’immagine contenuta nell’articolo bisogna farlo manualmente?

    Quando richiamo la funzione autore, o data non viene visualizzato niente come mai?

    Esiste un modo per fare il refresh automatico del feed?

    Grazie Pigi

  • @Pigi:

    Ciao!

    1)Le thumb le inserisco manualmente editando il feed con http://mysyndicaat.com/home.

    2)Per la data prova togliengo la maiuscola dalla “D”:
    $data = $item[‘pubdate’];

    3)A me l’autore lo visualizza tranquillamente, ad esempio con questi tag:

    $autore = $item[‘author’];
    echo “$autore”;

    N.B.: Controlla che nei tuoi feed il tag autore sia proprio “author”

    A presto!

  • @Pigi:

    Ciao!

    1)Le thumb le inserisco manualmente editando il feed con http://mysyndicaat.com/home.

    2)Per la data prova togliengo la maiuscola dalla “D”:
    $data = $item[‘pubdate’];

    3)A me l’autore lo visualizza tranquillamente, ad esempio con questi tag:

    $autore = $item[‘author’];
    echo “$autore”;

    N.B.: Controlla che nei tuoi feed il tag autore sia proprio “author”

    4) Il refresh è impostato in automatico ed è ad un secondo: define(’MAGPIE_CACHE_AGE’, 1);

    L’1 sopo la virgola è il tempo di refresh.

    A presto!

  • @Pigi:

    Ciao!

    1)Le thumb le inserisco manualmente editando il feed con http://mysyndicaat.com/home.

    2)Per la data prova togliengo la maiuscola dalla “D”:
    $data = $item[‘pubdate’];

    3)A me l’autore lo visualizza tranquillamente, ad esempio con questi tag:

    $autore = $item[‘author’];
    echo “$autore”;

    N.B.: Controlla che nei tuoi feed il tag autore sia proprio “author”

    4) Il refresh è impostato in automatico ed è ad un secondo: define(’MAGPIE_CACHE_AGE’, 1);

    L’1 dopo la virgola è il tempo di refresh.

    A presto!

  • Ciao, innanzi tutto grazie per la risposta.

    allora i problemi della data e del refresh sono stati risolti. Invece quello dell’autore no.

    questa è la funzione che uso:

    $autore = $item[‘author’];
    […]
    echo “$autore”;

    Grazie

Pinterest