<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cloudflare on plzhans blog</title><link>https://blog.plzhans.com/en/tags/cloudflare/</link><description>Recent content in Cloudflare on plzhans blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 11 Sep 2026 13:01:00 +0000</lastBuildDate><atom:link href="https://blog.plzhans.com/en/tags/cloudflare/index.xml" rel="self" type="application/rss+xml"/><item><title>Cloudflare Workers Static Site Guide - From Deployment to SEO</title><link>https://blog.plzhans.com/en/posts/124-cloudflare-workers-static-site-guide/</link><pubDate>Fri, 11 Sep 2026 13:01:00 +0000</pubDate><guid>https://blog.plzhans.com/en/posts/124-cloudflare-workers-static-site-guide/</guid><description>&lt;p&gt;&lt;picture&gt;&#10; &lt;source srcset="https://blog.plzhans.com/posts/124-cloudflare-workers-static-site-guide/assets/1_3d822a0f-7e83-818c-8060-c230fe8eebe7_hu_452fbc316a5a0cdc.webp" type="image/webp"&gt;&#10; &lt;img src="https://blog.plzhans.com/posts/124-cloudflare-workers-static-site-guide/assets/1_3d822a0f-7e83-818c-8060-c230fe8eebe7_hu_a731f7d9f52c36b2.png" alt="Series cover image with a Cloudflare Workers edge node at the center, connecting the four parts: hosting, local development, caching, and SEO" width="1200" height="630" loading="eager" fetchpriority="high"&gt;&#10; &lt;/picture&gt;&lt;/p&gt;&#10;&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;It&amp;rsquo;s common to take an SPA built with React or Vue, or a static site generated with Hugo, drop it on a CDN, and leave it at that. Deployment is simple, and with no server there&amp;rsquo;s nothing to operate.&lt;/p&gt;&#10;&lt;p&gt;But before long you hit a moment of &lt;strong&gt;&amp;ldquo;I want to touch the response, but there&amp;rsquo;s no server.&amp;rdquo;&lt;/strong&gt; That&amp;rsquo;s when you want per-page meta tags, or to show crawlers the actual content, or to attach one more response header.&lt;/p&gt;</description></item><item><title>Cloudflare Workers Static Site Hosting - Request Flow and Billing</title><link>https://blog.plzhans.com/en/posts/125-cloudflare-workers-static-assets-routing-billing/</link><pubDate>Fri, 11 Sep 2026 13:01:00 +0000</pubDate><guid>https://blog.plzhans.com/en/posts/125-cloudflare-workers-static-assets-routing-billing/</guid><description>&lt;p&gt;&lt;picture&gt;&#10; &lt;source srcset="https://blog.plzhans.com/posts/125-cloudflare-workers-static-assets-routing-billing/assets/1_3d822a0f-7e83-81cf-9f13-e8e4f94cfedf_hu_f57c70ff3e8bd040.webp" type="image/webp"&gt;&#10; &lt;img src="https://blog.plzhans.com/posts/125-cloudflare-workers-static-assets-routing-billing/assets/1_3d822a0f-7e83-81cf-9f13-e8e4f94cfedf_hu_73b5020d9ab7c943.png" alt="Cover image showing an incoming request splitting into a path that goes through the Worker and a path that goes straight out as a static asset" width="1200" height="630" loading="lazy"&gt;&#10; &lt;/picture&gt;&lt;/p&gt;&#10;&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;This post is part of the &lt;a href="../124-cloudflare-workers-static-site-guide/"&gt;Cloudflare Workers Static Site Guide - From Deployment to SEO&lt;/a&gt; series.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;One way to put a static site on Cloudflare is &lt;strong&gt;Workers Static Assets&lt;strong&gt;. Upload your build output (&lt;code&gt;dist/&lt;/code&gt;) and it is served from edges worldwide, and if you need it you can layer &lt;/strong&gt;a bit of code in front of it.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>How to Improve React SPA SEO - From Meta Tags to SSR with Cloudflare Workers</title><link>https://blog.plzhans.com/en/posts/128-react-spa-seo-cloudflare-workers-ssr/</link><pubDate>Fri, 11 Sep 2026 13:01:00 +0000</pubDate><guid>https://blog.plzhans.com/en/posts/128-react-spa-seo-cloudflare-workers-ssr/</guid><description>&lt;p&gt;&lt;picture&gt;&#10; &lt;source srcset="https://blog.plzhans.com/posts/128-react-spa-seo-cloudflare-workers-ssr/assets/1_3d822a0f-7e83-8126-8051-dfd669349a3e_hu_a019422e8cbae81c.webp" type="image/webp"&gt;&#10; &lt;img src="https://blog.plzhans.com/posts/128-react-spa-seo-cloudflare-workers-ssr/assets/1_3d822a0f-7e83-8126-8051-dfd669349a3e_hu_22bb2352b55ca59c.png" alt="Cover image showing empty HTML being filled in as it passes through the edge, with a crawler reading the result" width="1200" height="630" loading="lazy"&gt;&#10; &lt;/picture&gt;&lt;/p&gt;&#10;&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;This post is part of the &lt;a href="../124-cloudflare-workers-static-site-guide/"&gt;Cloudflare Workers Static Site Guide - From Deployment to SEO&lt;/a&gt; series.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;It&amp;rsquo;s common to put a React SPA on static hosting and leave it there. Deployment is simple, and with no server there&amp;rsquo;s nothing to operate. It costs almost nothing, too.&lt;/p&gt;&#10;&lt;p&gt;But once you start caring about search, you hit a wall. &lt;strong&gt;The reason is that the raw HTML the server emits has nothing in it for a search engine to read&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>How to Set Up Caching in Cloudflare Workers - Edge Cache and Tiered Cache</title><link>https://blog.plzhans.com/en/posts/127-cloudflare-workers-cache-tiered-cache/</link><pubDate>Fri, 11 Sep 2026 13:01:00 +0000</pubDate><guid>https://blog.plzhans.com/en/posts/127-cloudflare-workers-cache-tiered-cache/</guid><description>&lt;p&gt;&lt;picture&gt;&#10; &lt;source srcset="https://blog.plzhans.com/posts/127-cloudflare-workers-cache-tiered-cache/assets/1_3d822a0f-7e83-8170-a661-c0a4f4df8698_hu_3defae76308df863.webp" type="image/webp"&gt;&#10; &lt;img src="https://blog.plzhans.com/posts/127-cloudflare-workers-cache-tiered-cache/assets/1_3d822a0f-7e83-8170-a661-c0a4f4df8698_hu_512a1c1f75bf96a1.png" alt="Cover image showing a Tiered Cache setup where multiple edge nodes reach the origin through a single upper tier" width="1200" height="630" loading="eager" fetchpriority="high"&gt;&#10; &lt;/picture&gt;&lt;/p&gt;&#10;&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;This post is part of the &lt;a href="../124-cloudflare-workers-static-site-guide/"&gt;Cloudflare Workers Static Site Guide - From Deployment to SEO&lt;/a&gt; series.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;Once a Worker starts calling an external API, you soon need a cache. Without one, &lt;strong&gt;origin load grows in proportion to page views.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Setting it up takes a single line, but after that come a few traps you will definitely hit if you don&amp;rsquo;t know about them. In particular, the fact that &lt;strong&gt;the edge cache is not shared worldwide&lt;/strong&gt; is obvious once you know it, but without that knowledge you will waste a lot of time wondering &amp;ldquo;why isn&amp;rsquo;t the cache hitting?&amp;rdquo;&lt;/p&gt;</description></item><item><title>How to Use wrangler - Local Development and Deployment for Cloudflare Workers</title><link>https://blog.plzhans.com/en/posts/126-cloudflare-workers-wrangler-dev-deploy/</link><pubDate>Fri, 11 Sep 2026 13:01:00 +0000</pubDate><guid>https://blog.plzhans.com/en/posts/126-cloudflare-workers-wrangler-dev-deploy/</guid><description>&lt;p&gt;&lt;picture&gt;&#10; &lt;source srcset="https://blog.plzhans.com/posts/126-cloudflare-workers-wrangler-dev-deploy/assets/1_3d822a0f-7e83-81f6-b43f-ee90a3347422_hu_696076b6bfb95313.webp" type="image/webp"&gt;&#10; &lt;img src="https://blog.plzhans.com/posts/126-cloudflare-workers-wrangler-dev-deploy/assets/1_3d822a0f-7e83-81f6-b43f-ee90a3347422_hu_5708cb739124f2fe.png" alt="Cover image showing the Worker runtime you ran locally going up to the edge platform as is" width="1200" height="630" loading="lazy"&gt;&#10; &lt;/picture&gt;&lt;/p&gt;&#10;&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;This post is part of the &lt;a href="../124-cloudflare-workers-static-site-guide/"&gt;Cloudflare Workers Static Site Guide - From Deployment to SEO&lt;/a&gt; series.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;Working with Cloudflare Workers is effectively &lt;strong&gt;working with &lt;code&gt;wrangler&lt;/code&gt;&lt;/strong&gt;. Running locally and deploying both go through the same CLI.&lt;/p&gt;&#10;&lt;p&gt;But the name creates one misunderstanding. &lt;strong&gt;&lt;code&gt;wrangler dev&lt;/code&gt; is not a frontend dev server.&lt;/strong&gt; I got stuck on this for quite a while myself at first.&lt;/p&gt;</description></item></channel></rss>