Backbone.js solved a lot of your problems.

Your spaghetti javascript now has structure and your website is much more responsive.

But it left you with one big question: SEO.

Google can't read the javascript. Your content doesn't show up in Google. That isn't good.

Your content is tucked away in your template, and Google can't find it.

When Google crawls your site, it just sees empty tags

<h1></h1>

Your data is hidden in the template

_.template('You want Google to index this');
this.$el.html(this.template(this.model.attributes));

You need Google to see the final product

<h1>You want Google to index this</h1>

Do you have to duplicate your Backbone.js code on the server?

You're glad that javascript is making your page snappy, and that you have a clean API. But you didn't think it meant you were going to have to do the whole thing all over again on the server. This isn't worth it if you have to code everything twice.

You've read about PhantomJS, but how much work is that going to be?

It doesn't sound that complicated. You're going to run a PhantomJS instance to render your pages. You won't have to duplicate any code and you will have a nice page with no javascript required to serve to Google.

Until you actually try it...


You're using Backbone to save time.

A major benefit of Backbone.js is that is prevents duplication. You don't have to implement the logic in two places. You can focus on nailing the client-side. Backbone.js is supposed to let you stay focused on what matters to your customers.

Your servers should be simple.

Backbone.js allowed you to drastically simplify your server-side architecture. Adding PhantomJS to the mix just puts that complication right back in there.

If you could just overcome Backbone.js SEO problem, then you'd be set.

You can almost taste it. Simple servers that don't threaten to wake you up in the middle of the night. A rich client experience that feels fast.

You just have to figure out this SEO thing and you will be done. Everything else has come together. Imagine if this one last puzzle piece would fall into place.


We can make your Backbone.js website crawlable and indexable by Google.

You don't have to install anything on your server. We'll process all your pages and render static html version of your content. We'll keep the static versions up to date.

Leave the messy part to us.

When Google comes crawling, just get the static version of the page from us and send that to Google.

We'll walk you through the setup step by step. It is really pretty simple. For most people it just requires you to copy and paste.

With that, you'll be pointing at our servers that are responsible for doing all the work. They take care of the headless browser stuff and you can work on your core business.


BromBone can take care of Backbone.js SEO for you.

BromBone is a service that makes Backbone.js SEO work. We render your webpages (javascript and all) using a web browser. So, the final result looks exactly like what your users see. You just pass this static version of your page on to the Google-bot whenever they ask for it.

We follow Google's own recommendations for making AJAX sites crawlable, so you know it's being done right.

Learn how BromBone can take care of your Backbone.js SEO.