The Rise of JavaScript and
What it Means for SEO
Patrick Hathaway
@HathawayP
@HathawayP
JavaScript usage is growing…
@HathawayP
WHY???
@HathawayP
Because developers want to do cool shit
• Infinite scroll
• Popups
• Animation
• Parallax effects
• Fancy menus
• Lightboxes
• Etc…
@HathawayP
Because developers want to do cool shit
• Infinite scroll
• Popups
• Animation
• Parallax effects
• Fancy menus
• Lightboxes
• Etc…
CHANGE THE
PAGE CONTENT
IN YOUR BROWSER
@HathawayP
JavaScript frameworks
• AngularJS
• ReactJS
• Meteor
• EmberJS
• Polymer
• Vue
• Etc…
@HathawayP
JavaScript frameworks
• AngularJS
• ReactJS
• Meteor
• EmberJS
• Polymer
• Vue
• Etc…
CHANGE ALL THE
PAGE CONTENT
@HathawayP
View Source goes from this:
@HathawayP
To this:
@HathawayP
Missing everything we need for SEO:
• Meta tags
• Content
• Links!
@HathawayP
You need to render the content first
@HathawayP
Google CAN render JavaScript
@HathawayP
Web rendering service (WRS)
@HathawayP
Chrome 41 is 3 years old!
@HathawayP
The problem with rendering
1. It takes a LOT longer
2. It’s more resource intensive
3. It adds an extra step when crawling
@HathawayP
Crawling HTML
1. Download URL content (= View Source)
2. Parse HTML
3. Extract content and links
4. Add href link URLs to crawl scheduler
5. Add URL data to index
@HathawayP
Crawling JavaScript
1. Download URL content
2. Render content (= Inspect Element)
3. Parse HTML
4. Extract content and links
5. Add href link URLs to crawl scheduler
6. Add URL data to index
@HathawayP
Rendering takes ~ 5X longer*
@HathawayP
This causes problems
• Websites not crawled as deeply or
regularly
• Pages not getting indexed
-> Less search traffic
@HathawayP
Example: JavaScript experiment
Split Testing JavaScript for SEO: bit.ly/js-seo-test
Before: After:
@HathawayP
Remove JS -> 6% uplift in organic visits
Split Testing JavaScript for SEO: bit.ly/js-seo-test
@HathawayP
Currently, Google do not rely on rendering
SEO best practices and requirements for modern sites: bit.ly/angular-seo
@HathawayP
Same presentation (Sep, 2016)
SEO best practices and requirements for modern sites: bit.ly/angular-seo
@HathawayP
What’s the point?
We don’t currently live
in a render-first world
@HathawayP
BUT… mobile-first is coming
Mobile first = render-first
@HathawayP
Mobile-first relies on rendering
Mobile-first means that Google will
render your page content using the
mobile version of the page, and use
that to determine indexing and ranking
on EVERY device.
@HathawayP
Mobile first has started rolling out
15 MONTHS AGO!
@HathawayP
Why is it taking so long? (Guesses)
Two big reasons:
1. They can’t afford for it to not work
properly on the BIG sites.
2. They need to upgrade from Chrome
41 (not good enough at rendering).
@HathawayP
But… they will get there eventually
And you need to be ready
@HathawayP
What changes when you render?
• Navigation?
• Internal links?
• Page content? (Hidden content?)
• Robots directives?
@HathawayP
You need to test rendering to find out
1. Crawl your website with a crawler
that renders JavaScript – Sitebulb and
Screaming Frog can both do this.
2. Compare Source HTML vs the
rendered HTML – excellent guide here:
bit.ly/compare-source
@HathawayP
And finally, from John Mueller himself:
Thanks!
Get a free 14 day trial of Sitebulb:
https://sitebulb.com
Patrick Hathaway
@HathawayP

The Rise of JavaScript and What it Means for SEO