SlideShare a Scribd company logo
Rendering: Or why your
perfectly optimized content
doesn't rank
Websites are made of code.
Code is written in languages.
3 languages are the foundation of
websites.
HTML
Content
CSS
layout, design, &
visual effects
JavaScript
web version of
programming
code
How it is then so
many of our
optimization efforts
slips between the
cracks?
75%
of product pages for an
ecommerce site were not
indexed in a case study
by @TomkeRudzki
Rendering
“When we crawl your page with Googlebot, we go
fetch the content and then we give it to chrome. Then
Chrome runs all the scripts. It loads additional
content.
Once everything's loaded we take a snapshot of the
page and that's the content that actually gets
indexed.”
- Erik Hendriks, Software Engineer at Google
Rendering (WMConf MTV '19)
Initial HTML
Rendered HTML
Rendering
The Mechanics of
Google's Web
Rendering
Service
Google uses Chromium as its
web rendering service.
=
Web Rendering Service (WRS)
Blink Browser Engine
Ignition TurboFan Liftoff Display backend
GoogleMagic
Chromium Headless Browser
V8 Rendering Engine
Web Rendering Service (WRS)
Blink Browser Engine
Ignition TurboFan Liftoff Display backend
GoogleMagic
Chromium Headless Browser
V8 Rendering Engine
Chromium Headless Browser
Chromium, headless browser
● Headless means that there is no
GUI (visual representation)
● Used to load web pages and
extract metadata
● reading from and writing to the
DOM
● observing network events
● capturing screenshots
● inspecting worker scripts
● recording Chrome Traces
Web Rendering Service (WRS)
Blink Browser Engine
Ignition TurboFan Liftoff Display backend
GoogleMagic
Chromium Headless Browser
V8 Rendering Engine
Blink Browser Engine
Blink, browser engine
● Allows for querying and
manipulating the rendering engine
settings (ex: mobile vs. desktop)
● responsible for 2 major elements:
1. Memory heap: stores the result of script
execution
(Memory Heap results are added to DOM.)
2. Call stack: queue of sequential next
steps
(Each entry in the call stack is called a Stack Frame.)
Local storage and Session storage
are key-value pairs that can store any
JS objects and functions in the
browser
These keys are a weak point in your
rendering offense against a stateless
Googlebot.
Web Rendering Service (WRS)
Blink Browser Engine
Ignition TurboFan Liftoff Display backend
GoogleMagic
Chromium Headless Browser
V8 Rendering EngineV8 Rendering Engine
V8, JavaScript engine
Each thread will runs through a
process of:
1. Loading
2. Parsing
3. Compiling
4. Executing
● open-source JavaScript engine
and WebAssembly engine
● developed by Google & The
Chromium Project
● Use in Node.js, Google Chrome,
and Chromium web browsers
Let’s look at how
Google renders.
1. A URL is pulled from the crawl queue
Crawl Queue
Crawler
2. The URI is requested using the Googlebot user-agent
Crawl Queue
Crawler URI
3. Read HTTP response and headers
Crawl Queue
Crawler URI
Q. Does the thing I asked for exist?
A. HTTP Status Codes
Q. Anything I should know before
looking at this?
A. Cache-Control, and Directives
4. Download and parse the HTML
Crawl Queue
Crawler
Initial
HTML
Use View Page Source to
see the initial HTML
Crawled
DOM
5. The Crawled DOM is passed to the index processor
Crawl Queue
Crawler
Resources
Crawled
DOM
Index
Processor
Initial
HTML
6. The processor extracts resources links from the
crawled DOM and places them in the crawl queue
Crawl Queue
Crawler
Resources
Crawled
DOM
Index
Processor
Initial
HTML
7. The index processor passes valuable content
to the index
Crawl Queue
Crawler
Crawled
DOM
Index
Processor
Initial
HTML Index
Resources
Crawler
8. Once resources are crawled, the page queues for
rendering
Crawl Queue
Scripts from
Crawled
DOM
Crawler
Crawled
DOM
Render
9. When resources become available, the URI moves
from the render queue to the renderer
Crawl Queue
Resources
Crawler
Crawled
DOM
Render
Rendered
DOM
9. WRS assembles the page using the Crawled DOM and
resources
Crawl Queue
Resources
Use Inspect to see
rendered HTML
Crawler
Crawled
DOM
Render
Rendered
DOM
10. Renderer passes the rendered HTML to the index
processor
Crawl Queue
Resources
Index
Processor
Crawler
Crawled
DOM
Render
Rendered
DOM
11. The processor extracts resources links from the
Rendered DOM and places them in the crawl queue
Crawl Queue
Crawled DOM
Resources
Index
Processor
Rendered DOM Resources
Crawler
Crawled
DOM
Render
Rendered
DOM
12. The index processor passes valuable rendered content
to the index
Crawl Queue
Crawled DOM
Resources
Index
Processor
Rendered DOM Resources
Index
Great! Now let's break it!
1. A URL is pulled from the crawl queue
Crawl Queue
Crawler
Create a SPA that doesn't update
URLs with history.pushState()
2. The URI is requested using the Googlebot user-agent
Crawl Queue
Crawler URI
Forget to pay your
prerendering service
3. Read HTTP response and headers
Crawl Queue
Crawler URI
Use whichever status code whenever
3. Read HTTP response and headers
Crawl Queue
Crawler URI
Contradictory signals
4. Download and parse the HTML
Crawl Queue
Crawler
Initial
HTML
Store content in the ShadowDOM
<!doctype html>
<head>
<script type="text/javascript"
src="/main.js?ver=1.1.0">
</script>
</head>
<body>
<app-root></app-root>
</body>
</html>
5. The Crawled DOM is passed to the index processor
Crawl Queue
Crawler
Resources
Crawled
DOM
Index
Processor
Initial
HTML
6. The processor extracts resources links from the
crawled DOM and places them in the crawl queue
Crawl Queue
Crawler
Resources
Crawled
DOM
Index
Processor
Initial
HTML
<a href="/good link">Will be crawled</a>
<span onclick="changePage('bad-link')">Not
crawled</span>
<a onclick="changePage('bad-link')">Not crawled</a>
<a href="/good-link" onclick="changePage
('good-link')">Will be crawled</a>
Undiscoverable links
7. The index processor passes valuable content
to the index
Crawl Queue
Crawler
Crawled
DOM
Index
Processor
Initial
HTML Index
Resources
Don't answer user intent
with the Crawled DOM
Crawler
8. Once resources are crawled, the page queues for
rendering
Crawl Queue
Scripts from
Crawled
DOM
Blocked Resources /
CORS Errors
Crawler
Crawled
DOM
Render
Rendered
DOM
9. WRS assembles the page using the Crawled DOM and
resources
Crawl Queue
Resources
Use Inspect to see
rendered HTML
iframes, SPOFs in <head> /
Render blocking resources
3 types of rendering-blocking resources
A <script> tag that:
● Is in the <head> of the
document.
● Does not have a defer
attribute.
● Does not have an async
attribute.
A <link rel="import"> tag that:
● Does not have an async
attribute.
A <link rel="import"> tag that:
● Does not have an async
attribute.
Crawler
Crawled
DOM
Render
Rendered
DOM
9. WRS assembles the page using the Crawled DOM and
resources
Crawl Queue
Resources
Use Inspect to see
rendered HTML
Look for knock-on effects
Crawler
Crawled
DOM
Render
Rendered
DOM
9. WRS assembles the page using the Crawled DOM and
resources
Crawl Queue
Resources
Use Inspect to see
rendered HTML
Don't prioritize resources
Crawler
Crawled
DOM
Render
Rendered
DOM
9. WRS assembles the page using the Crawled DOM and
resources
Crawl Queue
Resources
Use Inspect to see
rendered HTML
Dependencies in the
critical rendering path
JQuery
script1.js
script2.js
script3.js
script4.js
JQuery
script1.js
script2.js
script3.js
script4.js
script1.js
{Product name}
{Product sku}
{Product price}
JQuery
script1.js
script2.js
script3.js
script4.js
{Product name}
{Product sku}
{Product price}
{Product category}
{Product availability}
{Shipping times}
{Breadcrumbs}
{Product description}
{Product images}
{Product specs}
JQuery
script1.js
script2.js
script3.js
script4.js
{Product name}
{Product sku}
{Product price}
{Product category}
{Product availability}
{Shipping times}
{Breadcrumbs}
{Product description}
{Product images}
{Product specs}
JQuery
script1.js
script2.js
script3.js
script4.js
{Product name}
{Product sku}
{Product price}
{Product category}
{Product availability}
{Shipping times}
{Breadcrumbs}
{Product description}
{Product images}
{Product specs}
Crawler
Crawled
DOM
Render
Rendered
DOM
9. WRS assembles the page using the Crawled DOM and
resources
Crawl Queue
Resources
Use Inspect to see
rendered HTML
Rely on Client-Side Rendering
<!doctype html>
<head>
<script type="text/javascript"
src="/main.js?ver=1.1.0">
</script>
</head>
<body>
<app-root></app-root>
</body>
</html>
<!doctype html>
<head>
<script type="text/javascript"
src="/main.js?ver=1.1.0">
</script>
</head>
<body>
<app-root></app-root>
</body>
</html>
script1.js
script2.js
script3.js
script4.js
{Product name}
{Product sku}
{Product price}
{Product category}
{Product availability}
{Shipping times}
{Breadcrumbs}
{Product description}
{Product images}
{Product specs}
Each script has a probability to fail.
JQuery
script1.js
script2.js
script4.js
{Product name}
{Product sku}
{Product price}
{Product category}
{Product availability}
{Shipping times}
{Breadcrumbs}
script3.js {Product description}
{Product images}
{Product specs}
<rel="buyproduct.js"> = 99.5% success rate
Crawler
Crawled
DOM
Render
Rendered
DOM
9. WRS assembles the page using the Crawled DOM and
resources
Crawl Queue
Resources
Use Inspect to see
rendered HTML
Ship every script on every request
Everyone has to wait while JS does it’s thing.
Crawler
Crawled
DOM
Render
Rendered
DOM
9. WRS assembles the page using the Crawled DOM and
resources
Crawl Queue
Resources
Use Inspect to see
rendered HTML
Ignore performance
● Google will limit CPU consumption
● Google will interrupt scripts
● Excessive CPU consumption negatively impacts indexing
Crawler
Crawled
DOM
Render
Rendered
DOM
10. Renderer passes the rendered HTML to the index
processor
Crawl Queue
Resources
Index
Processor
Require permissions
Crawler
Crawled
DOM
Render
Rendered
DOM
11. The processor extracts resources links from the
Rendered DOM and places them in the crawl queue
Crawl Queue
Crawled DOM
Resources
Index
Processor
Rendered DOM Resources
Wreck your crawl budget with
indexable API endpoints
Crawler
Crawled
DOM
Render
Rendered
DOM
12. The index processor passes valuable rendered content
to the index
Crawl Queue
Crawled DOM
Resources
Index
Processor
Rendered DOM Resources
Index
Let's make it
better
● Visibility
Can I see and reproduce what ishappening?
SEO for JavaScript frameworks requires
● Visibility
Can I see and reproduce what is happening?
● Diagnostics
Can I measure what is happening?
SEO for JavaScript frameworks requires
● Visibility
Can I see and reproduce what is happening?
● Diagnostics
Can I measure what is happening?
● Iteration
Can take meaningful steps to improve it?
SEO for JavaScript frameworks requires
/ /
/ '._ (_/) _.'/ 
|.''._ '--(o.o)--'_ .''.|
_ / `;=/ " =;`  _/
`__| ___/ |__/`
(_|_)/
" ` "
/
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
WEAR A MASK
AND BE KIND TO
EACH OTHER
|__________|
Thank you!
Any questions?
@Jammer_Volts

More Related Content

What's hot

Play framework And Google Cloud Platform GCP.
Play framework And Google Cloud Platform GCP.Play framework And Google Cloud Platform GCP.
Play framework And Google Cloud Platform GCP.
Eng Chrispinus Onyancha
 
Google App Engine overview (GAE/J)
Google App Engine overview (GAE/J)Google App Engine overview (GAE/J)
Google App Engine overview (GAE/J)
Moch Nasrullah Rahmani
 
Firebase presentation
Firebase presentationFirebase presentation
Firebase presentation
Connor Leech
 
Angular universal
Angular universalAngular universal
Angular universal
Michael Haberman
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
Colin Su
 
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fastHow Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
Atlassian
 
Altitude SF 2017: Security at the edge
Altitude SF 2017: Security at the edgeAltitude SF 2017: Security at the edge
Altitude SF 2017: Security at the edge
Fastly
 
Introduction to angular js july 6th 2014
Introduction to angular js   july 6th 2014Introduction to angular js   july 6th 2014
Introduction to angular js july 6th 2014
Simona Clapan
 
Introduction to Firebase
Introduction to FirebaseIntroduction to Firebase
Introduction to Firebase
Mustafa Şenel
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
Troy Miles
 
Google App Engine (GAE) 演進史
Google App Engine (GAE) 演進史Google App Engine (GAE) 演進史
Google App Engine (GAE) 演進史
Simon Su
 
Azure and web sites hackaton deck
Azure and web sites hackaton deckAzure and web sites hackaton deck
Azure and web sites hackaton deck
Alexey Bokov
 
Getting Started with Firebase Cloud Functions
Getting Started with Firebase Cloud FunctionsGetting Started with Firebase Cloud Functions
Getting Started with Firebase Cloud Functions
Muhammad Samu
 
ASP.NET MVC and ajax
ASP.NET MVC and ajax ASP.NET MVC and ajax
ASP.NET MVC and ajax
Brij Mishra
 
Rails Concept
Rails ConceptRails Concept
Rails Concept
Javed Hussain
 
Disrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applicationsDisrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applications
Chris Love
 
Intro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NETIntro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NET
Alan Hecht
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Kranthi Lakum
 
Creating applications with Grails, Angular JS and Spring Security - GR8Conf E...
Creating applications with Grails, Angular JS and Spring Security - GR8Conf E...Creating applications with Grails, Angular JS and Spring Security - GR8Conf E...
Creating applications with Grails, Angular JS and Spring Security - GR8Conf E...
Alvaro Sanchez-Mariscal
 
Building solutions with the SharePoint Framework - deep-dive
Building solutions with the SharePoint Framework - deep-diveBuilding solutions with the SharePoint Framework - deep-dive
Building solutions with the SharePoint Framework - deep-dive
Waldek Mastykarz
 

What's hot (20)

Play framework And Google Cloud Platform GCP.
Play framework And Google Cloud Platform GCP.Play framework And Google Cloud Platform GCP.
Play framework And Google Cloud Platform GCP.
 
Google App Engine overview (GAE/J)
Google App Engine overview (GAE/J)Google App Engine overview (GAE/J)
Google App Engine overview (GAE/J)
 
Firebase presentation
Firebase presentationFirebase presentation
Firebase presentation
 
Angular universal
Angular universalAngular universal
Angular universal
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fastHow Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
 
Altitude SF 2017: Security at the edge
Altitude SF 2017: Security at the edgeAltitude SF 2017: Security at the edge
Altitude SF 2017: Security at the edge
 
Introduction to angular js july 6th 2014
Introduction to angular js   july 6th 2014Introduction to angular js   july 6th 2014
Introduction to angular js july 6th 2014
 
Introduction to Firebase
Introduction to FirebaseIntroduction to Firebase
Introduction to Firebase
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
 
Google App Engine (GAE) 演進史
Google App Engine (GAE) 演進史Google App Engine (GAE) 演進史
Google App Engine (GAE) 演進史
 
Azure and web sites hackaton deck
Azure and web sites hackaton deckAzure and web sites hackaton deck
Azure and web sites hackaton deck
 
Getting Started with Firebase Cloud Functions
Getting Started with Firebase Cloud FunctionsGetting Started with Firebase Cloud Functions
Getting Started with Firebase Cloud Functions
 
ASP.NET MVC and ajax
ASP.NET MVC and ajax ASP.NET MVC and ajax
ASP.NET MVC and ajax
 
Rails Concept
Rails ConceptRails Concept
Rails Concept
 
Disrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applicationsDisrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applications
 
Intro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NETIntro to SPA using JavaScript & ASP.NET
Intro to SPA using JavaScript & ASP.NET
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Creating applications with Grails, Angular JS and Spring Security - GR8Conf E...
Creating applications with Grails, Angular JS and Spring Security - GR8Conf E...Creating applications with Grails, Angular JS and Spring Security - GR8Conf E...
Creating applications with Grails, Angular JS and Spring Security - GR8Conf E...
 
Building solutions with the SharePoint Framework - deep-dive
Building solutions with the SharePoint Framework - deep-diveBuilding solutions with the SharePoint Framework - deep-dive
Building solutions with the SharePoint Framework - deep-dive
 

Similar to Rendering: Or why your perfectly optimized content doesn't rank

How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...
How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...
How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...
Jamie Indigo
 
Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022
NAVER D2
 
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
Peter Mead
 
Presentation Tier optimizations
Presentation Tier optimizationsPresentation Tier optimizations
Presentation Tier optimizations
Anup Hariharan Nair
 
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering Pipeline
Hyungwook Lee
 
Javascript SEO - Leicester Digital May 2018
Javascript SEO - Leicester Digital May 2018Javascript SEO - Leicester Digital May 2018
Javascript SEO - Leicester Digital May 2018
Kieran Headley
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
Chris Love
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
TurnToTech
 
Search engine optimization (seo) from Endeca & ATG
Search engine optimization (seo) from Endeca & ATGSearch engine optimization (seo) from Endeca & ATG
Search engine optimization (seo) from Endeca & ATG
Vignesh sitaraman
 
WebCrawler
WebCrawlerWebCrawler
WebCrawler
mynameismrslide
 
Building high performing web pages
Building high performing web pagesBuilding high performing web pages
Building high performing web pages
Nilesh Bafna
 
Angular SEO
Angular SEO Angular SEO
Angular SEO
Tiang Cheng
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
Susan Winters
 
SMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdfSMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdf
Sara Moccand-Sayegh
 
Migration to a JS Framework without Losing Your Rankings and Mind
Migration to a JS Framework without Losing Your Rankings and MindMigration to a JS Framework without Losing Your Rankings and Mind
Migration to a JS Framework without Losing Your Rankings and Mind
Maria Cieślak
 
JavaScript Doesn't Have to be Evil | Digital Olympus
JavaScript Doesn't Have to be Evil | Digital OlympusJavaScript Doesn't Have to be Evil | Digital Olympus
JavaScript Doesn't Have to be Evil | Digital Olympus
Onely
 
Navigating the critical rendering path - Jamie Alberico - VirtuaCon
Navigating the critical rendering path -  Jamie Alberico - VirtuaConNavigating the critical rendering path -  Jamie Alberico - VirtuaCon
Navigating the critical rendering path - Jamie Alberico - VirtuaCon
Jamie Indigo
 
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
CodeValue
 
Overview of PHP and MYSQL
Overview of PHP and MYSQLOverview of PHP and MYSQL
Overview of PHP and MYSQL
Deblina Chowdhury
 
Ajax toolkit framework
Ajax toolkit frameworkAjax toolkit framework
Ajax toolkit framework
Sunil Kumar
 

Similar to Rendering: Or why your perfectly optimized content doesn't rank (20)

How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...
How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...
How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...
 
Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022Deview 2013 mobile browser internals and trends_20131022
Deview 2013 mobile browser internals and trends_20131022
 
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
 
Presentation Tier optimizations
Presentation Tier optimizationsPresentation Tier optimizations
Presentation Tier optimizations
 
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering Pipeline
 
Javascript SEO - Leicester Digital May 2018
Javascript SEO - Leicester Digital May 2018Javascript SEO - Leicester Digital May 2018
Javascript SEO - Leicester Digital May 2018
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
 
Search engine optimization (seo) from Endeca & ATG
Search engine optimization (seo) from Endeca & ATGSearch engine optimization (seo) from Endeca & ATG
Search engine optimization (seo) from Endeca & ATG
 
WebCrawler
WebCrawlerWebCrawler
WebCrawler
 
Building high performing web pages
Building high performing web pagesBuilding high performing web pages
Building high performing web pages
 
Angular SEO
Angular SEO Angular SEO
Angular SEO
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
 
SMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdfSMX_DevTools_Monaco_2.pdf
SMX_DevTools_Monaco_2.pdf
 
Migration to a JS Framework without Losing Your Rankings and Mind
Migration to a JS Framework without Losing Your Rankings and MindMigration to a JS Framework without Losing Your Rankings and Mind
Migration to a JS Framework without Losing Your Rankings and Mind
 
JavaScript Doesn't Have to be Evil | Digital Olympus
JavaScript Doesn't Have to be Evil | Digital OlympusJavaScript Doesn't Have to be Evil | Digital Olympus
JavaScript Doesn't Have to be Evil | Digital Olympus
 
Navigating the critical rendering path - Jamie Alberico - VirtuaCon
Navigating the critical rendering path -  Jamie Alberico - VirtuaConNavigating the critical rendering path -  Jamie Alberico - VirtuaCon
Navigating the critical rendering path - Jamie Alberico - VirtuaCon
 
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
 
Overview of PHP and MYSQL
Overview of PHP and MYSQLOverview of PHP and MYSQL
Overview of PHP and MYSQL
 
Ajax toolkit framework
Ajax toolkit frameworkAjax toolkit framework
Ajax toolkit framework
 

More from WeLoveSEO

Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOCore Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
WeLoveSEO
 
Muscler le SEO pour des contenus en forme ! [Etude de cas Decathlon]
Muscler le SEO pour des contenus en forme ! [Etude de cas Decathlon] Muscler le SEO pour des contenus en forme ! [Etude de cas Decathlon]
Muscler le SEO pour des contenus en forme ! [Etude de cas Decathlon]
WeLoveSEO
 
Comment utiliser la data science pour soutenir et prioriser les actions de ré...
Comment utiliser la data science pour soutenir et prioriser les actions de ré...Comment utiliser la data science pour soutenir et prioriser les actions de ré...
Comment utiliser la data science pour soutenir et prioriser les actions de ré...
WeLoveSEO
 
Adapting to Google's Criteria for High-Authority, Top-Ranking Websites in 2020
Adapting to Google's Criteria for High-Authority, Top-Ranking Websites in 2020Adapting to Google's Criteria for High-Authority, Top-Ranking Websites in 2020
Adapting to Google's Criteria for High-Authority, Top-Ranking Websites in 2020
WeLoveSEO
 
[Etude de cas] Audit d'opportunités SEO ou comment focaliser ses efforts sur ...
[Etude de cas] Audit d'opportunités SEO ou comment focaliser ses efforts sur ...[Etude de cas] Audit d'opportunités SEO ou comment focaliser ses efforts sur ...
[Etude de cas] Audit d'opportunités SEO ou comment focaliser ses efforts sur ...
WeLoveSEO
 
Nouveaux indicateurs seo pour vos reportings 2020 #WLSVS
Nouveaux indicateurs seo pour vos reportings 2020 #WLSVSNouveaux indicateurs seo pour vos reportings 2020 #WLSVS
Nouveaux indicateurs seo pour vos reportings 2020 #WLSVS
WeLoveSEO
 
Conference deck - The new visibility indicators to use in your seo reports
Conference deck - The new visibility indicators to use in your seo reportsConference deck - The new visibility indicators to use in your seo reports
Conference deck - The new visibility indicators to use in your seo reports
WeLoveSEO
 

More from WeLoveSEO (7)

Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOCore Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
 
Muscler le SEO pour des contenus en forme ! [Etude de cas Decathlon]
Muscler le SEO pour des contenus en forme ! [Etude de cas Decathlon] Muscler le SEO pour des contenus en forme ! [Etude de cas Decathlon]
Muscler le SEO pour des contenus en forme ! [Etude de cas Decathlon]
 
Comment utiliser la data science pour soutenir et prioriser les actions de ré...
Comment utiliser la data science pour soutenir et prioriser les actions de ré...Comment utiliser la data science pour soutenir et prioriser les actions de ré...
Comment utiliser la data science pour soutenir et prioriser les actions de ré...
 
Adapting to Google's Criteria for High-Authority, Top-Ranking Websites in 2020
Adapting to Google's Criteria for High-Authority, Top-Ranking Websites in 2020Adapting to Google's Criteria for High-Authority, Top-Ranking Websites in 2020
Adapting to Google's Criteria for High-Authority, Top-Ranking Websites in 2020
 
[Etude de cas] Audit d'opportunités SEO ou comment focaliser ses efforts sur ...
[Etude de cas] Audit d'opportunités SEO ou comment focaliser ses efforts sur ...[Etude de cas] Audit d'opportunités SEO ou comment focaliser ses efforts sur ...
[Etude de cas] Audit d'opportunités SEO ou comment focaliser ses efforts sur ...
 
Nouveaux indicateurs seo pour vos reportings 2020 #WLSVS
Nouveaux indicateurs seo pour vos reportings 2020 #WLSVSNouveaux indicateurs seo pour vos reportings 2020 #WLSVS
Nouveaux indicateurs seo pour vos reportings 2020 #WLSVS
 
Conference deck - The new visibility indicators to use in your seo reports
Conference deck - The new visibility indicators to use in your seo reportsConference deck - The new visibility indicators to use in your seo reports
Conference deck - The new visibility indicators to use in your seo reports
 

Recently uploaded

dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 

Recently uploaded (20)

dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 

Rendering: Or why your perfectly optimized content doesn't rank