SlideShare a Scribd company logo
1 of 69
Download to read offline
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Rendering Strategies
Measuring the Devil's Details in Core Web Vitals
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Image
credit:
Ian
Myles
Core Web Vitals are coming.
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
● Understand Core Web Vital metrics and measurement
● Where and how CWV occur
● Rendering strategies with their respective CWV pratfalls, and mitigation
tactics
Our quest
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Metrics and Measurements
Core Web Vitals
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Loading Interactivity Visual Stability
�
�
⏳
Images
via:
The
SEO's
Guide
to
Google's
Core
Web
Vitals
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Field Data is performance data
collected from real page loads your
users are experiencing in the wild.
AKA Real User Monitoring (RUM)
Crux data will be used in the Page
Experience Ranking Signal.
Crux = CWV source of truth
Lab Data is performance data
collected within a controlled
environment with predefined device
and network settings.
AKA Emulated Data
Use Lab Data for debugging
performance issues and QAing fixes in
lower environments.
A quick note on Lab vs Field Data
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Represents: Perceived loading
experience
Measurement: the point in the page load
timeline when the page's largest image or
text block is visible within the viewport.
Behavior: Pages using the same page
templates typically share the same LCP
node
Largest Contentful Paint (LCP)
LCP time
(in milliseconds) Color-coding
0–2,500 Green (fast)
2,500-4,000 Orange (moderate)
Over 4,000 Red (slow)
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
What can be LCP?
Text
blocks
Images
Video
posters
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
1. Open Chrome Dev Tools to
the Performance panel
2. Tick 'Web Vitals'
3. Click the 'start profiling and
reload page
Define LCP using Chrome DevTools
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
1. In DevTools, navigate to
the Timings section of the
Performance panel
2. Hover over the LCP marker
3. The element(s) that
correspond to LCP is
detailed in the Related
Node field
Define LCP using Chrome DevTools
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Represents: Responsiveness to user input
Measurement: the time from when a user
first interacts with a page to the time when
the browser is actually able to begin
processing event handlers in response to that
interaction.
Behavior: FID is only available as field data.
First Input Delay (FID)
FID
(in milliseconds) Color-coding
0-100 Green (fast)
101-299 Orange (moderate)
>= 300 Red (slow)
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
FID is a way of measuring main thread activity
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
TBT Measures: Responsiveness to
user input
TBT Measurement: Total time in which
the main thread is occupied by tasks
taking more than 50ms to complete.
Use Total Blocking Time (TBT) for lab tests
TBT
(in milliseconds) Color-coding
0–300 Green (fast)
301-599 Orange (moderate)
Over 600 Red (slow)
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Represents: Visual stability
Measurement: a calculation based on the
number of frames in which element(s)
visually moves and the total distance in
pixels the element(s) moved.
Behavior: Often an element used across
pages. Probably your cookie notice.
Cumulative Layout Shift (CLS)
CLS calculated score Color-coding
0–0.10 Green (fast)
0.11-0.24 Orange (moderate)
>= 0.25 Red (slow)
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
CLS is marked in the experience
row as “layout shift”
Details appear in the summary
section
Identify CLS elements using Chrome DevTools
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Image
credit:
Joe
Wue
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Mobile
Screen
Resolution
Stats
Worldwide
360 x 640
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Core Web Vitals measure how
long it takes to complete the
the script functions needed to
paint the above the content.
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
It's a simple formula
User Screen Content
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
the process of turning
HTML into pixels
Rendering:
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
CWV Arena
Pixel Pipeline
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
The pixel pipeline
JavaScript Style Layout Paint Composite
Handles work that will result in visual changes
Examples:
● jQuery’s animate function
● Sorting a data set
● Adding DOM elements to the page
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
DOM
HTML
HTML
Parser
DOM
Tree
JavaScript modifies or adds
content to the DOM.
@Jammer_volts
Step 1: Parsing
turns a chunk of HTML
into DOM nodes
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Body
h1 p img
Before JavaScript Body
h1 p img
After JavaScript
ol
li li
li
p img
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
The pixel pipeline
Style calculations are the process of figuring out which CSS rules apply to which
elements based on matching selectors.
JavaScript Layout Paint Composite
Style
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
DOM
HTML
Style
Sheets
HTML
Parser
CSS
Parser
DOM
Tree
Style
Rules
Attachment
@Jammer_volts
Step 2: Style
Add style calculations to
the DOM
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
The pixel pipeline
JavaScript Style
Once the browser knows which rules apply to an element it can begin to calculate
how much space it takes up and where relative to the size of the viewport.
The Core Web Vital metric Cumulative Layout Shift measures this.
Paint Composite
Layout
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
DOM
HTML
Style
Sheets
HTML
Parser
CSS
Parser
DOM
Tree
Style
Rules
Render
Tree
Attachment
Layout
Step 3: Layout
figure out where DOM
elements end up relative
to one another
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
p p img h1
img ol img
p
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
The pixel pipeline
JavaScript Style Layout
Painting is the process of filling in pixels. It involves drawing out text, colors,
images, borders, and shadows, essentially every visual part of the elements.
The drawing is typically done onto multiple surfaces, often called layers.
Largest content paint occurs here
Composite
Paint
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Painting
DOM
HTML
Style
Sheets
HTML
Parser
CSS
Parser
DOM
Tree
Style
Rules
Render
Tree
Attachment
Layout
Step 4: Paint
converts layers of styled DOM
elements into pixels
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
The pixel pipeline
JavaScript Style Layout Paint Composite
Since the parts of the page were drawn into potentially multiple layers they need to
be drawn to the screen in the correct order so that the page renders correctly.
This is especially important for elements that overlap another, since a mistake
could result in one element appearing over the top of another incorrectly.
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
DOM
HTML
Style
Sheets
HTML
Parser
CSS
Parser
DOM
Tree
Style
Rules
Render
Tree
Attachment
Layout
Painting
Composite
Step 5: Composite
assembles all layers into a final
screen image
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
What we think
it’ll be like
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
What it's actually like
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
The end result is the same.
How we do it matters.
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
CWV Pratfalls and Mitigations
Rendering Strategies
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
● Client Side
● Server Sider
● Static
● Dynamic
● Rehydration
Rendering Strategies
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Client Side Rendering (CSR)
<!doctype html>
<head>
<script
type="text/javascript"
src="/main.js?ver=1.1.0">
</script>
</head>
<body>
<app-root></app-root>
</body>
</html>
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
CSR Poor LCP: CSR
Source:
https://web.dev/lcp/
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
<rel="buyproduct.js">
= 99.5% success rate
Each script has a probability to fail.
With
JavaScript
Without
JavaScript
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
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}
<!doctype html>
<head>
<script type="text/javascript"
src="/main.js?ver=1.1.0">
</script>
</head>
<body>
<app-root></app-root>
</body>
</html>
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
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}
mainbundle.js
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
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}
mainbundle.js
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Chains are dependencies.
Each segment of the chain is
dependent on its initiator to
execute.
If a segment of the chain fails,
all of its subsequent content
fails.
Mitigation: Avoid Critical Chains
bundle.js
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}
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
CSR Poor LCP: Render-blocking JavaScript and
CSS
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
2 types resources block rendering
<link rel="stylesheet">
when
● Does not have a disabled
attribute. When this attribute is
present, the browser does not
download the stylesheet.
● Does not have a media attribute
that matches the user's device.
<script>
when
● Is in the <head> of the document.
● Does not have a defer attribute.
● Does not have an async attribute.
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Tell non-critical assets to wait using asynchronous or defer
attributes
<rel=”myscript.js” async>
<rel=”myscript.js” defer>
Lazy load images in Chrome with native attributes
<img src=”the-traveler.jpg” loading=”lazy”>
Mitigation: Defer non critical assets
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Inline small scripts into <head> using <style>
and/or <script> tags for above the fold content
● Ideally inline CSS is immediately after critical
metadata
● Load inline scripts before third party
resources, style sheets and JS
● If the script is over 1 kB, avoid inlining it
(Inline scripts are parsed and compiled on
the main thread.)
● Remove inline functions from script bundles
Mitigation: Inline Critical Assets
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
CSR Poor LCP: Performance
● Google will limit CPU consumption
● Google will interrupt script
● Excessive CPU consumption negatively impacts indexing
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
CSR: Poor FID
Heavy JavaScript execution
const heavy = true;
While (heavy) {
console.log("FID
fail")
}
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Mitigation: Only ship contributing scripts
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
CSR Poor CLS: Image dimensions
● Images without dimensions
● Ads, embeds, and iframes without
dimensions
Mitigation: Declare dimensions
img {
width: 100%; /* or max-width: 100%; */
height: auto;
}
Reserved slot:
Ad space
img {
width: 100%;
/* or max-width:
100%; */
height: auto;
}
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
*
CSR Poor CLS: Loading above existing content
Footer
Header
CLS Layout Score = impact fraction * distance fraction
Mitigation: Prioritize Above the Fold content load
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
CSR Poor CLS: document.write()
Modern Browsers support speculative parsing off of the main thread.
Read as: They parse ahead while scripts are being downloaded and executed.
document.write() ruins all that hard work.
Mitigation: Chances are this isn't the work of your devs. Talk to your
point of content that for "magic" third-party tool.
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
CSR Poor CLS: Style recalculations
Changing the DOM will cause the browser to
recalculate element styles (and possibly layouts).
Mitigation: Lessen the scope and complexity of
Style Calculations by:
● Reducing the complexity of your selectors.
● Reducing the number of elements being styled.
● Measure your Style Recalculation Cost
● Use BEM (Block, Element, Modifier) a
class-centric methodology.
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
A font loading late causes a full flash and re-write.
Mitigation: Preload fonts. Preload tells the browser that
you would like to fetch it sooner than the browser would
otherwise discover it because you are certain that it is
important for the current page.
<link rel="preload" href="/assets/Pacifico-Bold.woff2"
as="font" type="font/woff2" crossorigin>
CSR Poor CLS: Web Fonts causing FOIT/FOUT
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
At the time of
request
<!doctype html>
<head>
<title>Hello, TechSEO
Boost!
</head>
<body>
<h1>Wait.This isn’t
Boston :( </h1>
<p>Wash your hands.</p>
</body>
</html>
Server Side Rendering (SSR)
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
● Slow server response times
● Render-blocking JavaScript and CSS
● Resource load times
● Client-side rendering
Are all the server calculations valuable?
Do they contribute to page content?
SSR: Poor LCP
<!doctype html>
<head>
<title>Hello, TechSEO Boost!
</head>
<body>
<h1>Wait.This isn’t Boston :( </h1>
<p>Wash your hands.</p>
</body>
</html>
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
SSR Poor LCP: Media Declarations
The default media="all" (or no
declaration) matches all viewport
sizes.
Mitigation: Dynamic media queries
evaluate the viewport when the page
is loaded.
<link href="xsmall.css"
rel="stylesheet"
media="xsmall">
<link href="small.css"
rel="stylesheet"
media="small">
<link href="print.css"
rel="stylesheet"
media="print">
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
During the
build
Static Rendering
<!doctype html>
<head>
<title>Hello, TechSEO
Boost!
</head>
<body>
<h1>Wait.This isn’t
Boston :( </h1>
<p>Wash your hands.</p>
</body>
</html>
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Cons
● $$$
● Tricky to get "right"
● Only works for static content – not
for content that’s meant to change
(think personalization and A/B
testing)
Pros
● Low TTFB
● Delivers parsed HTML
Static Rendering: YMMV
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Dynamic Rendering
Crawler
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
2x
server costs, test
cases, and QA
½
visibility into what is
actually happening
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
"It is not reasonable."
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Rehydration
Above the fold
HTML
+
Below the fold
scripts
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Load what matters when it matters.
Jamie Indigo | @Jammer_Volts | #TechSEOBoost
Image
credit:
John
Fowler
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
DON'T BE AFRAID
TO LEARN IN PUBLIC
|___________|
(__/) ||
(•ㅅ•) ||
/   づ

More Related Content

What's hot

Technical Foundations of Successful Internationalization - SMX Munich
Technical Foundations of Successful Internationalization - SMX MunichTechnical Foundations of Successful Internationalization - SMX Munich
Technical Foundations of Successful Internationalization - SMX MunichJamie Indigo
 
DeepCrawl Webinar: Performing SEO on the Edge
DeepCrawl Webinar: Performing SEO on the EdgeDeepCrawl Webinar: Performing SEO on the Edge
DeepCrawl Webinar: Performing SEO on the EdgeDan Taylor
 
Automating Google Lighthouse
Automating Google LighthouseAutomating Google Lighthouse
Automating Google LighthouseHamlet Batista
 
Challenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering serviceChallenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering serviceGiacomo Zecchini
 
The New Renaissance of JavaScript
The New Renaissance of JavaScriptThe New Renaissance of JavaScript
The New Renaissance of JavaScriptHamlet Batista
 
SEO for Angular - BrightonSEO 2018
SEO for Angular - BrightonSEO 2018SEO for Angular - BrightonSEO 2018
SEO for Angular - BrightonSEO 2018Jamie Indigo
 
Brighton SEO July 2021 How JavaScript is preventing you from passing Core W...
Brighton SEO July 2021   How JavaScript is preventing you from passing Core W...Brighton SEO July 2021   How JavaScript is preventing you from passing Core W...
Brighton SEO July 2021 How JavaScript is preventing you from passing Core W...Izabela Wisniewska
 
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...Catalyst
 
Tech SEO + Site Migrations - SMX Munich
Tech SEO + Site Migrations - SMX MunichTech SEO + Site Migrations - SMX Munich
Tech SEO + Site Migrations - SMX MunichJamie Indigo
 
Headless SEO: Optimising Next Gen Sites | brightonSEO 2021
Headless SEO: Optimising Next Gen Sites | brightonSEO 2021Headless SEO: Optimising Next Gen Sites | brightonSEO 2021
Headless SEO: Optimising Next Gen Sites | brightonSEO 2021Alex Wright
 
Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5Hamlet Batista
 
Hey Googlebot, did you cache that ?
Hey Googlebot, did you cache that ?Hey Googlebot, did you cache that ?
Hey Googlebot, did you cache that ?Petra Kis-Herczegh
 
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
 
Crafting Expertise, Authority and Trust with Entity-Based Content Strategy - ...
Crafting Expertise, Authority and Trust with Entity-Based Content Strategy - ...Crafting Expertise, Authority and Trust with Entity-Based Content Strategy - ...
Crafting Expertise, Authority and Trust with Entity-Based Content Strategy - ...Jamie Indigo
 
Web Performance & Search Engines - A look beyond rankings
Web Performance & Search Engines - A look beyond rankingsWeb Performance & Search Engines - A look beyond rankings
Web Performance & Search Engines - A look beyond rankingsGiacomo Zecchini
 
How Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam Gent
How Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam GentHow Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam Gent
How Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam GentBranded3
 
SEO vs Angular
SEO vs AngularSEO vs Angular
SEO vs AngularFrançois
 
Debugging rendering problems at scale
Debugging rendering problems at scaleDebugging rendering problems at scale
Debugging rendering problems at scaleGiacomo Zecchini
 
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeBrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeDan Taylor
 
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...Katie Sylor-Miller
 

What's hot (20)

Technical Foundations of Successful Internationalization - SMX Munich
Technical Foundations of Successful Internationalization - SMX MunichTechnical Foundations of Successful Internationalization - SMX Munich
Technical Foundations of Successful Internationalization - SMX Munich
 
DeepCrawl Webinar: Performing SEO on the Edge
DeepCrawl Webinar: Performing SEO on the EdgeDeepCrawl Webinar: Performing SEO on the Edge
DeepCrawl Webinar: Performing SEO on the Edge
 
Automating Google Lighthouse
Automating Google LighthouseAutomating Google Lighthouse
Automating Google Lighthouse
 
Challenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering serviceChallenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering service
 
The New Renaissance of JavaScript
The New Renaissance of JavaScriptThe New Renaissance of JavaScript
The New Renaissance of JavaScript
 
SEO for Angular - BrightonSEO 2018
SEO for Angular - BrightonSEO 2018SEO for Angular - BrightonSEO 2018
SEO for Angular - BrightonSEO 2018
 
Brighton SEO July 2021 How JavaScript is preventing you from passing Core W...
Brighton SEO July 2021   How JavaScript is preventing you from passing Core W...Brighton SEO July 2021   How JavaScript is preventing you from passing Core W...
Brighton SEO July 2021 How JavaScript is preventing you from passing Core W...
 
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
TechSEO Boost 2018: Implementing Hreflang on Legacy Tech Stacks Using Service...
 
Tech SEO + Site Migrations - SMX Munich
Tech SEO + Site Migrations - SMX MunichTech SEO + Site Migrations - SMX Munich
Tech SEO + Site Migrations - SMX Munich
 
Headless SEO: Optimising Next Gen Sites | brightonSEO 2021
Headless SEO: Optimising Next Gen Sites | brightonSEO 2021Headless SEO: Optimising Next Gen Sites | brightonSEO 2021
Headless SEO: Optimising Next Gen Sites | brightonSEO 2021
 
Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5
 
Hey Googlebot, did you cache that ?
Hey Googlebot, did you cache that ?Hey Googlebot, did you cache that ?
Hey Googlebot, did you cache that ?
 
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 ...
 
Crafting Expertise, Authority and Trust with Entity-Based Content Strategy - ...
Crafting Expertise, Authority and Trust with Entity-Based Content Strategy - ...Crafting Expertise, Authority and Trust with Entity-Based Content Strategy - ...
Crafting Expertise, Authority and Trust with Entity-Based Content Strategy - ...
 
Web Performance & Search Engines - A look beyond rankings
Web Performance & Search Engines - A look beyond rankingsWeb Performance & Search Engines - A look beyond rankings
Web Performance & Search Engines - A look beyond rankings
 
How Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam Gent
How Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam GentHow Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam Gent
How Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam Gent
 
SEO vs Angular
SEO vs AngularSEO vs Angular
SEO vs Angular
 
Debugging rendering problems at scale
Debugging rendering problems at scaleDebugging rendering problems at scale
Debugging rendering problems at scale
 
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeBrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
 
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
 

Similar to Rendering strategies: Measuring the devil's details in core web vitals - Jamie Indigo, TechSEO Boost 2021

TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...Catalyst
 
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...Satisfying Business and Engineering Requirements: Client-server JavaScript, S...
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...Jason Strimpel
 
Big Data And HTML5 (DevCon TLV 2012)
Big Data And HTML5 (DevCon TLV 2012)Big Data And HTML5 (DevCon TLV 2012)
Big Data And HTML5 (DevCon TLV 2012)Ido Green
 
What's new in Android at I/O'16
What's new in Android at I/O'16What's new in Android at I/O'16
What's new in Android at I/O'16Elif Boncuk
 
The ultimate guide to optimize your react native app performance in 2022
The ultimate guide to optimize your react native app performance in 2022The ultimate guide to optimize your react native app performance in 2022
The ultimate guide to optimize your react native app performance in 2022Katy Slemon
 
GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...
GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...
GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...IRJET Journal
 
Js foo - Sept 8 upload
Js foo - Sept 8 uploadJs foo - Sept 8 upload
Js foo - Sept 8 uploadDebnath Sinha
 
Mobile Web Applications using HTML5 [IndicThreads Mobile Application Develop...
Mobile Web Applications using HTML5  [IndicThreads Mobile Application Develop...Mobile Web Applications using HTML5  [IndicThreads Mobile Application Develop...
Mobile Web Applications using HTML5 [IndicThreads Mobile Application Develop...IndicThreads
 
JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31 JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31 Omnilogy
 
Delivering Java Applications? Ensure Top Performance Every Time, with Intell...
 Delivering Java Applications? Ensure Top Performance Every Time, with Intell... Delivering Java Applications? Ensure Top Performance Every Time, with Intell...
Delivering Java Applications? Ensure Top Performance Every Time, with Intell...John Williams
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsTechWell
 
SEO Reporting in the Enterprise: Information is Power by AJ Mihalic - #SEJSum...
SEO Reporting in the Enterprise: Information is Power by AJ Mihalic - #SEJSum...SEO Reporting in the Enterprise: Information is Power by AJ Mihalic - #SEJSum...
SEO Reporting in the Enterprise: Information is Power by AJ Mihalic - #SEJSum...Search Engine Journal
 
SEO Reporting in the Enterprise - AJ Mihalic - AYIMA
SEO Reporting in the Enterprise - AJ Mihalic - AYIMASEO Reporting in the Enterprise - AJ Mihalic - AYIMA
SEO Reporting in the Enterprise - AJ Mihalic - AYIMAAJ Mihalic
 
Top 13 best front end web development tools to consider in 2021
Top 13 best front end web development tools to consider in 2021Top 13 best front end web development tools to consider in 2021
Top 13 best front end web development tools to consider in 2021Samaritan InfoTech
 
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday SeasonG3 Communications
 
Building Mobile Optimized Websites
Building Mobile Optimized WebsitesBuilding Mobile Optimized Websites
Building Mobile Optimized Websiteshaxorize
 
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villaresrayvillares
 
Best Practices for Troubleshooting Four Real-world Java Performance Issues
Best Practices for Troubleshooting Four Real-world Java Performance IssuesBest Practices for Troubleshooting Four Real-world Java Performance Issues
Best Practices for Troubleshooting Four Real-world Java Performance IssueseG Innovations
 

Similar to Rendering strategies: Measuring the devil's details in core web vitals - Jamie Indigo, TechSEO Boost 2021 (20)

TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
 
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...Satisfying Business and Engineering Requirements: Client-server JavaScript, S...
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...
 
Web Leaps Forward
Web Leaps ForwardWeb Leaps Forward
Web Leaps Forward
 
Big Data And HTML5 (DevCon TLV 2012)
Big Data And HTML5 (DevCon TLV 2012)Big Data And HTML5 (DevCon TLV 2012)
Big Data And HTML5 (DevCon TLV 2012)
 
What's new in Android at I/O'16
What's new in Android at I/O'16What's new in Android at I/O'16
What's new in Android at I/O'16
 
The ultimate guide to optimize your react native app performance in 2022
The ultimate guide to optimize your react native app performance in 2022The ultimate guide to optimize your react native app performance in 2022
The ultimate guide to optimize your react native app performance in 2022
 
GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...
GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...
GENERATION OF HTML CODE AUTOMATICALLY USING MOCK-UP IMAGES WITH MACHINE LEARN...
 
Js foo - Sept 8 upload
Js foo - Sept 8 uploadJs foo - Sept 8 upload
Js foo - Sept 8 upload
 
Mobile Web Applications using HTML5 [IndicThreads Mobile Application Develop...
Mobile Web Applications using HTML5  [IndicThreads Mobile Application Develop...Mobile Web Applications using HTML5  [IndicThreads Mobile Application Develop...
Mobile Web Applications using HTML5 [IndicThreads Mobile Application Develop...
 
JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31 JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31
 
Delivering Java Applications? Ensure Top Performance Every Time, with Intell...
 Delivering Java Applications? Ensure Top Performance Every Time, with Intell... Delivering Java Applications? Ensure Top Performance Every Time, with Intell...
Delivering Java Applications? Ensure Top Performance Every Time, with Intell...
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
 
Pravin_CV_4+years
Pravin_CV_4+yearsPravin_CV_4+years
Pravin_CV_4+years
 
SEO Reporting in the Enterprise: Information is Power by AJ Mihalic - #SEJSum...
SEO Reporting in the Enterprise: Information is Power by AJ Mihalic - #SEJSum...SEO Reporting in the Enterprise: Information is Power by AJ Mihalic - #SEJSum...
SEO Reporting in the Enterprise: Information is Power by AJ Mihalic - #SEJSum...
 
SEO Reporting in the Enterprise - AJ Mihalic - AYIMA
SEO Reporting in the Enterprise - AJ Mihalic - AYIMASEO Reporting in the Enterprise - AJ Mihalic - AYIMA
SEO Reporting in the Enterprise - AJ Mihalic - AYIMA
 
Top 13 best front end web development tools to consider in 2021
Top 13 best front end web development tools to consider in 2021Top 13 best front end web development tools to consider in 2021
Top 13 best front end web development tools to consider in 2021
 
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
 
Building Mobile Optimized Websites
Building Mobile Optimized WebsitesBuilding Mobile Optimized Websites
Building Mobile Optimized Websites
 
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
 
Best Practices for Troubleshooting Four Real-world Java Performance Issues
Best Practices for Troubleshooting Four Real-world Java Performance IssuesBest Practices for Troubleshooting Four Real-world Java Performance Issues
Best Practices for Troubleshooting Four Real-world Java Performance Issues
 

Recently uploaded

Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleanscorenetworkseo
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxBipin Adhikari
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 

Recently uploaded (20)

Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleans
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptx
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 

Rendering strategies: Measuring the devil's details in core web vitals - Jamie Indigo, TechSEO Boost 2021

  • 1. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Rendering Strategies Measuring the Devil's Details in Core Web Vitals
  • 2. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Image credit: Ian Myles Core Web Vitals are coming.
  • 3. Jamie Indigo | @Jammer_Volts | #TechSEOBoost ● Understand Core Web Vital metrics and measurement ● Where and how CWV occur ● Rendering strategies with their respective CWV pratfalls, and mitigation tactics Our quest
  • 4. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Metrics and Measurements Core Web Vitals
  • 5. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Loading Interactivity Visual Stability � � ⏳ Images via: The SEO's Guide to Google's Core Web Vitals
  • 6. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Field Data is performance data collected from real page loads your users are experiencing in the wild. AKA Real User Monitoring (RUM) Crux data will be used in the Page Experience Ranking Signal. Crux = CWV source of truth Lab Data is performance data collected within a controlled environment with predefined device and network settings. AKA Emulated Data Use Lab Data for debugging performance issues and QAing fixes in lower environments. A quick note on Lab vs Field Data
  • 7. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Represents: Perceived loading experience Measurement: the point in the page load timeline when the page's largest image or text block is visible within the viewport. Behavior: Pages using the same page templates typically share the same LCP node Largest Contentful Paint (LCP) LCP time (in milliseconds) Color-coding 0–2,500 Green (fast) 2,500-4,000 Orange (moderate) Over 4,000 Red (slow)
  • 8. Jamie Indigo | @Jammer_Volts | #TechSEOBoost What can be LCP? Text blocks Images Video posters
  • 9. Jamie Indigo | @Jammer_Volts | #TechSEOBoost 1. Open Chrome Dev Tools to the Performance panel 2. Tick 'Web Vitals' 3. Click the 'start profiling and reload page Define LCP using Chrome DevTools
  • 10. Jamie Indigo | @Jammer_Volts | #TechSEOBoost 1. In DevTools, navigate to the Timings section of the Performance panel 2. Hover over the LCP marker 3. The element(s) that correspond to LCP is detailed in the Related Node field Define LCP using Chrome DevTools
  • 11. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Represents: Responsiveness to user input Measurement: the time from when a user first interacts with a page to the time when the browser is actually able to begin processing event handlers in response to that interaction. Behavior: FID is only available as field data. First Input Delay (FID) FID (in milliseconds) Color-coding 0-100 Green (fast) 101-299 Orange (moderate) >= 300 Red (slow)
  • 12. Jamie Indigo | @Jammer_Volts | #TechSEOBoost FID is a way of measuring main thread activity
  • 13. Jamie Indigo | @Jammer_Volts | #TechSEOBoost TBT Measures: Responsiveness to user input TBT Measurement: Total time in which the main thread is occupied by tasks taking more than 50ms to complete. Use Total Blocking Time (TBT) for lab tests TBT (in milliseconds) Color-coding 0–300 Green (fast) 301-599 Orange (moderate) Over 600 Red (slow)
  • 14. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Represents: Visual stability Measurement: a calculation based on the number of frames in which element(s) visually moves and the total distance in pixels the element(s) moved. Behavior: Often an element used across pages. Probably your cookie notice. Cumulative Layout Shift (CLS) CLS calculated score Color-coding 0–0.10 Green (fast) 0.11-0.24 Orange (moderate) >= 0.25 Red (slow)
  • 15. Jamie Indigo | @Jammer_Volts | #TechSEOBoost CLS is marked in the experience row as “layout shift” Details appear in the summary section Identify CLS elements using Chrome DevTools
  • 16. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Image credit: Joe Wue
  • 17. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Mobile Screen Resolution Stats Worldwide 360 x 640
  • 18. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Core Web Vitals measure how long it takes to complete the the script functions needed to paint the above the content.
  • 19. Jamie Indigo | @Jammer_Volts | #TechSEOBoost It's a simple formula User Screen Content
  • 20. Jamie Indigo | @Jammer_Volts | #TechSEOBoost the process of turning HTML into pixels Rendering:
  • 21. Jamie Indigo | @Jammer_Volts | #TechSEOBoost CWV Arena Pixel Pipeline
  • 22. Jamie Indigo | @Jammer_Volts | #TechSEOBoost The pixel pipeline JavaScript Style Layout Paint Composite Handles work that will result in visual changes Examples: ● jQuery’s animate function ● Sorting a data set ● Adding DOM elements to the page
  • 23. Jamie Indigo | @Jammer_Volts | #TechSEOBoost DOM HTML HTML Parser DOM Tree JavaScript modifies or adds content to the DOM. @Jammer_volts Step 1: Parsing turns a chunk of HTML into DOM nodes
  • 24. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Body h1 p img Before JavaScript Body h1 p img After JavaScript ol li li li p img
  • 25. Jamie Indigo | @Jammer_Volts | #TechSEOBoost The pixel pipeline Style calculations are the process of figuring out which CSS rules apply to which elements based on matching selectors. JavaScript Layout Paint Composite Style
  • 26. Jamie Indigo | @Jammer_Volts | #TechSEOBoost DOM HTML Style Sheets HTML Parser CSS Parser DOM Tree Style Rules Attachment @Jammer_volts Step 2: Style Add style calculations to the DOM
  • 27. Jamie Indigo | @Jammer_Volts | #TechSEOBoost The pixel pipeline JavaScript Style Once the browser knows which rules apply to an element it can begin to calculate how much space it takes up and where relative to the size of the viewport. The Core Web Vital metric Cumulative Layout Shift measures this. Paint Composite Layout
  • 28. Jamie Indigo | @Jammer_Volts | #TechSEOBoost DOM HTML Style Sheets HTML Parser CSS Parser DOM Tree Style Rules Render Tree Attachment Layout Step 3: Layout figure out where DOM elements end up relative to one another
  • 29. Jamie Indigo | @Jammer_Volts | #TechSEOBoost p p img h1 img ol img p
  • 30. Jamie Indigo | @Jammer_Volts | #TechSEOBoost The pixel pipeline JavaScript Style Layout Painting is the process of filling in pixels. It involves drawing out text, colors, images, borders, and shadows, essentially every visual part of the elements. The drawing is typically done onto multiple surfaces, often called layers. Largest content paint occurs here Composite Paint
  • 31. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Painting DOM HTML Style Sheets HTML Parser CSS Parser DOM Tree Style Rules Render Tree Attachment Layout Step 4: Paint converts layers of styled DOM elements into pixels
  • 32. Jamie Indigo | @Jammer_Volts | #TechSEOBoost The pixel pipeline JavaScript Style Layout Paint Composite Since the parts of the page were drawn into potentially multiple layers they need to be drawn to the screen in the correct order so that the page renders correctly. This is especially important for elements that overlap another, since a mistake could result in one element appearing over the top of another incorrectly.
  • 33. Jamie Indigo | @Jammer_Volts | #TechSEOBoost DOM HTML Style Sheets HTML Parser CSS Parser DOM Tree Style Rules Render Tree Attachment Layout Painting Composite Step 5: Composite assembles all layers into a final screen image
  • 34. Jamie Indigo | @Jammer_Volts | #TechSEOBoost What we think it’ll be like
  • 35. Jamie Indigo | @Jammer_Volts | #TechSEOBoost What it's actually like
  • 36. Jamie Indigo | @Jammer_Volts | #TechSEOBoost The end result is the same. How we do it matters.
  • 37. Jamie Indigo | @Jammer_Volts | #TechSEOBoost CWV Pratfalls and Mitigations Rendering Strategies
  • 38. Jamie Indigo | @Jammer_Volts | #TechSEOBoost ● Client Side ● Server Sider ● Static ● Dynamic ● Rehydration Rendering Strategies
  • 39. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Client Side Rendering (CSR) <!doctype html> <head> <script type="text/javascript" src="/main.js?ver=1.1.0"> </script> </head> <body> <app-root></app-root> </body> </html>
  • 40. Jamie Indigo | @Jammer_Volts | #TechSEOBoost CSR Poor LCP: CSR Source: https://web.dev/lcp/
  • 41. Jamie Indigo | @Jammer_Volts | #TechSEOBoost <rel="buyproduct.js"> = 99.5% success rate Each script has a probability to fail. With JavaScript Without JavaScript
  • 42. Jamie Indigo | @Jammer_Volts | #TechSEOBoost 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} <!doctype html> <head> <script type="text/javascript" src="/main.js?ver=1.1.0"> </script> </head> <body> <app-root></app-root> </body> </html>
  • 43. Jamie Indigo | @Jammer_Volts | #TechSEOBoost 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} mainbundle.js
  • 44. Jamie Indigo | @Jammer_Volts | #TechSEOBoost 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} mainbundle.js
  • 45. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Chains are dependencies. Each segment of the chain is dependent on its initiator to execute. If a segment of the chain fails, all of its subsequent content fails. Mitigation: Avoid Critical Chains bundle.js 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}
  • 46. Jamie Indigo | @Jammer_Volts | #TechSEOBoost CSR Poor LCP: Render-blocking JavaScript and CSS
  • 47. Jamie Indigo | @Jammer_Volts | #TechSEOBoost 2 types resources block rendering <link rel="stylesheet"> when ● Does not have a disabled attribute. When this attribute is present, the browser does not download the stylesheet. ● Does not have a media attribute that matches the user's device. <script> when ● Is in the <head> of the document. ● Does not have a defer attribute. ● Does not have an async attribute.
  • 48. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Tell non-critical assets to wait using asynchronous or defer attributes <rel=”myscript.js” async> <rel=”myscript.js” defer> Lazy load images in Chrome with native attributes <img src=”the-traveler.jpg” loading=”lazy”> Mitigation: Defer non critical assets
  • 49. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Inline small scripts into <head> using <style> and/or <script> tags for above the fold content ● Ideally inline CSS is immediately after critical metadata ● Load inline scripts before third party resources, style sheets and JS ● If the script is over 1 kB, avoid inlining it (Inline scripts are parsed and compiled on the main thread.) ● Remove inline functions from script bundles Mitigation: Inline Critical Assets
  • 50. Jamie Indigo | @Jammer_Volts | #TechSEOBoost CSR Poor LCP: Performance ● Google will limit CPU consumption ● Google will interrupt script ● Excessive CPU consumption negatively impacts indexing
  • 51. Jamie Indigo | @Jammer_Volts | #TechSEOBoost CSR: Poor FID Heavy JavaScript execution const heavy = true; While (heavy) { console.log("FID fail") }
  • 52. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Mitigation: Only ship contributing scripts
  • 53. Jamie Indigo | @Jammer_Volts | #TechSEOBoost CSR Poor CLS: Image dimensions ● Images without dimensions ● Ads, embeds, and iframes without dimensions Mitigation: Declare dimensions img { width: 100%; /* or max-width: 100%; */ height: auto; } Reserved slot: Ad space img { width: 100%; /* or max-width: 100%; */ height: auto; }
  • 54. Jamie Indigo | @Jammer_Volts | #TechSEOBoost * CSR Poor CLS: Loading above existing content Footer Header CLS Layout Score = impact fraction * distance fraction Mitigation: Prioritize Above the Fold content load
  • 55. Jamie Indigo | @Jammer_Volts | #TechSEOBoost CSR Poor CLS: document.write() Modern Browsers support speculative parsing off of the main thread. Read as: They parse ahead while scripts are being downloaded and executed. document.write() ruins all that hard work. Mitigation: Chances are this isn't the work of your devs. Talk to your point of content that for "magic" third-party tool.
  • 56. Jamie Indigo | @Jammer_Volts | #TechSEOBoost CSR Poor CLS: Style recalculations Changing the DOM will cause the browser to recalculate element styles (and possibly layouts). Mitigation: Lessen the scope and complexity of Style Calculations by: ● Reducing the complexity of your selectors. ● Reducing the number of elements being styled. ● Measure your Style Recalculation Cost ● Use BEM (Block, Element, Modifier) a class-centric methodology.
  • 57. Jamie Indigo | @Jammer_Volts | #TechSEOBoost A font loading late causes a full flash and re-write. Mitigation: Preload fonts. Preload tells the browser that you would like to fetch it sooner than the browser would otherwise discover it because you are certain that it is important for the current page. <link rel="preload" href="/assets/Pacifico-Bold.woff2" as="font" type="font/woff2" crossorigin> CSR Poor CLS: Web Fonts causing FOIT/FOUT
  • 58. Jamie Indigo | @Jammer_Volts | #TechSEOBoost At the time of request <!doctype html> <head> <title>Hello, TechSEO Boost! </head> <body> <h1>Wait.This isn’t Boston :( </h1> <p>Wash your hands.</p> </body> </html> Server Side Rendering (SSR)
  • 59. Jamie Indigo | @Jammer_Volts | #TechSEOBoost ● Slow server response times ● Render-blocking JavaScript and CSS ● Resource load times ● Client-side rendering Are all the server calculations valuable? Do they contribute to page content? SSR: Poor LCP <!doctype html> <head> <title>Hello, TechSEO Boost! </head> <body> <h1>Wait.This isn’t Boston :( </h1> <p>Wash your hands.</p> </body> </html>
  • 60. Jamie Indigo | @Jammer_Volts | #TechSEOBoost SSR Poor LCP: Media Declarations The default media="all" (or no declaration) matches all viewport sizes. Mitigation: Dynamic media queries evaluate the viewport when the page is loaded. <link href="xsmall.css" rel="stylesheet" media="xsmall"> <link href="small.css" rel="stylesheet" media="small"> <link href="print.css" rel="stylesheet" media="print">
  • 61. Jamie Indigo | @Jammer_Volts | #TechSEOBoost During the build Static Rendering <!doctype html> <head> <title>Hello, TechSEO Boost! </head> <body> <h1>Wait.This isn’t Boston :( </h1> <p>Wash your hands.</p> </body> </html>
  • 62. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Cons ● $$$ ● Tricky to get "right" ● Only works for static content – not for content that’s meant to change (think personalization and A/B testing) Pros ● Low TTFB ● Delivers parsed HTML Static Rendering: YMMV
  • 63. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Dynamic Rendering Crawler
  • 64. Jamie Indigo | @Jammer_Volts | #TechSEOBoost 2x server costs, test cases, and QA ½ visibility into what is actually happening
  • 65. Jamie Indigo | @Jammer_Volts | #TechSEOBoost "It is not reasonable."
  • 66. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Rehydration Above the fold HTML + Below the fold scripts
  • 67. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Load what matters when it matters.
  • 68. Jamie Indigo | @Jammer_Volts | #TechSEOBoost Image credit: John Fowler
  • 69. | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| DON'T BE AFRAID TO LEARN IN PUBLIC |___________| (__/) || (•ㅅ•) || /   づ