This document discusses SEO challenges for JavaScript applications and solutions used at ratemyagent.com.au. It covers using hashbangs and escaped fragments to allow search engines to crawl single-page apps. Prerendering techniques are explained like snapshot, on-the-fly, and server-side rendering. Their middleware uses PreRender_MVC and attempted various prerendering services. Coding tips provided include understanding Google's AJAX crawling specification, URL types for SEO, setting canonical URLs, and tools like Google Webmaster Tools.