2

I've yet to find specifics, but does anyone know if google's page speed score account for the fact that your app may be a single page application(SPA)? This could in theory change the results of the scores

// per google

Page Speed Insights measures the performance of a page for mobile devices and desktop devices. It fetches the url twice, once with a mobile user-agent, and once with a desktop-user agent.

From my understanding, the score used to only account server side rendered pages.. what about SPAs? do the scores reflect a SPA influenced web application?

thanks!

  • In what ways do you mean "account for"? It renders pages for the given URL (including URLs for SPA pages too) on their server as a client desktop and mobile device does, so if you have Render-Blocking JavaScript for example, it will trigger that rule and affect your score. Note that's a common warning, even for the AngularJS site (by Google): developers.google.com/speed/pagespeed/insights/… – dan Dec 8 '16 at 4:15
  • I understand that render blocking JS is one of the most common impact scores and that google uses a mobile-user agent, BUT someone in my team is concerned that the speed scores only score server side rendered pages and that any SPA app may not be properly scored.. I need to make a substantiative finding that the scores are not only for server side pages. So far I can't seem to find anything that disproves my teammate's take on this. Anything will help. Thanks! – Danny Dec 8 '16 at 16:48
  • It sounds like there's some miscommunication. Server-side rendering is not the same as "server side pages", or page load, which most speed tests measure. Rendering simulates what occurs in the client, like processing JavaScript and CSS, which can affect the total time necessary to fully render/display the content in the client. If PageSpeed Insights were to somehow recognize SPA URLs differently and not preform rendering, that would result in grossly inaccurate scores. I would explain to your client that the score is based on fully loading and rendering the page... – dan Dec 8 '16 at 23:38
  • though content may still be visible while that is occurring. You can also use Developer Tools in browsers to view waterfalls, resource loading, and many more details to get a much more accurate picture than just an automated/canned "performance" score. – dan Dec 8 '16 at 23:42
  • Thanks @dan, some of the page speed insights have actually helped our website's performance.. still need to find out if the page speed score will be affected differently since we have an Angular1 SPA.. – Danny Dec 12 '16 at 18:22
0

The short answer is NO. Google's PageSpeed tool does not monitor SPAs properly. It only downloads all the resources, but, for example if you were using Angular, there is a delay from when the assets got loaded to the when the app is actually running. This process is called bootstrapping. This is the main reason why the Angular team is working on Angular Universal, a server side Angular rendering engine that pre-compiles Angular apps on the server. Only then can your project be observed properly with PageSpeed. This will also give the possibility for your SPA to be crawled for SEO.

  • do you know of any resources that could help an angular1 app? – Danny Dec 12 '16 at 18:19
  • The only third party service I know is prerender.io. It renders all your Angular routes and caches them in the server(you can pay a subscription fee to have them host the files or get the source code and set it up on your own server) – borislemke Dec 13 '16 at 4:17
  • sweet! I'll look into prerender.io, hope there's plenty of support for ng1, I see angular universe is only supporting ng2 thanks a million @borislemke – Danny Dec 13 '16 at 17:43
  • @Danny no worries, glad I could help! – borislemke Dec 13 '16 at 17:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.