SlideShare a Scribd company logo
08/05/19
JavaScript SEO:
Testing and Debugging
(for non-developers)
@LeighHanney
#smssyd19
First, a bit of background…
#smssyd19
Technical SEO used to be easier…
JavaScript is
making things a little
more complex.
JavaScript
SEO
Source: BuiltWith.com
Average JS Bytes
Downloaded
Up 200.9% on desktop
Up 386.6% on mobile
JavaScript
SEO
“… JS is not
going away.”
John Mueller
JavaScript SEO
JavaScript SEO
02 CHAPTER HEADING P XX
JavaScript,
Google &
SEO:
A Brief
Timeline
JavaScript SEO
02 CHAPTER HEADING
Raw HTML
1998 . . . . . . . . . . 2009 . . . . 2014, 2015 . 2017, 2018, 2019
AJAX Crawling Scheme
WMT Fetch & Render!
It’s official! “…we’ll now
crawl and render
‘AJAX-Based’ sites”.
AJAX Scheme Depreciated
Google is getting better at
understanding JavaScript. But…
1. When Should SEOs Worry About
JavaScript?
2. Crawl and Indexing Overview.
3. Some Tools for Testing.
4. What Should You be Looking For?
What We’ll
Cover Today
JavaScript SEO
When Should SEOs Worry About
JavaScript?
#smssyd19
JavaScript SEO
02 CHAPTER HEADING P XX
When should you worry about JavaScript?
You really need to pay attention if JS is
changing any critical content.
• When JavaScript is required to load all, or
some, of the main content.
• When JavaScript is performing any other
critical functions.
If JS is only used for non-essential interactions
and effects, it’s not really an SEO issue.
Check for
rendering
issues as part
of any
technical
audit.
Continue to:
1. Check URLs with JavaScript
disabled.
2. Review the text-based cache.
3. View the raw HTML (view source).
This can provide early indicators of how deep
you might have to go in the JS testing.
First Step…
Pretend it’s 2005.
Pre-JS SEO
JavaScript SEO
Does Your Site
Look Like This
With JS
Disabled?
JavaScript
SEO
GoogleBot and JavaScript Rendering
#smssyd19
JavaScript SEO
02 CHAPTER HEADING
GoogleBot’s Crawl and Index for JS
happens over ‘2 waves’
Wave 1: HTML (instant)
Wave 2: Render (mins, hours, days,
weeks)
• Ensure important content is indexed on
the first pass.
• Especially important for time sensitive
content (news)
• Advisable to minimise the use of JS for
critical content on product detail pages.
Image Source: Google I/O
2018
• As of right now, Google officially
render based on Chrome 41 (2015).
• Good for your developers to know.
• Deepcrawl have recently discovered
that GoogleBot is rendering some JS
features not actually supported in 41.
• A sign that Google’s rendering
capabilities are catching up.
Download Chrome 41:
Google render
using Chrome
41 (circa 2015)
JavaScript SEO
GOOD TO KNOW:
https://www.deepcrawl.com/blog/news/what-version-of-chrome-is-google-actually-using-for-rendering/
https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Win/310958/
How does
GoogleBot
find links in
JS?…
JavaScript SEO
• GoogleBot looks for an anchor tag and
href element in the JavaScript.
• Without these, the links will not be
discoverable during rendering.
Google won’t
click on
buttons to find
links…
JavaScript SEO
…or click on
buttons for
paginated
results.
JavaScript SEO
A brief note about the DOM
1. The Document Object Model defines
the structure of a page (based on
HTML and CSS).
2. JavaScript is used to update or modify the
DOM.
3. ‘View Source’ only gives you the HTML and
in-line CSS.
4. ‘Inspect Element’ shows you the DOM
Inspect
Element
JavaScript SEO
GOOD TO KNOW:
• Technically you can use a tag manager
(e.g. GTM) to modify the DOM and
update SEO elements. Cool.
• It works too! But remember that this
relies on ‘Wave 2’ of indexing.
• While it’s a great solution, as a last
resort, the same rules apply:
• Try not to rely on JS to inject critical
meta data or schema.
• If content or meta data is time
sensitive, best to get it indexed in
the ‘first wave’ e.g. Price Schema
It’s possible
update your
SEO meta
data via JS
too…
JavaScript SEO
https://moz.com/blog/seo-changes-using-google-tag-manager
GOOD TO KNOW:
Way back in 2016…
• Working with a large ecommerce site
migrating over to an Angular powered
SPA.
• Gulp... Hugely complex.
• Injecting Canonicals was not working.
• HTTP Canonical was the only ‘reliable’
option we found for an SPA
implementation.
• Google I/O 2018 - Google actually
confirmed that they did not look for the
canonical in the rendered page.
• Others have since disagreed.
• Either way, I recommend avoiding if it’s
critical you get it right.
Avoid
injecting
Canonical
Tags via JS
JavaScript SEO
GOOD TO KNOW:
JavaScript Rendering in Action
#smssyd19
JavaScript SEO
02 CHAPTER HEADING
Desktop Render - Chrome 73
Desktop – JS Disabled
Desktop Render – Chrome 41
JavaScript SEO
02 CHAPTER HEADING
Mobile – Chrome (iOS) Mobile Friendly Test
Some Tools For Testing and
Debugging
#smssyd19
Chrome DevTools
JavaScript
SEO
‘Elements’
‘Console’
‘Sources’
‘Network’
‘Audit’
‘Coverage’
Control + Shift + C (Windows)
Command + Option + C (Mac)
URL Inspection
JavaScript
SEO
Test Live URL (AKA ‘Fetch and
Render’)
https://search.google.com/search-console
Mobile Friendly
Test
JavaScript
SEO
Rendered snapshot if you don’t
have access to GSC for the site.
https://search.google.com/test/mobile-friendly
Screaming Frog
SEO Spider
JavaScript
SEO
Crawl
Render
Snapshots
https://www.screamingfrog.co.uk/seo-spider/
Things You Should Be Testing For
#smssyd19
Don’t forget the basics: Ensure external
files (JS and CSS) needed for rendering
are not blocked.
Basics:
Blocked
Resources!
JavaScript SEO
Things to test for:
Render Responsibly…
• JS crawling is slower and it puts a
greater load on the servers (more
requests).
• Selectively render URLs by page type /
template.Raw HTML vs
Rendered
HTML
JavaScript SEO
Things to test for:
JavaScript SEO
02 CHAPTER HEADING
Step 1: Enable JS Rendering Step 1: Store HTMLStep 2: Check Resources
JavaScript SEO
02 CHAPTER HEADING
JavaScript SEO
02 CHAPTER HEADING
JavaScript SEO
02 CHAPTER HEADING
Confirm primary navigation links are in
the DOM.
1. Go to a URL.
2. Find some links to test.
3. Chrome DevTools (disable cache).
4. Reload page.
5. Search for the link in the ‘Elements’
tab.
Are Primary
Navigation
Links Visible?
JavaScript SEO
Things to test for:
JavaScript SEO
02 CHAPTER HEADING
Is content that requires user
interaction to view, available in the
DOM?
1. Go to a URL.
2. Find some content to test.
3. Chrome DevTools (disable cache).
4. Reload page.
5. Search for the string of content in the
‘Elements’ tab.
6. Perform a ‘site:domain.com “string”’
search in Google.
Check
content
behind tabs
and
accordions.
JavaScript SEO
Things to test for:
JavaScript SEO
02 CHAPTER HEADING
Check
Whether User
Generated
Content is
Indexed.
JavaScript SEO
Things to test for:
Check that any JS links have an anchor
tag and href attribute.
Can Google
Crawl internal
links?
JavaScript SEO
Things to test for:
Performance:
• JavaScript errors could result in
Google abandoning the render
process.
• Excessively large files or slow JS
execution time could also result in a
partial render of a page only.
Debugging:
• Screaming Frog’s default AJAX timeout
for the screenshot is 5 seconds. Good
indicator of potential Issues.
• Partial render in MFT, or ‘Other error’
in GSC, could also indicate JS
performance issues.
Look out for
JS errors in
the console
and Timeouts
when
rendering.
JavaScript SEO
Things to test for:
Developers, just don’t do this, please!
https://tipping.afl.com.au/landing/index.html#/landing
https://tipping.afl.com.au/help/index.html#/prizes
https://tipping.afl.com.au/help/index.html#/faqs
The Lone Hash
(#)
JavaScript SEO
Things to test for:
A Note About Other Crawlers &
JavaScript
#smssyd19
Many crawlers
still don't
render your
JS.
JavaScript SEO
• Bing, like Google, claim to be
rendering JS.
• Social media sharing can be
problematic for heavily JS dependent
pages.
JavaScript SEO
02 CHAPTER HEADING P XX
• JavaScript and rendering are just another part
of SEO now.
• If JS is used to inject critical content into the
DOM, then it’s a potential SEO issue.
Tools:
• Inspect URL (GSC)
• Mobile Friendly Test
• Chrome DevTools
• Crawl and Render (Screaming Frog)
Test:
• Don’t forget the fundamentals
• Raw vs Rendered HTML
• Internal Links
• Primary Navigation
• Content accessed via user interaction (tabs, etc)
• JavaScript Errors and Performance
Wrapping it
up!
Thanks
@LeighHanney
©2019

More Related Content

What's hot

Browser Changes That Will Impact SEO From 2019-2020
Browser Changes That Will Impact SEO From 2019-2020Browser Changes That Will Impact SEO From 2019-2020
Browser Changes That Will Impact SEO From 2019-2020Tom Anthony
 
How can a data layer help my seo
How can a data layer help my seoHow can a data layer help my seo
How can a data layer help my seoPhil Pearce
 
5 Time-Saving SEO Alerts to Use Right Now - brightonSEO 2019
5 Time-Saving SEO Alerts to Use Right Now - brightonSEO 20195 Time-Saving SEO Alerts to Use Right Now - brightonSEO 2019
5 Time-Saving SEO Alerts to Use Right Now - brightonSEO 2019Marco Bonomo
 
Flash SEO Secrets
Flash SEO SecretsFlash SEO Secrets
Flash SEO Secretsrtretola
 
SearchLove Boston 2018 - Bartosz Goralewicz - JavaScript: Looking Past the ...
SearchLove Boston 2018 -  Bartosz Goralewicz -  JavaScript: Looking Past the ...SearchLove Boston 2018 -  Bartosz Goralewicz -  JavaScript: Looking Past the ...
SearchLove Boston 2018 - Bartosz Goralewicz - JavaScript: Looking Past the ...Distilled
 
SEO in Orbit - Duplicate Content by OnCrawl
SEO in Orbit - Duplicate Content by OnCrawlSEO in Orbit - Duplicate Content by OnCrawl
SEO in Orbit - Duplicate Content by OnCrawlAlexis Sanders
 
Seo for Engineers
Seo for EngineersSeo for Engineers
Seo for EngineersCort Tafoya
 
Structured Data & Schema.org - SMX Milan 2014
Structured Data & Schema.org - SMX Milan 2014Structured Data & Schema.org - SMX Milan 2014
Structured Data & Schema.org - SMX Milan 2014Bastian Grimm
 
Advanced SEO for Developers (Mix08)
Advanced SEO for Developers (Mix08)Advanced SEO for Developers (Mix08)
Advanced SEO for Developers (Mix08)Nathan Buggia
 
Implementing schema.org in the JSON-LD format with Google Tag Manager
Implementing schema.org in the JSON-LD format with Google Tag ManagerImplementing schema.org in the JSON-LD format with Google Tag Manager
Implementing schema.org in the JSON-LD format with Google Tag ManagerEoghan Henn
 
Redefining Technical SEO, #MozCon 2019 by Paul Shapiro
Redefining Technical SEO, #MozCon 2019 by Paul ShapiroRedefining Technical SEO, #MozCon 2019 by Paul Shapiro
Redefining Technical SEO, #MozCon 2019 by Paul ShapiroPaul Shapiro
 
SharePoint Saturday DC 12/5/09 - Introduction To Developing Custom Actions Wi...
SharePoint Saturday DC 12/5/09 - Introduction To Developing Custom Actions Wi...SharePoint Saturday DC 12/5/09 - Introduction To Developing Custom Actions Wi...
SharePoint Saturday DC 12/5/09 - Introduction To Developing Custom Actions Wi...Geoff Varosky
 
Introduction to facebook java script sdk
Introduction to facebook java script sdk Introduction to facebook java script sdk
Introduction to facebook java script sdk Yi-Fan Chu
 
SEO for developers in e-commerce business
SEO for developers in e-commerce businessSEO for developers in e-commerce business
SEO for developers in e-commerce businessMirumee Software
 
Clicktale Vendor Privacy Audit (August 2013)
Clicktale Vendor Privacy Audit (August 2013)Clicktale Vendor Privacy Audit (August 2013)
Clicktale Vendor Privacy Audit (August 2013)Phil Pearce
 

What's hot (15)

Browser Changes That Will Impact SEO From 2019-2020
Browser Changes That Will Impact SEO From 2019-2020Browser Changes That Will Impact SEO From 2019-2020
Browser Changes That Will Impact SEO From 2019-2020
 
How can a data layer help my seo
How can a data layer help my seoHow can a data layer help my seo
How can a data layer help my seo
 
5 Time-Saving SEO Alerts to Use Right Now - brightonSEO 2019
5 Time-Saving SEO Alerts to Use Right Now - brightonSEO 20195 Time-Saving SEO Alerts to Use Right Now - brightonSEO 2019
5 Time-Saving SEO Alerts to Use Right Now - brightonSEO 2019
 
Flash SEO Secrets
Flash SEO SecretsFlash SEO Secrets
Flash SEO Secrets
 
SearchLove Boston 2018 - Bartosz Goralewicz - JavaScript: Looking Past the ...
SearchLove Boston 2018 -  Bartosz Goralewicz -  JavaScript: Looking Past the ...SearchLove Boston 2018 -  Bartosz Goralewicz -  JavaScript: Looking Past the ...
SearchLove Boston 2018 - Bartosz Goralewicz - JavaScript: Looking Past the ...
 
SEO in Orbit - Duplicate Content by OnCrawl
SEO in Orbit - Duplicate Content by OnCrawlSEO in Orbit - Duplicate Content by OnCrawl
SEO in Orbit - Duplicate Content by OnCrawl
 
Seo for Engineers
Seo for EngineersSeo for Engineers
Seo for Engineers
 
Structured Data & Schema.org - SMX Milan 2014
Structured Data & Schema.org - SMX Milan 2014Structured Data & Schema.org - SMX Milan 2014
Structured Data & Schema.org - SMX Milan 2014
 
Advanced SEO for Developers (Mix08)
Advanced SEO for Developers (Mix08)Advanced SEO for Developers (Mix08)
Advanced SEO for Developers (Mix08)
 
Implementing schema.org in the JSON-LD format with Google Tag Manager
Implementing schema.org in the JSON-LD format with Google Tag ManagerImplementing schema.org in the JSON-LD format with Google Tag Manager
Implementing schema.org in the JSON-LD format with Google Tag Manager
 
Redefining Technical SEO, #MozCon 2019 by Paul Shapiro
Redefining Technical SEO, #MozCon 2019 by Paul ShapiroRedefining Technical SEO, #MozCon 2019 by Paul Shapiro
Redefining Technical SEO, #MozCon 2019 by Paul Shapiro
 
SharePoint Saturday DC 12/5/09 - Introduction To Developing Custom Actions Wi...
SharePoint Saturday DC 12/5/09 - Introduction To Developing Custom Actions Wi...SharePoint Saturday DC 12/5/09 - Introduction To Developing Custom Actions Wi...
SharePoint Saturday DC 12/5/09 - Introduction To Developing Custom Actions Wi...
 
Introduction to facebook java script sdk
Introduction to facebook java script sdk Introduction to facebook java script sdk
Introduction to facebook java script sdk
 
SEO for developers in e-commerce business
SEO for developers in e-commerce businessSEO for developers in e-commerce business
SEO for developers in e-commerce business
 
Clicktale Vendor Privacy Audit (August 2013)
Clicktale Vendor Privacy Audit (August 2013)Clicktale Vendor Privacy Audit (August 2013)
Clicktale Vendor Privacy Audit (August 2013)
 

Similar to JavaScript SEO: Testing and Debugging for Non-Developers - Search Marketing Summit, Sydney 2019

SEARCH Y : Benjamin Bussière - Javascript and seo misconceptions, misunders...
SEARCH Y :  Benjamin Bussière - Javascript and seo  misconceptions, misunders...SEARCH Y :  Benjamin Bussière - Javascript and seo  misconceptions, misunders...
SEARCH Y : Benjamin Bussière - Javascript and seo misconceptions, misunders...SEARCH Y - Philippe Yonnet Evénements
 
Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Onely
 
L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...
L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...
L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...SEO Camp Association
 
Demystifying JavaScript & SEO
Demystifying JavaScript & SEODemystifying JavaScript & SEO
Demystifying JavaScript & SEOBotify
 
Javascript SEO Devs and SEOs playing nicely
Javascript SEO Devs and SEOs playing nicelyJavascript SEO Devs and SEOs playing nicely
Javascript SEO Devs and SEOs playing nicelyPeter Mead
 
How to make JavaScript websites successful in Google | iJS 2019
 How to make JavaScript websites successful in Google | iJS 2019 How to make JavaScript websites successful in Google | iJS 2019
How to make JavaScript websites successful in Google | iJS 2019Onely
 
Indexing Your Content is Optional (2020 Edition)
Indexing Your Content is Optional (2020 Edition)Indexing Your Content is Optional (2020 Edition)
Indexing Your Content is Optional (2020 Edition)Onely
 
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorOptimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorDan Taylor
 
Javascript SEO - Leicester Digital May 2018
Javascript SEO - Leicester Digital May 2018Javascript SEO - Leicester Digital May 2018
Javascript SEO - Leicester Digital May 2018Kieran Headley
 
Is AngularJS Right for Your Enterprise?
Is AngularJS Right for Your Enterprise?Is AngularJS Right for Your Enterprise?
Is AngularJS Right for Your Enterprise?seoClarity
 
SMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEOSMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEOOnely
 
[RakutenTechConf2013] [E-2] HTML5 in Rakuten
[RakutenTechConf2013] [E-2] HTML5 in Rakuten[RakutenTechConf2013] [E-2] HTML5 in Rakuten
[RakutenTechConf2013] [E-2] HTML5 in RakutenRakuten Group, Inc.
 
Web Components at Scale, HTML5DevConf 2014-10-21
Web Components at Scale, HTML5DevConf 2014-10-21Web Components at Scale, HTML5DevConf 2014-10-21
Web Components at Scale, HTML5DevConf 2014-10-21Chris Danford
 
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014Bastian Grimm
 
Myths & true stories about JavaScript for SEO
Myths & true stories about JavaScript for SEOMyths & true stories about JavaScript for SEO
Myths & true stories about JavaScript for SEOSara Moccand-Sayegh
 
Common Site Crawl issue with Javascript
Common Site Crawl issue with JavascriptCommon Site Crawl issue with Javascript
Common Site Crawl issue with JavascriptNetElixir University
 
Too Long; Didn’t Render - The State of JS and HTML Indexing | Digital Growth ...
Too Long; Didn’t Render - The State of JS and HTML Indexing | Digital Growth ...Too Long; Didn’t Render - The State of JS and HTML Indexing | Digital Growth ...
Too Long; Didn’t Render - The State of JS and HTML Indexing | Digital Growth ...Onely
 

Similar to JavaScript SEO: Testing and Debugging for Non-Developers - Search Marketing Summit, Sydney 2019 (20)

SEARCH Y : Benjamin Bussière - Javascript and seo misconceptions, misunders...
SEARCH Y :  Benjamin Bussière - Javascript and seo  misconceptions, misunders...SEARCH Y :  Benjamin Bussière - Javascript and seo  misconceptions, misunders...
SEARCH Y : Benjamin Bussière - Javascript and seo misconceptions, misunders...
 
Modern JavaScript and SEO
Modern JavaScript and SEOModern JavaScript and SEO
Modern JavaScript and SEO
 
Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript
 
L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...
L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...
L’importance du crawl du JavaScript : pourquoi, comment et pour quels bénéfic...
 
Demystifying JavaScript & SEO
Demystifying JavaScript & SEODemystifying JavaScript & SEO
Demystifying JavaScript & SEO
 
Javascript SEO Devs and SEOs playing nicely
Javascript SEO Devs and SEOs playing nicelyJavascript SEO Devs and SEOs playing nicely
Javascript SEO Devs and SEOs playing nicely
 
How to make JavaScript websites successful in Google | iJS 2019
 How to make JavaScript websites successful in Google | iJS 2019 How to make JavaScript websites successful in Google | iJS 2019
How to make JavaScript websites successful in Google | iJS 2019
 
SMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdfSMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdf
 
Swf search final
Swf search finalSwf search final
Swf search final
 
Indexing Your Content is Optional (2020 Edition)
Indexing Your Content is Optional (2020 Edition)Indexing Your Content is Optional (2020 Edition)
Indexing Your Content is Optional (2020 Edition)
 
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorOptimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
 
Javascript SEO - Leicester Digital May 2018
Javascript SEO - Leicester Digital May 2018Javascript SEO - Leicester Digital May 2018
Javascript SEO - Leicester Digital May 2018
 
Is AngularJS Right for Your Enterprise?
Is AngularJS Right for Your Enterprise?Is AngularJS Right for Your Enterprise?
Is AngularJS Right for Your Enterprise?
 
SMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEOSMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEO
 
[RakutenTechConf2013] [E-2] HTML5 in Rakuten
[RakutenTechConf2013] [E-2] HTML5 in Rakuten[RakutenTechConf2013] [E-2] HTML5 in Rakuten
[RakutenTechConf2013] [E-2] HTML5 in Rakuten
 
Web Components at Scale, HTML5DevConf 2014-10-21
Web Components at Scale, HTML5DevConf 2014-10-21Web Components at Scale, HTML5DevConf 2014-10-21
Web Components at Scale, HTML5DevConf 2014-10-21
 
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
 
Myths & true stories about JavaScript for SEO
Myths & true stories about JavaScript for SEOMyths & true stories about JavaScript for SEO
Myths & true stories about JavaScript for SEO
 
Common Site Crawl issue with Javascript
Common Site Crawl issue with JavascriptCommon Site Crawl issue with Javascript
Common Site Crawl issue with Javascript
 
Too Long; Didn’t Render - The State of JS and HTML Indexing | Digital Growth ...
Too Long; Didn’t Render - The State of JS and HTML Indexing | Digital Growth ...Too Long; Didn’t Render - The State of JS and HTML Indexing | Digital Growth ...
Too Long; Didn’t Render - The State of JS and HTML Indexing | Digital Growth ...
 

Recently uploaded

SAUDI ARABIA MARKET OVERVIEW-PARTICLE BOARD.docx.pdf
SAUDI ARABIA MARKET OVERVIEW-PARTICLE BOARD.docx.pdfSAUDI ARABIA MARKET OVERVIEW-PARTICLE BOARD.docx.pdf
SAUDI ARABIA MARKET OVERVIEW-PARTICLE BOARD.docx.pdfJaveed khawaja
 
ThinkNow 2024 Consumer Financial Wellness Report
ThinkNow 2024 Consumer Financial Wellness ReportThinkNow 2024 Consumer Financial Wellness Report
ThinkNow 2024 Consumer Financial Wellness ReportThinkNow
 
Digital Marketing Training In Bangalore
Digital Marketing Training In BangaloreDigital Marketing Training In Bangalore
Digital Marketing Training In Bangaloresyedasifsyed46
 
What is Digital Marketing? Advantages and Disadvantages
What is Digital Marketing? Advantages and DisadvantagesWhat is Digital Marketing? Advantages and Disadvantages
What is Digital Marketing? Advantages and Disadvantagesnewshariqueraza2
 
Top 3 Ways to Align Sales and Marketing Teams for Rapid Growth
Top 3 Ways to Align Sales and Marketing Teams for Rapid GrowthTop 3 Ways to Align Sales and Marketing Teams for Rapid Growth
Top 3 Ways to Align Sales and Marketing Teams for Rapid GrowthDemandbase
 
Digital Money Maker Club – von Gunnar Kessler digital.
Digital Money Maker Club – von Gunnar Kessler digital.Digital Money Maker Club – von Gunnar Kessler digital.
Digital Money Maker Club – von Gunnar Kessler digital.focsh890
 
The What, Why & How of 3D and AR in Digital Commerce
The What, Why & How of 3D and AR in Digital CommerceThe What, Why & How of 3D and AR in Digital Commerce
The What, Why & How of 3D and AR in Digital CommercePushON Ltd
 
20221005110010_633d63baa84f6_learn___week_3_ch._5.pdf
20221005110010_633d63baa84f6_learn___week_3_ch._5.pdf20221005110010_633d63baa84f6_learn___week_3_ch._5.pdf
20221005110010_633d63baa84f6_learn___week_3_ch._5.pdflevuag
 
The Wealth of a Homeonwers association is analogous to the wealth of a Nation
The Wealth of a Homeonwers association is analogous to the wealth of a NationThe Wealth of a Homeonwers association is analogous to the wealth of a Nation
The Wealth of a Homeonwers association is analogous to the wealth of a NationJoseph Lewis Aguirre
 
AI-Powered Personalization: Principles, Use Cases, and Its Impact on CRO
AI-Powered Personalization: Principles, Use Cases, and Its Impact on CROAI-Powered Personalization: Principles, Use Cases, and Its Impact on CRO
AI-Powered Personalization: Principles, Use Cases, and Its Impact on CROVWO
 
Monthly Social Media News Update May 2024
Monthly Social Media News Update May 2024Monthly Social Media News Update May 2024
Monthly Social Media News Update May 2024Andy Lambert
 
Search Engine Marketing - Competitor and Keyword research
Search Engine Marketing  - Competitor and Keyword researchSearch Engine Marketing  - Competitor and Keyword research
Search Engine Marketing - Competitor and Keyword researchETMARK ACADEMY
 
Core Web Vitals SEO Workshop - improve your performance [pdf]
Core Web Vitals SEO Workshop - improve your performance [pdf]Core Web Vitals SEO Workshop - improve your performance [pdf]
Core Web Vitals SEO Workshop - improve your performance [pdf]Peter Mead
 
SMM Cheap - No. 1 SMM panel in the world
SMM Cheap - No. 1 SMM panel in the worldSMM Cheap - No. 1 SMM panel in the world
SMM Cheap - No. 1 SMM panel in the worldsmmpanel567
 
Liquid Staking: An Overview for Beginners in 2024
Liquid Staking: An Overview for Beginners in 2024Liquid Staking: An Overview for Beginners in 2024
Liquid Staking: An Overview for Beginners in 2024nehapardhi711
 
Mastering Multi-Touchpoint Content Strategy: Navigate Fragmented User Journeys
Mastering Multi-Touchpoint Content Strategy: Navigate Fragmented User JourneysMastering Multi-Touchpoint Content Strategy: Navigate Fragmented User Journeys
Mastering Multi-Touchpoint Content Strategy: Navigate Fragmented User JourneysSearch Engine Journal
 
Digital Commerce Lecture for Advanced Digital & Social Media Strategy at UCLA...
Digital Commerce Lecture for Advanced Digital & Social Media Strategy at UCLA...Digital Commerce Lecture for Advanced Digital & Social Media Strategy at UCLA...
Digital Commerce Lecture for Advanced Digital & Social Media Strategy at UCLA...Valters Lauzums
 
How to Run Landing Page Tests On and Off Paid Social Platforms
How to Run Landing Page Tests On and Off Paid Social PlatformsHow to Run Landing Page Tests On and Off Paid Social Platforms
How to Run Landing Page Tests On and Off Paid Social PlatformsVWO
 
34-Rahul-Mande.pdf PROJECT REPORT MBA 4TH SEMESTER
34-Rahul-Mande.pdf PROJECT REPORT MBA 4TH SEMESTER34-Rahul-Mande.pdf PROJECT REPORT MBA 4TH SEMESTER
34-Rahul-Mande.pdf PROJECT REPORT MBA 4TH SEMESTERDeepakTripathi733493
 
Ash By Ash Benson Rebrand Creative Direction
Ash By Ash Benson Rebrand Creative DirectionAsh By Ash Benson Rebrand Creative Direction
Ash By Ash Benson Rebrand Creative DirectionMark Milutin
 

Recently uploaded (20)

SAUDI ARABIA MARKET OVERVIEW-PARTICLE BOARD.docx.pdf
SAUDI ARABIA MARKET OVERVIEW-PARTICLE BOARD.docx.pdfSAUDI ARABIA MARKET OVERVIEW-PARTICLE BOARD.docx.pdf
SAUDI ARABIA MARKET OVERVIEW-PARTICLE BOARD.docx.pdf
 
ThinkNow 2024 Consumer Financial Wellness Report
ThinkNow 2024 Consumer Financial Wellness ReportThinkNow 2024 Consumer Financial Wellness Report
ThinkNow 2024 Consumer Financial Wellness Report
 
Digital Marketing Training In Bangalore
Digital Marketing Training In BangaloreDigital Marketing Training In Bangalore
Digital Marketing Training In Bangalore
 
What is Digital Marketing? Advantages and Disadvantages
What is Digital Marketing? Advantages and DisadvantagesWhat is Digital Marketing? Advantages and Disadvantages
What is Digital Marketing? Advantages and Disadvantages
 
Top 3 Ways to Align Sales and Marketing Teams for Rapid Growth
Top 3 Ways to Align Sales and Marketing Teams for Rapid GrowthTop 3 Ways to Align Sales and Marketing Teams for Rapid Growth
Top 3 Ways to Align Sales and Marketing Teams for Rapid Growth
 
Digital Money Maker Club – von Gunnar Kessler digital.
Digital Money Maker Club – von Gunnar Kessler digital.Digital Money Maker Club – von Gunnar Kessler digital.
Digital Money Maker Club – von Gunnar Kessler digital.
 
The What, Why & How of 3D and AR in Digital Commerce
The What, Why & How of 3D and AR in Digital CommerceThe What, Why & How of 3D and AR in Digital Commerce
The What, Why & How of 3D and AR in Digital Commerce
 
20221005110010_633d63baa84f6_learn___week_3_ch._5.pdf
20221005110010_633d63baa84f6_learn___week_3_ch._5.pdf20221005110010_633d63baa84f6_learn___week_3_ch._5.pdf
20221005110010_633d63baa84f6_learn___week_3_ch._5.pdf
 
The Wealth of a Homeonwers association is analogous to the wealth of a Nation
The Wealth of a Homeonwers association is analogous to the wealth of a NationThe Wealth of a Homeonwers association is analogous to the wealth of a Nation
The Wealth of a Homeonwers association is analogous to the wealth of a Nation
 
AI-Powered Personalization: Principles, Use Cases, and Its Impact on CRO
AI-Powered Personalization: Principles, Use Cases, and Its Impact on CROAI-Powered Personalization: Principles, Use Cases, and Its Impact on CRO
AI-Powered Personalization: Principles, Use Cases, and Its Impact on CRO
 
Monthly Social Media News Update May 2024
Monthly Social Media News Update May 2024Monthly Social Media News Update May 2024
Monthly Social Media News Update May 2024
 
Search Engine Marketing - Competitor and Keyword research
Search Engine Marketing  - Competitor and Keyword researchSearch Engine Marketing  - Competitor and Keyword research
Search Engine Marketing - Competitor and Keyword research
 
Core Web Vitals SEO Workshop - improve your performance [pdf]
Core Web Vitals SEO Workshop - improve your performance [pdf]Core Web Vitals SEO Workshop - improve your performance [pdf]
Core Web Vitals SEO Workshop - improve your performance [pdf]
 
SMM Cheap - No. 1 SMM panel in the world
SMM Cheap - No. 1 SMM panel in the worldSMM Cheap - No. 1 SMM panel in the world
SMM Cheap - No. 1 SMM panel in the world
 
Liquid Staking: An Overview for Beginners in 2024
Liquid Staking: An Overview for Beginners in 2024Liquid Staking: An Overview for Beginners in 2024
Liquid Staking: An Overview for Beginners in 2024
 
Mastering Multi-Touchpoint Content Strategy: Navigate Fragmented User Journeys
Mastering Multi-Touchpoint Content Strategy: Navigate Fragmented User JourneysMastering Multi-Touchpoint Content Strategy: Navigate Fragmented User Journeys
Mastering Multi-Touchpoint Content Strategy: Navigate Fragmented User Journeys
 
Digital Commerce Lecture for Advanced Digital & Social Media Strategy at UCLA...
Digital Commerce Lecture for Advanced Digital & Social Media Strategy at UCLA...Digital Commerce Lecture for Advanced Digital & Social Media Strategy at UCLA...
Digital Commerce Lecture for Advanced Digital & Social Media Strategy at UCLA...
 
How to Run Landing Page Tests On and Off Paid Social Platforms
How to Run Landing Page Tests On and Off Paid Social PlatformsHow to Run Landing Page Tests On and Off Paid Social Platforms
How to Run Landing Page Tests On and Off Paid Social Platforms
 
34-Rahul-Mande.pdf PROJECT REPORT MBA 4TH SEMESTER
34-Rahul-Mande.pdf PROJECT REPORT MBA 4TH SEMESTER34-Rahul-Mande.pdf PROJECT REPORT MBA 4TH SEMESTER
34-Rahul-Mande.pdf PROJECT REPORT MBA 4TH SEMESTER
 
Ash By Ash Benson Rebrand Creative Direction
Ash By Ash Benson Rebrand Creative DirectionAsh By Ash Benson Rebrand Creative Direction
Ash By Ash Benson Rebrand Creative Direction
 

JavaScript SEO: Testing and Debugging for Non-Developers - Search Marketing Summit, Sydney 2019

  • 2. JavaScript SEO: Testing and Debugging (for non-developers) @LeighHanney #smssyd19
  • 3. First, a bit of background… #smssyd19
  • 4. Technical SEO used to be easier… JavaScript is making things a little more complex. JavaScript SEO Source: BuiltWith.com
  • 5. Average JS Bytes Downloaded Up 200.9% on desktop Up 386.6% on mobile JavaScript SEO
  • 6. “… JS is not going away.” John Mueller JavaScript SEO
  • 7. JavaScript SEO 02 CHAPTER HEADING P XX JavaScript, Google & SEO: A Brief Timeline
  • 8. JavaScript SEO 02 CHAPTER HEADING Raw HTML 1998 . . . . . . . . . . 2009 . . . . 2014, 2015 . 2017, 2018, 2019 AJAX Crawling Scheme WMT Fetch & Render! It’s official! “…we’ll now crawl and render ‘AJAX-Based’ sites”. AJAX Scheme Depreciated
  • 9. Google is getting better at understanding JavaScript. But… 1. When Should SEOs Worry About JavaScript? 2. Crawl and Indexing Overview. 3. Some Tools for Testing. 4. What Should You be Looking For? What We’ll Cover Today JavaScript SEO
  • 10. When Should SEOs Worry About JavaScript? #smssyd19
  • 11. JavaScript SEO 02 CHAPTER HEADING P XX When should you worry about JavaScript? You really need to pay attention if JS is changing any critical content. • When JavaScript is required to load all, or some, of the main content. • When JavaScript is performing any other critical functions. If JS is only used for non-essential interactions and effects, it’s not really an SEO issue. Check for rendering issues as part of any technical audit.
  • 12. Continue to: 1. Check URLs with JavaScript disabled. 2. Review the text-based cache. 3. View the raw HTML (view source). This can provide early indicators of how deep you might have to go in the JS testing. First Step… Pretend it’s 2005. Pre-JS SEO JavaScript SEO
  • 13. Does Your Site Look Like This With JS Disabled? JavaScript SEO
  • 14. GoogleBot and JavaScript Rendering #smssyd19
  • 15. JavaScript SEO 02 CHAPTER HEADING GoogleBot’s Crawl and Index for JS happens over ‘2 waves’ Wave 1: HTML (instant) Wave 2: Render (mins, hours, days, weeks) • Ensure important content is indexed on the first pass. • Especially important for time sensitive content (news) • Advisable to minimise the use of JS for critical content on product detail pages. Image Source: Google I/O 2018
  • 16. • As of right now, Google officially render based on Chrome 41 (2015). • Good for your developers to know. • Deepcrawl have recently discovered that GoogleBot is rendering some JS features not actually supported in 41. • A sign that Google’s rendering capabilities are catching up. Download Chrome 41: Google render using Chrome 41 (circa 2015) JavaScript SEO GOOD TO KNOW: https://www.deepcrawl.com/blog/news/what-version-of-chrome-is-google-actually-using-for-rendering/ https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Win/310958/
  • 17. How does GoogleBot find links in JS?… JavaScript SEO • GoogleBot looks for an anchor tag and href element in the JavaScript. • Without these, the links will not be discoverable during rendering.
  • 18. Google won’t click on buttons to find links… JavaScript SEO
  • 19. …or click on buttons for paginated results. JavaScript SEO
  • 20. A brief note about the DOM 1. The Document Object Model defines the structure of a page (based on HTML and CSS). 2. JavaScript is used to update or modify the DOM. 3. ‘View Source’ only gives you the HTML and in-line CSS. 4. ‘Inspect Element’ shows you the DOM Inspect Element JavaScript SEO GOOD TO KNOW:
  • 21. • Technically you can use a tag manager (e.g. GTM) to modify the DOM and update SEO elements. Cool. • It works too! But remember that this relies on ‘Wave 2’ of indexing. • While it’s a great solution, as a last resort, the same rules apply: • Try not to rely on JS to inject critical meta data or schema. • If content or meta data is time sensitive, best to get it indexed in the ‘first wave’ e.g. Price Schema It’s possible update your SEO meta data via JS too… JavaScript SEO https://moz.com/blog/seo-changes-using-google-tag-manager GOOD TO KNOW:
  • 22. Way back in 2016… • Working with a large ecommerce site migrating over to an Angular powered SPA. • Gulp... Hugely complex. • Injecting Canonicals was not working. • HTTP Canonical was the only ‘reliable’ option we found for an SPA implementation. • Google I/O 2018 - Google actually confirmed that they did not look for the canonical in the rendered page. • Others have since disagreed. • Either way, I recommend avoiding if it’s critical you get it right. Avoid injecting Canonical Tags via JS JavaScript SEO GOOD TO KNOW:
  • 23. JavaScript Rendering in Action #smssyd19
  • 24. JavaScript SEO 02 CHAPTER HEADING Desktop Render - Chrome 73 Desktop – JS Disabled Desktop Render – Chrome 41
  • 25. JavaScript SEO 02 CHAPTER HEADING Mobile – Chrome (iOS) Mobile Friendly Test
  • 26. Some Tools For Testing and Debugging #smssyd19
  • 28. URL Inspection JavaScript SEO Test Live URL (AKA ‘Fetch and Render’) https://search.google.com/search-console
  • 29. Mobile Friendly Test JavaScript SEO Rendered snapshot if you don’t have access to GSC for the site. https://search.google.com/test/mobile-friendly
  • 31. Things You Should Be Testing For #smssyd19
  • 32. Don’t forget the basics: Ensure external files (JS and CSS) needed for rendering are not blocked. Basics: Blocked Resources! JavaScript SEO Things to test for:
  • 33. Render Responsibly… • JS crawling is slower and it puts a greater load on the servers (more requests). • Selectively render URLs by page type / template.Raw HTML vs Rendered HTML JavaScript SEO Things to test for:
  • 34. JavaScript SEO 02 CHAPTER HEADING Step 1: Enable JS Rendering Step 1: Store HTMLStep 2: Check Resources
  • 38. Confirm primary navigation links are in the DOM. 1. Go to a URL. 2. Find some links to test. 3. Chrome DevTools (disable cache). 4. Reload page. 5. Search for the link in the ‘Elements’ tab. Are Primary Navigation Links Visible? JavaScript SEO Things to test for:
  • 40. Is content that requires user interaction to view, available in the DOM? 1. Go to a URL. 2. Find some content to test. 3. Chrome DevTools (disable cache). 4. Reload page. 5. Search for the string of content in the ‘Elements’ tab. 6. Perform a ‘site:domain.com “string”’ search in Google. Check content behind tabs and accordions. JavaScript SEO Things to test for:
  • 43. Check that any JS links have an anchor tag and href attribute. Can Google Crawl internal links? JavaScript SEO Things to test for:
  • 44. Performance: • JavaScript errors could result in Google abandoning the render process. • Excessively large files or slow JS execution time could also result in a partial render of a page only. Debugging: • Screaming Frog’s default AJAX timeout for the screenshot is 5 seconds. Good indicator of potential Issues. • Partial render in MFT, or ‘Other error’ in GSC, could also indicate JS performance issues. Look out for JS errors in the console and Timeouts when rendering. JavaScript SEO Things to test for:
  • 45. Developers, just don’t do this, please! https://tipping.afl.com.au/landing/index.html#/landing https://tipping.afl.com.au/help/index.html#/prizes https://tipping.afl.com.au/help/index.html#/faqs The Lone Hash (#) JavaScript SEO Things to test for:
  • 46. A Note About Other Crawlers & JavaScript #smssyd19
  • 47. Many crawlers still don't render your JS. JavaScript SEO • Bing, like Google, claim to be rendering JS. • Social media sharing can be problematic for heavily JS dependent pages.
  • 48. JavaScript SEO 02 CHAPTER HEADING P XX • JavaScript and rendering are just another part of SEO now. • If JS is used to inject critical content into the DOM, then it’s a potential SEO issue. Tools: • Inspect URL (GSC) • Mobile Friendly Test • Chrome DevTools • Crawl and Render (Screaming Frog) Test: • Don’t forget the fundamentals • Raw vs Rendered HTML • Internal Links • Primary Navigation • Content accessed via user interaction (tabs, etc) • JavaScript Errors and Performance Wrapping it up!