SEO for your AngularJS, EmberJS, or BackboneJS website.

Want to use AngularJS, but you're worried about the SEO implications?
Made pages with Ember.js and said you'd worry about getting them in Google searches later?
Been running a phantomJS daemon, but you're getting tired of the maintenance?
Does your headless browser keep crashing?
Pitched your new Backbone.js site to management and they freaked out about Google rankings?
Google isn't indexing your content that's loaded via AJAX calls?

The javascript SEO problem has been solved.

You decided to build a website using a modern javascript framework and you were pumped about it. Look how responsive it feels. Look how fast you can develop.

Then you pitched it to management. They were on board. Just as the meeting came to a close someone asked, “Hey, uh,

can the Googlebot run all that javascript?”

The answer is: no. But don't worry. The dream is not dead. We have a solution for you.

BromBone uses a real web browser to download your web pages. We run all that fancy javascript, make all your AJAX calls, and save the result. Next time Google comes calling, just proxy the pre-rendered html snapshot from us. This way, Google sees the exact same thing your users see, even though Google isn't running the javascript.

How BromBone Works

1. BromBone renders your pages

BromBone automatically downloads all of your pages. We render your webpages in a real web browser. Your javascript runs. Your AJAX calls are made. Your DOM manipulations are executed. Then, BromBone saves the resulting HTML.

2. Proxy the snapshot to Google

When a search engine bot visits your site, just proxy the pre-rendered snapshot from BromBone. This is the only step that requires you to make code changes. Don't worry. The changes are small, and we'll show you exactly what to do. It's just copy and paste.

3. Now Googlebot can see you

BromBone sends the HTML from step 1 to the search engine bot. Google will see a web page that looks just like the page people see in their browsers. Google will index your pages properly because BromBone has already run your javascript and made your AJAX calls.

You don't have to install any software.

BromBone is, without a doubt, the easiest way to allow Google to crawl your site. There are just two simple things you will have to do.

First, you need to make sure you are generating a sitemap.xml. You're probably doing this already. Sitemap.xml is a very simple file that just lists every page on your site. Search engines use this file to make sure they can find all your pages. BromBone reuses that same file to make sure we are ready to send your pages to the search engines.

Second, you need to proxy the html snapshot from BromBone when search engine bots visit your sitemap. Most websites are going to handle this at the Apache or nginx level. Or you can make a small change to your existing Ruby on Rails, PHP, Python, Java, NodeJS, or (any other web framework) code. It's a simple change, and we'll provide the code you need. You just copy and paste. Just a quick copy/paste and you're done.

We'll give you free consulting to get it working.

That's right. When you signup, we will help you get your specific setup ready to use BromBone.

Are we doing this because we just like giving away our time? No. Truth is, it's just that easy. Most of you won't need this or will be easy to help. Hard or easy, we'll do whatever it takes to help you get your setup working.

Make your site crawlable now.

Don't worry, there's no long-term contract and you can cancel or change your plan at any time.


Contact us

Millions of pages

Custom Integration


Package with products

Realtime Snapshots

Multiple domains


PO Payment Options

Priority Phone Support



Up to

200 Pages

Email or call us at +1 (888) 237-2766 to discuss enterprise plans.

Some happy BromBone customers

Vevo hosts the world's most popular music videos. If you've searched for a music video, you probably found it on Vevo.

In late 2013, Vevo launched a new version of its website built entirely on AngularJS. They worked with BromBone before, during, and after their launch to ensure that Google would still be able to index their site after the switchover. Vevo has continued to rank highly for popular videos.

Thinkful is an online school that offers project-based and mentor-led courses designed for career advancement.

Thinkful's site and learning applications are built in AngularJS. Using BromBone has helped Thinkful make its site SEO-friendly and drive high-volume search traffic through Google.

BromBone is 100% framework agnostic.

BromBone is 100% framework agnostic

You can write your website in whatever framework you want.

AngularJS, EmberJS, and BackboneJS seem to be the most popular frameworks for creating new single page web apps today. However, there are an array of other good choices. Many websites just use raw javascript, jQuery, or the Mustache/Handlebars javascript template engine.

Some sites render all their HTML on the client, others use a hybrid approach, rendering some on the server and some on the client. Some send JSON to the client, some send full HTML.

It doesn't matter which framework you use.

BromBone will work with any of these approaches. Use any of the above frameworks, or even something that isn't on our list. It will work fine. If you change your framework later, BromBone will still work.

Your site will work if you use hashbang (#!) urls, and you replace the hashbangs with urls "?escaped_fragment=". It will also work if you use html5 and pushState.

If you have a hybrid site or a site that is in transition, that's fine too. You can tell us which pages we need to process and which ones to leave alone.

BromBone works for all search engines

We talk about Google a lot because, honestly, it's the search engine that matters the most. However, BromBone will work for any search engine. Just forward the bot to us, and they will be able to crawl your site.


Isn't this cloaking?

If you've read anything about SEO, you might be think to yourself, "This sounds an awful lot like cloaking." Cloaking is the act of sending one set of content to users, but then sending different content to Google. Cloaking is bad, evil, and a great way to get yourself banned from Google. You want no part of it, and we want no part of it.

The key is that BromBone will be sending the exact same content to Google as you send to the user. The content is the same, so there's no problem. You will just be using a different method to send that content to Google. This isn't just ok. It's the best practice. In fact, the whole thing was Google's idea.

Google has a whole section on their website on making AJAX applications crawlable. Several pages and thousands of words. We've read them all, several times over. BromBone takes care of all those details for you.

That Google website even has an FAQ where they address the cloaking question directly. It says, if you are showing different content to users and Google, then you will get in trouble. If you are showing the same content, then you are fine. We require all our customers show the same content to Google and users.

Will BromBone work with my crazy setup?

There is almost always a way to make it work. If you aren't sure, email us and we will talk to you about the details of integrating BromBone with your architecture.

Most sites implement the proxy at the web server level (Apache, nginx, IIS, etc). If that isn't an option (for instance, if you are running your site on Heroku), then you can implement your proxy in your application code (nodejs, Ruby, Java, etc. ). We have several customers who are doing this. Somewhere you just need to be able to check all your incoming requests. If the request is coming from a bot, download the snapshot from BromBone and pass the snapshot on to the bot. If it isn't from a bot, send your normal content.

Again, if you think BromBone won't work with your setup, just email us ( You might be surprised.

Can I setup a trial with BromBone?

Enterprise customers often have complex requirements and integration validation that must be done in advance of setting up contracts. We are happy to setup proof of concepts for customers with these requirements. Just send us an email.

If you plan on signing up for the Starter Site or Medium Site plans listed above, then we ask you to go ahead and signup for an account before we can setup your BromBone integration. This is because we are dedicated to providing top notch one-on-one support to all our customers. How you integrate with BromBome will vary based on your indivdual setup. You'll be guided through the whole process. We don't think we could maintain our high level of support if we offered free trials.

However, you are always protected by our money back guarantee. If you signup for an account and can't get it working or just change your mind, then we'll refund your payment. No questions asked.

How can I tell BromBone that a page has changed?

Every url in your sitemap contains a lastmod tag. This is a timestamp of when that page was last modified. Just update this tag, and we'll regenerate your snapshot.

Sometimes it can be difficult to track when your pages change. So we will update all your pages once a week, even if you never change the lastmod tag.

Enterprise customers also have access to our API that allows you to get snapshots created for new/modified pages in just seconds.

If you do a whole site redesign, all your snapshots will need updating. To do this in a reasonable timeframe, you might need to process pages at 100 times your normal rate. BromBone already has this scaling capability built in. We'll have your new snapshots ready in no time.

Are BromBone's servers reliable?

You can't mess around with your search engine results. You need them to be reliable. That's why you need BromBone to be reliable, and that's why we built BromBone on Amazon's AWS infrastructure.

Your files are hosted in a Amazon S3 bucket that you read from directly. That means that even if our servers were to go down, you'll still be able to access your html snapshots. Amazon guarantees 99.9% uptime.

What if Google crawls my site aggressively?

When Google decides to crawl your site, they don't load pages like a normal user. They don't load one page, wait ten seconds, and then load another. Google starts requesting pages fast and furious.

With BromBone you'll be ready for this. BromBone renders all your pages ahead of time. When Googlebot comes, you won't be waiting on PhantomJS to render your pages. You'll just be pulling pages off Amazon's fast file service.

All your pages will already be rendered and just waiting for you to need them. You don't have to worry that you'll overwhelm our servers.

Do I have to use hashbang (#!) urls?

No. BromBone supports both hashbang urls and HTML5 pushState urls. For new sites, we recommend using pushState, falling back to full page reloads for IE8 and IE9.

If your site is using hash style urls (just plain # without the !), then you will need to convert your site to either the pushState or hashbang method. This isn't a requirement specific to BromBone, but a requirement of the search engine bots. However, javascript frameworks make this change very easy. Normally just one line of code.

Do I have to create a sitemap?

For most small and medium sized, making a sitemap.xml is the easiest way to define which pages need BromBone's SEO service. It gives you full control over which pages BromBone will process.

Enterprise sites often need custom integration. For these sites we offer an API. We can even make additions to the API if you need them. If you need even more customization, let us know. We can make BromBone fit within your existing architecture.

Can BromBone handle sites with millions of pages?

Yes. We already are. We have some big customers with millions of pages of their own and several smaller customers that add up to millions of pages between them.

Large sites do present some unique challenges. You can lean on us to guide you through them. We're happy to talk on the phone or Skype with your developers and architects. Big site or small site, if you have questions about how BromBone is going to interface and interact with your system, then we'll take the time to answer them. Email to get that conversation started.

Will BromBone steal my pagerank?

The key word here is proxy. You won't be doing a simple redirect (like a 301 or 302). Your webserver will download the page from BromBone's server and then hand that page off to Google. Google will see the page coming from your server and from your url. Google won't even know that you are using BromBone. You will get credit for your content and your pagerank. None of your pagerank flows to BromBone.

Does BromBone work with the Facebook and Twitter Scrapper

Yes. BromBone can work with any bot. Google, Bing, Yahoo, Baidu, Ask Jeeves, Facebook, Twitter, Linked In, a custom bot you write. However, some bots only support HTML5 urls and not hashbang urls.

Don't feel guilty about using Javascript.

Your javascript powered site offers an incredible user experience. It does things that would be difficult or impossible in a traditional server/client app. On top of that, it was a joy to develop.

Don't listen to outdated limitations. Instead, we need to evolve our tools to work with the world as it exists today, not as it did 10 years ago. Instead of focusing on old terms that define what you can't do, think about how to best solve your users' problems.

The tools are catching up. You don't need to duplicate your code to also render pages on the server. You don't need to worry about maintaining your own PhantomJS server.

You make the site easy for people to use. BromBone will make it easy for Google to use.

You can use AngularJS even if you care about SEO.

People used to say Angular is only meant for web apps that don't need to be crawled. That isn't true anymore. The line between website and webapp is getting blurrier everyday. Now you can use Angular or Backbone for any website. Don't be held hostage by outdated rules. The new web is here, and BromBone will help you take advantage of it.

There is no reason to turn your back on faster development time and more interactive webpages. Embrace the future.

BromBone embeds SEO into your web stack so you don't have to worry about it anymore.

Being indexed by Google is too important for it to be an afterthought. It's too important to "figure something out later." It's too important to roll your own system and hope you'll have enough time to maintain it.