• Super User

    E' possibile criptare la sitemap.xml?

    Dalla sitemap.xml si posson odedurre molte informazioni sul seo della concorrenza, e' possibile criptarla in modo che solo google, bing, yahoo, yandex e pochi altri conoscano la mia sitemap.xml? Immagino di no, ma sarebbe bello!


  • Admin

    Non c'è alcun bisogno di criptarla.

    Mettila in una cartella impossibile da indovinare oppure abilita l'accesso solo agli IP di Google, Yandex, Yahoo e Bing.


  • Moderatore

    @Juanin said:

    Mettila in una cartella impossibile da indovinare oppure abilita l'accesso solo agli IP di Google, Yandex, Yahoo e Bing.
    E' una buona idea.
    Suggerisco cambiarla in "Dalle un nome impossibile da indovinare" e lasciarla nella radice del sito:
    il protocollo sitemap prevede che una sitemap elenchi solo URL contenuti o sottostanti la cartella dove la sitemap stessa è presente (non so quanto poi le implementazioni dei singoli motori di ricerca siano tolleranti verso il rispetto della regola).

    Naturalmente bisogna poi indicarle a manina a GWT, BWT e YWT, che se le si citano nel robots.txt tutto è perduto :fumato:


  • Super User

    Grazie! Non sapevo la regola delle sottodirectory! Con tutte le sottocartelle generate in automatico dai vari CMS coem wordpress non dev'essere banale la generazione automatica delle sitemap.xml.

    Tornando al discorso iniziale, anche se non si indica la sitemap.xml nel file robots.txt comunque e' possibile trovarla nelle SERP di google, per esempio al comando:

    site:nomesitoweb.com filetype.xml
    E quindi quel metodo usato da tanti, non funziona quasi mai.

    Ho trovato 2 soluzioni (da me titolate):
    1) PSEUDO CRYPT
    Salvare la sitemap compressa .gz con estensione .xml e chi al scarica si trova qualcosa di illeggibile e non tutti avranno l'arguzia di trovare il trucco e in pochi secondi rinunceranno a leggerla. Google invece riconosce che il file e' compattato e lo legge bene comunque, non ho verificato pero' se fa lo stesso anche bing yahoo randler e altri big crawler.

    2) METODO AMERICANO
    Impedire a chi non e' un bot di leggere il file sitemap.xml che ovviamente per incentivare la sicurezza, avra' anche un percorso diverso dal solito sitemap.xml aggiungendo qualche riga al file .htaccess.
    Impedisci cosi' almeno a esperti seo non programmatori di farti i conti in tasca, ma qualsiasi altro programmatore tramite un bot puo' leggere la sitemap.
    Mi pare, (ma non sono sicuro) che sia sconsigliato da google il creare una whitelist nel file .htaccess che mostra la tuasitemap.xml solo ai principali motori di ricerca, come google, yahoo, bing, yandex, baidu, altrimenti sarebbe quella la soluzione ottimale penso.


  • Moderatore

    Ciao.

    Non mi è chiaro il comando useresti per trovare la sitemap.
    Intendi [site:nomesitoweb.com inurl: xml] ?
    Presuporrebbe conoscere il nome dell'estensione, potresti non chiamarla .xml

    ...però è vero che un site: generico elenca tutto e uno può trovare anche la sitemap se indicizzata (non sono sicuro sia indicizzata sempre).
    A questo punto il suggerimento di Juanin di andare di whitelist sugli indirizzi IP dei search bot desiderati sembrerebbe la soluzione migliore.

    Una curiosità: quali informazioni SEO posso estrapolare grazie sitemap che non posso ottenere con altri mezzi (che so, una normale crawlata del sito)?


  • Super User

    Bella e semplice l'idea di non nominare il file .xml!
    Non lo so il comando .htaccess per nascondere la sitemap ai non robot.
    Google non indicizza sempre la sitemap.
    Come sapere gli indirizzi ip dei motori di ricerca piu' importanti? e se sono molti poi non allungano troppo il file .htaccess?

    Beh, il sito potrebbe mostrare nella sitemap.xml pagine che non sono indicizzabili dai crawler come molte pagine dei risultati o qualsiasi altro elenco non linkato o non navigabile da un crawler.


  • Admin

    A me onestamente sembra una cosa inutile.

    A parte questo se proprio uno vuole farlo:
    1 - metterla in una sottocartella non è un problema almeno per Google.
    2 - Rendere i file XML non indicizzabile è banale. Basta una semplice riga per ogni tipo di Server.
    3 - Mettere in sitemap cose non indicizzabili è un errore.

    Detto questo se vuoi un modo certo usa semplicemente delle regole server che facciano accedere solo i bot convalidati tramite reverse DNS.


  • Super User

    Non ho capito cosa ti sembra inutile.

    1 - mettere un file in una sottocartella non impedisce a google di indicizzarlo e comunque di regola andrebbe messe nella root delal cartella la sitemap.
    2 - Quale e' la riga per ogni tipo di server per non indicizzare la sitemap.xml? quali tipi di server?
    3 - Quali sarebbero le cose non indicizzabili che qualcuno dovrebbe inserire in sitemap? la sitemap nasce proprio per proporre le cose da indicizzare, non l'opposto.

    BINGO! Il reverse lookup sembra l'idea migliore!
    Ma il controllo reverse lookup dei dns dei bot lo si fa da .htaccess o da dove?

    [TABLE]

    [TD="class: votecell"]

              [/TD]
                [TD="class: answercell"]      **Google bot IP**
    

    203.208.60.0/24, 66.249.64.0/20, 2001:4860:4801:2:6b00:6006:1300:b075, 2001:4860:4801:5:1000:6006:1300:b075, 2001:4860:4801:6:e300:6006:1300:b075, 2001:4860:4801:2001::6006:1300:b075, 2001:4860:4801:2002::6006:1300:b075
    Bing Bot IP

    65.52.104.0/24, 65.52.108.0/22, 65.55.24.0/24, 65.55.52.0/24, 65.55.55.0/24, 65.55.213.0/24, 131.253.24.0/22, 131.253.46.0/23, 157.55.16.0/23, 157.55.18.0/24, 157.55.32.0/22, 157.55.36.0/24, 157.55.48.0/24, 157.55.109.0/24, 157.55.110.40/29, 157.55.110.48/28, 157.56.92.0/24, 157.56.93.0/24, 157.56.94.0/23, 157.56.229.0/24, 199.30.16.0/24, 207.46.12.0/23, 207.46.192.0/24, 207.46.195.0/24, 207.46.199.0/24, 207.46.204.0/24

    [/TD]
    [/TR]
    [/TABLE]


  • Admin

    Il punto 3 lo hai scritto tu

    @matteoraggi said:

    Beh, il sito potrebbe mostrare nella sitemap.xml pagine che non sono indicizzabili dai crawler come molte pagine dei risultati o qualsiasi altro elenco non linkato o non navigabile da un crawler.

    oppure ho frainteso 😄

    Per non indicizzare metti un X-Robots-Tag Noindex.

    Il reverse si fa usando i domini ufficiali che forniscono i vari motori e non gli IP...es:

    .googlebot.com
    .crawl.yahoo.net
    .search.msn.com
    etcetc


  • Super User

    Dunque, lo scopo della mia discussione e' quello di impedire alla concorrenza di farmi i conti in tasca con la precisione di un file chiamato sitemap.xml da cui si puo' dedurre su come vengono organizzate le le url del sito, i contenuti creati, loro numero, ecc..
    Quindi indicare un noindex nel robots.txt fa fallire a monte il progetto di non far conoscere il sito a chi manualmente si va a guardare la sitemap.xml, perche apre proprio la strada mastra a fare quello che io vorrei impedire.

    Circa il fraintendimento, forse deriva dalla mia argomentazione di inserire un file .gz con estensione .xml: google lo legge bene quel contenuto e quindi e' contenuto indicizzabile.

    Il metodo piu facile forse e' quello di andare nel google webmaster tool di google, bing yahoo, yandex e baido e dire a loro di non indicizzare le varie sitemap.

    Ad ogni modo loro stessi sconsigliano di usare una whitelist di ip, che ovviamente possono cambiare periodicamente e tutti suggeriscono di verificare i crawlwer tramtie il reverse lookup.

    Ecco il codice per il controllo tramite reverse lookup in c# su chi puo' leggere la sitemap e chi no:

    Spero qualcuno sappia indicarmi il codice PHP anche.

    PS.
    Usare .htaccess basandosi sul nome del crawler e' peggio, perche chiunque potrebe crearsi un crawler e nominarlo per esempio Googlebot, fingendosi google, giusto? Mentre il reverse lookup garantisce l'identita'.


  • Admin

    Facciamo un attimo un passo indietro.

    Premessa: se un competitor vuole studiare i contenuti del tuo sito non ha bisogno della sitemap.

    Andando oltre a questo il reverse si basa proprio sugli indirizzi che ti ho inviato e di conseguenza non c'è bisogno di IP e inoltre nessuno può fakare la sua provenienza.

    Per quando riguarda invece il noindex del file sitemap.xml non capisco cosa intendi con "fa fallire a monte il progetto".

    Il codice che hai messo non si vede.


  • Super User

    Se un sito web e' composto di centinaia di migliaia di pagine o persino milioni, non e' certo banale trovarle e vederne la organizzazione senza una sitemap, (in particolare se motle di queste non sono navigabili da un banale crawler) e' forse anche per quello che i motori di ricerca ne hanno bisogno e perche' no, anche chi lavora nel SEO.
    Indicare la sitemap.xml nel file robots.txt la mette in mostra a tutti e lo scopo di questo articolo e' quello di far vedere la sitemap solo ai motori di ricerca piu' importanti e nessun'altro.
    Che gli IP non servono l'ho capit ochiaramente e io stesso l'ho scritto.
    Rimane un solo quesito: come visualizzare la sitemap solo ai motori ufficiali attraverso il reverse? Ho trovato un codice di esempio online in C#, ma non in php.


  • Admin

    Lo script in C# non si vede, ma in ogni caso quello che devi fare è cercare le rispettive funzioni in PHP.

    Questa è una sezione sul protocollo sitemap quindi per il codice prova a chiedere nella sezione PHP. In ogni caso ricordati però di evitare che Google ti crei la copia cache altrimenti tutto il tuo sforzo sarebbe vano.


  • Moderatore

    @matteoraggi said:

    Beh, il sito potrebbe mostrare nella sitemap.xml pagine che non sono indicizzabili dai crawler come molte pagine dei risultati o qualsiasi altro elenco non linkato o non navigabile da un crawler.
    Vero è che le sitemap servono per agevolare l'indicizzazione di contenuti difficilmente raggiungibili (oltre a indicarne l'URL preferito), però le pagine risultato di ricerche interne per le linee guida di Google dovrebbero essere noindex.
    In generale ti consiglio di fare sì che ogni pagine sia raggiungibile anche tramite una struttura di link (per gli e-commerce con enormi quantità di link sono comuni strutture di link dette "a silos").

    Spero d'esserti stato utile


  • User Attivo

    @matteoraggi, personalmente non riesco a capire qual è il segreto contenuto in una sitemap che vorresti proteggere: gli URL od altro?

    Al di là del fatto che per quasi ogni metodo sopra esposto potrebbe essere aggirato da un Pinco Pallino qualsiasi, se proprio non ce la facesse potrebbe ottenerla andando al suo sito preferito che ne permetta la generazione.

    Mi suona come un segreto di Pulcinella.


  • Super User

    Il segreto e' togliere la sitemap dall'index, dicendolo ai rispettivi motori cui si ha promosso la sitemap 😉 Parola mia, buona giornata. 🙂 .