Posso autorizzare gli agenti utente che eseguiranno JavaScript?

5

Sto costruendo una SPA (applicazione a singola pagina) in modo che quando un browser richiede una pagina dal mio server, riceve solo un piccolo HTML e una grande app JavaScript che richiede i dati appropriati dal server, esegue il rendering dell'HTML localmente e generalmente guida l'app locale. Pensa a app come Gmail o Google Maps che non ricaricano mai più la pagina.

Ciò rende le applicazioni molto scattanti, ma significa che se l'agente utente non esegue JavaScript, non c'è alcun contenuto. Questo è un problema quando il sito web viene indicizzato dai motori di ricerca o quando un'app richiede un certo contenuto per questo (pensa a postare link a Facebook, Twitter, LinkedIn, come ottenere uno snippet del contenuto).

Per aggirare il problema, sto pre-rendering delle pagine eseguendo la parte JavaScript sul server. Funziona, ma è piuttosto lento. Poiché la maggior parte delle volte questa esecuzione di JavaScript non sarà necessaria, sto pensando di autorizzare alcuni browser, come Chrome, Safari, Firefox, anche versioni recenti di IE per non ottenere il pre-rendering.

Funzionerebbe o sono i robot più utili là fuori che si identificano come browser? Come posso raccogliere queste informazioni? Qualsiasi fonte su user-agent di bot buoni e cattivi?

    
posta pupeno 07.09.2015 - 22:21
fonte

1 risposta

1

Ti suggerisco di dare un'occhiata a cose come AJAX Crawling per influenzarti qui.

Il pre-rendering sembra un eccesso, ma se hai bisogno di javascript per calcolare il contenuto della pagina, allora meglio solo eseguire il pre-rendering javascript quando un bot (come googlebot) ha richiesto un pagina come http://mySPA/example.net/SPA#That-one-page-with-the-stuff e quindi restituire la pagina normale (lite HTML con javascript che esegue il sollevamento pesante) quando un utente effettivo richiede http://mySPA/example.net/SPA .

Google chiama questo "Istantanea HTML ", e lo rispettano nei risultati di ricerca. Non sono sicuro che anche Facebook funzioni.

    
risposta data 26.09.2015 - 10:50
fonte

Leggi altre domande sui tag