
Debugging common causes for slow loading in Shopify Liquid storefronts
A smarter way to break down loading speed problems, identify causes, and implement optimizations
I have over 81 articles and recordings published about the web, especially web performance.
Don't miss a post! Subscribe to my RSS feed or my newsletter. Or, check out other blogs and content I like on my blogroll.
A smarter way to break down loading speed problems, identify causes, and implement optimizations
Default lazy loading for image tags and new section.index properties...
Is Lighthouse telling you to eliminate render-blocking resources? Learn what this means, why it's important, and how to fix it in your HTML, CSS, and JavaScript.
Search with Google or filter by topic:
In this talk, I will walk through how I built the themevitals.com website which displays web performance data by Shopify theme populated with data from HTTP Archive and CrUX. In a similar talk for the 11ty meetup, I spoke more about the static website building process. In this talk, I will focus more on what data is available in HTTP Archive and CrUX and show this example of how I use it.
Announcing a new Shopify app to install SpeedCurve on your storefront, no developer required!
Published on SpeedCurve Blog
Here's how to install the SpeedCurve RUM app in your Shopify store, along with troubleshooting and next steps.
Published on SpeedCurve Blog
Today we have Sia Karamalegos joining us to talk about performance on the web. Sia is a freelance web developer, speaker, writer, teacher, tech community organizer and Google developer expert in web technologies.
Strategic web performance tips that you should be focusing on in 2025 to improve Core Web Vitals
On this bonus episode of Honest Ecommerce, we have Sia Karamalegos. She is a freelance developer and web performance engineer, a Google Developer Expert in web technologies, and formerly worked on the Shopify performance team. We talk about the difference between Lighthouse and Core Web Vitals, why site performance matters for bounce and conversion rates—not just SEO, how ThemeVitals collects and uses real-world data to benchmark Shopify themes, and how both merchants and theme developers can use it to make better performance decisions and so much more!
Building a site that shows real-user web performance data by Shopify theme using HTTP Archive, the Chrome User Experience Report, BigQuery, Node, and 11ty
Lighthouse 100 is a common goal for developers seeking to make their sites fast, but does this really center user experience? In this talk, I'll cover how to get a broader perspective on how real users are experiencing your website performance and better strategies for improving it.
In this informal talk, I will walk through how I built the themevitals.com website which displays web performance data by Shopify theme. It starts by processing monthly query data, then using that data to generate SVG charts on the server side. Then, 11ty builds all the pages, rendering the data and charts in a user-friendly and accessible way.
My most popular content in 2024 was all about the web - from performance to 11ty, hosting, and the Indie Web
Automatically generate unique Open Graph images for each page of your website
Did you ever notice those social media share images that automatically pop up for a site and think to yourself, "wow, it would be really cool if I could get that set up for my blog"? In this talk, Sia will show you how she uses 11ty shortcodes and Cloudinary to generate unique share images for each page and blog post on her site. (Cloudinary has a free tier that's generous enough that most personal sites fit under.)
See event link for details!
How I migrated my static site from Netlify to Cloudflare including setting up Functions to handle contact form requests
Lighthouse 100 is a common goal for developers seeking to make their sites fast, but does this really center user experience? In this talk, I'll cover how to get a broader perspective on how real users are experiencing your website performance and better strategies for improving it.
Learn the common causes for layout shift on Shopify Liquid storefronts and how to fix them
Extend your content by using ChatGPT to generate blog posts from speaking transcripts
A smarter way to break down loading speed problems, identify causes, and implement optimizations
Considering headless? Why web performance should not be your only reason...
Published on Performance at Shopify
Default lazy loading for image tags and new section.index properties...
Published on Performance at Shopify
We see three common web performance problems related to layout position with Shopify themes...
Published on Performance at Shopify
What does this mean for Shopify sites and what can you do now to make sure you’re ready for the switch?
Published on Performance at Shopify
Before debugging FID and INP directly, look for low-hanging JavaScript fruit to trim out.
Published on Performance at Shopify
Webmentions are an exciting standard which help enable the IndieWeb. We can own our own content, hosted on our own domains, without sacrificing social connection and replies with other people! In this talk, I discuss what webmentions are and how to implement them. The code is based on an Eleventy site, but the concepts should be applicable to any site.
WebPageTest is an amazing tool for testing performance. Here's how to use the scripting feature to test sites behind passwords.
Published on Performance at Shopify
In this month’s “State of” event, we’re bringing you the State of Web Performance. We will be talking with Community members, library authors and maintainers to discuss community initiatives, how to identify Performance challenges, metrics to measure and resources to help you.
Does web performance truly matter? What are the reasons? Whether you're new to this topic or want to better understand the arguments, this article is for you.
Published on Performance at Shopify
Much like a carpenter or handyperson, every web performance expert has a set of their favorite tools. Here’s my own toolbox favorites and why.
Published on Planet Performance
Images are key to user experience. Making images smaller doesn't always result in better performance. How can images impact page load speed and layout shift?
Published on Performance at Shopify
103 Early Hints allow us to preconnect and even preload resources before the main document arrives. Come learn how the partnership between Shopify, Google, and Cloudflare led to this performance breakthrough, how Shopify is continuing to experiment with it at scale, and thoughts on what the future holds.
Get images right both on speed and quality, and your users will more likely convert.
In this month’s “State of” event, we’re bringing you the State of Web Performance. We will be talking with Community members, library authors and maintainers to discuss community initiatives, how to identify Performance challenges, metrics to measure and resources to help you.
Lazy loading is a performance strategy that de-prioritizes assets like images that are not needed immediately after a webpage is loaded. As with any strategy, you can misuse it causing worse performance.
Published on Performance at Shopify
At Shopify, we’ve seen what works and what doesn’t work when companies want to improve their web performance. We want to share with you our top learnings to get you on the path of success.
Published on Performance at Shopify
A lot of e-commerce solutions exist, but many of them charge a monthly fee. How could we build a site with the lowest hosting costs possible?
In episode 3 of this series, , Sia Karamalegos (@TheGreenGreek) is joining Matt Ling (@mattling_dev) from Stripe to build out an end-to-end eCommerce store selling digital goods, using 11ty, Netlify serverless functions, and Stripe. In this third and final episode you’ll learn how to leverage a Netlify serverless function to build a webhook endpoint to listen and react to payment events such as a Checkout Session completing to fulfill your orders.
In episode 2 of this series, Sia Karamalegos (@TheGreenGreek) is joining Matt Ling (@mattling_dev) from Stripe to build out an end-to-end eCommerce store selling digital goods, using 11ty, Netlify serverless functions, and Stripe. In this second episode you’ll learn how to leverage Netlify serverless functions to create Checkout Sessions using the Stripe API and collect payments from your customers.
In episode 1 of this series, Sia Karamalegos (@TheGreenGreek) joins Matt Ling (@mattling_dev) from Stripe to build out an end-to-end eCommerce store selling digital goods, using 11ty, Netlify serverless functions, and Stripe. In this first episode you’ll learn how to model a product catalog in Stripe using Products and Prices and how to query and render them using Stripe-node and 11ty.
A lot of e-commerce solutions exist, but many of them charge a monthly fee. How could we build a site with the lowest hosting costs possible? Sometimes the biggest challenge is coming up with an architecture that will work. In this talk, I will show you how I'm building an Eleventy shop for digital downloads using Stripe, Netlify, Sendgrid, and AWS. It's a sneak peek for a longer series where we will go step-by-step in the build.
Sia Karamalegos joins the WebPageTest Live stream to talk about her research for this year's Web Almanac about the state of web performance.
The state of web performance in 2021 including the Core Web Vitals (LCP, CLS, FID) as well as FCP and TTFB for the top ~8M websites.
Published on Web Almanac by HTTP Archive
Webmentions are an exciting standard which help enable the IndieWeb. We can own our own content, hosted on our own domains, without sacrificing social connection and replies with other people! Eleventy is JavaScript-based static site generator that requires no client-side JavaScript, making it performant by default.
Let Cloudinary make your image management easier! In this talk, I'll show how to set up responsive images in Eleventy using Cloudinary and Eleventy shortcodes. If time permits, I'll also show how I generate social share images using Cloudinary and Eleventy.
What's holding you back from starting your blog? Sort through the real issues from the noise and start today.
What tools are web performance engineers using to measure site speed in 2021? Learn which are the most used tools as well as some new tools to try out.
Discover all JavaScript downloaded and used/unused for a site in a handy data visualization with Lighthouse Treemap.
Start using AVIF today with Cloudinary. Learn about your options, the tradeoffs, and how to overcome slow transformations.
My experiment with 30 days of web performance tips. All packaged up for your temporary viewing pleasure. Results from a Twitter series by Sia Karamalegos.
Is Lighthouse telling you to eliminate render-blocking resources? Learn what this means, why it's important, and how to fix it in your HTML, CSS, and JavaScript.
Serverless functions are a key skill to know when moving to Jamstack applications or serverless architecture. Going serverless means having no server to manage while also having the ability to scale infinitely. In this talk, we'll start with a basic, static Eleventy website then build in dynamic features like form handling and secure API access using serverless functions. We'll use the Netlify CLI to set up our dev environment and deploy to production on Netlify.
Get started going serverless with Netlify functions and Netlify-CLI for keeping secrets secret
Webmentions are an exciting standard which help enable the IndieWeb. We can own our own content, hosted on our own domains, without sacrificing social connection and replies with other people! Eleventy is JavaScript-based static site generator that requires no client-side JavaScript, making it performant by default.
Want to get started with Eleventy but feel overwhelmed? Try out this pared-down tutorial
Add Prettier with a pre-commit hook and dedicate one commit to a full reformat
Use lite-youtube-embed in Eleventy for faster and more privacy-minded video
Learn the fundamentals behind responsive images and how to set them up in Eleventy using Cloudinary and Eleventy shortcodes
Webmentions are an exciting standard which help enable the IndieWeb. We can own our own content, hosted on our own domains, without sacrificing social connection and replies with other people! In this talk, I discuss what webmentions are and how to implement them. The code is based on an Eleventy site, but the concepts should be applicable to any site.
Slides and resources from my talks at JamStack Toronto and Magnolia JS.
Fonts are lovely but can slow down our loads. How can we make them faster? We all love fonts. From Google Fonts to Typekit, Hoefler&Co and more, they give character and tone to our websites. The down side of fonts is that they can really slow down our loads. In this talk we'll learn about common pitfalls like critical requests depth and how to use resource hints to play tricks with latency to load web applications faster. We'll walk through a network profile to understand what's going on in the browser and how to make it faster.
Setting and using data in the static site generator Eleventy
What are some strategies for serving modern JavaScript to modern browsers?
Learn to optimize your images for the web in this video from PerfMatters Conf.
Web performance matters. From SEO to bottom-line revenue impacts, performance can make or break your app. However, fixing performance feels like a quagmire of expert-level topics. What if I told you JavaScript bundle sizes could be cut up to 50% by doing one thing only? Nearly 90% of web traffic runs on modern browsers, but we're transpiling all of our JavaScript to ES5. That’s expensive. In this talk, we'll learn about differential serving, or serving both modern bundles and legacy bundles using webpack. This talk is framework agnostic, and best if you have at least a basic understanding of JavaScript.
Images account for 50% of the bytes downloaded to load a website. How can you make sure that your users only download the smallest image necessary while preserving image quality? In this talk, we'll focus on the underlying concepts in HTML and CSS for serving responsive images, which you can take with you no matter which tool you use.Which file formats suit which image types best? How can you use art direction in images to show the best image for a viewport layout? Come learn about this and more!
In this talk to students interested in technology fields at Delgado Community College, I describe my career journey and what it took to get to where I needed to be at each stage, including the pitfalls, privileges, and where I still want to go.
It's really easy.
Fonts are lovely but can slow down our loads. How can we make them faster? We all love fonts. From Google Fonts to Typekit, Hoefler&Co and more, they give character and tone to our websites. The down side of fonts is that they can really slow down our loads. In this talk we'll learn about common pitfalls like critical requests depth and how to use resource hints to play tricks with latency to load web applications faster. We'll walk through a network profile to understand what's going on in the browser and how to make it faster.
Encourage users to retweet or share a post based on whether a Tweet already exists for your blog post.
Join the Indie Web by adding Webmentions to your serverless Eleventy static site with this step-by-step tutorial. No client-side JavaScript needed!
Trying to convince your company to make site load speed improvements? Maybe Google Analytics can help.
If you use Google Fonts, a few additional steps can lead to much faster load times. Learn about preconnect, optimal placement, font display, preload, and more in this post.
With the Chromebook Linux beta, web development got a whole lot easier.
Help! My app bundle is 5MB! My users are angry that my app is so slow! It’s easy to forget that performance matters when we are under pressure to deliver features quickly. What data should we use to inform our decisions? From code splitting, lazy loading, and tree shaking to bundle analysis, progressive rendering, and modern transpiling, come learn how you can deliver a better experience to your users with high-performing front-end apps. This talk is library-agnostic (React, Angular, Vue, etc.).
Every user’s hardware is different, and processing speed can hinder user experience on client-side rendered React applications. Server-side rendering and code-splitting can drastically improve user experience by minimizing the work that the client has to do. It’s easy to get lost in the lingo, so come learn what it all means and how to easily build universal React apps using the Next.js framework. We’ll walk through the concepts and use code examples to cement your understanding. You’ll get the most out of this session if you’re comfortable with React and ES6 syntax.
Explore Drupal from the perspective of a React developer looking to familiarize themselves with Drupal and its capabilities
Published on React ❤ Drupal (Osio Labs)
Get a taste of why developers are so happy with React and learn about how some of the concepts are similar or different from the Drupal and PHP world
Published on React ❤ Drupal (Osio Labs)
App loading and run-time affect your bottom line. Fancy features aren’t worth anything if users leave the app out of frustration. Every second counts! React is super fast, but you could be shooting yourself in the foot with design decisions. Come learn how to make your React apps lightning fast! Page abandonment increases with every second of load time.Also, profiling and debugging performance issues can seem like an overwhelming topic to learn.In this session, we’ll cover the usual suspects of performance issues, from the basics of using the correct build, to the fundamentals of immutable data, to higher- level tools like Perf, shouldComponentUpdate, PureComponent, and memoizing computed props in Redux. We will both cover the concepts and walk through examples step- by - step so that by the end of this session you will feel like a React Speed Racer.You’ll get the most out of this session if you’re at least comfortable with React and ES6 syntax.
Import your Google Analytics data into caniuse for detailed feature support for your users.
Every user’s hardware is different, and processing speed can hinder user experience on client-side rendered React applications. Server-side rendering and code-splitting can drastically improve user experience by minimizing the work that the client has to do. It’s easy to get lost in the lingo, so come learn what it all means and how to easily build universal React apps using the Next.js framework. We’ll walk through the concepts and use code examples to cement your understanding. You’ll get the most out of this session if you’re comfortable with React and ES6 syntax.
Finding inspiration through personal grief
Descriptions of the auto-generated folders in Rails 4.2