Domanda

Diciamo che ho un sito su http://esempio.com.Mi piacerebbe davvero consentire ai bot di vedere la home page, ma qualsiasi altra pagina deve essere bloccata poiché è inutile spider.In altre parole

http://esempio.com & http://esempio.com/ dovrebbe essere consentito, mahttp://example.com/anything E http://example.com/someendpoint.aspx dovrebbe essere bloccato.

Inoltre sarebbe fantastico se potessi consentire a determinate stringhe di query di passare alla home page:http://esempio.com?okparam=true

ma nohttp://example.com?anythingbutokparam=true

È stato utile?

Soluzione

Quindi, dopo alcune ricerche, ecco cosa ho trovato: una soluzione accettabile dai principali provider di ricerca: Google , yahoo & msn (potrei trovare un validatore qui):

User-Agent: *
Disallow: /*
Allow: /?okparam=
Allow: /$

Il trucco sta nell'usare $ per contrassegnare la fine dell'URL.

Altri suggerimenti

Strumenti per i Webmaster di Google segnala che disallow ha sempre la precedenza su consenti, quindi non esiste un modo semplice per farlo in a robots.txt file.

Potresti ottenere questo risultato inserendo a noindex,nofollow META tagga nell'HTML ogni pagina tranne la home page.

Robots.txt di base:

Disallow: /subdir/

Non penso che tu possa creare un'espressione che dica "tutto tranne la radice", devi compilare tutte le sottodirectory.

Anche la limitazione della stringa di query non è possibile da robots.txt.Devi farlo nel codice in background (la parte di elaborazione), o magari con le regole di riscrittura del server.

Disallow: *
Allow: index.ext

Se ricordo bene la seconda clausola dovrebbe sovrascrivere la prima.

Per quanto ne so, non tutti i crawler supportano il tag Consenti.Una possibile soluzione potrebbe essere quella di mettere tutto tranne la home page in un'altra cartella e disabilitare quella cartella.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top