I recenti miglioramenti che Yahoo! ha apportato al programma Site Explorer includono la possibilità per un webmaster di notificare in automatico a Yahoo! i cambiamenti di un sito per mezzo di un flusso (feed) Rss – Xml. I webmaster, tramite l’interfaccia di Site Explorer, possono verificare anche quando Yahoo! ha scaricato l’ultima volta il file con la sitemap.
Anche se le funzionalità sono notevolmente inferiori rispetto a quelle di , già Google Sitemaps, molti professionisti del posizionamento sui motori di ricerca vorranno comunque cominciare a fare esperimenti con i Feed per Yahoo! Site Explorer in previsione di novità più significative.
Ma come si può generare una feed Rss valido per Yahoo! utilizzando gli stessi filtri sui file impostati per Google? Alle prese con questo ostacolo, abbiamo deciso che l’approccio più facile fosse quello di sfruttare il fatto che Google ha rilasciato, in modalità open source e dunque fornendo anche il codice sorgente, un .
Abbiamo dunque aggiunto delle estensioni al generatore originale di sitemap di Google in modo che crei anche il file sitemap.rss.gz, conforme con Rss 2.0, oltre al file sitemap.xml.gz, specifico per Google. Mentre Yahoo! accetta anche il formatto Atom 0.3, noi abbiamo optato per Rss 2.0 dal momento che Atom 0.3 non è mai stato codificato come standard e d’altra parte non sembra che Yahoo! accetti ancora Atom 1.0.
Aggiornamento: il 2006-11-16 Yahoo! e Microsoft hanno annunciato una collaborazione insieme a Google per supportare il protocollo Sitemaps.
Download del programma gratuito per creare la Sitemap Yahoo!
Abbiamo rilasciato la versione “alfa” delle estensioni per Yahoo! per raccogliere feedback da parte di un pubblico il più ampio possibile. Scaricate il programma sitemap_gen_plus_rss.py.gz (22 kb). Se vi piace, per favore, prendete in considerazione l’opportunità di mettere un link al nostro sito come ringraziamento! Per favore non mettere un link direttamente a questi file; il nome potrebbe cambiare di rilascio in rilascio.
Occorre tener presente che:
- Questo software è fornito così come è, senza alcuna garanzia. L’utilizzo è a proprio rischio e pericolo.
- Non siamo affiliati né con Yahoo! né con Google.
- Richiede Python 2.3+
Aggiornato 2006-09-07 come convertire i caratteri estesi Html se presente nel documento Html originale. È una esigenza imposta dallo standard Xml.
Principi del progetto
Abbiamo cerato di realizzare un flusso in formato Rss 2.0 con il minimo impatto sulla sitemaps_gen.py esistente. Dove possibile, abbiamo mantenuto le estensioni in blocchi di codice separati per agevolare l’applicazione di queste estensioni ai futuri rilasci di Google. Non ci siamo invece preoccupati per le prestazioni. Non avendo una padronanza di Python, il nostro codice sicuramente non eccelle in eleganza – ogni eventuale contributo è benvenuto!
Funzionalità Realizzate
La nostra estensione produce un file conforme allo standard Rss 2.0 oltre al formato standard di Google e funziona se si utilizza la modalità di scansione dei file prevista da sitemaps_gen.py e si hanno meno di 50.000 file. Per ogni file html (in base al tipo mime – text/html – riconosciuto), il programma cerca di rilevare il titolo del documento dal tag title e la descrizione del documento dal tag meta – descrizione. Abbiamo verificato che il testo commentato viene ignorato e i tag sono insensibili all’utilizzo di maiuscolo/minuscolo. I caratteri non inglesi sono estratti utilizzando entità html. Infine è stata implementata la notifica automatica a Yahoo!; per utilizzarla, inserire il proprio identificativo di applicazione sostituendo il testo
Limiti noti
Il formato Rss oltre a un link richiede un titolo di documento o una descrizione. Il formato Rss non contiene il campo priorità specificato da Google per facilitare la priorità del crawler.
Poiché il titolo del documento e la descrizione non fanno parte delle specifiche Google, occorre aprire ogni documento html che può contenere queste informazioni, e se esiste, aggiungerlo agli attributi del documento.
L’individuazione del titolo e la descrizione è per ora realizzata per la modalità di scansione del file system per individuare gli Url. Non è stato ancora realizzato per l’”Url List method”, ma pensiamo di implementarlo in un prossimo futuro. Per minimizzare gli sforzi di sviluppo, abbiamo aggiunto del codice di rilevazione nel programma esistente nel punto dove sono trattati le locazioni dei file, ma prima che venga fatto qualsiasi confronto di filtri, come specificato dal file di configurazione. Così è da prevedere del lavoro aggiuntivo poiché i titoli e le descrizioni sono recuperati dai file che saranno ignorati. Prevediamo di cambiare questo in un rilascio futuro. Nel caso il programma incontri una directory senza un file index.html o default.html, viene emesso un messaggio di avviso. È comunque irrilevante se queste directory verranno comunque ignorate come specificato nel file di configurazione.
Utilizziamo il modulo esterno di Python elementtree per analizzare i file Html. Questo modulo non supporta html mal scritto; verranno esclusi i documenti con tag finali mancanti – abbiamo fatto in modo di mostrare un messaggio che suggerisce l’utilizzo dell’Html Tidy per sistemare l’Html. Se i file Html non sono riconosciuti dal modulo di tipo mime, forniamo codice alternativo che tratta i file con differenti estensioni. In questo caso, il codice deve essere abilitato, eliminando il commento, cioè sostituendo la linea if mimetypes.guess_type(rss_filename)[0] == ‘text/html’.
Abbiamo provato a utilizzare il modulo HTMLParser interno a Python, introdotto nella versione 2.2, ma siamo incorsi in un problema con la traduzione delle entità html. Una volta risolto questo aspetto sostituiremo elementtree con HTMLParser.
Se un documento, cioè un file txt, non è riconosciuto come html, allora viene introdotto come titolo
Google prevede fino a 50.000 url in una singola sitemap. Una volta che il limite di 50.000 è raggiunto, sono create sitemap consecutive e un indice principale.
Attualmente possono essere generati file Rss consecutivi anche se non è stato possibile testarlo. Nel caso fossero generati occorrerebbe unirli successivamente in un unico file Rss. In un rilascio futuro approfondiremo la gestione dei siti di grandi dimensioni.
Miglioramenti previsti
Supporto di Python 2.2+ HTMLParser. Lo abbiamo provato, ma abbiamo verificato che le entità html nel campo del titolo non vengono mantenute. Se qualcuno avesse una soluzione semplice ed efficace, saremmo lieti che ce la comunicasse.
Supporto del “URL List method”. Non appena lo avremo implementato potremo fare una chiamata http con cui potremo recuperare il titolo del documento e la relativa descrizione. Dovrebbe essere piuttosto facile da implementare e contiamo di realizzarlo entro breve.
Supportare dei siti con più di 50.000 Url.
Possibili Limiti
Il nostro lavoro è stato limitato al sistema operativo Linux, utilizzando la versione 2.4.3 di Python e caratteri UTF-8. È possibile che si incontrino problemi se si utilizzano altri sistemi operativi, differenti set di caratteri e differenti versioni di Python. Fateci sapere.
Dateci un riscontro e inviateci i vostri contributi.
Fateci conoscere la vostra esperienza con le nostre estensioni sitemap_gen.pl. Qualsiasi miglioramento è bene accetto.
Aggiornato l’ultima volta in data 2006-08-22.
Ti potrebbero interessare:
- Segnalare un sito a Yahoo mediante una mappa del sito… ne vale la pena?
- Sitemaps, protocollo lanciato da Google, adottato da tutti i tre Motori di Ricerca principali
- Caratteri accentati, simboli e caratteri speciali in documenti Html: considerazioni per il Posizionamento nei Motori di Ricerca, Usabilità e Feed Xml
Sono aperte le iscrizioni per il prossimo corso Seo del 16 e 17 gennaio e per il del 12 e 13 gennaio. Cosa aspettate?
annibale47 // Jun 29, 2009 at 17.26.06
Vorrei capire se con questo programma riesco ad vere una mappa del sito (partendo dal sitemap.xml), per evitare appunto di dovermi crere una mappa del sito manualmente. Saluti e grazie