In recent months, I’ve come across a number of links discussing the issue of Search Engine Optimization (SEO) for single page apps or similar complex JavaScript-driven web apps.
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.
Articles
- 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)
- Rich JavaScript experiences and SEO can coexist (ThoughtMatrix / Jan. 31, 2012)
- AngularJS and SEO (yearofmoo.com / Nov. 7, 2012)
- SEO in JS Web Apps (Alex MacCaw / July 22, 2013)
- Ember JS & SEO (Marcus Böhm / Sept. 3, 2013)
- AngularJS SEO (Jose Raya / Jan. 2014)
- Understand the JavaScript SEO basics (Google Developers / Oct. 31, 2024)
Tools and Scripts
- SEO.js (Web service)
- Angular-SEO (Script by Steeve Morin)
- Arachnid (Node module by Clubjudge)
- Prerender (Web service)
- Crawlable (Node module by Theophane RUPIN)
- otter (Node module by Ben Firshman)
- Crawlme (Node module by OptimalBits)
If you know of any other good articles or tools related to the topic of SEO for web apps, 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.