Cosa vede Googlebot quando esegue la scansione di Discourse

TL:DR, è semi-umanamente possibile replicare il crawling di Googlebot su Discourse. Ecco come iniziare…

Diventa tutt’uno con Googlebot

  1. Apri una finestra di navigazione in incognito (inizia sempre da zero)
  2. Apri DevTools
  3. Apri Network Conditions in DevTools
  4. Deseleziona ‘Usa le impostazioni predefinite del browser’
  5. Nel menu a discesa scegli Googlebot Smartphone
  6. Quindi vai su https://meta.discourse.org (sembra molto diverso; non è un problema perché sei Googlebot e ai bot non importa)
  7. Vai su Visualizza > Sviluppatore > Visualizza sorgente
  8. Copialo e incollalo in un file .html

Ottimo lavoro! Hai creato il file a cui gli esseri umani fanno riferimento per vedere cosa Googlebot ha scansionato e messo in cache.

Il lavoro di Googlebot è terminato. Ora è il momento di renderizzare il file in cache in un browser.

Diventa tutt’uno con Chrome

  1. Apri il terminale ed esegui npx http-server
  2. Naviga fino al file
  3. Apri Chrome DevTools
  4. Nel pannello Elementi, fai clic con il pulsante destro del mouse su <html>... e seleziona Copia outerHTML.
  5. Questo è il contenuto che verrà indicizzato, non messo in cache, indicizzato.

In sintesi, Googlebot recupera l’HTML e Chrome lo renderizza. L’HTML renderizzato è oro. Assicurati che i tuoi preziosi contenuti e link appaiano lì.

2 Mi Piace

Qual è lo scopo dei passaggi sotto “Diventa tutt’uno con Chrome”?

Non potresti eseguire il passaggio “Copia outerHTML” al posto del passaggio 7 nel primo elenco?

Penso che tu possa anche recuperarlo con curl:

curl -s https://meta.discourse.org/ > page.html

(Conterrà le classi \"crawler\".)

Quindi apri il file page.html in un browser.

Oppure per ispezionare il codice in un editor:

curl -s https://meta.discourse.org/ | vim -
2 Mi Piace

L’HTML memorizzato nella cache viene renderizzato in Chrome (headless). Quando viene renderizzato, copie supplementari e collegamenti possono essere introdotti tramite JavaScript, nel DOM. Google prenderà in considerazione le informazioni che renderizza per l’indicizzazione.

Questo è il modo in cui Googlebot ottiene contenuti da applicazioni ricche di JavaScript. Vai su Google e cerca qualcosa che sai che renderizza contenuti solo con JavaScript > fai clic sull’icona con i 3 puntini > fai clic sul pulsante Cache > fai clic su Visualizza sorgente > copiala e renderizzala in Chrome per vedere quali contenuti appaiono nel DOM.

Nota: aggiorna eventuali percorsi relativi (risorse CSS e JS) in percorsi assoluti prima di renderizzarli in Chrome ^^

Usare curl lo rende più facile, bello!

Assicurati di includere la stringa user agent di Googlebot, ad esempio Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html). Il server potrebbe inviare a Googlebot un HTML diverso.

Penso che sia lo stesso output, ma non fa male aggiungere l’user agent. Non sono sicuro di Chrome, ma in Firefox puoi fare clic destro sulla richiesta nella scheda di rete e scegliere “copia come curl” per un set completo di intestazioni che imiteranno una richiesta del browser.