How to fix JavaScript SEO problems on a scale

Serge Bezborodov
Serge BezborodovCTO of JetOctopus logs analyzer and crawler at JetOctopus
How to fix JavaScript
SEO problems on a
scale
Serge Bezborodov
JetOctopus
slideshare.net/sergebezborodov
@sergebezborodov
JetOctopus Serge Bezborodov
What is the difference between
modern JavaScript websites
and
old-school
JetOctopus Serge Bezborodov
modern JavaScript website
JavaScript Application
old-school
HTML Documents
JetOctopus Serge Bezborodov
Applications have bugs
JetOctopus Serge Bezborodov
BUGS = Google can’t render page properly
JetOctopus Serge Bezborodov
JavaScript SEO is mostly about
pages rendered properly
JetOctopus Serge Bezborodov
JavaScript SEO = QA
JetOctopus Serge Bezborodov
Let’s go with the most usual
JavaScript bugs
JetOctopus Serge Bezborodov
JS Bug #1: Page can’t be fully rendered
-page loads quite a long time
-page can’t be fully rendered (you don’t see a footer)
-page became fully loaded after some interaction (scroll, click)
test cases:
JetOctopus Serge Bezborodov
JS Bug #2: Incomplete content
-page misses some content blocks
-JavaScript removes some content (I’m not joking)
test cases:
JetOctopus Serge Bezborodov
JS Bug #3: JavaScript redirects
window.location.href = “/new-page.html”
redirect without 301/302 server status codes
JavaScript Code:
JetOctopus Serge Bezborodov
JS Bug #4: Different content for User-agents
JetOctopus Serge Bezborodov
JS Bug #5: SSR is broken
-text/HTML ratio closer to 0
JetOctopus Serge Bezborodov
JS Bug #6: SSR misses some content
-SSR should have the same content as the client-rendered
page (with very few exceptions)
-make custom extraction rules for blocks, elements, or text
test cases:
JetOctopus Serge Bezborodov
JS Bug #7: Changed titles, meta by JS
-JavaScript may change page title, meta description
-JavaScript may change <meta name=“robots”>
test cases:
JetOctopus Serge Bezborodov
JS Bug #7: robots.txt - shot in the foot
- robots.txt rules are applied to JavaScript files as well
- subdomains may have their own robots.txt (huge attention here!!!)
- never analyze robots.txt only by eyes, use the tools!
JetOctopus Serge Bezborodov
JS Bug #7: robots.txt - shot in the foot
pages with ?utm_source will not be crawled by Googlebot
JetOctopus Serge Bezborodov
JS Bug #7: robots.txt - shot in the foot
and JavaScript files as well
page may be not rendered fully
JetOctopus Serge Bezborodov
JS Bug #7: robots.txt - shot in the foot
subdomains may have own robots.txt !!!!!!!
JetOctopus Serge Bezborodov
- I checked a bunch of template pages,
everything works fine
The common way of JS QA
JetOctopus Serge Bezborodov
- nope, check more
JetOctopus Serge Bezborodov
check more = crawl more
not hundreds of pages but tens of thousands
JetOctopus Serge Bezborodov
JavaScript Errors setup in Screaming Frog
JetOctopus Serge Bezborodov
in JetOctopus enabled by default
JetOctopus Serge Bezborodov
Bonus part
JetOctopus Serge Bezborodov
How JS can harm log file analysis
JetOctopus Serge Bezborodov
It’s not a page crawled by GBot but JS requests
JetOctopus Serge Bezborodov
Make sure, you exclude JS requests
from your log file analysis
JetOctopus Serge Bezborodov
Crawl budget is the amount of crawled
pages,
not JS requests made during pages
rendering
JetOctopus Serge Bezborodov
Conclusions
-JavaScript is already with us and won’t go shortly
-JavaScript SEO is all about troubleshooting
-you can do almost nothing by yourself
-make strong communication with the developers' team
-without tools, it’s impossible to do it on a scale
JetOctopus Serge Bezborodov
Thank you
@sergebezborodov
Extended JavaScript Crawler JetOctopus.com
7 days free trial
1 of 31

Recommended

How to control googlebot by
How to control googlebotHow to control googlebot
How to control googlebotSerge Bezborodov
502 views29 slides
Interlinking structure for big websites by
 Interlinking structure for big websites Interlinking structure for big websites
Interlinking structure for big websitesSerge Bezborodov
132 views59 slides
Understand the impact of Javascript on SEO by
Understand the impact of Javascript on SEOUnderstand the impact of Javascript on SEO
Understand the impact of Javascript on SEOBotify
1K views43 slides
Js unit testing by
Js unit testingJs unit testing
Js unit testingMihail Irintchev
662 views33 slides
SearchLove Boston 2013_Will Critchlow_Technical SEO by
SearchLove Boston 2013_Will Critchlow_Technical SEOSearchLove Boston 2013_Will Critchlow_Technical SEO
SearchLove Boston 2013_Will Critchlow_Technical SEODistilled
55.9K views105 slides
Shifting Gears by
Shifting GearsShifting Gears
Shifting GearsChristian Heilmann
6.7K views130 slides

More Related Content

Similar to How to fix JavaScript SEO problems on a scale

jQuery Conference 2012 keynote by
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynotedmethvin
20.4K views29 slides
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018 by
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018patrickstox
16.6K views31 slides
JavaScript Libraries (@Media) by
JavaScript Libraries (@Media)JavaScript Libraries (@Media)
JavaScript Libraries (@Media)jeresig
2.6K views89 slides
JavaScript Libraries (Kings of Code) by
JavaScript Libraries (Kings of Code)JavaScript Libraries (Kings of Code)
JavaScript Libraries (Kings of Code)jeresig
2.2K views83 slides
BlackBerry 10 Browser by
BlackBerry 10 BrowserBlackBerry 10 Browser
BlackBerry 10 BrowserErik Johnson
173 views29 slides
JavaScript Library Overview by
JavaScript Library OverviewJavaScript Library Overview
JavaScript Library Overviewjeresig
32.3K views94 slides

Similar to How to fix JavaScript SEO problems on a scale(20)

jQuery Conference 2012 keynote by dmethvin
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynote
dmethvin20.4K views
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018 by patrickstox
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018
patrickstox16.6K views
JavaScript Libraries (@Media) by jeresig
JavaScript Libraries (@Media)JavaScript Libraries (@Media)
JavaScript Libraries (@Media)
jeresig2.6K views
JavaScript Libraries (Kings of Code) by jeresig
JavaScript Libraries (Kings of Code)JavaScript Libraries (Kings of Code)
JavaScript Libraries (Kings of Code)
jeresig2.2K views
BlackBerry 10 Browser by Erik Johnson
BlackBerry 10 BrowserBlackBerry 10 Browser
BlackBerry 10 Browser
Erik Johnson173 views
JavaScript Library Overview by jeresig
JavaScript Library OverviewJavaScript Library Overview
JavaScript Library Overview
jeresig32.3K views
Debugging secrets of the pros, for everyone by Jen Weber
Debugging secrets of the pros, for everyoneDebugging secrets of the pros, for everyone
Debugging secrets of the pros, for everyone
Jen Weber80 views
JavaScript Library Overview by jeresig
JavaScript Library OverviewJavaScript Library Overview
JavaScript Library Overview
jeresig30.7K views
Debugging rendering problems at scale by Giacomo Zecchini
Debugging rendering problems at scaleDebugging rendering problems at scale
Debugging rendering problems at scale
Giacomo Zecchini645 views
LeapMotion for Web with React and Flux by Laura Moore
LeapMotion for Web with React and FluxLeapMotion for Web with React and Flux
LeapMotion for Web with React and Flux
Laura Moore819 views
SearchLove Boston 2017 | Dom Woodman | How to Get Insight From Your Logs by Distilled
SearchLove Boston 2017 | Dom Woodman | How to Get Insight From Your LogsSearchLove Boston 2017 | Dom Woodman | How to Get Insight From Your Logs
SearchLove Boston 2017 | Dom Woodman | How to Get Insight From Your Logs
Distilled791 views
Stefan Judis "Did we(b development) lose the right direction?" by Fwdays
Stefan Judis "Did we(b development) lose the right direction?"Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"
Fwdays200 views
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools by Ryan Weaver
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other ToolsCool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
Ryan Weaver54.9K views
Deep crawl the chaotic landscape of JavaScript by Onely
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript
Onely11.7K views
Print a web page using java script by zulhamsyamhari
Print a web page using java scriptPrint a web page using java script
Print a web page using java script
zulhamsyamhari1.7K views
SearchLove London 2016 | Dom Woodman | How to Get Insight From Your Logs by Distilled
SearchLove London 2016 | Dom Woodman | How to Get Insight From Your LogsSearchLove London 2016 | Dom Woodman | How to Get Insight From Your Logs
SearchLove London 2016 | Dom Woodman | How to Get Insight From Your Logs
Distilled4.9K views
A Guide to Log Analysis with Big Query by Dominic Woodman
A Guide to Log Analysis with Big QueryA Guide to Log Analysis with Big Query
A Guide to Log Analysis with Big Query
Dominic Woodman1.7K views

Recently uploaded

Understanding HTML terminology by
Understanding HTML terminologyUnderstanding HTML terminology
Understanding HTML terminologyartembondar5
9 views8 slides
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile... by
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...Stefan Wolpers
49 views38 slides
Flask-Python by
Flask-PythonFlask-Python
Flask-PythonTriloki Gupta
13 views12 slides
Benefits in Software Development by
Benefits in Software DevelopmentBenefits in Software Development
Benefits in Software DevelopmentJohn Valentino
7 views15 slides
.NET Deserialization Attacks by
.NET Deserialization Attacks.NET Deserialization Attacks
.NET Deserialization AttacksDharmalingam Ganesan
7 views50 slides
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... by
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...NimaTorabi2
19 views17 slides

Recently uploaded(20)

Understanding HTML terminology by artembondar5
Understanding HTML terminologyUnderstanding HTML terminology
Understanding HTML terminology
artembondar59 views
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile... by Stefan Wolpers
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
Stefan Wolpers49 views
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... by NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi219 views
aATP - New Correlation Confirmation Feature.pptx by EsatEsenek1
aATP - New Correlation Confirmation Feature.pptxaATP - New Correlation Confirmation Feature.pptx
aATP - New Correlation Confirmation Feature.pptx
EsatEsenek1225 views
Top-5-production-devconMunich-2023.pptx by Tier1 app
Top-5-production-devconMunich-2023.pptxTop-5-production-devconMunich-2023.pptx
Top-5-production-devconMunich-2023.pptx
Tier1 app10 views
Introduction to Git Source Control by John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino9 views
Electronic AWB - Electronic Air Waybill by Freightoscope
Electronic AWB - Electronic Air Waybill Electronic AWB - Electronic Air Waybill
Electronic AWB - Electronic Air Waybill
Freightoscope 7 views
Bootstrapping vs Venture Capital.pptx by Zeljko Svedic
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptx
Zeljko Svedic17 views
Automated Testing of Microsoft Power BI Reports by RTTS
Automated Testing of Microsoft Power BI ReportsAutomated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI Reports
RTTS13 views
predicting-m3-devopsconMunich-2023.pptx by Tier1 app
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptx
Tier1 app10 views
Advanced API Mocking Techniques Using Wiremock by Dimpy Adhikary
Advanced API Mocking Techniques Using WiremockAdvanced API Mocking Techniques Using Wiremock
Advanced API Mocking Techniques Using Wiremock
Dimpy Adhikary5 views
Google Solutions Challenge 2024 Talk pdf by MohdAbdulAleem4
Google Solutions Challenge 2024 Talk pdfGoogle Solutions Challenge 2024 Talk pdf
Google Solutions Challenge 2024 Talk pdf
MohdAbdulAleem447 views
tecnologia18.docx by nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67026 views
predicting-m3-devopsconMunich-2023-v2.pptx by Tier1 app
predicting-m3-devopsconMunich-2023-v2.pptxpredicting-m3-devopsconMunich-2023-v2.pptx
predicting-m3-devopsconMunich-2023-v2.pptx
Tier1 app14 views

How to fix JavaScript SEO problems on a scale