This certainly should be a key concern for anyone building these types of projects. So below I’ve compiled two categories of links related to this topic.
- A proposal for making AJAX crawlable (Google Webmaster Central Blog / Oct. 7, 2009)
- PushState and SEO (Question on StackOverflow / May 31, 2011)
- “Single Page” JS websites and SEO (Question on StackOverflow / Sept. 25, 2011)
- SEO And Accessibility With HTML5 PushState, Part 1: Introducing PushState (Derick Bailey / Sept. 26, 2011)
- SEO And Accessibility With HTML5 PushState, Part 2: Progressive Enhancement With Backbone.js (Derick Bailey / Sept. 26, 2011)
- Google’s Ajax Crawling Specification (Google Developers / Feb. 17, 2012)
- AngularJS and SEO (yearofmoo.com / Nov. 7, 2012)
- SEO for single page apps in Backbone.js (Thomas Davis / Dec. 13, 2012)
- SEO in JS Web Apps (Alex MacCaw / July 22, 2013)
- Ember JS & SEO (Marcus Böhm / Sept. 3, 2013)
- What you need to know about Angular SEO (ng-newsletter / Oct. 2013)
- AngularJS SEO (Jose Raya / Jan. 2014)
Tools and Scripts
- Blitline SEO (Web service)
- SEO4Ajax (Web service, currently in Beta)
- SEO.js (Web service)
- Angular-SEO (Script by Steeve Morin)
- Arachnid (Node module by Clubjudge)
- Prerender (Web service)
- Crawlable (Node module by Theophane RUPIN)
- rndr.me (PhantomJS-based script by Jed Schmidt)
- otter (Node module by Ben Firshman)
- Crawlme (Node module by OptimalBits)
- AjaxSnapshots (Web service, currently in free Beta)
- BromBone (Web service)
If you know of any other good articles or tools related to the topic of making web apps crawlable and SEO-friendly, feel free to post them in the comments or send them to me via Twitter and I’ll be happy to add them to this list.
Nice summary. Here’s one more for your list.
I work at tockify.com. We make a calendar web app that uses pushState based navigation and generates most pages on the client side. We ran into the Web App SEO problem early this year and built our own solution as a separate service. It’s been live for about 6 months. Recently we made it available as a service to third parties at https://ajaxsnapshots.com
AjaxSnapshots is a web service that supports Google’s Crawlable Ajax Scheme and gives you quite a lot of control over the snapshotting process, e.g. control over the screen size used to create the HTML snapshot and exact snapshot timing. It’s free at the moment while we add some more features.
Nice, thank you, I’ve added it to the list.