Voglio nascondere il mio file XML della Sitemap ma consentire l'accesso dai motori di ricerca.
Qual è il modo di farlo?
Voglio nascondere la profondità dei contenuti del sito ai concorrenti.
Voglio nascondere il mio file XML della Sitemap ma consentire l'accesso dai motori di ricerca.
Qual è il modo di farlo?
Voglio nascondere la profondità dei contenuti del sito ai concorrenti.
Risposte:
Il primo passo sarebbe rilevare l'User-Agent dei robot che si desidera consentire e servire un file diverso se non si desidera consentire a un User-Agent.
Ad esempio, potresti avere due versioni di robots.txt
, una con e una senza riferimento alla Sitemap, in modo che i tuoi concorrenti non trovino la Sitemap se guardano all'interno della tua robots.txt
.
Quindi, potresti rilevare le visite all'URL della Sitemap e pubblicare la mappa del sito solo quando UA è corretta. Se offri una pagina 404 generica, i tuoi concorrenti potrebbero anche non sapere che esiste la tua Sitemap.
Tuttavia, tutte le misure descritte fino a questo punto sono semplicemente sicurezza attraverso l'oscurità. Un User-Agent può essere facilmente falsificato.
Pertanto, Google consiglia di rilevare il vero GoogleBot:
googlebot.com.
.Riassumendo:
Microsoft consiglia di utilizzare la stessa procedura per rilevare il proprio crawler.
Questo trucco funziona per Yahoo! anche.
Per DuckDuckGo, è possibile utilizzare questo elenco di indirizzi IP
Non è necessario utilizzare un errore 404 se si utilizza il rilevamento spider basato sulla ricerca DNS.
Lo scopo dell'utilizzo della pagina di errore 404 è nascondere la tua Sitemap. Tuttavia, se si utilizza la tecnica più avanzata che non si basa esclusivamente sulle User-Agent
intestazioni, non dovrebbe essere possibile aggirarlo in modo da poter utilizzare in modo sicuro un codice di errore diverso, ad esempio 403 Forbidden
il codice di errore corretto da utilizzare qui.
Il problema è che se (giustamente) desideri che i tuoi contenuti vengano indicizzati dai motori di ricerca, chiunque esegua un sito: la ricerca in uno dei motori di ricerca sarà in grado di vedere quali URL sono indicizzati.
Se vuoi "nascondere" la tua sitemap potresti averla su un URL con un nome "segreto", quindi non è ovvio per chiunque possa cercarla, ma visto che è la migliore pratica includere una sitemap in un robots.txt archiviarlo e caricarlo su uno dei profili degli strumenti per i webmaster dei motori di ricerca, come altri hanno già detto, è difficile capire perché dovresti farlo.
La soluzione intelligente è quella di generare due sitemap. Il primo di questi è a vantaggio dei tuoi concorrenti, il secondo è a vantaggio dei tuoi motori di ricerca preferiti. Nel parlamento militare questa prima sitemap è una finta.
La 'finta' contiene la struttura del tuo sito Web di base, la home page, contattaci, chi siamo, le principali categorie. Sembra un vero affare e funzionerà alla grande nei motori di ricerca oscuri che non ti interessano. Inoltre non sarà di alcuna utilità per i tuoi concorrenti. Consenti che sia indicizzato in modo che lo trovino, dagli un nome ovvio come sitemap.xml.
Ora crea la tua vera sitemap con il codice. Dagli un nome come "product-information-sitemap.xml" in modo che sia un nome ragionevole ma in realtà non più facile da indovinare della tua password.
Nella tua configurazione di apache per la cartella Sitemap metti qualcosa in modo che questa seconda Sitemap sia accessibile ai motori di ricerca ma non indicizzata:
<IfModule mod_rewrite.c>
<Files product-information-sitemap.xml>
Header set X-Robots-Tag "noindex"
</Files>
</IfModule>
Ora crea il codice per mantenerlo aggiornato, considera una terza Sitemap per le immagini. Dowwngrade come richiesto per creare la 'finta'. Presta attenzione anche ai timestamp, Google presta attenzione a quelli e questo è importante se la tua sitemap è grande.
Ora crea un lavoro "cron" per inviare regolarmente la Sitemap dei tuoi prodotti a Google. Nella tua voce crontab aggiungi qualcosa del genere per inviare la tua vera sitemap ogni settimana:
0 0 * * 0 wget www.google.com/webmasters/tools/ping?sitemap=http%3A%2F%2Fwww.example.com%2Fsitemaps%2Fproduct-information-sitemap.xml
Si noti che l'URL è codificato URL.
Puoi anche decomprimere la tua sitemap se la dimensione è un problema, anche se il tuo server web dovrebbe pubblicare quella compressa se hai abilitato.
Il tuo robots.txt non deve essere niente di speciale, solo che non impedisce l'accesso alle tue Sitemap, dovrebbe andare bene. Non è davvero necessario inviare file robots.txt diversi in base alle stringhe dell'agente utente o a qualcosa di così complicato. Basta estrarre i tuoi preziosi contenuti in un file supplementare, non pubblicizzato e inviarlo a Google su un processo cron (piuttosto che attendere il bot). Semplice.
Non vedo perché una struttura di un sito potrebbe causare problemi con un concorrente?
Il punto della Sitemap è di indicizzare le pagine, in modo che le persone possano trovarle più facilmente, il che, a un certo punto, deve rivelare come è organizzato il tuo sito come:
/news/
contiene i tuoi articoli di notizie/forum/
è dove si trovano tutte le discussioni del forumSaranno indicizzabili, per ottenere più traffico e presentare informazioni.
Le cartelle che non si desidera avere indice è simile
Quindi, se è così, allora quelli non dovrebbero essere nella tua Sitemap. Inoltre puoi escludere anche quelli dall'indicizzazione.
Se si dispone degli indirizzi IP dei bot che si desidera consentire:
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 192.168.1.1 # IP 1
allow from 192.168.1.2 # IP 3
allow from 192.168.1.3 # IP 2
</LIMIT>
Se lo si desidera in base alla stringa dell'agente utente:
Order Allow,Deny
allow from env=good_bot_1
allow from env=good_bot_2
Un modo in cui puoi provare: in una normale sessione di scansione, i bot di Google accedono a robots.txt e quindi vanno al file della mappa del sito. Inserisci un cookie per tutte le porzioni di robots.txt e consenti l'accesso alla mappa del sito solo a quelle persone con il cookie. Ci sarà il problema quando i robot di Google non accettano i cookie. Quindi fai il contrario. Inserisci un cookie quando un utente accede a una pagina diversa da robots.txt e nega l'accesso alla Sitemap per coloro che dispongono del cookie. Inoltre, dai un nome criptato alla tua sitemap, qualcosa che cambia nel tempo e lo rende indovinabile. Se i tuoi concorrenti hanno i cookie abilitati nel loro browser, sarà estremamente difficile per loro accedere alla Sitemap a meno che non seguano il percorso esatto che sta seguendo un motore di ricerca.
Presumo di aver compreso correttamente le tue esigenze, quindi ho il coraggio di rispondere.
inserisci un link immagine alla tua sitemap appena prima del </html>
tag. Usa un file gif 1px trasparente:
<a href="sitemap.xml"><img src="transparent.gif" alt="" height="1" width="1" /></a>
Nella pagina che contiene il link della tua Sitemap, imposta la metatag correlata:
<meta name="robots" content="{index or noindex},follow">
controlla lo stato visivo quando premi Ctrl+ Aper selezionare tutta la pagina. Il link 1px è visibile, rischioso per te?
Se dici di sì, potrebbe essere un'altra opzione è:
<a href="sitemap.xml"> </a>
In questo modo un normale utente non curioso non noterà il tuo link. I motori di ricerca lo sapranno. Ma tieni presente che la natura intrinseca della tua domanda comporta l'impossibilità.
Dico impossibilità perché se un utente cerca in Google, ad esempio con questi termini
* site:www.yoursite.com
tutto il mondo può vedere tutti i tuoi link se non si stancano di fare clic sui next
link.
Spero che questo aiuti.