Accelerated Mobile...
Beyond AMP!
1
1
#SMX @jonoalderson
#SMX @JonoAlderson2
2
#SMX @jonoalderson
#SMX @JonoAlderson
4
There’s a lot of much-needed
focus on (mobile) performance
at the moment
4
#SMX @jonoalderson
5
5
#SMX @jonoalderson
On AMP, briefly...
6
6
#SMX @jonoalderson
7
Just the tip of the iceberg...
7
#SMX @jonoalderson
8
Risky? Dangerous? Subversive, even?
8
#SMX @jonoalderson
9
9
#SMX @jonoalderson
Are you actively
managing your
AMP cache?
https://developers.google.com/amp/cache/update-ping
10
10
#SMX @jonoalderson
Anyone can (theoretically)
create an AMP cache.
11
https://github.com/ampproject/amphtml/blob/master/spec/amp-cache-guidelines.md
11
#SMX @jonoalderson
12
#SMX @jonoalderson
https://github.com/ampproject/amphtml/tree/master/src
13
What if you could
de-couple AMP?
13
#SMX @jonoalderson
To clarify, I’m not saying that you
shouldn’t adopt AMP.
14
14
#SMX @jonoalderson
So, what’s the broader performance
toolkit look like?
15
15
#SMX @jonoalderson
Infrastructure & network optimisation
16
16
#SMX @jonoalderson
HTTP2 Implications
17
17
#SMX @jonoalderson
#SMX @jonoalderson
online.marketing/guide/https
SSL Chain Length
19
On certificate length...
19
#SMX @jonoalderson
20
20
#SMX @jonoalderson
21
With HTTP2, you
don’t need to worry
as much about
round trips...
...but you should
still consider what
you’re transferring,
and how.
21
#SMX @jonoalderson
2222
22
#SMX @jonoalderson
Connection & data transfer
23
23
#SMX @jonoalderson
HSTS
● Become compliant by adding extra HTTPS checks.
● Register for the HSTS the preload list.
● Skip the HTTP/HTTPS redirect when people type example.com!
24
24
#SMX @jonoalderson
Packet sizes & cookie worries aren’t a thing any more
25
https://hpbn.co/building-blocks-of-tcp/
25
#SMX @jonoalderson
...but data & connection
efficiency is.
26
26
#SMX @jonoalderson
For devices...
● Detect early, and adapt. Responsive = expensive!
● Make CSS mobile-first (build up from min-width); typically reduces sizes.
○ Conditionally layer on / load more for larger devices.
27
27
#SMX @jonoalderson
For media/images…
Test CSS3 vs images vs sprites vs encoding vs inlining
28
28
#SMX @jonoalderson
base64-image.de
29
29
#SMX @jonoalderson
base64-image.de
30
30
#SMX @jonoalderson
http://bit.ly/srcsetstuff
SRCSET is the only solution for
managing image sizes/resolutions.
31
31
#SMX @jonoalderson
32
Sprite sheets are still a thing!
32
32
#SMX @jonoalderson
https://developers.google.com/speed/webp/
WebP
33
#SMX @jonoalderson
Error management for
common request headaches
Manage your robots, favicons, and other irritations.
3434
34
#SMX @jonoalderson
3535
35
#SMX @jonoalderson
apple-touch-icon.png (and variants)
favicon.ico (and variants)
browserconfig.xml
Feeds (/rss/, /feed/, etc)
Invalid page/date ranges
Broken internal links (and missing http links)
Alternate sitemap and metadata urls
Breaking parameters (especially on images, from search engines)
Measurement
36
36
#SMX @jonoalderson
Which metrics matter?
● There’s no such thing as ‘speed’. What are we measuring,
exactly?
● Numbers from Google Pagespeed Insights, Pingdom,
WebPageTest, GA, etc, are all nonsense.
● User satisfaction metrics > any technical speed metrics.
37
37
#SMX @jonoalderson
@jonoaldersonTurbo-charging your WordPress website (bit.ly/turbo-charge-wordpress)
developers.google.com/speed/pagespeed/insights/
#SMX @jonoalderson
The Waterfall in Chrome
39#SMX @jonoalderson
Which metrics matter?
● Don’t ignore, or get fixated on time ‘til first byte.
● You need to fix the front end and the back end.
40
40
#SMX @jonoalderson
@jonoaldersonTurbo-charging your WordPress website (bit.ly/turbo-charge-wordpress)
webpagetest.org
#SMX @jonoalderson
Other Tools
42
42
#SMX @jonoalderson
#SMX @jonoalderson
#SMX @jonoalderson
@jonoaldersonTurbo-charging your WordPress website (bit.ly/turbo-charge-wordpress)
Expert tip...
NewRelic
#SMX @jonoalderson
@jonoaldersonTurbo-charging your WordPress website (bit.ly/turbo-charge-wordpress) #SMX @jonoalderson
Back-end optimisation
47
47
#SMX @jonoalderson
Options for handling
angular/react sites...
1. Hope for the best
2. Serve static HTML versions, then let the framework pick up
the heavy lifting (using something like or PhantomJS)
3. Use something like Prerender.io (paid, or self-hosted).
48
48
#SMX @jonoalderson
● There comes a point where you outgrow a single server.
● If you’ve finite RAM and CPU, consider separating servers and databases.
Latency, however!
● Consider caching, varnish, load-balancers
Server Ecosystems
49
49
#SMX @jonoalderson
Server Ecosystems
50
50
#SMX @jonoalderson
Varnish (static page cache) < Apache/Nginx < PHP/Python
(memcache) < MySQL/NoSQL (request cache)
vs
● It's a pain supporting HTTP2 with Varnish and other performance frameworks.
So just put it on the front end as a reverse-proxy.
● (Fixed in newer versions)
Varnish + HTTP2
51
51
#SMX @jonoalderson
SCARY?
5252
52
#SMX @jonoalderson
@jonoaldersonTurbo-charging your WordPress website (bit.ly/turbo-charge-wordpress)
53
53
#SMX @jonoalderson
@jonoaldersonTurbo-charging your WordPress website (bit.ly/turbo-charge-wordpress)
cPanel
54
54
#SMX @jonoalderson
@jonoaldersonTurbo-charging your WordPress website (bit.ly/turbo-charge-wordpress)
55
55
#SMX @jonoalderson
@jonoaldersonTurbo-charging your WordPress website (bit.ly/turbo-charge-wordpress)
56
56
#SMX @jonoalderson
5757
57
#SMX @jonoalderson
Front-end optimisation
58
58
#SMX @jonoalderson
Caching Policies
● Set your expiry times (appropriately!)
● Use 304 “Not Modified” header
● Use ETags
59
59
#SMX @jonoalderson
Resource Hints
● Preload, preconnect, prefetch, dns-prefetch, prerender, and subresource.
○ <link rel="dns-prefetch" href="//example.com">
○ <link rel="prefetch" href="image.png"> (when idle)
○ <link rel="subresource" href="styles.css"> (prioritises)
● Rel next/previous automatically triggers prefetch in Chrome+Firefox
60
60
#SMX @jonoalderson
CDNs are still important
● Localisation is important!
● Latency is a bottleneck more often than you’d think.
● Use resource CDNs (eg., cdnjs.cloudflare.com) for things like jQuery.
● Your first line of defense.
61
61
#SMX @jonoalderson
62
62
#SMX @jonoalderson
Above the fold (critical path)
rendering
63
#SMX @jonoalderson
● Reduces waiting time for the
browser to download assets.
● ...but can’t be cached!
● http://bit.ly/criticalpathcss
(Re)paint & (Re)flow
64
#SMX @jonoalderson
● Consider how the page is constructed and how it behaves.
● Minimise unknowns to reduce tearing and reflow in particular.
● Small technical gains, big perception gains.
#SMX @jonoalderson
https://developers.google.com/speed/articles/reflow
CSS specificity = slow paint
● .container > nav > ul > li > a { color: red; }
● .main-nav-link { color: red; }
66
#SMX @jonoalderson
Animation & FPS
● jQuery, scrolling and changing elements costs GPU and CPU
● Consider the user’s physical hardware!
● Measure with Chrome, and kick your devs!
67
#SMX @jonoalderson
Deferring / async resources
● Do you need to load everything immediately?
● Do you need to load everything in the <head>?
● Do you need to load everything on every page?
● Do you understand the dependencies?
● What can you defer, load asynchronously, or load conditionally?
68
#SMX @jonoalderson
PWAs
69
69
#SMX @jonoalderson
https://developers.google.com/web/progressive-web-apps/
#SMX @jonoalderson
#SMX @jonoalderson
Key takeaways...
72
72
#SMX @jonoalderson
You have a million
opportunities to improve
performance
...and every byte matters to users.
7373
73
#SMX @jonoalderson
Ignore all of the scores
the tools give you, and
just make things faster.
7474
74
#SMX @jonoalderson
Don’t neglect your
infrastructure and back-
end opportunities
7575
75
#SMX @jonoalderson
The landscape is changing
Don’t get caught up in today’s hype
7676
76
#SMX @jonoalderson
AMP is not the end.
77
(but this is)
77
#SMX @jonoalderson
@jonoaldersonTurbo-charging your WordPress website (bit.ly/turbo-charge-wordpress)
GO OUT AND WIN
78
78
#SMX @jonoalderson

More Related Content

PDF
International Site Speed Tweaks - ISS 2017 Barcelona
PPTX
GTM Clowns, fun and hacks - Search Elite - May 2017 Gerry White
PDF
Challenges of building a search engine like web rendering service
PPTX
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
PDF
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
PPTX
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
PDF
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
PDF
Browser Changes That Will Impact SEO From 2019-2020
International Site Speed Tweaks - ISS 2017 Barcelona
GTM Clowns, fun and hacks - Search Elite - May 2017 Gerry White
Challenges of building a search engine like web rendering service
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
Technical SEO: Crawl Space Management - SEOZone Istanbul 2014
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
Browser Changes That Will Impact SEO From 2019-2020

What's hot (20)

PPTX
Three site speed optimisation tips to make your website REALLY fast - Brighto...
PPTX
SearchLove London 2016 | Dom Woodman | How to Get Insight From Your Logs
PDF
Whats Next in SEO & CRO - 3XE Conference 2018 Dublin
PDF
AMP - SMX München 2018
PPTX
SMX Advanced 2018 SEO for Javascript Frameworks by Patrick Stox
PPTX
Structured Data & Schema.org - SMX Milan 2014
PPTX
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
PDF
Make your website load really really fast - seo campus 2017
PPTX
Seozone - 5 tips
PDF
How fast is fast enough - SMX West 2018
PDF
10 Things Webdesigners tend to do Wrong in SEO - SMX 2014
PDF
How I learned to stop worrying and love the .htaccess file
PDF
JavaScript Tips & Tricks 2018 - SMX East
PDF
SEO Tools of the Trade - Barcelona Affiliate Conference 2014
PDF
Dynamic Rendering - is this really an SEO silver bullet? SMX WEST
PDF
Hardening WordPress - Friends of Search 2014 (WordPress Security)
PDF
SMX Munich 2018 - Current State of JavaScript SEO
PDF
Welcome to a new reality - DeepCrawl Webinar 2018
PPT
Pubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick Stox
PDF
HTTPS The Road To A More Secure Web / SEOCamp Paris
Three site speed optimisation tips to make your website REALLY fast - Brighto...
SearchLove London 2016 | Dom Woodman | How to Get Insight From Your Logs
Whats Next in SEO & CRO - 3XE Conference 2018 Dublin
AMP - SMX München 2018
SMX Advanced 2018 SEO for Javascript Frameworks by Patrick Stox
Structured Data & Schema.org - SMX Milan 2014
What's in my SEO Toolbox: Linkbuilding Edition - SMX Milan 2014
Make your website load really really fast - seo campus 2017
Seozone - 5 tips
How fast is fast enough - SMX West 2018
10 Things Webdesigners tend to do Wrong in SEO - SMX 2014
How I learned to stop worrying and love the .htaccess file
JavaScript Tips & Tricks 2018 - SMX East
SEO Tools of the Trade - Barcelona Affiliate Conference 2014
Dynamic Rendering - is this really an SEO silver bullet? SMX WEST
Hardening WordPress - Friends of Search 2014 (WordPress Security)
SMX Munich 2018 - Current State of JavaScript SEO
Welcome to a new reality - DeepCrawl Webinar 2018
Pubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick Stox
HTTPS The Road To A More Secure Web / SEOCamp Paris
Ad

Viewers also liked (20)

PDF
The experience age has arrived...
PPTX
The Search Landscape in 2017
PPTX
HTTPs Migration How To - SMX München 2017
PPTX
Humanizing The Serp, One Word at a Time
PPTX
Smart Attribution + Cross Device - #SMXMunich 2017 - www.cubed.ai
PPTX
Keyword Strategie: Do's & Don'ts bei der Keyword Recherche - SMX München 2017
PPTX
SEO: SERPs im Wandel - SMX Munich 2017
PPTX
Relaunch & SEO: Best Practice, Checklists, Stolpersteine
PPTX
Minerals & Energy Resources
PPTX
The Future of Mobile - Presented at SMX Munich
PDF
#SMX Munich - Think BIG act BIG
PDF
Animal parts
PDF
Next Era of SEO: A Guide to SEO Split-Testing
PPTX
SEO: Crawl Budget Optimierung & Onsite SEO
PDF
257759909 seismologi
PPTX
Fast Growing Companies: 10 SEO Lessons Learned
PDF
Searching higher up the funnel
PDF
TRANSPORTE NEUMATICO
PPTX
How does your media product represent particular social
PPTX
Q1 evaluation
The experience age has arrived...
The Search Landscape in 2017
HTTPs Migration How To - SMX München 2017
Humanizing The Serp, One Word at a Time
Smart Attribution + Cross Device - #SMXMunich 2017 - www.cubed.ai
Keyword Strategie: Do's & Don'ts bei der Keyword Recherche - SMX München 2017
SEO: SERPs im Wandel - SMX Munich 2017
Relaunch & SEO: Best Practice, Checklists, Stolpersteine
Minerals & Energy Resources
The Future of Mobile - Presented at SMX Munich
#SMX Munich - Think BIG act BIG
Animal parts
Next Era of SEO: A Guide to SEO Split-Testing
SEO: Crawl Budget Optimierung & Onsite SEO
257759909 seismologi
Fast Growing Companies: 10 SEO Lessons Learned
Searching higher up the funnel
TRANSPORTE NEUMATICO
How does your media product represent particular social
Q1 evaluation
Ad

Similar to Accelerated Mobile - Beyond AMP (20)

PPTX
The Need for Speed! Accelerated mobile, beyond AMP
PDF
The Inbounder London - Jono Alderson
PDF
The latest in site speed: advanced #webperf 2018
PDF
Frontend Performance: Illusions & browser rendering
PDF
SMX_DevTools_Monaco_2.pdf
PDF
Preconnect, prefetch, prerender...
PDF
SearchLeeds 2018 - Bastian Grimm - Peak Ace - International site speed: Going...
PDF
Super speed around the globe - SearchLeeds 2018
PDF
Web Performance Madness - brightonSEO 2018
ODP
Desenvolvimento Mobile Híbrido
PPTX
Optimizing your WordPress website
PPTX
Single Page Applications – Know The Ecosystem system
PPTX
Building high performing web pages
PPTX
Satisfying the Need for Speed (By Aleh Barysevich of SEO PowerSuite, SMX Lond...
PPTX
Measuring Front-End Performance - What, When and How?
KEY
Intro To Django
PDF
The need for Speed: Advanced #webperf - SEOday 2018
PPTX
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
PPTX
Mobius keynote
PDF
Navigating the critical rendering path - Jamie Alberico - VirtuaCon
The Need for Speed! Accelerated mobile, beyond AMP
The Inbounder London - Jono Alderson
The latest in site speed: advanced #webperf 2018
Frontend Performance: Illusions & browser rendering
SMX_DevTools_Monaco_2.pdf
Preconnect, prefetch, prerender...
SearchLeeds 2018 - Bastian Grimm - Peak Ace - International site speed: Going...
Super speed around the globe - SearchLeeds 2018
Web Performance Madness - brightonSEO 2018
Desenvolvimento Mobile Híbrido
Optimizing your WordPress website
Single Page Applications – Know The Ecosystem system
Building high performing web pages
Satisfying the Need for Speed (By Aleh Barysevich of SEO PowerSuite, SMX Lond...
Measuring Front-End Performance - What, When and How?
Intro To Django
The need for Speed: Advanced #webperf - SEOday 2018
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
Mobius keynote
Navigating the critical rendering path - Jamie Alberico - VirtuaCon

More from Jono Alderson (15)

PPTX
What happens when everybody's website is fixed
PPTX
0.6 seconds is the new slow
PPTX
The Democratization of SEO
PPTX
(How to) stop pretending that you're customer-centric
PDF
Product Marketing by Numbers - Objectives, Goals and KPI frameworks
PPTX
Doing an awesome site audit
PPTX
Advanced keyword research
PDF
Getting Around Finance - Keyword Research & Tagging
PDF
Data layers 101
PDF
Organisation Hacking
ODP
Changing Channel - Linkdex iGaming #thinktank
PPTX
Universal Analytics & Single User View
PPTX
Measuring the ROI of content marketing
PDF
Digital marketing by numbers
PPTX
What’s the big deal about semantic HTML?
What happens when everybody's website is fixed
0.6 seconds is the new slow
The Democratization of SEO
(How to) stop pretending that you're customer-centric
Product Marketing by Numbers - Objectives, Goals and KPI frameworks
Doing an awesome site audit
Advanced keyword research
Getting Around Finance - Keyword Research & Tagging
Data layers 101
Organisation Hacking
Changing Channel - Linkdex iGaming #thinktank
Universal Analytics & Single User View
Measuring the ROI of content marketing
Digital marketing by numbers
What’s the big deal about semantic HTML?

Recently uploaded (20)

PDF
M.Tech in Aerospace Engineering | BIT Mesra
PDF
Civil Department's presentation Your score increases as you pick a category
PDF
semiconductor packaging in vlsi design fab
PPTX
INSTRUMENT AND INSTRUMENTATION PRESENTATION
PDF
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
PDF
LEARNERS WITH ADDITIONAL NEEDS ProfEd Topic
PPTX
Core Concepts of Personalized Learning and Virtual Learning Environments
PPTX
Education and Perspectives of Education.pptx
PDF
Everyday Spelling and Grammar by Kathi Wyldeck
PDF
plant tissues class 6-7 mcqs chatgpt.pdf
PPTX
Climate Change and Its Global Impact.pptx
PPTX
DRUGS USED FOR HORMONAL DISORDER, SUPPLIMENTATION, CONTRACEPTION, & MEDICAL T...
PDF
Environmental Education MCQ BD2EE - Share Source.pdf
PDF
Farming Based Livelihood Systems English Notes
PDF
Race Reva University – Shaping Future Leaders in Artificial Intelligence
PDF
FORM 1 BIOLOGY MIND MAPS and their schemes
PPTX
MICROPARA INTRODUCTION XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PDF
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
PDF
Journal of Dental Science - UDMY (2021).pdf
PPTX
Module on health assessment of CHN. pptx
M.Tech in Aerospace Engineering | BIT Mesra
Civil Department's presentation Your score increases as you pick a category
semiconductor packaging in vlsi design fab
INSTRUMENT AND INSTRUMENTATION PRESENTATION
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
LEARNERS WITH ADDITIONAL NEEDS ProfEd Topic
Core Concepts of Personalized Learning and Virtual Learning Environments
Education and Perspectives of Education.pptx
Everyday Spelling and Grammar by Kathi Wyldeck
plant tissues class 6-7 mcqs chatgpt.pdf
Climate Change and Its Global Impact.pptx
DRUGS USED FOR HORMONAL DISORDER, SUPPLIMENTATION, CONTRACEPTION, & MEDICAL T...
Environmental Education MCQ BD2EE - Share Source.pdf
Farming Based Livelihood Systems English Notes
Race Reva University – Shaping Future Leaders in Artificial Intelligence
FORM 1 BIOLOGY MIND MAPS and their schemes
MICROPARA INTRODUCTION XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
Journal of Dental Science - UDMY (2021).pdf
Module on health assessment of CHN. pptx

Accelerated Mobile - Beyond AMP

Editor's Notes

  • #4: No Fili! Lots of little tips; I’ve included links, but you can Google everything in here. I know you’re not web developers… but this is going to get techy.
  • #5: Why is performance important? Everybody seen the Amazon studies (and all of the others?) Why is it only going to get more important? Instantaneous is the new 2 seconds is the new 5 seconds!
  • #6: This session is for anybody who wants to go faster (either with AMP, or without), but doesn’t know where to start; front end, back end, and everything inbetween.
  • #8: The AMP project in particular has pushed performance forward (not without politics)... (AND, there may be good reasons why you don’t want to use AMP, but still want the benefits).
  • #9: Why is AMP not a magic bullet? Ad networks, walled gardens and dependency on Google, poor implementation. Yet another language/framework to maintain (for them, and for us). Deprecation? Invalid code? Security? Pinging, caching. Pros and cons? Control! Ownership! Are there alternatives?
  • #10: Have to ping to manage versions
  • #11: But no guarantees; flakey!
  • #13: Other people are getting involved. But is it enough?...AND… their implementation is a little… odd… not easy to do your own amp cache, as you need to host and maintain your own version of the amp library# no guarantees your amp cache is used by third parties such as search engines
  • #14: What’s your motivation for adopting AMP; the performance, or access to the sandpit? You can have all the performance advantages without having to be in the cache, etc.
  • #15: But it’s a choice, with implications. And there are other options. But it’s also the tip of the iceberg; if your goal is performance, there are a million other things you can do.
  • #18: HTTPS is mandatory. Security. Performance. Acceptance. This thinking assumes that you’re already compliant, or are about to be. No reason not to (ad platforms, etc) “HTTPS is slower!” - the myth of secure handshake bottlenecks
  • #20: Cheap certs often = long chains! Cloudflare = shared/cheap Let’s Encrypt; install in/on server. Also, cPanel now DIY’s, too. Better certs = closer to trusted sources, and also better liabilities
  • #21: Apache config, or automate via Cloudflare (etc) Cloudflare - also, upgrade insecure resources, force https, free sll certs, etc. At some point you have to sort all of this out, so it should probably be now.
  • #22: A FAST, wired connection from east coast to west coast USA might take ~60-100ms. A 4g connection to a remote server might take up to ~200ms (‘sluggish’)! HTTP services do round-trips to get resources; HTTP2 services run in parallel. What goes into your first few packets?
  • #23: Parallelised/individual resources & require.js, etc Enables keep-alive by default No more hostname sharding (or, maybe - to support some browsers [esp older mobile]; serve from same IP [cached hostnames]) Itemised SASS/LESS/JS outputs - only load the bits you need
  • #26: A lot of the page speed tools misreport on this. Combine your javascript! Distribute your resources!
  • #27: Still bottlenecks based on the number of assets you’re loading, the size of those, where they’re hosted, etc.
  • #29: CSS3 is often faster than using images ...Though processing and rendering are your bottlenecks SVGs > JPG/PNG is a good general rule. WebP even better, but challenges. Although… inlining resources makes them harder to cache, and may not be optimal in terms of prioritsation
  • #30: Base64 encode fonts and icons, and SVGs!
  • #31: Doesn’t need an extra request, which still carries overhead
  • #32: Conditional media queries still (can) load all the assets Mechanisms which use display:none still load the image Mechanisms which replace the image src attribute to lazy-load probably aren’t great for accessibility or SEO
  • #33: Up to 40% smaller! Better compression, shared headers, etc.
  • #35: Most systems don’t cache 404s (or other errors) Some scenarios mean that requests to errors redirect, download subsequent resources, etc. Cost-intensive. Robots.txt, favicons, app icons, msapplication policies, requests to old URLs, security probes.
  • #36: Most systems don’t cache 404s (or other errors) Some scenarios mean that requests to errors redirect, download subsequent resources, etc. Cost-intensive. Robots.txt, favicons, app icons, msapplication policies, requests to old URLs, security probes.
  • #40: Your best tool is your brain, and your experience. Use the Chrome waterfall, look for slow request/respond/paint processes. Click on them, and read! It’ll give you tips. Diagnosing bottlenecks
  • #42: Longest single wait is often connect + receive* Nothing else can happen until this is done. More time processing, or more time delivering? Don’t ignore, and don’t get obsessed! CDNs; later!
  • #54: VPS, Heart?
  • #55: Email, FTP, SQL, PHPmyadmin. Start to see behind the curtain.
  • #56: Gzip RAM allocation Gzip variablles!
  • #57: PHP versions, addons, etc
  • #61: Be careful about accidentally consuming CPU/GPU, wasting bandwidth, triggering JS, etc https://www.w3.org/TR/page-visibility/ - page visibility API is generally supported, and lets you check if a tab is active/visible.
  • #63: Edge caching assets easy; html less so. Uncommon. More complex setups; distributed servers/etc.
  • #71: Homepage icon Online/offline hybridisation; control local caching, etc Need URL-based nav (which you already need for app indexing) Precursor to sideloaded APKs
  • #72: Consider that maybe a separate app isn’t the future ...That Google want to push for seamless search>content transition (albeit with monetisation) The app store disrupts this; and Google Now scraping apps isn’t a good enough fix. AMP and PWA pages are increasingly gaining access to mobile hardware; seamless transition into apps, and even into VR.