# Discourse Loading Time

**URL:** https://meta.discourse.org/t/discourse-loading-time/89914
**Category:** Feature
**Created:** [June 14, 2018, 7:40pm UTC](https://meta.discourse.org/t/discourse-loading-time/89914 "2018-06-14T19:40:47Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![outofthebox](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/outofthebox/32/83708_2.png) [@outofthebox](https://meta.discourse.org/u/outofthebox)
#### Post date: [June 14, 2018, 7:40pm UTC](https://meta.discourse.org/t/discourse-loading-time/89914/1 "2018-06-14T19:40:47Z")

</div>

Hi,

What is the Discourse team’s approach to how quickly Discourse loads?

The spark for the discussion is that Google will be using site speed as a ranking factor for mobile searches starting in July - [https://webmasters.googleblog.com/2018/01/using-page-speed-in-mobile-search.html?hl=en-US&utm\_source=PSI&utm\_medium=incoming-link&utm\_campaign=PSI](https://webmasters.googleblog.com/2018/01/using-page-speed-in-mobile-search.html?hl=en-US&utm_source=PSI&utm_medium=incoming-link&utm_campaign=PSI).

Their take is based on a variety of studies. E.g., [The current benchmarks:](https://www.thinkwithgoogle.com/marketing-resources/data-measurement/mobile-page-speed-new-industry-benchmarks/)

> That’s far too slow when you consider that 53% of mobile site visits leave a page that takes longer than three seconds to load.2

For instance, meta itself is ranked ‘slow/medium’ for page speed and optimization on mobile devices at Google’s developer tool:

> **[PageSpeed Insights](https://pagespeed.web.dev/analysis?utm_source=psi&utm_medium=redirect&url=meta.discourse.org)**

At the same tool, but with data from the Chrome User Experience Report:

> **[PageSpeed Insights](https://pagespeed.web.dev/analysis?utm_source=psi&utm_medium=redirect&url=site:https:%2F%2Fmeta.discourse.org)**

---

<div class="post-metadata">

### Author: ![Daniel\_Nevoigt](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/daniel_nevoigt/32/92920_2.png) [@Daniel\_Nevoigt](https://meta.discourse.org/u/Daniel_Nevoigt)
#### Post date: [June 14, 2018, 8:56pm UTC](https://meta.discourse.org/t/discourse-loading-time/89914/2 "2018-06-14T20:56:25Z")

</div>

Well, the official part beside, I cannot see any slow working stuff with meta or other hosted discourse instances. Even my 1 core 2gb cloud setup is even faster than my Shopware Shopsystem which has page speed of 80%+. So, what is going wrong, Discourse or the google developers stuff?

---

<div class="post-metadata">

### Author: ![Stranik](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stranik/32/85638_2.png) [@Stranik](https://meta.discourse.org/u/Stranik)
#### Post date: [June 14, 2018, 9:09pm UTC](https://meta.discourse.org/t/discourse-loading-time/89914/3 "2018-06-14T21:09:56Z")

</div>

Google and other search engines do not see the site in the form in which it shows in `developers.google.com`

 ![index](https://global.discourse-cdn.com/meta/original/3X/b/5/b5eb3dc31111d8c30aa2afff1caf45e4e8eff365.jpg)

 ![index2](https://global.discourse-cdn.com/meta/original/3X/1/a/1a07e05c22e10804a6915b9176003b01de68f39e.jpg)

He sees the site:

 ![index3](https://global.discourse-cdn.com/meta/original/3X/8/8/8869489ffd6c8b78033012b8bbb8e0c51d49989c.jpg)

In this version, all data is completely different.

`developers.google.com` - for users

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [June 14, 2018, 9:40pm UTC](https://meta.discourse.org/t/discourse-loading-time/89914/4 "2018-06-14T21:40:22Z")

</div>

Nature of the beast; we are a JavaScript application, so the app has to be delivered to the browser.

It is a bit like if you were measuring smartphone app startup times, including the time spent to download and install the app from the app store as part of the “startup” time.

What isn’t shown is that subsequent page loads are _blindingly_ fast in Discourse because the app is loaded in the browser, and we only send API calls and json (the data necessary to render the page) down the wire.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 14, 2018, 9:42pm UTC](https://meta.discourse.org/t/discourse-loading-time/89914/5 "2018-06-14T21:42:16Z")

</div>

If Google’s algorithm penalises PWA’s that wouldn’t be very smart!!

It’s obviously not reasonable to measure just the time for first load without considering subsequent in-app responsiveness?

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [June 14, 2018, 10:58pm UTC](https://meta.discourse.org/t/discourse-loading-time/89914/6 "2018-06-14T22:58:42Z")

</div>

> [@merefield](#):
>
> It’s obviously not reasonable to measure just the time for first load without considering subsequent in-app responsiveness?

I don’t think it’s completely unreasonable. Google’s job as a search engine is getting you the most relevant information as fast as possible — if a static HTML page has content of identical relevance they should probably favor that over downloading a web app… it’s totally likely you might not ever have a subsequent visit anyway (and if you do, I imagine that’s a bigger relevance factor than speed anyway).

Important to note that Google also reaffirms in their post that they’re only going to be penalizing the slowest of the slow… and more relevant content will likely always win anyway.

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [June 14, 2018, 11:52pm UTC](https://meta.discourse.org/t/discourse-loading-time/89914/7 "2018-06-14T23:52:44Z")

</div>

I have spent literally years following google good practices, building sites constantly scoring above 95% on every single rating tools google would give us and… I have seen countless sites with terrible scores and UX, ranking way better than me.

In the end it’s always the same, CONTENT IS KING, and perf/ssl/whatever will be a very small part of your ranking in the end. Not saying we are not committed to make Discourse as fast as possible. But I wouldn’t be too worried about this.

> [@awesomerobot](#):
>
> they’re only going to be penalizing the slowest of the slow… and more relevant content will likely always win anyway.

👍

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [June 15, 2018, 3:34am UTC](https://meta.discourse.org/t/discourse-loading-time/89914/8 "2018-06-15T03:34:14Z")

</div>

Some numbers for context:

**On desktop** (first view empty cache)

1. [https://stackoverflow.com](https://stackoverflow.com) — 2.3 seconds **445K** ( [result](https://www.webpagetest.org/result/180615_JS_13cccfb5227f2cc4b857e7fc6a6cb06c/) )
2. [https://meta.discourse.org](https://meta.discourse.org) — 4.2 seconds **869K** ( [result](https://www.webpagetest.org/result/180615_CD_d91fce07153b2d44df402ce3f3824a21/) )
3. [https://www.nytimes.com](https://www.nytimes.com) — 9.4 seconds **3600K** ( [result](https://www.webpagetest.org/result/180615_62_ab4e51a5cee50f850b67fba5d585b1f2/) )

**On mobile** moto G (first view empty cache)

1. [https://stackoverflow.com](https://stackoverflow.com) — 2.6 seconds **220K** ( [result](https://www.webpagetest.org/result/180615_EW_e9c9cfad2026b2311a24fe57195e778b/) )
2. [https://meta.discourse.org](https://meta.discourse.org) — 8.8 seconds **827K** ( [result](https://www.webpagetest.org/result/180615_12_4bd3474ac73dae7f93ef7a1244ce3508/) )
3. [https://www.nytimes.com](https://www.nytimes.com) — 46 seconds (interactive in 6) **6400K** ( [result](https://www.webpagetest.org/result/180615_HA_5a9f223554f4626c122ff849b9773eed/) )

Given that Discourse is an entirely JavaScript based application I think it stacks up quite well even against traditional “non JS” sites.

Despite the slightly slower initial load on mobile, using Discourse on mobile is FAR more enjoyable than other sites cause it has only a **tiny** network footprint while browsing around.

There is no chance Discourse is going to be punished here due to any of the numbers I am seeing, though as always we strive to make Discourse faster and better every release despite needing to ship an entire “engine” to a client to run the forum.

---

<div class="post-metadata">

### Author: ![outofthebox](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/outofthebox/32/83708_2.png) [@outofthebox](https://meta.discourse.org/u/outofthebox)
#### Post date: [June 15, 2018, 2:58pm UTC](https://meta.discourse.org/t/discourse-loading-time/89914/9 "2018-06-15T14:58:50Z")

</div>

Thanks all! That makes a lot of sense. I appreciate the context and the explanation!

---

<div class="post-metadata">

### Author: ![edgarriba](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/edgarriba/32/204929_2.png) [@edgarriba](https://meta.discourse.org/u/edgarriba)
#### Post date: [January 27, 2021, 9:07am UTC](https://meta.discourse.org/t/discourse-loading-time/89914/10 "2021-01-27T09:07:29Z")

</div>

I’ve also noticed in my application a small slow loading time too (didn’t measure though). I use the free initial plan in digital ocean servers.

Would be amazing to have a plugin, theme or widget to add a configurable progress bar or spinner.

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [February 5, 2021, 9:17am UTC](https://meta.discourse.org/t/discourse-loading-time/89914/11 "2021-02-05T09:17:29Z")

</div>

Well you are in luck, @david just released this:

> [@Horizontal loading slider](https://meta.discourse.org/t/experiment-on-meta-loading-slider/177939):
>
> police_car_light This functionality is now part of Discourse core. Use the ‘page loading indicator’ setting to enable it. More details [below](https://meta.discourse.org/t/horizontal-loading-slider/177939/254). This theme component removes the core Discourse loading spinner, and replaces it with a loading slider at the top of the screen. This is a common approach on other sites (e.g. GitHub). The advantage is that there is less ‘flickering’ of content during a page change. Potential disadvantage is that it makes Discourse feel less like an app and more like…

I’m closing this topic though as it’s very old.

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [February 5, 2021, 9:17am UTC](https://meta.discourse.org/t/discourse-loading-time/89914/12 "2021-02-05T09:17:35Z")

</div>


