Google fa ancora Ajax
Puoi ora fidarti di Google per strisciare i siti Ajax?
Riepilogo:
Il 14 ottobre, Google ha annunciato che non raccomandano più lo schema di scansione Ajax che hanno pubblicato nel 2009. Ciò solleva la questione se puoi fidarti di Google per strisciare e indicizzare con successo un sito AJAX.
Punti chiave:
- Web designer e ingegneri preferiscono utilizzare AJAX per la costruzione di applicazioni a pagina singola (SPA) con framework come Angular e React.
- Ajax consente applicazioni Web fluide e interattive che funzionano come applicazioni desktop.
- In una spa, il contenuto di HTML non viene inizialmente caricato nel browser. Invece, Ajax utilizza JavaScript per comunicare dinamicamente con il server Web e rendere HTML.
- Google è stato in grado di strisciare alcuni contenuti JavaScript, ma SEO per i siti Pure Spa Ajax ha posto sfide.
- Nel 2009, Google ha introdotto la soluzione Crawlable AJAX, che prevedeva l’utilizzo di URL “Fragmenti sfuggiti” o meta tag per istruire Google a prendere una versione pre-rendering della pagina con HTML completo.
- Nonostante la capacità di Google di strisciare JavaScript, molti siti che hanno permesso a Google di strisciare i loro siti di Spa Ajax hanno avuto un successo limitato.
- Alcuni siti hanno persino visto un calo significativo del traffico organico dopo essere passati all’implementazione dell’AJAX.
- Il 14 ottobre, Google ha annunciato che non raccomandano più la loro vecchia proposta di scansione dell’Ajax, ma lo supportano comunque.
- C’è un’idea sbagliata che Google può ora strisciare i siti Ajax senza problemi, ma è importante notare che affermano di essere “generalmente in grado” di rendere e comprendere le pagine Web come i browser moderni.
- È fondamentale considerare la lingua utilizzata da Google e non fare affidamento esclusivamente sul presupposto che possano comprendere appieno le pagine Ajax.
Domande:
- Google può indicizzare correttamente i siti Ajax?
- Qual è lo scopo di utilizzare l’Ajax nel web design?
- Cosa succede quando inizialmente viene caricata una spa?
- Quali sfide hanno i siti Ajax storicamente affrontati per quanto riguarda la SEO?
- Quali sono stati i metodi proposti da Google nel 2009 per rendere Crawlable Ajax?
- Consentire a Google di scansionare i siti AJAX comporta un successo di indicizzazione per molti siti Web?
- Quale impatto negativo ha avuto alcuni siti dopo aver implementato l’AJAX?
- Cosa ha annunciato Google il 14 ottobre per quanto riguarda la loro raccomandazione di scansione dell’Ajax?
- È accurato credere che Google possa ora strisciare i siti Ajax in modo efficace?
- Perché è importante considerare la lingua di Google nel loro annuncio?
- Puoi fidarti di Google per comprendere e strisciare appieno il tuo sito Ajax?
- In che modo i web designer e gli ingegneri utilizzano l’AJAX nella costruzione di applicazioni Web?
- Qual è il ruolo di JavaScript nel processo di rendering di un sito AJAX?
- Perché alcuni siti Web hanno ricorso alle snapshot HTML pre-rendering come soluzione?
- Cosa esiste malinteso sulla capacità di Google di strisciare i siti Ajax?
Risposte:
- Google può strisciare i siti Ajax, ma il successo dell’indicizzazione varia e non è garantito.
- AJAX viene utilizzato nel web design per creare applicazioni a pagina singola (SPA) che forniscono un’esperienza utente regolare e interattiva simile alle applicazioni desktop dedicate.
- Quando una spa viene caricata inizialmente, il contenuto di HTML non viene recuperato e reso. Invece, il browser si basa su JavaScript per comunicare con il server e rendere dinamicamente l’HTML.
- Storicamente, i siti Ajax hanno affrontato sfide con SEO perché la capacità di Google di strisciare il contenuto di JavaScript era limitata. Ciò ha portato a difficoltà nell’indicizzazione e nella classifica in modo efficace.
- Nel 2009, Google ha proposto due metodi per rendere l’Ajax strisciabile. Uno coinvolto nell’uso degli URL “Frammento sfuggito”, che hanno provocato UGLY URLS. L’altro metodo ha usato a Meta = “frammento” Tag nella pagina per istruire Google di recuperare una versione pre-rendering con HTML completo.
- Consentire a Google di strisciare i siti Ajax non ha sempre comportato un’indicizzazione di successo per molti siti Web. Alcuni siti hanno visto solo una parte delle loro pagine completamente resa e indicizzata, mentre altri hanno subito un calo significativo del traffico organico.
- Dopo aver implementato l’AJAX, alcuni siti Web hanno visto un impatto negativo sul loro traffico organico e hanno dovuto riprendersi dal calo dei visitatori.
- Il 14 ottobre, Google ha annunciato che non raccomandano più la loro vecchia proposta di scansione dell’Ajax, ma continuano a supportarla. Ciò significa che non stanno suggerendo attivamente il suo utilizzo, ma ne riconoscono ancora la sua funzionalità.
- Non è accurato supporre che Google possa ora strisciare i siti Ajax in modo efficace senza problemi. Mentre affermano di essere “generalmente in grado” di rendere e comprendere pagine Web come i browser moderni, è essenziale considerare la lingua utilizzata e non fare esclusivamente su questa affermazione.
- È importante considerare la lingua di Google nel loro annuncio perché non forniscono una garanzia di indicizzazione senza soluzione di continuità per i siti AJAX. La frase “generalmente capace” implica il potenziale per limiti e sfide nella comprensione e nella scansione delle pagine dell’Ajax.
- Fidarsi di Google per comprendere e strisciare appieno un sito AJAX non è consigliabile senza ulteriori test e monitoraggio. Il successo dell’indicizzazione può variare ed è fondamentale prendere in considerazione soluzioni alternative come le istantanei HTML pre-rendering.
- Web designer e ingegneri utilizzano AJAX per creare spa con framework come Angular and React, consentendo lo sviluppo di applicazioni Web che offrono un’esperienza utente interattiva e regolare simile alle applicazioni desktop dedicate.
- JavaScript svolge un ruolo significativo nel processo di rendering di un sito AJAX. Comunica dinamicamente con il server Web per creare e rendere il contenuto HTML con cui l’utente può interagire.
- I siti Web ricorrenti a istantanee HTML pre-rendering come soluzione perché alcuni framework AJAX, come Angular, non supportano ancora il rendering lato server. Il pre-rendering consente la creazione di istantanee HTML servite ai motori di ricerca, garantendo l’indicizzazione e la visibilità completa.
- C’è un malinteso che la capacità di Google di strisciare i siti Ajax è ora impeccabile. Tuttavia, è importante notare che la loro capacità di comprendere e strisciare il contenuto di Javascript è migliorata, ma possono ancora esistere sfide e limitazioni.
Puoi ora fidarti di Google per strisciare i siti Ajax
E poi, il 14 ottobre, Google ha detto questo:
Google Crawl Ajax Content? [Chiuso]
Vuoi migliorare questa domanda? Aggiorna la domanda in modo che si concentri su un problema solo modificando questo post.
Chiuso 7 anni fa .
Nella home page del mio sito utilizzo la funzione Ajax di JQuery per estrarre un elenco di attività recenti degli utenti. La recente attività viene visualizzata sulla pagina e ogni riga dell’attività recente include un collegamento al profilo utente dell’utente che ha svolto l’attività. Google effettivamente effettuerà la chiamata AJAX per abbattere queste informazioni e usarle nel calcolo della pertinenza della pagina / flusso di succo di collegamento? Spero che questo non Poiché le pagine del profilo utente non sono molto degni di Google Index e non voglio tutti quei collegamenti alle pagine del profilo utente che dilueno il flusso di succo di collegamento della mia home page lontano da altri collegamenti più importanti.
Puoi ora fidarti di Google per strisciare i siti Ajax?
Il 14 ottobre, Google ha annunciato che non raccomanda più lo schema di scansione dell’Ajax che hanno pubblicato nel 2009. Il editorialista Mark Munroe si immerge nella questione se questo significhi che ora puoi contare su Google per strisciare e indicizzare con successo un sito AJAX.
Mark Munroe il 13 novembre 2015 alle 9:18 | Tempo di lettura: 7 minuti

Web designer e ingegneri adorano Ajax per la costruzione di applicazioni a pagina singola (SPA) con quadri popolari come Angular e React. Le implementazioni ajax pure possono fornire un’applicazione Web fluida e interattiva che funziona più come un’applicazione desktop dedicata.
Con una spa, in generale, il contenuto di HTML non viene caricato nel browser sul recupero iniziale della pagina web. Ajax utilizza JavaScript per comunicare dinamicamente con il server Web per creare HTML per rendere la pagina e interagire con l’utente. (C’è una tecnica chiamata “Rendering lato server” dove il javascript è effettivamente eseguito sul server e la richiesta di pagina viene restituita con HTML rendering. Tuttavia, questo approccio non è ancora supportato su tutti i quadri della spa e aggiunge complessità allo sviluppo.)
Uno dei problemi con i siti spa ajax è stato SEO. Google ha effettivamente strisciato alcuni contenuti JavaScript per un po ‘. In effetti, questa recente serie di test ha confermato Google’S Capacità di strisciare collegamenti, metadati e contenuti inseriti tramite JavaScript. Tuttavia, i siti Web che utilizzano framework Spa Ajax Pure Spa hanno provato storie di sfide con SEO.
Nel 2009, Google ha escogitato una soluzione per rendere Ajax Crawlable. Quel metodo o crea o “Frammento sfuggito” URLS (UGLY URL) o più recentemente, pulite URL con a Meta =”frammento” Tag sulla pagina.
L’URL Frammento sfuggito o il tag Framment Meta indica a Google di uscire e ottenere una versione pre-rendering della pagina che ha eseguito tutti i JavaScript e ha l’HTML completo che Google può analizzare e indicizzare. In questo metodo, il ragno serve un codice sorgente di pagina totalmente diverso (HTML vs. Javascript).
Durante la parola che Google striscia JavaScript, molti siti hanno deciso di lasciare che Google strisciava i loro siti spa ajax. In generale, ciò non ha avuto molto successo. Nell’ultimo anno, ho consultato un paio di siti Web con un’implementazione angolare AJAX. Google ha avuto un certo successo e circa il 30 percento delle pagine in Google’La cache è stata completamente resa. L’altro 70 percento era vuoto.
Un popolare sito alimentare è passato a Angular, credendo che Google potesse strisciare. Hanno perso circa il 70 percento del loro traffico organico e si stanno ancora riprendendo da quella debacle. Alla fine, entrambi i siti sono andati a pre-rendering HTML Snapshot, la soluzione di scansione AJAX consigliata al momento.
E poi, il 14 ottobre, Google ha detto questo:
Non raccomandiamo più la proposta di scansione dell’Ajax che abbiamo fatto nel 2009.
Nota che sono ancora supporto la loro vecchia proposta. (Ci sono stati alcuni articoli che annunciano che non lo supportano più, ma non è vero – semplicemente non raccomandano più quell’approccio.)
Nel deprecare la vecchia raccomandazione, sembravano dire che ora possono strisciare ajax.
Quindi, solo una settimana dopo l’annuncio, un cliente con un sito appena lanciato mi ha chiesto di verificarlo. Questo era un sito angolare, di nuovo un’implementazione spa ajax.
Dopo aver esaminato Google’S indice e cache, abbiamo visto alcune pagine parzialmente indicizzate senza tutto il contenuto che veniva strisciato. Ho ribadito la mia precedente raccomandazione di utilizzare istantanee HTML o miglioramento progressivo.
Questo sito è stato creato con Angular, che non supporta ancora il rendering lato server (di nuovo, in questo caso, il server inizialmente rende una pagina per servire il documento HTML), quindi il miglioramento progressivo sarebbe difficile da supportare e le istantanee HTML sono ancora la soluzione migliore per loro.
Lei rispose, “Ma perché? Tutto quello che leggo mi dice che Google può strisciarsi ajax.”
Possono? Permettere’S Dai un’occhiata più profonda alla nuova raccomandazione in merito all’Ajax.
Google’Nuovi raccomandazioni Ajax
Nel spiegare perché stanno deprecando la vecchia raccomandazione, dicono (enfasi la mia):
Noi siamo generalmente abile per rendere e comprendere le tue pagine web come i browser moderni.
Molte persone potrebbero essere pronte a concludere che ora possono strisciare Ajax senza problemi. Ma guarda la lingua: “generalmente abile”? Scommetteresti che le tue entrate aziendali sono a conoscenza di Google “generalmente abile” Per capire la tua pagina?
Potrebbe essere che sto solo scegliendo la semantica? Permettere’s esaminare ulteriormente l’annuncio. Più tardi nel loro annuncio, affermano l’Ajax:
Poiché i presupposti per la nostra proposta del 2009 non sono più validi, raccomandiamo di seguire i principi di miglioramento progressivo.
Don’Tignalo nel loro annuncio, ma raccomandando un miglioramento progressivo (che carica un po ‘di HTML per i browser che Don’t supportare javascript), sembrano essere implicitamente dicendo, “Assistente’conta su di noi strisciando il tuo javascript.” Perché raccomandare questo metodo se in effetti Google può costantemente strisciare i siti Spa Ajax?
Temevo di essere forse analizzato in modo eccessivo a Google’parole, ma poi ..
John Mueller conferma che Google ha ancora problemi con l’Ajax
Il 27 ottobre (meno di due settimane dopo l’annuncio di Google), John Mueller, sul suo ritrovo centrale del webmaster, ha confermato che Google ha davvero problemi con AJAX.
Puoi visualizzare lo scambio intorno alle 1:08:00 nel video, dove c’era una domanda relativa a una specifica implementazione angolare:
Hanno ancora problemi con il rendering e si aspettano di migliorare nel tempo. John raccomanda alcune azioni per aiutare a eseguire il debug delle questioni.
Alla fine, ha raccomandato di utilizzare le istantanee HTML fino a quando Google migliora l’AJAX (sì, il metodo che è stato ufficialmente deprecato).
Quindi che si fa?
- Miglioramento progressivo. Il rendering lato server sarebbe necessario per un miglioramento progressivo e non è ancora supportato da Angular. Tuttavia, l’imminente Angular 2.0 supporterà il rendering lato server. React supporta, in effetti, il rendering lato server oggi. Questo è, tuttavia, più lavoro della semplice creazione di istantanee HTML. È necessario assicurarsi di rendere qualsiasi collegamento richiesto in modo che Google possa strisciare e indicizzare contenuti aggiuntivi che vengono caricati nella pagina. Tuttavia, per i siti che usano un framework AJAX, questo sarebbe il mio approccio raccomandato. (E, ovviamente, è Google’S consigliato approccio.)
- Snapshot HTML pre-rendering. Ancora una volta, Don’essere confuso se hai sentito o letto che Google non supporta più questo metodo. Continueranno a sostenerlo per il prossimo futuro. Non lo stanno più raccomandando più. Questo metodo funziona; Tuttavia, scrivere il codice per pre-render e servire le istantanee non è banale. La buona notizia è che ci sono diversi fornitori là fuori come il prereder.io che farà il lavoro per te a un costo relativamente basso. Questo è probabilmente l’approccio più semplice. Questo metodo non è l’ideale. Servire un codice sorgente diverso ai crawlers vs. browser (HTML vs. JavaScript) può essere problematico. Può essere considerato una tecnica di occultamento e non è necessariamente ovvio cosa vengono serviti i robot. Esso’è importante monitorare Google’s cache per assicurarsi che non vengano serviti la pagina sbagliata. Tuttavia, se si utilizza una piattaforma che non supporta il rendering lato server, questa potrebbe essere la tua unica soluzione.
Meglio prevenire che curare
Anche se avessi visto prove che Google stava costantemente strisciando i siti Ajax, sarei comunque diffidente. Ci vogliono molte più risorse e molto più tempo per rendere pienamente una pagina che per servire semplicemente HTML.
Cosa succederà ai siti con centinaia di migliaia o milioni di pagine? In che modo avrà un impatto sul budget di scansione? La velocità di scansione rimarrà coerente?
Prima di raccomandare questo approccio, io’D piuttosto aspettare e vedere forti prove che Google può e fa costantemente crawl applicazioni a singola pagina ajax pura senza alcun impatto negativo sulla frequenza di scansione, sull’indicizzazione e sulle classifiche. Si prega di condividere le tue esperienze.
Le opinioni espresse in questo articolo sono quelle dell’autore ospite e non necessariamente terreni per motori di ricerca. Gli autori del personale sono elencati qui.
In che modo JavaScript e Ajax influiscono sull’indicizzazione in Google?
Nel tempo, Google ha notevolmente migliorato il suo indicizzazione di JavaScript e Ajax. All’inizio, non è stato’t indicizzare qualsiasi cosa, o seguiti eventuali collegamenti che compaiono all’interno del contenuto caricato attraverso questi framework. Ma poi, a poco a poco, ha iniziato a indicizzare alcune implementazioni e a migliorare le sue capacità. Al giorno d’oggi, può indicizzare molte implementazioni diverse, e seguire i collegamenti caricati attraverso Ajax O API Fetch. Tuttavia, Ci saranno ancora casi in cui potrebbe non farlo.
Per analizzare i casi in cui Google potrebbe finire per non indicizzare il nostro sito, prima dobbiamo comprendere il concetto di Rendering lato cliente (CSR). Implica questo L’HTML è dipinto sul lato client con JavaScript, di solito usando Ajax in eccesso. Inizialmente, i siti Web dipingevano sempre il lato server HTML (Rendering lato server o SSR), ma per qualche tempo ormai, La CSR è diventata popolare, con l’arrivo di framework JavaScript come Angular, React e Vue. Tuttavia, La CSR influisce negativamente sull’indicizzazione, Sito Web Rendering Performance e, di conseguenza, SEO.
Come noi’ve già spiegato prima, Per garantire l’indicizzazione in tutti i motori di ricerca e le situazioni, Oltre a ottenere buone prestazioni, La soluzione migliore è utilizzare un framework universale, Come con queste misure finiamo con qualcosa chiamato Rendering ibrido. È costituito in Dipingere il sito Web sul server al primo carico, quindi sul client tramite JavaScript e Ajax mentre la navigazione si sposta sui collegamenti che seguono. Sebbene, in realtà, ci siano più situazioni in cui è valido anche l’uso del termine di rendering ibrido.
A volte, la società di sviluppo utilizza CSR e DODN’t Offrici la possibilità di utilizzare un framework universale. Questo Lo sviluppo web basato su CSR ci metterà nei guai, in misura maggiore o minore, A seconda del crawler e dei suoi algoritmi di classificazione. In questo post, analizzeremo Quali sono questi problemi con Google’s crawler sono e come risolverli.
Problemi di CSR durante il carico iniziale di una pagina
Innanzitutto, analizzeremo i problemi di indicizzazione che si verificano Non appena entriamo in un URL al di fuori del sito Web, e quando l’HTML viene reso sul lato client con JavaScript.
Problemi a seguito di un rendering lento
Google’Il processo di indicizzazione S passa attraverso i seguenti passaggi:

- Strisciando: GoogleBot richiede un URL al server.
- Prima ondata di indicizzazione: indicizza istantaneamente il contenuto dipinto sul server e ottiene nuovi collegamenti a strisciare.
- Genera il lato del client dipinto HTML eseguendo JavaScript. Questo processo è computazionalmente costoso (può essere fatto al momento o richiedere diversi giorni, in attesa di ottenere le risorse necessarie per farlo).
- Seconda ondata di indicizzazione: con il lato client dipinto HTML, il contenuto rimanente viene indicizzato e si ottengono nuovi collegamenti da strisciare.
Oltre al fatto che quello Le pagine possono richiedere più tempo per indicizzare completamente, ritardando così l’indicizzazione delle pagine successive collegate da esse, se il rendering di una pagina è lento, GoogleBot’S Renderer può lasciare parti non dipinte. Noi’ve aver testato questo usando l’opzione di “Fetch come Google” fornito da Google Search Console, e lo screenshot che genera non’t dipingere tutto ciò che richiede più di 5 secondi per essere visualizzato. Tuttavia, genera l’HTML che richiede più tempo di quei 5 secondi. Per capire perché questo accade, dobbiamo tenerlo a mente Console di ricerca di Google’S Render prima crea l’HTML che esegue JavaScript con GoogleBot’Sosanter e poi dipinge la pagina’S pixel. La prima attività è quella che deve essere considerata per l’indicizzazione, a cui ci riferiamo con il termine CSR. In Google Search Console possiamo vedere l’HTML generato durante la prima ondata di indicizzazione e non quello generato da GoogleBot’Sosanter.

In Google Search Console non possiamo vedere l’HTML dipinto da JavaScript, gestito da Googlebot �� e utilizzato nell’ultima fase di indicizzazione. Per fare ciò, dobbiamo usare questo strumento: https: // ricerca.Google.com/test/mobile-friendly �� fare clic per tweet
Nei test noi’VE condotto, quando il rendering HTML ha richiesto più di 19 secondi, non è stato’T Idex di qualsiasi cosa. Mentre questo è molto tempo, in alcuni casi può essere superato, soprattutto se usiamo Ajax intensamente e in questi casi Google’Il rendering di S, proprio come qualsiasi rendering, davvero, deve aspettare che si verifichino i seguenti passaggi:
- Html viene scaricato ed elaborato Per richiedere file collegati e creare DOM.
- CSS viene scaricato ed elaborato, Per richiedere file collegati e creare CSSOM.
- JavaScript viene scaricato, compilato ed eseguito, per avviare le richieste AJAX.
- La richiesta AJAX viene spostata in una coda di richiesta, in attesa di essere risposto, insieme ad altri file richiesti.
- La richiesta AJAX è lanciato e deve viaggiare attraverso la rete sul server.
- Il server risponde alle richieste attraverso la rete e infine, Dobbiamo aspettare l’esecuzione di JavaScript, per dipingere il contenuto della pagina’modello HTML.
La richiesta e i tempi di download del processo che abbiamo appena descritto dipendono dal carico di rete e server durante quel periodo. Inoltre, GoogleBot utilizza solo http/1.1, che è più lento di HTTP/2, perché le richieste sono trattate uno dopo l’altro, e non tutte allo stesso tempo. Esso’è necessario che sia il client che il server consentano l’utilizzo di http/2, motivo per cui GoogleBot utilizzerà solo http/1.1, anche se il nostro server consente http/2. Per riassumere, ciò significa che GoogleBot attende che ogni richiesta finisca per avviare quella successiva, e IT’è possibile vinto’T provare a parallelizzare alcune richieste aprendo varie connessioni, come fanno i browser (anche se non noi’so esattamente come lo fa). Pertanto, siamo in una situazione in cui Potremmo superare questi 19 secondi che abbiamo stimato prima.
Immagina, ad esempio, che con immagini, richieste CSS, JavaScript e Ajax, vengono lanciate oltre 200 richieste, ognuna assunta 100 ms. Se le richieste Ajax vengono inviate sul retro della coda, noi’Probabilmente superare il tempo richiesto per indicizzare il loro contenuto.
D’altra parte, a causa di questi problemi di prestazione CSR, Otterremo un segno peggiore per la metrica FCP (First Contentful Paint) in Pagespeed in termini di rendering e il suo WPO e, di conseguenza, classifiche peggiori.
Problemi di indicizzazione:
Quando si indicizzano il contenuto dipinto sul lato client, GoogleBot può riscontrare i seguenti problemi, che impediranno l’indicizzazione di HTML generato da JavaScript:
- Usano un Versione di JavaScript Il crawler non lo fa’t riconoscere.
- Usano un API JavaScript Non riconosciuto da GoogleBot (attualmente, conosciamo Web Sockets, WebGL, WebVR, IndexedDB e WebSQL non sono supportati – Maggiori informazioni su https: // sviluppatori.Google.com/ricerca/docs/guide/rendering).
- I file JavaScript sono bloccati dai robot.TXT.
- I file JavaScript vengono serviti tramite HTTP mentre il sito Web utilizza HTTPS.
- Ci sono JavaScript errori.
- Se l’applicazione richiede autorizzazione dell’utente Fare qualcosa, e da esso dipende dal rendering del contenuto principale, ha vinto’tieni dipinto, perché Googlebot nega qualsiasi autorizzazione’S richiesto per impostazione predefinita.
Per scoprire se soffriamo di uno di questi problemi, dovremmo usare Google’S Test per dispositivi mobili. Ci mostrerà uno screenshot di come una pagina è dipinta sullo schermo, simile alla console di ricerca di Google, ma ci mostra anche il Codice HTML generato dal rendering (come menzionato prima), registri di registro degli errori nel codice JavaScript, E JavaScript caratteristiche Il rendering non può ancora interpretare. Dovremmo utilizzare questo strumento per testare tutti gli URL rappresentativi di ogni modello di pagina sul nostro sito Web, per assicurarsi che il sito Web sia indicizzabile.
Dobbiamo tenere presente che nel Html generato dallo strumento precedente, tutto metadati (incluso l’URL canonico) sarà ignorato da GoogleBot, poiché tiene conto solo delle informazioni quando è’s dipinto sul server.
Problemi di CSR per quanto riguarda la navigazione alla pagina successiva
Adesso molla’vedere cosa succede quando usiamo un link per navigare, una volta’essere già sul sito Web e l’HTML è dipinto sul lato client.
Problemi di indicizzazione
Contrariamente al CSR durante il carico iniziale, La navigazione alla pagina successiva che cambia il contenuto principale tramite JavaScript è più veloce di SSR. Ma noi’LL ha problemi di indicizzazione se:
- Link Don’t Avere un URL valido che restituisce 200 ok nel loro attributo HREF.
- Il server restituisce un errore quando si accede direttamente all’URL, senza JavaScript o con JavaScript abilitato ed eliminato tutte le cache. Fai attenzione a questo: se navighiamo verso la pagina facendo clic su un link, potrebbe sembrare’S funziona, perché è caricato da JavaScript. Anche quando si accede direttamente, se il sito Web utilizza un lavoratore del servizio, il sito Web può simulare una risposta corretta, caricando la sua cache. Ma Googlebot è un crawler apolide, motivo per cui non lo fa’T Prendi in considerazione qualsiasi cache dei lavoratori del server o qualsiasi altra tecnologia JavaScript come l’archiviazione locale o l’archiviazione della sessione, quindi riceverà un errore.
Inoltre, affinché il sito Web sia accessibile, l’URL deve cambiare utilizzando JavaScript con il API STORIA.
Cosa succede ora con i frammenti che Google può indicizzare l’Ajax?
I frammenti fanno parte di un URL che può apparire alla fine, preceduto da un hash #. Per esempio:
http: // www.livello umano.com/blog.Esempio HTML#
Questo tipo di URL non raggiunge mai il server, sono solo sul lato del cliente gestito. Ciò significa che quando si richiede l’URL di cui sopra al server, otterrebbe la richiesta “http: // www.livello umano.com/blog.html”, E nel cliente, il browser scorrerà verso il frammento del documento a cui si fa riferimento. Questo è l’uso comune e originariamente previsto per questi URL, comunemente conosciuto come Ancore HTML. E un’ancora, in realtà, è qualsiasi collegamento (il “UN” Tag in HTML viene da ancora). Tuttavia, ai vecchi tempi, I frammenti sono stati anche usati per modificare gli URL tramite JavaScript su pagine caricate da Ajax, intende lasciare che l’utente navighi attraverso la cronologia di navigazione. È stato implementato in questo modo, perché allora il frammento era l’unica parte dell’URL che potevamo modificare usando JavaScript, motivo per cui gli sviluppatori ne hanno approfittato per usarli in un modo in cui non erano’t inteso. Ciò è cambiato con l’arrivo dell’API della storia, perché ha permesso di modificare l’intero URL tramite JavaScript.
Quando Google non poteva’t indice ajax, se un URL ha cambiato il suo contenuto attraverso l’Ajax, in base alla parte del frammento, sapevamo che avrebbe solo indicizzato l’URL e il contenuto senza tenere conto del frammento. Quindi … cosa succede alle pagine con frammenti ora che Google può indicizzare Ajax? Il comportamento è esattamente lo stesso. Se colleghiamo una pagina con un frammento e cambia il suo contenuto quando si accede attraverso il frammento, indicizzerà il contenuto che ignora il frammento e la popolarità andrà a questo URL, Perché Google si fida del frammento verrà utilizzato come ancoraggio e non per cambiare il contenuto, come dovrebbe.
Tuttavia, Google fa attualmente indicizzare gli URL con un hashbang (#!). Questo può essere implementato semplicemente aggiungendo il segno esclamativo o scoppio, e Google farà funzionare, per mantenere la compatibilità all’indietro con una specifica obsoleta per rendere Ajax indicizzabile. Questa pratica, tuttavia, non è raccomandata, perché ora dovrebbe essere implementata con l’API di storia e inoltre, Google potrebbe improvvisamente smettere di indicizzare gli URL Hashbang in qualsiasi momento.
Bloccare l’indicizzazione delle risposte parziali attraverso l’Ajax
Quando un Ajax La richiesta viene inviata a URLS di un riposo o di graphql API, Noi’re restituito a JSON o un pezzo di una pagina Don’T voglio indicizzare. Pertanto, dovremmo Blocca l’indicizzazione degli URL a cui sono dirette queste richieste.
In passato potremmo bloccarli usando i robot.TXT, Ma da Googlebot’Il rendering di S è arrivato, non possiamo bloccare alcuna risorsa utilizzata per dipingere HTML.
Attualmente, Google è un po ‘più intelligente e non lo fa’t di solito tentare di indicizzare le risposte con Jsons, ma se vogliamo assicurarci che non’T essere indicizzato, La soluzione universale applicabile a tutti i motori di ricerca è quella di realizzare tutti gli URL utilizzati con l’AJAX per accettare solo le richieste effettuate tramite il metodo post, Perché non è’t usato dai crawler. Quando una richiesta GET raggiunge il server, dovrebbe restituire un errore 404. In termini di programmazione, non lo fa’T costringi a rimuovere i parametri dall’URL’s queryystring.
C’è anche la possibilità di aggiungere HTTP “X-robots-tag: noindex” Intestazione (inventato da Google) alle risposte Ajax o per far restituire queste risposte con 404 o 410. Se utilizziamo queste tecniche sul contenuto caricato direttamente dall’HTML, ha vinto’Tieni indicizzato, proprio come se l’avessimo bloccato attraverso i robot.file txt. Tuttavia, dato quello’s il javascript che dipinge la risposta sulla pagina, Google non’T Stabilire una relazione tra questa risposta e JavaScript che dipinge il contenuto, Quindi fa esattamente quello che ci aspettiamo. E questo è: non indicizzare la risposta parziale e indicizzare completamente l’HTML generato. Attento a questo, perché questo comportamento può cambiare un giorno, e così tutti i nostri contenuti caricati tramite AJAX se applichiamo questa tecnica.
Conclusione
Google ora può indicizzare JavaScript e Ajax, ma implica inevitabilmente un Costi più elevati per l’indicizzazione già elaborato HTML nel server. Ciò significa che SSR è e continuerà ad essere l’opzione migliore per un bel po ‘di tempo. Se non hai altra alternativa ma per gestire un sito Web CSR, completamente o parzialmente, ora sai come farlo.
