<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  <url>
    <loc>https://wpsifero.com/blog/wordpress-woocommerce-checkout-fatal-triage/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wordpress-woocommerce-checkout-fatal-triage.png</image:loc>
      <image:caption>Triaging a WooCommerce Checkout That Dies at Payment</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/wordpress-white-screen-of-death-diagnosis/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wordpress-white-screen-of-death-diagnosis.png</image:loc>
      <image:caption>The White Screen of Death, and How to Read It</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/wordpress-multisite-uploads-and-domain-traps/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wordpress-multisite-uploads-and-domain-traps.png</image:loc>
      <image:caption>Multisite Uploads, Domain Mapping and the Traps Nobody Documents</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/wordpress-memory-limit-exhausted-fatal/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wordpress-memory-limit-exhausted-fatal.png</image:loc>
      <image:caption>“Allowed Memory Size Exhausted” Is Almost Never a Memory Problem</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/wordpress-database-connection-error-debugging/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wordpress-database-connection-error-debugging.png</image:loc>
      <image:caption>“Error Establishing a Database Connection”, Diagnosed Properly</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/wordpress-cron-not-running-real-cause/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wordpress-cron-not-running-real-cause.png</image:loc>
      <image:caption>WP-Cron Is Not Broken, You Just Have No Traffic</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/wordpress-blocks-breaking-after-update/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wordpress-blocks-breaking-after-update.png</image:loc>
      <image:caption>Blocks That Break After an Update, and Why save() Is the Reason</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/paid-themes-for-photographers/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/paid-themes-for-photographers.png</image:loc>
      <image:caption>Paid WordPress Themes for Photographers: Portfolios That Load Fast</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/paid-themes-for-medical-clinics/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/paid-themes-for-medical-clinics.png</image:loc>
      <image:caption>Paid WordPress Themes for Clinics: Appointments and Compliance</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/paid-themes-for-law-firms/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/paid-themes-for-law-firms.png</image:loc>
      <image:caption>Paid WordPress Themes for Law Firms, Compared Honestly</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/paid-themes-for-gyms-and-studios/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/paid-themes-for-gyms-and-studios.png</image:loc>
      <image:caption>Paid WordPress Themes for Gyms and Studios: Memberships and Schedules</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/paid-themes-for-construction-companies/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/paid-themes-for-construction-companies.png</image:loc>
      <image:caption>Paid WordPress Themes for Construction Companies, and What You Get</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/paid-security-plugins-for-wordpress/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/paid-security-plugins-for-wordpress.png</image:loc>
      <image:caption>Paid WordPress Security: What You Are Actually Paying For</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/paid-plugins-worth-the-money-for-speed/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/paid-plugins-worth-the-money-for-speed.png</image:loc>
      <image:caption>Paid Caching and Speed Plugins: When the Free Tier Stops Being Enough</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/paid-plugins-for-restaurant-websites/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/paid-plugins-for-restaurant-websites.png</image:loc>
      <image:caption>Paid Plugins for Restaurants: Bookings, Menus and Orders</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/paid-plugins-for-real-estate-websites/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/paid-plugins-for-real-estate-websites.png</image:loc>
      <image:caption>Paid Plugins for Real Estate Listings and Property Search</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/paid-plugins-for-professional-blogging/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/paid-plugins-for-professional-blogging.png</image:loc>
      <image:caption>Paid Plugins for a Blog That Has Outgrown Free</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/free-themes-for-photographers/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/free-themes-for-photographers.png</image:loc>
      <image:caption>6 Free WordPress Themes That Do Not Ruin a Photograph</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/free-themes-for-medical-clinics/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/free-themes-for-medical-clinics.png</image:loc>
      <image:caption>5 Free WordPress Themes for Clinics and Medical Practices</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/free-themes-for-law-firms/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/free-themes-for-law-firms.png</image:loc>
      <image:caption>5 Free WordPress Themes for Law Firms That Look Credible</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/free-themes-for-gyms-and-studios/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/free-themes-for-gyms-and-studios.png</image:loc>
      <image:caption>5 Free WordPress Themes for Gyms, Studios and Personal Trainers</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/free-themes-for-construction-companies/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/free-themes-for-construction-companies.png</image:loc>
      <image:caption>7 Free WordPress Themes That Suit Construction Companies</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/free-plugins-to-speed-up-wordpress/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/free-plugins-to-speed-up-wordpress.png</image:loc>
      <image:caption>5 Free Plugins That Make WordPress Faster Without Touching Code</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/free-plugins-to-secure-wordpress/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/free-plugins-to-secure-wordpress.png</image:loc>
      <image:caption>8 Free Plugins That Close the Holes in a WordPress Site</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/free-plugins-for-restaurant-websites/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/free-plugins-for-restaurant-websites.png</image:loc>
      <image:caption>6 Free Plugins Every Restaurant Website Needs</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/free-plugins-for-real-estate-websites/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/free-plugins-for-real-estate-websites.png</image:loc>
      <image:caption>6 Free Plugins for a Real Estate Site on a Small Budget</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/free-plugins-for-a-new-blog/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/free-plugins-for-a-new-blog.png</image:loc>
      <image:caption>7 Free Plugins a New Blog Actually Needs, and Four It Does Not</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/wordpress-security-headers-not-sending/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wordpress-security-headers-not-sending.png</image:loc>
      <image:caption>Your Security Headers Are Not Being Sent, and WordPress Is Why</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/ocp-summit-2026-intel-amd-nvidia/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/ocp-summit-2026-intel-amd-nvidia.png</image:loc>
      <image:caption>OCP Summit 2026: Intel's D-Series, AMD's Helion, Nvidia's 250kW Rack</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/meta-muse-spark-open-816b-open-weights/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/meta-muse-spark-open-816b-open-weights.png</image:loc>
      <image:caption>Meta Open-Weights an 816B Model, With a Revenue Line in the Licence</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/github-copilot-deprecates-three-models/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/github-copilot-deprecates-three-models.png</image:loc>
      <image:caption>GitHub Copilot Retires Three Models on 16 November</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/github-agentic-autofix-code-scanning-ga/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/github-agentic-autofix-code-scanning-ga.png</image:loc>
      <image:caption>GitHub's Agentic Autofix Is Now Generally Available, and Metered</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/chatgpt-chrome-extension-reads-your-tabs/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/chatgpt-chrome-extension-reads-your-tabs.png</image:loc>
      <image:caption>ChatGPT's Chrome Extension Can Now Read Your Open Tabs</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/en-18286-first-harmonised-standard-eu-ai-act/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/en-18286-first-harmonised-standard-eu-ai-act.png</image:loc>
      <image:caption>The EU AI Act Gets Its First Harmonised Standard, and It Has a Number</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/nvidia-open-sources-run-ai-dsx/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/nvidia-open-sources-run-ai-dsx.png</image:loc>
      <image:caption>Nvidia Open-Sources Run:ai and Retires Its Proprietary GPU Fractioning</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/github-secret-scanning-blocks-anthropic-keys/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/github-secret-scanning-blocks-anthropic-keys.png</image:loc>
      <image:caption>GitHub Starts Blocking Committed Anthropic Keys by Default</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/wordpress-rest-api-401-and-403-confusion/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wordpress-rest-api-401-and-403-confusion.png</image:loc>
      <image:caption>401 or 403? What the WordPress REST API Is Telling You</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/meta-muse-wonder-first-frontier-models/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/meta-muse-wonder-first-frontier-models.png</image:loc>
      <image:caption>Meta Launches Its First Frontier Models</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/wordpress-uploads-403-and-permission-mistakes/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wordpress-uploads-403-and-permission-mistakes.png</image:loc>
      <image:caption>Uploads That 403, and the Permission Advice That Causes It</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/python-3-15-released-utf8-default/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/python-3-15-released-utf8-default.png</image:loc>
      <image:caption>Python 3.15 Makes UTF-8 the Default, and Breaks What Assumed Otherwise</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/tensorlake-npm-shai-hulud-worm-ai-sdks/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/tensorlake-npm-shai-hulud-worm-ai-sdks.png</image:loc>
      <image:caption>The tensorlake npm Worm Targets AI Tools, and Waits for a Token Revoke</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/treasury-first-outbound-investment-penalty/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/treasury-first-outbound-investment-penalty.png</image:loc>
      <image:caption>Treasury Issues Its First Outbound Investment Penalty, for $92,478</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/gemini-auto-browse-reaches-india/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/gemini-auto-browse-reaches-india.png</image:loc>
      <image:caption>Gemini's Auto Browse Reaches India, and the Agentic Browser Gets Real</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/delivery-tracking-without-a-saas-subscription/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/delivery-tracking-without-a-saas-subscription.png</image:loc>
      <image:caption>Building Order Tracking in WooCommerce Without a Tracking Subscription</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/chrome-155-jpeg-xl-post-quantum-webcrypto/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/chrome-155-jpeg-xl-post-quantum-webcrypto.png</image:loc>
      <image:caption>Chrome 155 Brings JPEG XL and Post-Quantum WebCrypto</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/cve-2026-104120-mcp-fetch-ssrf/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/cve-2026-104120-mcp-fetch-ssrf.png</image:loc>
      <image:caption>An SSRF in the Official MCP Fetch Servers</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/tracking-pages-without-javascript/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/tracking-pages-without-javascript.png</image:loc>
      <image:caption>Tracking Pages That Work When JavaScript Does Not Run</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/third-circuit-ross-westlaw-headnotes-fair-use/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/third-circuit-ross-westlaw-headnotes-fair-use.png</image:loc>
      <image:caption>An Appeals Court Says Training on Westlaw Headnotes Was Not Fair Use</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/wp-cron-dispatch-under-real-traffic/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wp-cron-dispatch-under-real-traffic.png</image:loc>
      <image:caption>WP-Cron Fires When a Visitor Arrives, Not When the Clock Says So</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/idempotency-keys-for-rest-endpoints/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/idempotency-keys-for-rest-endpoints.png</image:loc>
      <image:caption>Idempotency Keys for a POST Endpoint That Must Survive Retries</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/anthropic-claude-opus-5-5-price-cut/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/anthropic-claude-opus-5-5-price-cut.png</image:loc>
      <image:caption>Claude Opus 5.5 Cuts Prices, and the Table Says Where</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/wp-options-autoload-table-bloat/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wp-options-autoload-table-bloat.png</image:loc>
      <image:caption>The wp_options Autoload Flag, and the Rows That Tax Every Request</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/indexed-btree-npm-loader-at-runtime/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/indexed-btree-npm-loader-at-runtime.png</image:loc>
      <image:caption>A Malicious npm Package That Defeats `--ignore-scripts`</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/ninth-circuit-copilot-output-not-a-copy/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/ninth-circuit-copilot-output-not-a-copy.png</image:loc>
      <image:caption>Ninth Circuit: Copilot's Output Is Not a Copy</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/capability-checks-people-forget/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/capability-checks-people-forget.png</image:loc>
      <image:caption>The Capability Checks People Forget at Three Entry Points</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/core-web-vitals-on-product-pages/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/core-web-vitals-on-product-pages.png</image:loc>
      <image:caption>The LCP Element on a Product Page Is Usually the Wrong Image</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/static-analysis-for-wordpress-plugins/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/static-analysis-for-wordpress-plugins.png</image:loc>
      <image:caption>What PHPStan Catches in a WordPress Plugin, and What It Misses</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/news/interop-2027-call-for-proposals/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/interop-2027-call-for-proposals.png</image:loc>
      <image:caption>Interop 2027 Opens, and the 2026 Numbers Say the Web Is Converging</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/woocommerce-hpos-migration-notes/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/woocommerce-hpos-migration-notes.png</image:loc>
      <image:caption>What Actually Changes When WooCommerce Orders Leave Postmeta</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/wp-query-object-cache-misses/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wp-query-object-cache-misses.png</image:loc>
      <image:caption>Why One update_post_meta() Call Empties Your Query Cache</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/accessible-live-regions-for-order-status/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/accessible-live-regions-for-order-status.png</image:loc>
      <image:caption>Live Regions for Order Status, Announced Once and Not Twice</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/webhook-retries-that-do-not-duplicate-orders/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/webhook-retries-that-do-not-duplicate-orders.png</image:loc>
      <image:caption>Webhook Retries, and Why They Must Not Create a Second Order</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/redis-and-memcached-as-object-caches/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/redis-and-memcached-as-object-caches.png</image:loc>
      <image:caption>Redis or Memcached: What the WordPress Object Cache Needs</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/nonces-are-not-authorisation/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/nonces-are-not-authorisation.png</image:loc>
      <image:caption>A Nonce Proves Intent, and Never Permission to Act</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/woocommerce-checkout-session-loss/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/woocommerce-checkout-session-loss.png</image:loc>
      <image:caption>The Checkout That Forgets the Cart, and the Five Things That Cause It</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/wp-post-meta-vs-custom-tables/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wp-post-meta-vs-custom-tables.png</image:loc>
      <image:caption>When wp_postmeta Stops Being the Right Place for Plugin Data</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/shipping-a-plugin-release-reliably/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/shipping-a-plugin-release-reliably.png</image:loc>
      <image:caption>Building a Plugin Zip You Can Trust on Release Day</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/wpdb-prepared-statements-and-their-gaps/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/wpdb-prepared-statements-and-their-gaps.png</image:loc>
      <image:caption>Where $wpdb-&gt;prepare() Protects You, and Where It Cannot</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/versioning-a-plugin-rest-api/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/versioning-a-plugin-rest-api.png</image:loc>
      <image:caption>Versioning a Plugin REST API Without Breaking Other People's Code</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/cache-stampedes-on-sale-day/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/cache-stampedes-on-sale-day.png</image:loc>
      <image:caption>The Thundering Herd When a Flash Sale Cache Entry Expires</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/block-themes-and-plugin-ui/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/block-themes-and-plugin-ui.png</image:loc>
      <image:caption>Where Block Themes Break a Plugin's Front-End Output</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/real-scheduling-with-system-cron/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/real-scheduling-with-system-cron.png</image:loc>
      <image:caption>From WP-Cron to a Job Queue With Claims, Retries and Dead Letters</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/object-cache-invalidation-strategy/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/object-cache-invalidation-strategy.png</image:loc>
      <image:caption>Deciding What Invalidates What Before the Cache Bugs Arrive</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/hook-priority-and-ordering/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/hook-priority-and-ordering.png</image:loc>
      <image:caption>Hook Priority Is a Coordination Mechanism, Not a Tuning Knob</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/forms-that-survive-a-slow-network/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/forms-that-survive-a-slow-network.png</image:loc>
      <image:caption>Forms That Survive a Slow Network and an Impatient Tap</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/woocommerce-transactional-email-deliverability/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/woocommerce-transactional-email-deliverability.png</image:loc>
      <image:caption>Why WooCommerce Order Email Lands in Spam, and What Actually Fixes It</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/threat-modelling-a-wordpress-plugin/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/threat-modelling-a-wordpress-plugin.png</image:loc>
      <image:caption>Threat Modelling a WooCommerce Plugin in Ninety Minutes</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/measuring-wordpress-before-optimising/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/measuring-wordpress-before-optimising.png</image:loc>
      <image:caption>Build a WordPress Benchmark You Can Trust Before You Change Anything</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/local-environment-that-matches-production/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/local-environment-that-matches-production.png</image:loc>
      <image:caption>Closing the Gap Between a Bug That Will Not Reproduce and Production</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/css-architecture-for-plugin-screens/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/css-architecture-for-plugin-screens.png</image:loc>
      <image:caption>CSS Architecture for Admin Screens Your Plugin Does Not Own</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/multisite-option-storage-differences/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/multisite-option-storage-differences.png</image:loc>
      <image:caption>Multisite Option Storage, and What Multiplies by the Number of Sites</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/rest-authentication-for-machine-clients/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/rest-authentication-for-machine-clients.png</image:loc>
      <image:caption>Authenticating a Machine Client Against the WordPress REST API</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/observability-for-a-wordpress-store/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/observability-for-a-wordpress-store.png</image:loc>
      <image:caption>What to Log on a Store, and What Has to Stay Out of the Log</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/woocommerce-custom-order-statuses/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/woocommerce-custom-order-statuses.png</image:loc>
      <image:caption>Custom WooCommerce Order Statuses That Survive REST and WP-CLI</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/file-upload-handling-in-plugins/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/file-upload-handling-in-plugins.png</image:loc>
      <image:caption>Handling File Uploads in a Plugin Without Creating an Incident</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/image-pipeline-for-a-product-catalogue/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/image-pipeline-for-a-product-catalogue.png</image:loc>
      <image:caption>Serving Product Images at the Size the Browser Actually Needs</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/code-review-checklist-for-wordpress-prs/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/code-review-checklist-for-wordpress-prs.png</image:loc>
      <image:caption>The Code Review Checklist That Actually Works on WordPress Diffs</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/database-migration-safety-for-plugins/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/database-migration-safety-for-plugins.png</image:loc>
      <image:caption>Database Migration Safety When the Store Cannot Go Offline</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/debugging-production-without-a-debugger/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/debugging-production-without-a-debugger.png</image:loc>
      <image:caption>Debugging a Live Store When You Cannot Attach a Debugger</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/designing-webhook-payloads/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/designing-webhook-payloads.png</image:loc>
      <image:caption>Designing the JSON Your Integration Sends Out</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://wpsifero.com/blog/indexing-for-order-queries/</loc>
    <lastmod>2026-10-16T21:49:42+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://wpsifero.com/assets/img/og/indexing-for-order-queries.png</image:loc>
      <image:caption>EXPLAIN as a Design Tool for WooCommerce Order Queries</image:caption>
    </image:image>
  </url>
</urlset>
