How to fix JavaScript SEO problems on a scale

Serge Bezborodov
Serge BezborodovCTO of JetOctopus logs analyzer and crawler en 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 de 31

Recomendados

How to control googlebot por
How to control googlebotHow to control googlebot
How to control googlebotSerge Bezborodov
501 vistas29 diapositivas
Interlinking structure for big websites por
 Interlinking structure for big websites Interlinking structure for big websites
Interlinking structure for big websitesSerge Bezborodov
132 vistas59 diapositivas
Understand the impact of Javascript on SEO por
Understand the impact of Javascript on SEOUnderstand the impact of Javascript on SEO
Understand the impact of Javascript on SEOBotify
1K vistas43 diapositivas
Js unit testing por
Js unit testingJs unit testing
Js unit testingMihail Irintchev
662 vistas33 diapositivas
SearchLove Boston 2013_Will Critchlow_Technical SEO por
SearchLove Boston 2013_Will Critchlow_Technical SEOSearchLove Boston 2013_Will Critchlow_Technical SEO
SearchLove Boston 2013_Will Critchlow_Technical SEODistilled
55.9K vistas105 diapositivas
Shifting Gears por
Shifting GearsShifting Gears
Shifting GearsChristian Heilmann
6.7K vistas130 diapositivas

Más contenido relacionado

Similar a How to fix JavaScript SEO problems on a scale

jQuery Conference 2012 keynote por
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynotedmethvin
20.4K vistas29 diapositivas
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018 por
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.5K vistas31 diapositivas
JavaScript Libraries (@Media) por
JavaScript Libraries (@Media)JavaScript Libraries (@Media)
JavaScript Libraries (@Media)jeresig
2.6K vistas89 diapositivas
JavaScript Libraries (Kings of Code) por
JavaScript Libraries (Kings of Code)JavaScript Libraries (Kings of Code)
JavaScript Libraries (Kings of Code)jeresig
2.2K vistas83 diapositivas
BlackBerry 10 Browser por
BlackBerry 10 BrowserBlackBerry 10 Browser
BlackBerry 10 BrowserErik Johnson
173 vistas29 diapositivas
JavaScript Library Overview por
JavaScript Library OverviewJavaScript Library Overview
JavaScript Library Overviewjeresig
32.3K vistas94 diapositivas

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

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

Último

Airline Booking Software por
Airline Booking SoftwareAirline Booking Software
Airline Booking SoftwareSharmiMehta
5 vistas26 diapositivas
The Era of Large Language Models.pptx por
The Era of Large Language Models.pptxThe Era of Large Language Models.pptx
The Era of Large Language Models.pptxAbdulVahedShaik
5 vistas9 diapositivas
Software testing company in India.pptx por
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptxSakshiPatel82
7 vistas9 diapositivas
FIMA 2023 Neo4j & FS - Entity Resolution.pptx por
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptxNeo4j
6 vistas26 diapositivas
Unleash The Monkeys por
Unleash The MonkeysUnleash The Monkeys
Unleash The MonkeysJacob Duijzer
7 vistas28 diapositivas
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... por
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...Deltares
6 vistas15 diapositivas

Último(20)

Airline Booking Software por SharmiMehta
Airline Booking SoftwareAirline Booking Software
Airline Booking Software
SharmiMehta5 vistas
The Era of Large Language Models.pptx por AbdulVahedShaik
The Era of Large Language Models.pptxThe Era of Large Language Models.pptx
The Era of Large Language Models.pptx
AbdulVahedShaik5 vistas
Software testing company in India.pptx por SakshiPatel82
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptx
SakshiPatel827 vistas
FIMA 2023 Neo4j & FS - Entity Resolution.pptx por Neo4j
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptx
Neo4j6 vistas
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... por Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 vistas
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the... por Deltares
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
Deltares6 vistas
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs por Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 vistas
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action por Márton Kodok
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok5 vistas
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx por animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm14 vistas
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... por TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin95 vistas
Dapr Unleashed: Accelerating Microservice Development por Miroslav Janeski
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski10 vistas
A first look at MariaDB 11.x features and ideas on how to use them por Federico Razzoli
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli45 vistas
Software evolution understanding: Automatic extraction of software identifier... por Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
DSD-INT 2023 Salt intrusion Modelling of the Lauwersmeer, towards a measureme... por Deltares
DSD-INT 2023 Salt intrusion Modelling of the Lauwersmeer, towards a measureme...DSD-INT 2023 Salt intrusion Modelling of the Lauwersmeer, towards a measureme...
DSD-INT 2023 Salt intrusion Modelling of the Lauwersmeer, towards a measureme...
Deltares5 vistas
Headless JS UG Presentation.pptx por Jack Spektor
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptx
Jack Spektor7 vistas

How to fix JavaScript SEO problems on a scale