This Service Has Shut Down


or Google and other search engines will think your site is down and may remove it from search results.

We sent 4 warnings about this to everyone using the service in the month before we went offline.

This page will stay up for a while so that you have access to the docs if you need them, e.g. to help you stop using our service.

If you need an alternative check out


Why SEO For Javascript?

To give your users the best possible experience you’ve used modern Javascript/Ajax based page generation techniques. Your users love it, but Google and Bing can’t index your pages, so when it comes to SEO you’re losing out, and this is costing you traffic. We have the answer.

Crawlable Snapshots

We take snapshots of your page's HTML after all necessary Javascript has run and serve these to search engines so that they can index the pages as your users see them. We fully comply with the Crawlable Ajax specification supported by Google, Bing and Yandex.

Perfect for Mobile

Mobile users are accustomed to an app like experience on their phone, so you don’t want to disappoint them with clunky static pages just to keep search engines happy. You don't have to: Just build the best HTML5 mobile app you can and leave the search engines to us.

User experience or SEO success? Understanding the problem

When you use Javascript toolkits like AngularJS, EmberJS, or BackboneJS to build modern dynamic user experiences into your web pages you make it harder for search engines to index them. This is because search engines don’t run the Javascript, instead they index the raw HTML sent by the server. (OK - sometimes they run some Javascript, but this is unpredictable and primarily used to check that you are not trying to game them - it's not there to render your pages accurately).

If your site is using Hashbang #! style URLs or PushState based navigation then it's very likely that this issue affects you. To find out how Google's crawler sees your pages you can use the Fetch as Google feature in Google Webmaster Tools. Is all of your content there?

This creates a dilemma: Build the best possible user experience but pay an SEO penalty or sacrifice user experience in the name of SEO optimization?

AJAXSnapshot's standards based solution lets you have it both ways. No compromises.

SEO for AngularJS, BackboneJS, EmberJS

Google want to index your site properly and is well aware of the issues discussed above, which is why they created the Crawlable Ajax Specification. This gives you a safe way for you to provide search engines with crawlable snapshots of your page's HTML after all necessary Javascript has run. Bing and Yandex support it too.

This specification involves Google requesting your pages using modified URLs that end with an _escaped_fragment_ parameter. When you receive one of these requests you have to respond with a crawlable snapshot of the page being requested rather than the usual HTML. This typically involves running a headless browser on your server.

Our service implements this protocol for you. You can plug it into your site in a few minutes then start serving crawlable HTML snapshots immediately, making your AngularJS, BackboneJS, EmberJS and other Javascript based sites first class SEO citizens.

Crawlable HTML Snapshots: Enabling Javascript SEO for your site

Integrating AjaxSnapshot's SEO for Javascript solution is very straightforward. All you have to do is add few lines to your web server's configuration file and a single <meta/> tag to each page. Full details are available in our Configuration Guide where you'll also find the exact code you'll need to integrate widely used web servers.

Our solution makes snapshots using an up to date Chrome browser and enhances the basic Crawlable Ajax Specification with some useful helper APIs. We provide an HTTP API you can use to control the size of the browser window used to make snapshots and to filter out misleading HTML such as first time visitor popups. There's also a Javascript API you can use to trigger each snapshot at exactly the right moment.

Instead of wasting precious development time and resources creating an maintaining your own implementation you can plug into our affordable high capacity service and get the benefit straight away.

If you're not sure this is the service for you we encourage you to compare the results you get using our technology to create snapshots of AngularJS, BackboneJS, EmberJS or other Javascript generated pages (there's a test tool at the top of this page) with those you get using other services or your own implementation.