# What is the Discourse approach to SEO?

**URL:** https://meta.discourse.org/t/what-is-the-discourse-approach-to-seo/34851
**Category:** Site feedback
**Tags:** search
**Created:** [10월 23, 2015, 7:29오후 UTC](https://meta.discourse.org/t/what-is-the-discourse-approach-to-seo/34851 "2015-10-23T19:29:39Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![John\_Mckay](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/john_mckay/32/116946_2.png) [@John\_Mckay](https://meta.discourse.org/u/John_Mckay)
#### Post date: [10월 23, 2015, 7:29오후 UTC](https://meta.discourse.org/t/what-is-the-discourse-approach-to-seo/34851/1 "2015-10-23T19:29:40Z")

</div>

Hi guys

I really love Discourse, I am working on an SPA too, and have been following your development closely. When you make an architectural decision, we tend to roll with that as well.

You use RoR and EmberJS, we use [ASP.Net](http://ASP.Net) MVC and AngularJS. Different technologies, but similar conceptually on the client and server.

We have noticed that you don’t seem to serve web crawlers (googlebot, bingbot, etc) your Javascript. You never followed Google’s hash fragment recommendations, which is good news because that was recently deprecated.

So we have been doing the same, we opted not to follow the hash fragment recommendations either, and when a web crawler arrives at our website, we give them a server generated version of that page. If a regular human arrives, they get the full SPA experience.

One of the things I have noticed, in particular, is that when I check Google cache from before we stopped giving Google our JS, it’s a complete mess. The Google cache page tries to hit up our api (CORS says No!) and download views (again, CORS).

Since we stopped giving them the JS, and instead opted for the server-side rendered version, things are much nicer when viewing the Google cache version of the page.

However, Google seem pretty, consistently, adamant that they can handle Javascript.I have been talking to people on other forums who suggest that we should just let Google _let it rip_ with our SPA,and that the cache view isn’t important.

Any feedback would be really welcome. Are you guys planning at some point to stop serving up server side rendered versions of any particular page to web crawlers, or are you going to continue to do so?

Do you honestly believe that Google can handle JS as well as they say they can?

Apologies if this is off topic, but hearing your opinions/views on this would be really great.

Thanks!

---

<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: [10월 23, 2015, 7:47오후 UTC](https://meta.discourse.org/t/what-is-the-discourse-approach-to-seo/34851/2 "2015-10-23T19:47:10Z")

</div>

If you visit with your user agent set to Google you will see what we produce. We have not had any problems with that approach so far. (And we do support the hash thing because of other search engines like Yandex which are far less sophisticated than Google)

---

<div class="post-metadata">

### Author: ![John\_Mckay](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/john_mckay/32/116946_2.png) [@John\_Mckay](https://meta.discourse.org/u/John_Mckay)
#### Post date: [10월 23, 2015, 7:52오후 UTC](https://meta.discourse.org/t/what-is-the-discourse-approach-to-seo/34851/3 "2015-10-23T19:52:04Z")

</div>

Thanks for taking the time to answer, and that’s good to know.

I was under the impression that having a _#_ in the URL was the indication to any crawler that you follow that particular protocol, that was how you let a crawler know.

Is that not the case? Also do you think it is worth putting in the work now to implement that functionality now that Google have deprecated it?

---

<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: [10월 23, 2015, 7:54오후 UTC](https://meta.discourse.org/t/what-is-the-discourse-approach-to-seo/34851/4 "2015-10-23T19:54:05Z")

</div>

Not unless every search engine on the planet has deprecated it too. We do try to detect crawlers and send them the 1996 html 1.0 version of the site.

---

<div class="post-metadata">

### Author: ![John\_Mckay](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/john_mckay/32/116946_2.png) [@John\_Mckay](https://meta.discourse.org/u/John_Mckay)
#### Post date: [10월 23, 2015, 7:54오후 UTC](https://meta.discourse.org/t/what-is-the-discourse-approach-to-seo/34851/5 "2015-10-23T19:54:51Z")

</div>

Ok, I thought it was mainly a Google thing.

Thanks very much 🙂

---

<div class="post-metadata">

### Author: ![John\_Mckay](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/john_mckay/32/116946_2.png) [@John\_Mckay](https://meta.discourse.org/u/John_Mckay)
#### Post date: [10월 23, 2015, 8:01오후 UTC](https://meta.discourse.org/t/what-is-the-discourse-approach-to-seo/34851/6 "2015-10-23T20:01:52Z")

</div>

Sorry, just to clarify, when _googlebot_ visits Discourse, they get the 1996 HTML 1.0 version of that pages content?

I know that is what I get when setting my user agent to _googlebot_, but maybe you use other metrics to detect it and deliver them something different?

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [10월 24, 2015, 9:11오후 UTC](https://meta.discourse.org/t/what-is-the-discourse-approach-to-seo/34851/7 "2015-10-24T21:11:09Z")

</div>

Nope, just dumb user agent detection. If Google goes and does something like “let’s try loading the page with a clean Chrome browser to see if they’re pulling anything tricky” they’ll see the same content, just after the JS all loads.

---

<div class="post-metadata">

### Author: ![Idan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/idan/32/198212_2.png) [@Idan](https://meta.discourse.org/u/Idan)
#### Post date: [6월 21, 2016, 1:30오전 UTC](https://meta.discourse.org/t/what-is-the-discourse-approach-to-seo/34851/8 "2016-06-21T01:30:09Z")

</div>

> [@codinghorror](#):
>
> Not unless every search engine on the planet has deprecated it too

for some reason the text “Not unless every search engine on the planet has deprecated it too” wasn’t index by google, worries me a bit.

---

<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: [6월 21, 2016, 2:03오전 UTC](https://meta.discourse.org/t/what-is-the-discourse-approach-to-seo/34851/9 "2016-06-21T02:03:54Z")

</div>

I think you are doing something wrong.

 ![](https://global.discourse-cdn.com/meta/original/3X/c/2/c276458c89cc09c61fc9364b88ad675e2fb17691.jpeg)
