Perché do_robots() consente /wp-admin/admin-ajax.php di default?

15 mar 2022, 20:36:18
Visualizzazioni: 16K
Voti: 7

Questo accade con un'installazione nuova e fresca di WordPress. Ma tutto ciò che devi fare è guardare la strana funzione do_robots(), che produce quanto segue...

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://knowingart.com/wp-sitemap.xml

Inviare i robot in "wp-admin" (di default) non ha alcun senso:

  1. Perché dovrei inviare robot casuali nella mia directory admin?! La directory admin è solo per me. I robot/crawler non dovrebbero fare nulla nella mia directory admin.
  2. Perché dovrei auto-infliggermi un attacco DOS inviando robot a uno script admin?
  3. Se fossi uno sviluppatore di bot, potrei (erroneamente) interpretare questo "allow" come una negazione del disallow, poiché l'allow viene dopo il disallow ed è la stessa directory. Perché il robots.txt si contraddice qui?
  4. Questo strano robots.txt (di default) sembra rompere DuckDuckGo. Ad esempio il primo risultato di ricerca è la mia directory wp-admin?! Sembra che DuckDuckGo abbia letto il mio robots.txt, sia entrato in wp-admin perché glielo ha detto il robots.txt, e questa è la directory sbagliata. Il crawler di DDG è stato confuso dal file robots.txt strano? Ora penso che DDG abbia scansionato il mio blog prima che ci fosse alcun contenuto disponibile, e semplicemente non si è ancora aggiornato, questa sembra una spiegazione più probabile.

Perché WordPress invia i crawler dei robot in una directory admin che non ha alcun contenuto?! Non ha alcun senso per me, motivo per cui sono qui cercando di capirlo. Posso solo immaginare che l'autore di questo codice do_robots() non abbia compreso lo scopo del robots.txt

6
Commenti

https://core.trac.wordpress.org/ticket/18465 e https://core.trac.wordpress.org/ticket/33156 sembrano fornire alcuni spunti

birgire birgire
16 mar 2022 00:02:03

voto positivo alla domanda per portarla a punteggio zero, ma la prossima volta probabilmente dovresti bere un po' d'acqua prima per assicurarti di essere abbastanza rilassato e che la tua domanda non finisca per sembrare una lamentela ;).

Mark Kaplun Mark Kaplun
16 mar 2022 05:33:00

@MarkKaplun Grazie, prendo il mio lavoro seriamente. Da quando ho iniziato a indagare su questo, sembra che Google sia in parte responsabile dell'aggiunta di questa nuova riga "sitemap:", perché penso che abbiano codificato il nuovo wp-sitemap.xml, il che è una cosa piuttosto importante secondo me. Quel nuovo codice per la sitemap è impressionante (anche se un po' buggato), non avevo idea che fosse lì. Detto questo, attualmente sto prendendo dei farmaci per un piccolo problema di salute, sì ero irritabile e sono tornato a smorzare un po' i toni. Tuttavia, come amministratore di sistema di hosting WordPress e sviluppatore web, ho tutto il diritto di preoccuparmi della configurazione di WordPress, SEO, sitemap, ecc.

Jay Brunet Jay Brunet
16 mar 2022 21:45:52

@birgire Penso che l'ultimo ticket sia la risposta migliore. Mostra che questa decisione è stata presa senza molta riflessione, e altre persone hanno messo in dubbio la saggezza di questa decisione (non solo io) e questa cosa dell'admin-ajax è stata una reazione impulsiva a qualche email di Google Webmaster Tools inviata per errore, a causa di temi che collegavano file di amministrazione. Secondo me, robots.txt dovrebbe essere responsabilità dell'amministratore di sistema. Forse posso "toccare robots.txt" ma questo romperà wp-sitemap.xml? LOL

Jay Brunet Jay Brunet
16 mar 2022 22:15:09

@PJBrunet tutti i tipi di plugin possono modificare il file (non è un file in realtà, è generato automaticamente ad ogni richiesta all'URL). Un buon plugin non cambierà il link alla sitemap. Non consiglio un plugin perché scrivo il mio codice per modificare le cose quando necessario, quindi non ho idea di quale potrebbe essere un buon plugin

Mark Kaplun Mark Kaplun
17 mar 2022 05:19:12

Google Search Console segnala un errore di indicizzazione per wp-admin/admin-ajax.php e poi il proprietario del sito vuole che questo errore venga risolto. Non c'è soluzione a meno che l'URL non venga bloccato.

AlanP AlanP
21 set 2022 20:04:14
Mostra i restanti 1 commenti
Tutte le risposte alla domanda 3
5

Primo: leggi qualcosa sul robots.txt, se non l'hai già fatto. Un altro buon riferimento è questo di Yoast.

L'esempio che hai postato:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://knowingart.com/wp-sitemap.xml

...indica a tutti gli user-agent (cioè tutti i crawler) che non sono autorizzati a scansionare nulla nella tua directory wp-admin tranne /wp-admin/admin-ajax.php, che è richiesto da WordPress per il corretto funzionamento di AJAX.

Non sta dicendo ai robot di andare nella tua directory /wp-admin/; sta dicendo loro che non sono i benvenuti lì (tranne che per il requisito AJAX).

Per quanto riguarda la tua domanda #4, purtroppo non ho una risposta per quella.

15 mar 2022 22:35:29
Commenti

@PJBrunet admin-ajax.php è molto comunemente utilizzato per richieste AJAX pubbliche sul frontend del sito web. Se le richieste a questo file da parte dei bot sono bloccate, quando un bot di un motore di ricerca esegue il crawling del tuo sito queste richieste non funzionerebbero e il bot potenzialmente vedrebbe una versione incompleta della pagina.

Jacob Peattie Jacob Peattie
16 mar 2022 00:38:12

robots.txt non ha nulla a che fare con l'accesso di WordPress a se stesso. È pensato come istruzioni per i crawler dei motori di ricerca, per indicare loro dove possono (e, cosa più importante) non possono andare su un sito.

Pat J Pat J
16 mar 2022 00:55:01

@JacobPeattie Capisco il punto di Jacob, Google sta facendo qualche magia speciale per renderizzare la pagina e in qualche modo analizzare l'UI, cosa vera fin dai tempi di Matt Cutts. Tuttavia, il ruolo di robots.txt non è quello di accontentare specificamente Googlebot. Se è davvero un problema, lascia che lo sviluppatore del tema lo risolva, o solleva la questione con Google. Capisco che il SEO su Google sia molto importante per le persone, ma è solo uno tra molti bot - e francamente non mi interessa se il tema di qualcuno ha bisogno di admin-ajax.php per renderizzare correttamente. Problemi SEO specifici del tema (temi che non falliscono in modo elegante) non dovrebbero influenzare robots.txt

Jay Brunet Jay Brunet
16 mar 2022 22:51:03

Anche se ho votato positivamente la tua risposta, vedo dei problemi qui. Innanzitutto, la mia preoccupazione riguardo all'ordine di allow/disallow è un problema reale https://core.trac.wordpress.org/ticket/33156#comment:18 Indipendentemente dalle specifiche del robots.txt, è meglio essere specifici e chiari perché ogni robot interpreterà il robots.txt a modo suo, a prescindere dalle specifiche.

Jay Brunet Jay Brunet
16 mar 2022 23:09:57

Per quanto riguarda il problema AJAX, in relazione ai temi che si rendono correttamente per Googlebot o a causa di un malfunzionamento in Webmaster Tools, nessuno dei due problemi appartiene al robots.txt. Le pagine AJAX non hanno bisogno di AJAX per essere renderizzate da un motore di ricerca. Il contenuto a "caricamento lazy" non dovrebbe rompere Googlebot. Gli sviluppatori AJAX potrebbero e dovrebbero caricare contenuti segnaposto, in altre parole le sezioni di contenuto AJAX possono e dovrebbero fallire in modo elegante. I temi scritti male non dovrebbero inquinare il robots.txt

Jay Brunet Jay Brunet
16 mar 2022 23:14:15
3

la verità è che probabilmente nulla dovrebbe essere bloccato in robots.txt dal core (se ben ricordo questa era la posizione di Joost sulla questione) poiché WordPress è una piattaforma aperta e i contenuti frontend e lo stile possono essere generati in tutti i tipi di directory che potrebbero non avere molto senso per te e me. WordPress non ha il compito di impedire ai proprietari di siti di installare plugin scritti male.

Perché hai pagine indicizzate da un motore di ricerca? WordPress utilizza una sorta di intestazioni "non indicizzare" per tutte le pagine di amministrazione, quindi molto probabilmente hai del codice scritto male che impedisce l'invio dell'intestazione. (questo presuppone che non ci sia un bug in Bing, che è il motore di ricerca che alimenta DDG).

Forse vale la pena ricordare che robots.txt è solo un file consultivo, spetta al motore di ricerca decidere se e come rispettarlo. Se ben ricordo, Google non lo rispetterà completamente se c'era un link a una pagina che dovrebbe essere esclusa da robots.txt

16 mar 2022 05:30:45
Commenti

Concordo che "nulla dovrebbe essere bloccato", infatti WordPress non dovrebbe generare automaticamente il robots.txt. La risposta è: WordPress ha commesso un errore. Storicamente, lo scopo del robots.txt è quello di fornire indicazioni ai crawler. Tuttavia, sento molte persone parlare di robots.txt in relazione ai temi, al "front end" ecc. Anche se ci fosse un problema con Google che segnala qualcosa via email attraverso Webmaster Tools, non è questo il ruolo del robots.txt (Googlebot è solo uno tra i tanti crawler.) E ovviamente, se ci sono problemi con Googlebot che non possono essere risolti con Google, NginX/Apache/ecc possono gestire queste cose.

Jay Brunet Jay Brunet
16 mar 2022 22:01:27

"Molto probabilmente hai del codice scritto male" No, è un'installazione fresca di WordPress da latest.tar.gz, utilizzando un tema di Automattic scaricato tramite la dashboard. Detto questo, sembra che DDG si sia già aggiornato e abbia corretto l'errore.

Jay Brunet Jay Brunet
16 mar 2022 22:21:49

@PJBrunet se è un'installazione fresca non ho idea di cosa possa succedere. Sicuramente non dovrebbe accadere, ma se per qualche motivo hai link in entrata verso quegli URL, i motori di ricerca sono più propensi a fare quello che vogliono.

Mark Kaplun Mark Kaplun
17 mar 2022 05:14:58
1

Dovresti permettere a admin-ajax.php di comunicare con il motore di ricerca in WordPress. In realtà si tratta di una richiesta che funziona con temi/plugin e motori di ricerca quando aggiorni il sito WordPress.

19 gen 2024 19:01:16
Commenti

OK, posso vedere che è necessario per il funzionamento del sito, ma non riesco a immaginare che tu possa effettivamente ottenere contenuti indicizzabili utili da admin-ajax.

Rup Rup
22 gen 2024 12:27:16