addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupsimageimagesinstagramlinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1outlookpersonJoin Group on CardStartprice-ribbonImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruseryahoo

Javascript SEO - Jeff Whelpley / GoAngular - Matt Creager

Jeff Whelpley of is back with a great new talk.


In the future, search engines may be smart enough to understand how to index JavaScript single page applications (SPAs). That is not the case today, however. Solutions based on PhantomJS do exist to help get your SPA indexed, but there is a big difference between simply getting indexed and actually ranking high in Google’s organic search rankings.

The “right way” to do SEO for SPAs requires building a complimentary server side application that renders content for search engines and pre-renders initial page loads for users. This talk will provide an overview of the challenges of SEO with single page applications, an explanation of why many common solutions out there are not sufficient and details of how you can implement a full stack JavaScript solution that rocks.

This talk will use some examples in AngularJS but most of the concepts are applicable to any client-side JavaScript framework used to build SPAs.


GoAngular as the Missing Angular model - Matt Creager from GoInstant 


Angular is an MV* framework, but the model is mysteriously absent.  As we in the web development industry know better than most, the universe hates a void.  We’ve developed an AngularJS model for the real-time web.  It simplifies data-synchronization and persistence, extending Angulars 2-way data-binding to create a third binding, the real-time data-binding.Finally we’ll share some example of how we’ve leveraged this Angular model in our AngularJS integration GoAngular (


I'm the core contributor of GoAngular, a data synchronization integration for AngularJS. It’s my baby, and I admit to having an unhealthy developer-project relationship with it.  Previously, I worked at BlackBerry analyzing petabytes of data, building real-time analytics dashboards, debugging enormous distributed systems, and doing my best to understand what makes for healthy systems and a happy users.


After pizza and beers, we'll be starting the talk promptly at 7.

Directions link to 2 South Station:

Street View of the entrance to Rakuten which is on the left (Summer Street) side of the building facing the front door of South Station:,-71.013565&spn=0.702127,0.615921&cbp=12,207.47,,1,2.06&layer=c&panoid=oxmdXNlBWPlySw7U5HM3_A&cbll=42.352311,-71.054698&t=m&z=11

There will be a note near the buzzer if the door is locked after hours. Rakutan Loyalty is in Suite 400.

Join or login to comment.

  • Jeff W.

    If anyone is interested, I made quite a few changes for the final presentation I gave at MountainWest JS last month. You can see the final deck with expanded commentary here:

    2 · April 7, 2014

  • A former member
    A former member

    FYI the map link isn't accurate. The Street View looks great though.

    January 27, 2014

    • Jesse G.

      Peter, that's typical with meetup map links. I don't know the reason exactly (and I don't want to guess). I agree with you that they ought to be accurate, though, it's really not hard to do (IMHO).

      January 27, 2014

    • Sharon D.

      I updated the description to include a Google maps directions link as well. :-)

      February 1, 2014

Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy