Logo AntezetaAntezeta Web Marketing

Riflessioni sul marketing online, SEO e Web Analytics compresi

Antezeta Web Marketing header image 2

Software gratuito per creare una sitemap per il posizionamento sul motore di ricerca Yahoo!

Scritto da parte di sean · 1 Commento

Yahoo! Site Explorer LogoI 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) RssXml. 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à , molti professionisti del posizionamento sui motori di ricerca vorranno comunque cominciare a fare esperimenti con i Feed per 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 ? Alle prese con questo ostacolo, abbiamo deciso che l’approccio più facile fosse quello di sfruttare il fatto che 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 in modo che crei anche il file sitemap.rss.gz, conforme con Rss 2.0, oltre al file sitemap.xml.gz, specifico per . 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 .
  • Richiede Python 2.3+

Nota 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 . 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 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 , compresi tra i simboli di minore e maggiore. Queste funzionalità non sono state testate a fondo, quindi si consiglia di procedere con cautela. Se si sta già utilizzando la notifica e non viene inserito il proprio identificativo, l’applicazione Yahoo!, probabilmente notificherà un errore!

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 per facilitare la priorità del crawler.

Poiché il titolo del documento e la descrizione non fanno parte delle specifiche , 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 . Alternativamente, si potrebbe indicare il nome del file, cioè <em>nomefile</em>.

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.

Post correlate:

Originariamente pubblicato 29 Aug 2006

  • Sean Carlos aiuta le aziende nell'ottimizzare i loro risultati di business online. La sua carriera spazia dalla gestione di campagne di telemarketing e direct mailing presso un'organizzazione con più di 10.000 soci ad una significativa esperienza a livello mondiale maturata presso la Hewlett-Packard. Nei primi anni 90 Sean ha sviluppato un applicativo enterprise search, comprensivo di tutte le fasi, dall'indicizzazione alla ricerca dei testi, per il Los Angeles County Museum of Art. Dal 2000 al 2004 Sean è stato IT Manager del sito immobiliare CasaClick.it, parte del gruppo Pirelli. Sean è un docente ufficiale della Web Analytics Association. Collabora inoltre con l'Università Bocconi. Nato a Providence, RI, USA, Sean Carlos si è laureato in Fisica. Parla inglese, italiano e tedesco.

1 risposta finora ↓

  • 1 annibale47 // 29 Jun 2009 alle 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

Lascia un commento

Avviso: commenti sono benvenuti nella misura in cui essi aggiungono qualcosa al discorso. Commenti senza nome e cognome e/o con toni negativi senza giustificazione razionale di una propria posizione e/o per terzi fini, corrono il rischio di essere cancellati senza pietà ad imprescindibile discrezione dell'amministratore. Ebbene sì, la vita è dura.