Estou usando prerender.io para servir a versão “application/JS” do site para os rastreadores (minha instância serve a versão JS para rastreadores através de uma configuração oculta)
Está funcionando bem, mas parece que o Discourse pode se enquadrar nesta categoria…
mas algumas páginas da web usam fluxos de carregamento personalizados ou polling constante que podem enganar a lógica do Prerender; assim, ele falha em tomar uma decisão sobre a prontidão da página.
Na primeira vez que o prerender acessa qualquer URL do Discourse, ele atingirá o tempo limite (20 segundos definidos pelo prerender)
A página é renderizada corretamente, é apenas que o prerender.io não sabe que a página está totalmente carregada, então ele “continua” tentando renderizar a página, até que os 20 segundos acabem, então ele serve a versão HTML.
Se o rastreador solicitar a página novamente, ele servirá a página em 1 segundo (mais ou menos) - pois há uma versão HTML do URL no cache.
…mas isso não é prático, pois existem milhares de URLs e 20 segundos para cada URL (na primeira vez que é acessado) não funcionará.
Portanto, precisarei que o abaixo seja adicionado logo após a tag <head> (e quando a página estiver pronta, definir a variável como true)
<script> window.prerenderReady = false; </script>
Gostaria que isso funcionasse em todo o site - espero que isso facilite o trabalho.
Não tenho certeza do que isso implica, mas se eu estiver errado, por favor me avise - $300? $400?