Dovremmo modificare il nostro Joomla robots.txt dopo l'annuncio di Google sulla scansione di CSS e JavaScript?


8

Ho trovato un annuncio da Google: http://googlewebmastercentral.blogspot.in/2014/10/updating-our-technical-webmaster.html

Afferma:

Per il rendering e l'indicizzazione ottimali, la nostra nuova linea guida specifica che è necessario consentire a Googlebot l'accesso ai file JavaScript, CSS e di immagine utilizzati dalle pagine. Ciò ti fornisce il rendering e l'indicizzazione ottimali per il tuo sito. Non consentire la ricerca per indicizzazione di file JavaScript o CSS nel robots.txt del tuo sito danneggia direttamente la capacità dei nostri algoritmi di visualizzare e indicizzare i tuoi contenuti e può portare a classifiche non ottimali.

Per impostazione predefinita, il file robots.txt di Joomla include la disabilitazione:

Disallow: /administrator/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /logs/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/

Si prega di avvisare, rimuoveremo gli articoli seguenti dal file robots.txt in base all'annuncio di Google?

Disallow: /components/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/

È questo ciò che è raccomandato come da annuncio per i siti basati su Joomla?


Perché non rinunciare robots.txtpoiché nessuno (nemmeno i motori di ricerca ora che Google sta facendo richieste su ciò che non si dovrebbe impedire) lo seguirà comunque?
Domanda Overflow

Correlato (non un duplicato): Robots.txt - CSS consentire o non consentire
unor

Risposte:


3

Onestamente stai meglio rimuovendo tutto dal tuo robots.txt. Per quanto posso vedere, tutti i file PHP in Joomla contengono la linea

defined('_JEXEC') or die;

Ciò significa che se carichi un file PHP direttamente nel browser, tutto ciò che ottieni è un file vuoto, che i motori di ricerca ignoreranno. (Non dovrebbero mai imbattersi in questi comunque se non li si collega direttamente.)

Il problema di lasciare bloccate alcune di queste directory è che alcuni componenti e moduli mantengono i loro file CSS / JS all'interno di quelle rispettive directory e non nelle cartelle multimediali o di immagini preferite.

Quindi non c'è motivo di bloccare qualsiasi file Joomla da Google.


Grazie. Tuttavia - vedo - quando si recupera una pagina tramite Webmaster - va a buon fine - nonostante non abbia consentito a tutte quelle cartelle. Rimuovere disallow farà qualcosa di buono per le pagine?
Bavaglio

1
@Gagan Non ne sono sicuro, ma lo strumento di recupero in Strumenti per i Webmaster probabilmente ignora robots.txt.
DisgruntledGoat

1
GWMT fa entrambe le cose. Quando lo recuperi come google ti mostrerà come Google vede il tuo sito e come un utente vede il tuo sito. @DisgruntledGoat ha ragione, non è necessario bloccare nulla.
Brent Frate,

2

A parte l'uso generale / la mancanza di ciò, robots.txtin un sito Joomla ben gestito, con "buone" estensioni di terze parti - gli unici luoghi che dovrebbero contenere CSS, JS o immagini sono:

/images
/media
/templates

e ovviamente le loro sottodirectory .

Quindi, potresti semplicemente rimuoverli da robots.txt.



1

Se vedi le tue pagine senza errori durante il recupero come Google in WMT, probabilmente stai bene. Ma, in futuro, potresti aggiornare alcuni contenuti del tuo sito Web, il che richiederà alcuni script / CSS da alcune delle cartelle bloccate. Pertanto, penso che potresti essere migliore nel consentire ai motori di ricerca di eseguire la scansione di tutte queste cartelle contenenti CSS / JavaScript.


1

Le versioni più recenti di Joomla non bloccano più le cartelle /media/e /templates/:

User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

Non tutte le estensioni aderiscono alle linee guida su dove posizionare i file CSS e JS ecc., Quindi una buona soluzione è consentire a Google di accedere a questi file indipendentemente da dove si trovano.

Puoi farlo inserendo alcune righe all'inizio del tuo robots.txtfile in questo modo:

#Googlebot
User-agent: Googlebot
Allow: *.css
Allow: *.js

User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

MODIFICARE:

Grazie @ w3dk e @Stephen Ostermiller per il feedback! Hai abbastanza ragione. È meglio fare qualcosa del genere:

User-agent: *
Allow: *.css
Allow: *.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

Sfortunatamente questo non sembra funzionare come previsto perché le regole più lunghe (più specifiche) sovrascrivono le regole più brevi e le linee consentite vengono ignorate. Non sembra fare alcuna differenza se le linee consentite seguono le linee non autorizzate o viceversa.

L'unico modo in cui riesco a aggirare questo è facendo qualcosa del genere che sembra funzionare quando lo collaudo in Strumenti per i Webmaster:

User-agent: *
Allow: /************************************************************.css
Allow: /************************************************************.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

EDIT 2 - MIGLIORE SOLUZIONE:

OK, quindi ho fatto qualche ricerca in più e ho trovato la risposta su https://stackoverflow.com/a/30362942/1983389

Sembra la soluzione più corretta e più supportato in tutti i web crawler è qualcosa di simile alla seguente (che permette l'accesso a *.csse *.jsfile nei /bin, /cache, /installation, /language, /logs, e /tmple cartelle e, eventualmente, alcuni degli altri cartelle ha poco senso):

User-agent: *
Allow: /administrator/*.css
Allow: /administrator/*.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Allow: /cli/*.css
Allow: /cli/*.js
Disallow: /cli/
Allow: /components/*.css
Allow: /components/*.js
Disallow: /components/
Allow: /includes/*.css
Allow: /includes/*.js
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Allow: /layouts/*.css
Allow: /layouts/*.js
Disallow: /layouts/
Allow: /libraries/*.css
Allow: /libraries/*.js
Disallow: /libraries/
Disallow: /logs/
Allow: /modules/*.css
Allow: /modules/*.js
Disallow: /modules/
Allow: /plugins/*.css
Allow: /plugins/*.js
Disallow: /plugins/
Disallow: /tmp/

2
Ciò consentirà a Googlebot di eseguire la scansione di tutto , che è abbastanza diverso dal file robots.txt originale: è questa l'intenzione? (Tuttavia, è lo stesso che includere semplicemente Disallow:nel User-agent: Googlebotgruppo, che sarebbe più leggibile.)
MrWhite

Sì, l'intenzione è di consentire a Google l'accesso a tutti i file CSS e JS sul sito Web.
Neil Robertson,

2
Non solo file CSS e JS, ma tutti i file sul sito Web. (?)
MrWhite

1
w3dk è corretto. Se aggiungi una sezione speciale per Googlebot, devi duplicare tutte le regole esistenti in quella sezione. Il tuo file robots.txt proposto consentirebbe a Googlebot di eseguire la scansione /logs/, impedendo ad altri bot di farlo.
Stephen Ostermiller
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.