2. @SPEAKERNA@patrickstox #SMX
Product Advisor,Technical SEO, &
Brand Ambassador at
• I write for Ahrefs blog but have written for many industry
publications in the past
• I speak at some conferences like SMX, Pubcon, UnGagged,TechSEO
Boost
• Organizer for the Raleigh SEO Meetup (most successful in US) and
the Beer & SEO Meetup
• We also run a conference, the Raleigh SEO Conference
• FounderTechnical SEO Slack Group (message me for an invite)
• Moderator /r/TechSEO on Reddit
Who is Patrick Stox?
16. @SPEAKERNA@patrickstox #SMX
Google is shifting how they index content from the desktop to
the mobile version of sites
This started in 2016 and is nearly done
Mobile-First Indexing
25. @SPEAKERNA@patrickstox #SMX
HTTPS Is Required For Many Modern
Technologies
• HTTP/2, HTTP/3
• Accelerated Mobile Pages (AMP)
• Progressive Web Apps (PWAs)
• Service Workers
• Geolocation
• Push Notifications
28. @SPEAKERNA@patrickstox #SMX
Legal notices for cookies or age consent
Banners that use a reasonable amount of screen space and
can be dismissed
What Doesn’t Count Against You
32. @SPEAKERNA@patrickstox #SMX
•<img> element
•<image> element inside an <svg> element
•The image inside a <video> element
•Background image loaded with the url() function
•Blocks of text
<svg> and <video> may be added in the future.
But LCP Can Be Any Of These
34. @SPEAKERNA@patrickstox #SMX
How To See The LCP Element in DevTools
• Performance > check “Screenshots”
• Click ‘Start profiling and reload page’
• LCP is on the timing graph
• Click the node; this is the element for LCP
36. @SPEAKERNA@patrickstox #SMX
FID is the time from when a user interacts with your page until
the page can respond. You can also think of it as
responsiveness.
What Is FID?
37. @SPEAKERNA@patrickstox #SMX
Counted
•Clicking on a link or button
•Inputting text into a blank field
•Selecting a drop-down menu
•Clicking a checkbox
What Counts As An Interaction?
Not Counted
•Scroll
•Zoom
42. @SPEAKERNA@patrickstox #SMX
Simply: It's the 5 second timeframe where the most shifting
occurs
https://web.dev/evolving-cls/
Cumulative Layout Shift (CLS) Was Changed Recently
43. @SPEAKERNA@patrickstox #SMX
•Images without dimensions
•Ads, embeds, and iframes without dimensions
•Injecting content with JavaScript
•Applying fonts or styles late in the load
What Causes CLS?
56. @SPEAKERNA@patrickstox #SMX
These start the connections earlier if you need to connect to
3rd parties.
<link rel="preconnect" href="https://site.com">
<link rel="dns-prefetch" href="//asset1.com">
Preconnect and DNS-Prefetch
58. @SPEAKERNA@patrickstox #SMX
AMP pages clicked from search are prefetched and cached.
Now you can do this with Signed Exchanges for any site.
https://web.dev/signed-exchanges/
AMP’s Magic Trick
60. @SPEAKERNA@patrickstox #SMX
Do you need it? If so, optimize size + quality
Preload images above the fold
<link rel="preload" as="image" href=“cat.jpg"
imagesrcset=“cat_400px.jpg 400w,
cat_800px.jpg 800w, cat_1600px.jpg 1600w"
imagesizes="50vw">
Images - Early
61. @SPEAKERNA@patrickstox #SMX
Set height and width of images
<img src=“cat.jpg" width="640" height="360" alt=“cat with
string" />
Reserve the maximum space needed for ads
CLS Specific – Include Sizes
71. @SPEAKERNA@patrickstox #SMX
Make a static copy on your own server and test performance
improvements of changes
https://youtu.be/ULJ-2AUdZYQ
Estimate Impact Of Changes
Patrick Stox – Product Advisor, Technical SEO, & Brand Ambassador at Ahrefs
Please ask your questions in the chat and I’ll answer in the live Q&A after the presentation.
Page Experience was announced about a year ago
Lots of Google signals are small factors
I say probably because you could technically still make a page mobile friendly without a viewport but it’s way more work and will be difficult to maintainI’m the lead author for the SEO Chapter of the Web Almanac for 2021
HTML or CSS fixes
If you have an issue, there’s a ton of documentation on cleaning up different issues. There’s also the webmaster help forum and they can help guide you.
Authentication, Data Integrity, and EncryptionYears ago I wrote a very popular guide on migrating to HTTPs on Search Engine Land
Look for the lock. Fun fact, Google doesn’t actually validate certificates, they just look for HTTPs
All kinds of things about referral data, using a content security policy called upgrade-insecure-requests to fix mixed content issues at scale, redirects, and more
You’ll have to visually check for these
You’ll get a boost for jumping up categories but once you hit good you kind of cap out, there’s not an additional boost for improving after this.
But it’s basically going to be some kind of image or text
You know when you click something and nothing happens
Not all users will interact with a page, so they may not have an FID value. This is also why lab test tools won’t have the value because they’re not interacting with the page. Use Total Blocking Time (TBT) instead.
Javascript competes for the main thread. There’s just one main thread, and JavaScript competes to run tasks on it.
These get flagged with little red tags in Chrome Dev Tools if they’re too long
Notice how our font re-styles between 5.1s‑5.2s, shifting the layout as our custom font is applied.I like this view because I can see changes along with the waterfall to see what was loaded at that time.
This is usually the territory of devs, so you’re generally going to have to work with them. You’ll generally need to sell the idea that speed is important and maybe even do some testing, but it’s rare that SEOs will actually be the ones implementing speed changes
This is the source of data, metrics taken at 75th percentile of users, so ¾ people are having a good user experienceAt least so far it doesn’t look like sites have made significant improvements. You get some benefit in ranking until you hit good, after that the signal just caps
Field = real user data, lab data = tested under specific conditions
Can you get both lab and field data at scale? Not without the PageSpeed Insights API. We’re planning to add to Site Audit in Ahrefs. You can use that for free in Ahrefs webmaster tools ahrefs.com/awt
28 day moving average, so any changes you make will take some time to be reflected hereYou can also track your own RUM data if you want and send to Google Analytics for instance
You’ll want to look at this to help you prioritize. Look at the issue and click into these and you’ll see groups of pages with the same issue. Then you can look at why specifically they’re not meeting the metrics in pagespeed insights and try to resolve the issues.Many sites struggle with LCP.
Smaller JS files, smaller CSS files, smaller font files
CDNs basically give you a way to connect and serve your site that’s closer to users. It’s like having copies of your server in different locations around the world
If you host your files on the same server, additional connections don’t have to be made
A browser would typically wait for the HTML to finish before starting a connection, but here it’s starting before it normally would
DNS-prefetch has better support than preconnect
Cached files can also be re-used across pages. So any subsequent page visits will be faster.
They’re fast for users, but AMP pages may not actually test well in lab tests.
Preload is similar to what we saw with preconnect for the connections, it starts loading preloaded resources earlier by prioritizing them in the browser.
Basically loads images later in the process or when a user is close to seeing them.Many systems kind of handle this for you now.
you’re taking critical parts of the CSS and putting it directly into the HTMLYou can also inline images, but caching is more complicated.
hide text for up to 100ms, then only use the web font if it is available - never swapping
Ideally you’d chunk the needed parts so they’re smaller, then load the rest later
Maybe async things like analytics to get that data sooner, but in general anything not needed until later or that doesn’t have dependencies you’ll want to defer