<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://www.mironsoft.de/</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/" />
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.mironsoft.de/services.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/leistungen.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/services.html" />
<lastmod>2026-08-06T20:33:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/services/webdesign.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/leistungen/webdesign.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/services/webdesign.html" />
<lastmod>2026-08-06T19:41:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/services/typo3.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/leistungen/typo3.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/services/typo3.html" />
<lastmod>2026-08-06T19:43:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/services/landing-page.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/leistungen/landing-page.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/services/landing-page.html" />
<lastmod>2026-08-06T19:44:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/services/webshop-magento.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/leistungen/webshop-magento.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/services/webshop-magento.html" />
<lastmod>2026-08-06T19:45:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/services/seo.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/leistungen/seo.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/services/seo.html" />
<lastmod>2026-08-06T19:47:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/services/wordpress.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/leistungen/wordpress.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/services/wordpress.html" />
<lastmod>2026-08-06T19:48:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/pricing.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/preise.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/pricing.html" />
<lastmod>2026-08-06T20:30:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento.html" />
<lastmod>2026-08-06T20:31:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/services/woocommerce.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/leistungen/woocommerce.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/services/woocommerce.html" />
<lastmod>2026-08-06T19:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/hyva-themes-headline-style.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/hyva-themes.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/hyva-themes-headline-style.html" />
<lastmod>2026-08-01T18:31:43+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/performance-optimization.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/performance-optimierung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/performance-optimization.html" />
<lastmod>2026-08-06T18:57:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/core-web-vitals.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/core-web-vitals.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/core-web-vitals.html" />
<lastmod>2026-08-06T19:01:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/pwa-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/pwa-entwicklung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/pwa-development.html" />
<lastmod>2026-08-06T19:03:20+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/migration.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/migration.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/migration.html" />
<lastmod>2026-08-06T19:05:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/update-service.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/update-service.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/update-service.html" />
<lastmod>2026-08-06T19:09:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/security.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/sicherheit.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/security.html" />
<lastmod>2026-08-06T19:10:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/extension-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/extension-entwicklung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/extension-development.html" />
<lastmod>2026-08-06T19:12:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/erp-interface.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/erp-schnittstelle.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/erp-interface.html" />
<lastmod>2026-08-06T19:15:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/sap-integration.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/sap-integration.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/sap-integration.html" />
<lastmod>2026-08-06T19:17:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/microsoft-dynamics-integration.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/microsoft-dynamics-anbindung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/microsoft-dynamics-integration.html" />
<lastmod>2026-08-06T19:18:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/pim-integration.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/pim-integration.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/pim-integration.html" />
<lastmod>2026-08-06T19:19:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/magento-seo.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/magento-seo.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/magento-seo.html" />
<lastmod>2026-08-06T19:21:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/b2b-online-shop.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/b2b-onlineshop.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/b2b-online-shop.html" />
<lastmod>2026-08-06T19:22:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/multistore-setup.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/multistore-setup.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/multistore-setup.html" />
<lastmod>2026-08-06T19:23:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/checkout-optimization.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/checkout-optimierung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/checkout-optimization.html" />
<lastmod>2026-08-06T19:24:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/hosting-consulting.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/hosting-beratung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/hosting-consulting.html" />
<lastmod>2026-08-06T19:25:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/maintenance-and-support.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/wartung-support.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/maintenance-and-support.html" />
<lastmod>2026-08-06T19:27:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/adobe-commerce-consulting.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/adobe-commerce-beratung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/adobe-commerce-consulting.html" />
<lastmod>2026-08-06T19:33:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/search-optimization.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/suche-optimierung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/search-optimization.html" />
<lastmod>2026-08-06T19:34:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/headless-commerce.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/headless-commerce.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/headless-commerce.html" />
<lastmod>2026-08-06T19:35:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento/code-audit.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento/code-audit.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento/code-audit.html" />
<lastmod>2026-08-06T19:39:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien.html" />
<lastmod>2026-08-07T18:15:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/tailwind-css.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/tailwind-css.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/tailwind-css.html" />
<lastmod>2026-08-07T18:13:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/php-entwicklung.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/php-entwicklung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/php-entwicklung.html" />
<lastmod>2026-08-07T17:50:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/javascript-e-commerce.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/javascript-e-commerce.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/javascript-e-commerce.html" />
<lastmod>2026-08-07T17:19:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/mysql-mariadb-optimierung.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/mysql-mariadb-optimierung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/mysql-mariadb-optimierung.html" />
<lastmod>2026-08-07T17:00:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/opensearch-elasticsearch.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/opensearch-elasticsearch.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/opensearch-elasticsearch.html" />
<lastmod>2026-08-07T17:47:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/hyva-frontend.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/hyva-frontend.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/hyva-frontend.html" />
<lastmod>2026-08-07T17:13:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/alpine-js.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/alpine-js.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/alpine-js.html" />
<lastmod>2026-08-07T16:39:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/graphql-api.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/graphql-api.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/graphql-api.html" />
<lastmod>2026-08-07T17:06:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/knockout-js-legacy.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/knockout-js-legacy.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/knockout-js-legacy.html" />
<lastmod>2026-08-07T17:30:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/jquery-refactoring.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/jquery-refactoring.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/jquery-refactoring.html" />
<lastmod>2026-08-07T17:29:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/docker-magento-entwicklung.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/docker-magento-entwicklung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/docker-magento-entwicklung.html" />
<lastmod>2026-08-07T16:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/api-first-architecture.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/api-first-architecture.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/api-first-architecture.html" />
<lastmod>2026-08-07T16:44:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/openapi-dokumentation.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/openapi-dokumentation.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/openapi-dokumentation.html" />
<lastmod>2026-08-07T17:40:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/react-vue-headless.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/react-vue-headless.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/react-vue-headless.html" />
<lastmod>2026-08-07T18:02:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/symfony-entwicklung.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/symfony-entwicklung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/symfony-entwicklung.html" />
<lastmod>2026-08-07T18:10:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/laravel-entwicklung.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/laravel-entwicklung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/laravel-entwicklung.html" />
<lastmod>2026-08-07T17:36:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/bash-batch-programmierung.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/bash-batch-programmierung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/bash-batch-programmierung.html" />
<lastmod>2026-08-07T16:50:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/technologien/rest-api.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/technologien/rest-api.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/technologien/rest-api.html" />
<lastmod>2026-08-07T17:57:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/branchen.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/branchen.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/branchen.html" />
<lastmod>2026-08-06T19:51:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/branchen/b2b-ecommerce.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/branchen/b2b-ecommerce.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/branchen/b2b-ecommerce.html" />
<lastmod>2026-08-06T19:53:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/branchen/mid-market.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/branchen/mittelstand.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/branchen/mid-market.html" />
<lastmod>2026-08-06T19:56:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/branchen/marketplace-integration.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/branchen/marktplatz-integration.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/branchen/marketplace-integration.html" />
<lastmod>2026-08-06T19:58:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/branchen/d2c-brands.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/branchen/d2c-marken.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/branchen/d2c-brands.html" />
<lastmod>2026-08-06T19:59:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/consulting.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/beratung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/consulting.html" />
<lastmod>2026-08-06T20:01:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/consulting/e-commerce-audit.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/beratung/ecommerce-audit.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/consulting/e-commerce-audit.html" />
<lastmod>2026-08-06T20:03:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/consulting/system-selection.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/beratung/system-auswahl.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/consulting/system-selection.html" />
<lastmod>2026-08-06T20:04:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/consulting/conversion-optimization.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/beratung/conversion-optimierung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/consulting/conversion-optimization.html" />
<lastmod>2026-08-06T20:09:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/consulting/digital-transformation.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/beratung/digitale-transformation.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/consulting/digital-transformation.html" />
<lastmod>2026-08-06T20:28:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento-2-extensions.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento-2-extensions.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento-2-extensions.html" />
<lastmod>2026-02-16T18:44:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento-2-extensions/seo-search-engine-optimization-for-magento-2.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento-2-extensions/seo-search-engine-optimization-for-magento-2.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento-2-extensions/seo-search-engine-optimization-for-magento-2.html" />
<lastmod>2026-02-16T18:31:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento-2-extensions/import-und-export-fuer-magento-2.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento-2-extensions/import-und-export-fuer-magento-2.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento-2-extensions/import-und-export-fuer-magento-2.html" />
<lastmod>2026-02-16T18:34:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento-2-extensions/speed-optimization.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento-2-extensions/speed-optimization.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento-2-extensions/speed-optimization.html" />
<lastmod>2026-02-16T18:40:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/magento-2-extensions/magento-kundenverwaltung.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/magento-2-extensions/magento-kundenverwaltung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/magento-2-extensions/magento-kundenverwaltung.html" />
<lastmod>2026-02-16T18:44:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/services/app-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/leistungen/app-entwicklung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/services/app-development.html" />
<lastmod>2026-08-05T22:03:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/app-programming.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/app-programmierung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/app-programming.html" />
<lastmod>2026-08-05T23:31:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/app-programming/react-native-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/app-programmierung/react-native.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/app-programming/react-native-development.html" />
<lastmod>2026-08-05T22:51:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/app-programming/flutter-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/app-programmierung/flutter.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/app-programming/flutter-development.html" />
<lastmod>2026-08-05T23:02:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/app-programming/android-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/app-programmierung/android.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/app-programming/android-development.html" />
<lastmod>2026-08-05T23:07:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/app-programming/ios-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/app-programmierung/ios.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/app-programming/ios-development.html" />
<lastmod>2026-08-05T23:13:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/app-programming/pwa-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/app-programmierung/pwa.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/app-programming/pwa-development.html" />
<lastmod>2026-08-05T23:32:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/impressum</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/impressum" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/impressum" />
<lastmod>2026-02-08T01:39:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/datenschutzerklarung</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/datenschutzerklarung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/datenschutzerklarung" />
<lastmod>2026-01-17T19:26:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/ueber-uns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/ueber-uns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/ueber-uns" />
<lastmod>2026-02-08T12:00:54+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/unsere-arbeitsweise</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/unsere-arbeitsweise" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/unsere-arbeitsweise" />
<lastmod>2026-02-08T12:42:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/partner-request</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/partner-request" />
<lastmod>2026-05-23T08:51:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog" />
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-beobachtbarkeit-in-container-stacks-metriken-logs-health</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-beobachtbarkeit-in-container-stacks-metriken-logs-health" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-observability-in-container-stacks-metrics-logs-health" />
<lastmod>2026-05-10T08:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-docker-beobachtbarkeit-in-container-stacks-metriken-logs-health.webp</image:loc><image:title>Beobachtbarkeit in Container-Stacks: Metriken, Logs und Health | mironsoft.de</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Beobachtbarkeit&#x20;in&#x20;Container-Stacks&#x3A;&#x20;Metriken,&#x20;Logs&#x20;und&#x20;Health&#x20;&#x7C;&#x20;mironsoft.de"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-docker-beobachtbarkeit-in-container-stacks-metriken-logs-health.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-api-platform-4-rest-und-graphql-ohne-boilerplate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-api-platform-4-rest-und-graphql-ohne-boilerplate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-api-platform-4-rest-and-graphql-without-boilerplate" />
<lastmod>2026-05-10T17:24:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-symfony-api-platform-4-rest-und-graphql-ohne-boilerplate.webp</image:loc><image:title>API Platform 4: REST und GraphQL ohne Boilerplate in Symfony | mironsoft.de</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Platform&#x20;4&#x3A;&#x20;REST&#x20;und&#x20;GraphQL&#x20;ohne&#x20;Boilerplate&#x20;in&#x20;Symfony&#x20;&#x7C;&#x20;mironsoft.de"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-symfony-api-platform-4-rest-und-graphql-ohne-boilerplate.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-bats-fur-bash-tests-in-ci-einsetzen</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-bats-fur-bash-tests-in-ci-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-bats-for-bash-testing-in-ci-pipelines" />
<lastmod>2026-05-10T20:26:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-bash-bats-fur-bash-tests-in-ci-einsetzen.webp</image:loc><image:title>BATS für Bash-Tests in CI einsetzen</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="BATS&#x20;f&#xFC;r&#x20;Bash-Tests&#x20;in&#x20;CI&#x20;einsetzen"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-bash-bats-fur-bash-tests-in-ci-einsetzen.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-b2b-blog-seo-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-b2b-blog-seo-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-b2b-blog-seo-strategy" />
<lastmod>2026-07-12T16:28:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-b2b-blog-seo-strategy.webp</image:loc><image:title>B2B Blog SEO: Reaching a Specialist Audience Without Mass-Market Keywords</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="B2B&#x20;Blog&#x20;SEO&#x3A;&#x20;Reaching&#x20;a&#x20;Specialist&#x20;Audience&#x20;Without&#x20;Mass-Market&#x20;Keywords"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-b2b-blog-seo-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-backlink-strategies-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-backlink-strategien-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-backlink-strategies-2026" />
<lastmod>2026-07-12T16:40:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-backlink-strategies-2026.webp</image:loc><image:title>Backlink Strategies That Still Work in 2026</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Backlink&#x20;Strategies&#x20;That&#x20;Still&#x20;Work&#x20;in&#x20;2026"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-backlink-strategies-2026.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-image-optimization-for-seo-format-compression-delivery</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-bildoptimierung-seo-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-image-optimization-for-seo-format-compression-delivery" />
<lastmod>2026-07-12T16:44:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-image-optimization-for-seo-format-compression-delivery.webp</image:loc><image:title>Image Optimization for SEO: Format, Compression, Delivery</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Image&#x20;Optimization&#x20;for&#x20;SEO&#x3A;&#x20;Format,&#x20;Compression,&#x20;Delivery"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-image-optimization-for-seo-format-compression-delivery.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-breadcrumb-schema-making-navigation-paths-visible-in-search</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-breadcrumb-schema-navigationspfade-in-der-suche-sichtbar-machen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-breadcrumb-schema-making-navigation-paths-visible-in-search" />
<lastmod>2026-07-12T16:53:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-breadcrumb-schema-making-navigation-paths-visible-in-search.webp</image:loc><image:title>Breadcrumb Schema: Making Navigation Paths Visible in Search</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Breadcrumb&#x20;Schema&#x3A;&#x20;Making&#x20;Navigation&#x20;Paths&#x20;Visible&#x20;in&#x20;Search"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-breadcrumb-schema-making-navigation-paths-visible-in-search.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-using-canonical-tags-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-canonical-tags-duplicate-content" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-using-canonical-tags-correctly" />
<lastmod>2026-07-12T16:57:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-using-canonical-tags-correctly.webp</image:loc><image:title>Using Canonical Tags Correctly Against Duplicate Content</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Canonical&#x20;Tags&#x20;Correctly&#x20;Against&#x20;Duplicate&#x20;Content"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-using-canonical-tags-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-cctld-vs-subdomain-vs-subdirectory</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-cctld-subdomain-subdirectory" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-cctld-vs-subdomain-vs-subdirectory" />
<lastmod>2026-07-12T16:58:54+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-cctld-vs-subdomain-vs-subdirectory.webp</image:loc><image:title>ccTLD vs. Subdomain vs. Subdirectory: Choosing the Right International Structure</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ccTLD&#x20;vs.&#x20;Subdomain&#x20;vs.&#x20;Subdirectory&#x3A;&#x20;Choosing&#x20;the&#x20;Right&#x20;International&#x20;Structure"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-cctld-vs-subdomain-vs-subdirectory.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-conducting-content-audits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-content-audits-durchfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-conducting-content-audits" />
<lastmod>2026-07-12T17:02:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-conducting-content-audits.webp</image:loc><image:title>Conducting Content Audits: Identifying Underperforming Pages</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Conducting&#x20;Content&#x20;Audits&#x3A;&#x20;Identifying&#x20;Underperforming&#x20;Pages"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-conducting-content-audits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-content-clusters-and-pillar-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-content-cluster-und-pillar-pages" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-content-clusters-and-pillar-pages" />
<lastmod>2026-07-12T17:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-content-clusters-and-pillar-pages.webp</image:loc><image:title>Content Clusters and Pillar Pages: Building Topical Authority Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Content&#x20;Clusters&#x20;and&#x20;Pillar&#x20;Pages&#x3A;&#x20;Building&#x20;Topical&#x20;Authority&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-content-clusters-and-pillar-pages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-optimizing-existing-pages-instead-of-rewriting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-content-optimierung-bestehender-seiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-optimizing-existing-pages-instead-of-rewriting" />
<lastmod>2026-07-12T17:11:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-optimizing-existing-pages-instead-of-rewriting.webp</image:loc><image:title>Optimizing Existing Pages for SEO Instead of Rewriting Them</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;Existing&#x20;Pages&#x20;for&#x20;SEO&#x20;Instead&#x20;of&#x20;Rewriting&#x20;Them"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-optimizing-existing-pages-instead-of-rewriting.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-content-structure-and-headings</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-content-struktur-headings" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-content-structure-and-headings" />
<lastmod>2026-07-12T17:15:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-content-structure-and-headings.webp</image:loc><image:title>Content Structure and Headings: Building the Right SEO Hierarchy</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Content&#x20;Structure&#x20;and&#x20;Headings&#x3A;&#x20;Building&#x20;the&#x20;Right&#x20;SEO&#x20;Hierarchy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-content-structure-and-headings.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-core-web-vitals-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-core-web-vitals-fuer-magento-shops-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-core-web-vitals-for-magento-stores" />
<lastmod>2026-07-12T17:18:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-core-web-vitals-for-magento-stores.webp</image:loc><image:title>Optimizing Core Web Vitals for Magento Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;Core&#x20;Web&#x20;Vitals&#x20;for&#x20;Magento&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-core-web-vitals-for-magento-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-optimizing-crawl-budget</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-crawl-budget-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-optimizing-crawl-budget" />
<lastmod>2026-07-12T17:20:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-optimizing-crawl-budget.webp</image:loc><image:title>Optimizing Crawl Budget: How Google Efficiently Crawls Large Catalogs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;Crawl&#x20;Budget&#x3A;&#x20;How&#x20;Google&#x20;Efficiently&#x20;Crawls&#x20;Large&#x20;Catalogs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-optimizing-crawl-budget.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-digital-pr-link-building</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-digital-pr-linkbuilding" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-digital-pr-link-building" />
<lastmod>2026-07-12T17:23:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-digital-pr-link-building.webp</image:loc><image:title>Digital PR as a Link Building Strategy for Online Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Digital&#x20;PR&#x20;as&#x20;a&#x20;Link&#x20;Building&#x20;Strategy&#x20;for&#x20;Online&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-digital-pr-link-building.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-identifying-and-fixing-duplicate-content-in-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-duplicate-content-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-identifying-and-fixing-duplicate-content-in-magento-stores" />
<lastmod>2026-07-12T17:25:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-identifying-and-fixing-duplicate-content-in-magento-stores.webp</image:loc><image:title>Identifying and Fixing Duplicate Content in Magento Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Identifying&#x20;and&#x20;Fixing&#x20;Duplicate&#x20;Content&#x20;in&#x20;Magento&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-identifying-and-fixing-duplicate-content-in-magento-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-eeat-expertise-and-trustworthiness</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-eeat-expertise-vertrauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-eeat-expertise-and-trustworthiness" />
<lastmod>2026-07-12T17:32:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-eeat-expertise-and-trustworthiness.webp</image:loc><image:title>E-E-A-T: How Google Evaluates Expertise and Trustworthiness</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="E-E-A-T&#x3A;&#x20;How&#x20;Google&#x20;Evaluates&#x20;Expertise&#x20;and&#x20;Trustworthiness"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-eeat-expertise-and-trustworthiness.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-evergreen-content-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-evergreen-content-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-evergreen-content-strategy" />
<lastmod>2026-07-12T17:33:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-evergreen-content-strategy.webp</image:loc><image:title>Evergreen Content: Sustainable Rankings Instead of Short-Lived Trends</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Evergreen&#x20;Content&#x3A;&#x20;Sustainable&#x20;Rankings&#x20;Instead&#x20;of&#x20;Short-Lived&#x20;Trends"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-evergreen-content-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-faceted-navigation-and-seo-defusing-the-duplicate-content-trap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-facettierte-navigation-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-faceted-navigation-and-seo-defusing-the-duplicate-content-trap" />
<lastmod>2026-07-12T02:20:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-faceted-navigation-and-seo-defusing-the-duplicate-content-trap.webp</image:loc><image:title>Faceted Navigation and SEO: Defusing the Duplicate Content Trap</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Faceted&#x20;Navigation&#x20;and&#x20;SEO&#x3A;&#x20;Defusing&#x20;the&#x20;Duplicate&#x20;Content&#x20;Trap"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-faceted-navigation-and-seo-defusing-the-duplicate-content-trap.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-faq-and-howto-schema-more-visibility-for-instructional-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-faq-und-howto-schema-mehr-sichtbarkeit-fuer-anleitungsinhalte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-faq-and-howto-schema-more-visibility-for-instructional-content" />
<lastmod>2026-07-12T02:20:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-faq-and-howto-schema-more-visibility-for-instructional-content.webp</image:loc><image:title>FAQ and HowTo Schema: More Visibility for Instructional Content</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="FAQ&#x20;and&#x20;HowTo&#x20;Schema&#x3A;&#x20;More&#x20;Visibility&#x20;for&#x20;Instructional&#x20;Content"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-faq-and-howto-schema-more-visibility-for-instructional-content.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-configuring-geotargeting-search-console</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-geotargeting-search-console" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-configuring-geotargeting-search-console" />
<lastmod>2026-07-12T02:20:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-configuring-geotargeting-search-console.webp</image:loc><image:title>Configuring Geotargeting Correctly in Search Console</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Geotargeting&#x20;Correctly&#x20;in&#x20;Search&#x20;Console"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-configuring-geotargeting-search-console.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-understanding-google-core-updates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-google-core-updates-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-understanding-google-core-updates" />
<lastmod>2026-07-12T02:20:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-understanding-google-core-updates.webp</image:loc><image:title>Understanding Google Core Updates and Reacting Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Google&#x20;Core&#x20;Updates&#x20;and&#x20;Reacting&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-understanding-google-core-updates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-google-search-console-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-google-search-console-deep-dive" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-google-search-console-in-detail" />
<lastmod>2026-07-12T02:20:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-google-search-console-in-detail.webp</image:loc><image:title>Google Search Console in Detail: The Reports That Actually Matter</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Google&#x20;Search&#x20;Console&#x20;in&#x20;Detail&#x3A;&#x20;The&#x20;Reports&#x20;That&#x20;Actually&#x20;Matter"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-google-search-console-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-helpful-content-update-what-google-considers-useful-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-helpful-content-update-was-google-als-nuetzlich-versteht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-helpful-content-update-what-google-considers-useful-content" />
<lastmod>2026-07-12T02:20:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-helpful-content-update-what-google-considers-useful-content.webp</image:loc><image:title>Helpful Content Update: What Google Considers Useful Content</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Helpful&#x20;Content&#x20;Update&#x3A;&#x20;What&#x20;Google&#x20;Considers&#x20;Useful&#x20;Content"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-helpful-content-update-what-google-considers-useful-content.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-implementing-hreflang-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-hreflang-korrekt-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-implementing-hreflang-correctly" />
<lastmod>2026-07-12T02:20:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-implementing-hreflang-correctly.webp</image:loc><image:title>Implementing hreflang Correctly: Avoiding the Most Common Mistakes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;hreflang&#x20;Correctly&#x3A;&#x20;Avoiding&#x20;the&#x20;Most&#x20;Common&#x20;Mistakes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-implementing-hreflang-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-inp-in-detail-why-interactions-are-slow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-inp-deep-dive-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-inp-in-detail-why-interactions-are-slow" />
<lastmod>2026-07-12T02:20:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-inp-in-detail-why-interactions-are-slow.webp</image:loc><image:title>INP in Detail: Why Interactions Are Often Too Slow in Magento Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="INP&#x20;in&#x20;Detail&#x3A;&#x20;Why&#x20;Interactions&#x20;Are&#x20;Often&#x20;Too&#x20;Slow&#x20;in&#x20;Magento&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-inp-in-detail-why-interactions-are-slow.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-international-duplicate-content-traps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-internationale-duplicate-content-fallen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-international-duplicate-content-traps" />
<lastmod>2026-07-12T02:20:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-international-duplicate-content-traps.webp</image:loc><image:title>International Duplicate Content Traps in Multilingual Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="International&#x20;Duplicate&#x20;Content&#x20;Traps&#x20;in&#x20;Multilingual&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-international-duplicate-content-traps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-internal-linking-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-interne-verlinkung-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-internal-linking-strategy" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-internal-linking-strategy.webp</image:loc><image:title>Internal Linking as an SEO Lever: Strategy Instead of Chance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Internal&#x20;Linking&#x20;as&#x20;an&#x20;SEO&#x20;Lever&#x3A;&#x20;Strategy&#x20;Instead&#x20;of&#x20;Chance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-internal-linking-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-internal-vs-external-links-link-equity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-interne-vs-externe-links-gewichtung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-internal-vs-external-links-link-equity" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-internal-vs-external-links-link-equity.webp</image:loc><image:title>Internal vs. External Links: How Google Weighs Link Equity</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Internal&#x20;vs.&#x20;External&#x20;Links&#x3A;&#x20;How&#x20;Google&#x20;Weighs&#x20;Link&#x20;Equity"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-internal-vs-external-links-link-equity.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-javascript-seo-how-google-crawls-client-side-rendered-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-javascript-seo-rendering" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-javascript-seo-how-google-crawls-client-side-rendered-content" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-javascript-seo-how-google-crawls-client-side-rendered-content.webp</image:loc><image:title>JavaScript SEO: How Google Crawls Client-Side Rendered Content</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;SEO&#x3A;&#x20;How&#x20;Google&#x20;Crawls&#x20;Client-Side&#x20;Rendered&#x20;Content"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-javascript-seo-how-google-crawls-client-side-rendered-content.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-category-page-seo-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-kategorieseiten-seo-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-category-page-seo-magento" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-category-page-seo-magento.webp</image:loc><image:title>Category Page SEO in Magento: Text, Filters, Pagination</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Category&#x20;Page&#x20;SEO&#x20;in&#x20;Magento&#x3A;&#x20;Text,&#x20;Filters,&#x20;Pagination"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-category-page-seo-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-keyword-research-methodology</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-keyword-recherche-methodik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-keyword-research-methodology" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-keyword-research-methodology.webp</image:loc><image:title>Keyword Research: A Methodology for Real Search Demand</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Keyword&#x20;Research&#x3A;&#x20;A&#x20;Methodology&#x20;for&#x20;Real&#x20;Search&#x20;Demand"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-keyword-research-methodology.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-link-audits-and-disavow-toxic-backlinks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-linkaudit-disavow-toxische-links" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-link-audits-and-disavow-toxic-backlinks" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-link-audits-and-disavow-toxic-backlinks.webp</image:loc><image:title>Link Audits and Disavow: Detecting Toxic Backlinks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Link&#x20;Audits&#x20;and&#x20;Disavow&#x3A;&#x20;Detecting&#x20;Toxic&#x20;Backlinks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-link-audits-and-disavow-toxic-backlinks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-log-file-analysis-how-google-crawls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-log-file-analyse-wie-google-crawlt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-log-file-analysis-how-google-crawls" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-log-file-analysis-how-google-crawls.webp</image:loc><image:title>Log File Analysis: How Google Actually Crawls Your Store</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Log&#x20;File&#x20;Analysis&#x3A;&#x20;How&#x20;Google&#x20;Actually&#x20;Crawls&#x20;Your&#x20;Store"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-log-file-analysis-how-google-crawls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-magento-seo-extensions-what-actually-helps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-magento-seo-erweiterungen-tools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-magento-seo-extensions-what-actually-helps" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-magento-seo-extensions-what-actually-helps.webp</image:loc><image:title>Magento SEO Extensions: What Actually Helps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;SEO&#x20;Extensions&#x3A;&#x20;What&#x20;Actually&#x20;Helps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-magento-seo-extensions-what-actually-helps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-setting-up-multilingual-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-mehrsprachige-magento-shops-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-setting-up-multilingual-magento-stores" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-setting-up-multilingual-magento-stores.webp</image:loc><image:title>Setting Up Multilingual Magento Stores Correctly for SEO</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;Multilingual&#x20;Magento&#x20;Stores&#x20;Correctly&#x20;for&#x20;SEO"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-setting-up-multilingual-magento-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-mobile-first-indexing-what-it-means-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-mobile-first-indexierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-mobile-first-indexing-what-it-means-for-magento-stores" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-mobile-first-indexing-what-it-means-for-magento-stores.webp</image:loc><image:title>Mobile-First Indexing: A Practical Guide for Magento Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mobile-First&#x20;Indexing&#x3A;&#x20;A&#x20;Practical&#x20;Guide&#x20;for&#x20;Magento&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-mobile-first-indexing-what-it-means-for-magento-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-organization-localbusiness-schema-brand-trust</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-organization-localbusiness-schema-markenvertrauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-organization-localbusiness-schema-brand-trust" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-organization-localbusiness-schema-brand-trust.webp</image:loc><image:title>Organization and LocalBusiness Schema for Greater Brand Trust</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Organization&#x20;and&#x20;LocalBusiness&#x20;Schema&#x20;for&#x20;Greater&#x20;Brand&#x20;Trust"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-organization-localbusiness-schema-brand-trust.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-product-schema-in-detail-price-availability-reviews</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-product-schema-im-detail-preis-verfuegbarkeit-bewertungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-product-schema-in-detail-price-availability-reviews" />
<lastmod>2026-07-12T16:13:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-product-schema-in-detail-price-availability-reviews.webp</image:loc><image:title>Product Schema in Detail: Price, Availability, Reviews</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Product&#x20;Schema&#x20;in&#x20;Detail&#x3A;&#x20;Price,&#x20;Availability,&#x20;Reviews"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-product-schema-in-detail-price-availability-reviews.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-product-page-seo-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-produktseiten-seo-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-product-page-seo-magento" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-product-page-seo-magento.webp</image:loc><image:title>Product Page SEO in Magento: Unique Content Across Thousands of SKUs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Product&#x20;Page&#x20;SEO&#x20;in&#x20;Magento&#x3A;&#x20;Unique&#x20;Content&#x20;Across&#x20;Thousands&#x20;of&#x20;SKUs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-product-page-seo-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-rank-tracking-methodology</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-rank-tracking-methodik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-rank-tracking-methodology" />
<lastmod>2026-07-12T16:07:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-rank-tracking-methodology.webp</image:loc><image:title>Rank Tracking: A Methodology for Reliable Ranking Data</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Rank&#x20;Tracking&#x3A;&#x20;A&#x20;Methodology&#x20;for&#x20;Reliable&#x20;Ranking&#x20;Data"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-rank-tracking-methodology.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-review-schema-adding-star-ratings-correctly-and-within-guidelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-review-schema-bewertungssterne-korrekt-und-richtlinienkonform-einbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-review-schema-adding-star-ratings-correctly-and-within-guidelines" />
<lastmod>2026-07-12T15:40:20+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-review-schema-adding-star-ratings-correctly-and-within-guidelines.webp</image:loc><image:title>Review Schema: Adding Star Ratings Correctly and Within Guidelines</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Review&#x20;Schema&#x3A;&#x20;Adding&#x20;Star&#x20;Ratings&#x20;Correctly&#x20;and&#x20;Within&#x20;Guidelines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-review-schema-adding-star-ratings-correctly-and-within-guidelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-configuring-robots-txt-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-robots-txt-technisches-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-configuring-robots-txt-correctly" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-configuring-robots-txt-correctly.webp</image:loc><image:title>Configuring robots.txt Correctly: Control Crawling Without Losing Rankings</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;robots.txt&#x20;Correctly&#x3A;&#x20;Control&#x20;Crawling&#x20;Without&#x20;Losing&#x20;Rankings"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-configuring-robots-txt-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-schema-org-fundamentals-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-schema-org-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-schema-org-fundamentals-done-right" />
<lastmod>2026-07-12T15:36:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-schema-org-fundamentals-done-right.webp</image:loc><image:title>Schema.org Fundamentals: Structured Data Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Schema.org&#x20;Fundamentals&#x3A;&#x20;Structured&#x20;Data&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-schema-org-fundamentals-done-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-screaming-frog-for-technical-seo-audits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-screaming-frog-technisches-audit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-screaming-frog-for-technical-seo-audits" />
<lastmod>2026-07-12T15:22:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-screaming-frog-for-technical-seo-audits.webp</image:loc><image:title>Using Screaming Frog Correctly for Technical SEO Audits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Screaming&#x20;Frog&#x20;Correctly&#x20;for&#x20;Technical&#x20;SEO&#x20;Audits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-screaming-frog-for-technical-seo-audits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-seo-reporting-the-right-kpis-for-stakeholders</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-seo-reporting-kpis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-seo-reporting-the-right-kpis-for-stakeholders" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-seo-reporting-the-right-kpis-for-stakeholders.webp</image:loc><image:title>SEO Reporting: The Right KPIs for Stakeholders</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SEO&#x20;Reporting&#x3A;&#x20;The&#x20;Right&#x20;KPIs&#x20;for&#x20;Stakeholders"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-seo-reporting-the-right-kpis-for-stakeholders.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-sge-ai-overviews-how-seo-is-changing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-sge-ai-overviews-veraendern-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-sge-ai-overviews-how-seo-is-changing" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-sge-ai-overviews-how-seo-is-changing.webp</image:loc><image:title>SGE and AI Overviews: How AI Search Results Are Changing SEO</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SGE&#x20;and&#x20;AI&#x20;Overviews&#x3A;&#x20;How&#x20;AI&#x20;Search&#x20;Results&#x20;Are&#x20;Changing&#x20;SEO"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-sge-ai-overviews-how-seo-is-changing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-server-side-vs-client-side-rendering-seo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-ssr-vs-csr-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-server-side-vs-client-side-rendering-seo" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-server-side-vs-client-side-rendering-seo.webp</image:loc><image:title>Server-Side vs. Client-Side Rendering from an SEO Perspective</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Server-Side&#x20;vs.&#x20;Client-Side&#x20;Rendering&#x20;from&#x20;an&#x20;SEO&#x20;Perspective"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-server-side-vs-client-side-rendering-seo.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-understanding-search-intent</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-suchintention-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-understanding-search-intent" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-understanding-search-intent.webp</image:loc><image:title>Understanding Search Intent: Why Rankings Fail Without It</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Search&#x20;Intent&#x3A;&#x20;Why&#x20;Rankings&#x20;Fail&#x20;Without&#x20;It"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-understanding-search-intent.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-title-tags-and-meta-descriptions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-title-tags-meta-descriptions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-title-tags-and-meta-descriptions" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-title-tags-and-meta-descriptions.webp</image:loc><image:title>Title Tags and Meta Descriptions That Drive Clicks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Title&#x20;Tags&#x20;and&#x20;Meta&#x20;Descriptions&#x20;That&#x20;Drive&#x20;Clicks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-title-tags-and-meta-descriptions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-voice-search-zero-click-searches</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-voice-search-und-zero-click-suchen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-voice-search-zero-click-searches" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-voice-search-zero-click-searches.webp</image:loc><image:title>Voice Search and Zero-Click Searches: Visibility Without a Click</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Voice&#x20;Search&#x20;and&#x20;Zero-Click&#x20;Searches&#x3A;&#x20;Visibility&#x20;Without&#x20;a&#x20;Click"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-voice-search-zero-click-searches.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo-xml-sitemaps-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo-xml-sitemaps-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo-xml-sitemaps-for-magento-stores" />
<lastmod>2026-07-12T02:20:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-xml-sitemaps-for-magento-stores.webp</image:loc><image:title>XML Sitemaps for Magento Stores: Structure, Prioritization, Submission</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="XML&#x20;Sitemaps&#x20;for&#x20;Magento&#x20;Stores&#x3A;&#x20;Structure,&#x20;Prioritization,&#x20;Submission"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-xml-sitemaps-for-magento-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-alpine-js-performance-patterns-for-hyva-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-alpine-js-performance-patterns-fuer-hyvae-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-alpine-js-performance-patterns-for-hyva-stores" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-alpine-js-performance-patterns-for-hyva-stores.webp</image:loc><image:title>Alpine.js Performance Patterns for Hyvä Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Performance&#x20;Patterns&#x20;for&#x20;Hyv&#xE4;&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-alpine-js-performance-patterns-for-hyva-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-animation-performance-transform-opacity-instead-of-layout-properties</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-animation-performance-transform-opacity-statt-layout-properties" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-animation-performance-transform-opacity-instead-of-layout-properties" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-animation-performance-transform-opacity-instead-of-layout-properties.webp</image:loc><image:title>Animation Performance: transform and opacity Instead of Layout Properties</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Animation&#x20;Performance&#x3A;&#x20;transform&#x20;and&#x20;opacity&#x20;Instead&#x20;of&#x20;Layout&#x20;Properties"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-animation-performance-transform-opacity-instead-of-layout-properties.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-optimizing-api-response-times</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-api-antwortzeiten-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-optimizing-api-response-times" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-optimizing-api-response-times.webp</image:loc><image:title>Optimizing API Response Times: From 500ms to 50ms</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;API&#x20;Response&#x20;Times&#x3A;&#x20;From&#x20;500ms&#x20;to&#x20;50ms"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-optimizing-api-response-times.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-configuring-browser-cache-control-headers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-browser-caching-cache-control-header-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-configuring-browser-cache-control-headers" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-configuring-browser-cache-control-headers.webp</image:loc><image:title>Configuring Browser Caching and Cache-Control Headers Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Browser&#x20;Caching&#x20;and&#x20;Cache-Control&#x20;Headers&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-configuring-browser-cache-control-headers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-cdn-caching-fundamentals-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-cdn-caching-grundlagen-fuer-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-cdn-caching-fundamentals-for-magento-stores" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-cdn-caching-fundamentals-for-magento-stores.webp</image:loc><image:title>CDN Caching Fundamentals for Faster Delivery</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CDN&#x20;Caching&#x20;Fundamentals&#x20;for&#x20;Faster&#x20;Delivery"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-cdn-caching-fundamentals-for-magento-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-code-splitting-and-lazy-loading</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-code-splitting-lazy-loading" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-code-splitting-and-lazy-loading" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-code-splitting-and-lazy-loading.webp</image:loc><image:title>Code Splitting and Lazy Loading for Smaller Bundles</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Code&#x20;Splitting&#x20;and&#x20;Lazy&#x20;Loading&#x20;for&#x20;Smaller&#x20;Bundles"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-code-splitting-and-lazy-loading.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-connection-pooling-and-keep-alive-for-less-overhead</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-connection-pooling-keep-alive-weniger-overhead" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-connection-pooling-and-keep-alive-for-less-overhead" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-connection-pooling-and-keep-alive-for-less-overhead.webp</image:loc><image:title>Connection Pooling and Keep-Alive for Less Overhead</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Connection&#x20;Pooling&#x20;and&#x20;Keep-Alive&#x20;for&#x20;Less&#x20;Overhead"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-connection-pooling-and-keep-alive-for-less-overhead.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-extracting-inlining-critical-css</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-critical-css-extrahieren-inline-ausliefern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-extracting-inlining-critical-css" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-extracting-inlining-critical-css.webp</image:loc><image:title>Extracting and Inlining Critical CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Extracting&#x20;and&#x20;Inlining&#x20;Critical&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-extracting-inlining-critical-css.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-critical-rendering-path-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-kritischer-rendering-pfad" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-critical-rendering-path-explained" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-critical-rendering-path-explained.webp</image:loc><image:title>The Critical Rendering Path in Detail: From HTML to Pixels</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Critical&#x20;Rendering&#x20;Path&#x20;in&#x20;Detail&#x3A;&#x20;From&#x20;HTML&#x20;to&#x20;Pixels"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-critical-rendering-path-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-css-containment-content-visibility-faster-rendering</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-css-containment-content-visibility-schnelleres-rendering" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-css-containment-content-visibility-faster-rendering" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-css-containment-content-visibility-faster-rendering.webp</image:loc><image:title>CSS Containment and content-visibility for Faster Rendering</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Containment&#x20;and&#x20;content-visibility&#x20;for&#x20;Faster&#x20;Rendering"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-css-containment-content-visibility-faster-rendering.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-database-query-optimization-for-php-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-datenbank-query-optimierung-fuer-php-anwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-database-query-optimization-for-php-applications" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-database-query-optimization-for-php-applications.webp</image:loc><image:title>Database Query Optimization for PHP Applications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Database&#x20;Query&#x20;Optimization&#x20;for&#x20;PHP&#x20;Applications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-database-query-optimization-for-php-applications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-debouncing-throttling-event-handlers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-debouncing-throttling-event-handler-entschaerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-debouncing-throttling-event-handlers" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-debouncing-throttling-event-handlers.webp</image:loc><image:title>Debouncing and Throttling: Taming Event Handlers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Debouncing&#x20;and&#x20;Throttling&#x3A;&#x20;Taming&#x20;Event&#x20;Handlers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-debouncing-throttling-event-handlers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-edge-computing-and-cdn-architecture-for-global-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-edge-computing-und-cdn-architektur-fuer-globale-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-edge-computing-and-cdn-architecture-for-global-stores" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-edge-computing-and-cdn-architecture-for-global-stores.webp</image:loc><image:title>Edge Computing and CDN Architecture for Global Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Edge&#x20;Computing&#x20;and&#x20;CDN&#x20;Architecture&#x20;for&#x20;Global&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-edge-computing-and-cdn-architecture-for-global-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-elasticsearch-opensearch-performance-tuning-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-elasticsearch-opensearch-tuning-fuer-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-elasticsearch-opensearch-performance-tuning-for-magento" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-elasticsearch-opensearch-performance-tuning-for-magento.webp</image:loc><image:title>Elasticsearch/OpenSearch Performance Tuning for Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Elasticsearch&#x2F;OpenSearch&#x20;Performance&#x20;Tuning&#x20;for&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-elasticsearch-opensearch-performance-tuning-for-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-font-loading-strategies-without-layout-shift</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-font-loading-strategien-ohne-layout-shift" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-font-loading-strategies-without-layout-shift" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-font-loading-strategies-without-layout-shift.webp</image:loc><image:title>Font Loading Strategies Without Layout Shift</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Font&#x20;Loading&#x20;Strategies&#x20;Without&#x20;Layout&#x20;Shift"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-font-loading-strategies-without-layout-shift.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-full-page-cache-architecture-in-magento-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-full-page-cache-architektur-magento-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-full-page-cache-architecture-in-magento-in-detail" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-full-page-cache-architecture-in-magento-in-detail.webp</image:loc><image:title>Full Page Cache Architecture in Magento in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Full&#x20;Page&#x20;Cache&#x20;Architecture&#x20;in&#x20;Magento&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-full-page-cache-architecture-in-magento-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-gpu-compositing-and-layers-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-gpu-compositing-und-layer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-gpu-compositing-and-layers-explained" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-gpu-compositing-and-layers-explained.webp</image:loc><image:title>GPU Compositing and Layers: Animations Without Jank</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GPU&#x20;Compositing&#x20;and&#x20;Layers&#x3A;&#x20;Animations&#x20;Without&#x20;Jank"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-gpu-compositing-and-layers-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-http2-vs-http3-what-changes-for-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-http2-vs-http3-was-sich-fuer-die-performance-aendert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-http2-vs-http3-what-changes-for-performance" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-http2-vs-http3-what-changes-for-performance.webp</image:loc><image:title>HTTP/2 vs. HTTP/3: What Changes for Performance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="HTTP&#x2F;2&#x20;vs.&#x20;HTTP&#x2F;3&#x3A;&#x20;What&#x20;Changes&#x20;for&#x20;Performance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-http2-vs-http3-what-changes-for-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-image-cdn-architecture-for-automatic-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-image-cdn-architektur-fuer-automatische-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-image-cdn-architecture-for-automatic-optimization" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-image-cdn-architecture-for-automatic-optimization.webp</image:loc><image:title>Image CDN Architecture for Automatic Optimization</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Image&#x20;CDN&#x20;Architecture&#x20;for&#x20;Automatic&#x20;Optimization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-image-cdn-architecture-for-automatic-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-compression-compared-brotli-vs-gzip</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-kompression-brotli-vs-gzip-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-compression-compared-brotli-vs-gzip" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-compression-compared-brotli-vs-gzip.webp</image:loc><image:title>Compression Compared: Brotli vs. Gzip</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Compression&#x20;Compared&#x3A;&#x20;Brotli&#x20;vs.&#x20;Gzip"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-compression-compared-brotli-vs-gzip.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-lazy-loading-beyond-images-iframes-components-routes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-lazy-loading-jenseits-von-bildern-iframes-komponenten-routen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-lazy-loading-beyond-images-iframes-components-routes" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-lazy-loading-beyond-images-iframes-components-routes.webp</image:loc><image:title>Lazy Loading Beyond Images: iframes, Components, Routes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Lazy&#x20;Loading&#x20;Beyond&#x20;Images&#x3A;&#x20;iframes,&#x20;Components,&#x20;Routes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-lazy-loading-beyond-images-iframes-components-routes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-load-testing-methodology-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-load-testing-methodik-fuer-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-load-testing-methodology-for-magento-stores" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-load-testing-methodology-for-magento-stores.webp</image:loc><image:title>Load Testing Methodology for Magento Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Load&#x20;Testing&#x20;Methodology&#x20;for&#x20;Magento&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-load-testing-methodology-for-magento-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-magento-cron-performance-defusing-jobs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-magento-cron-performance-jobs-entschaerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-magento-cron-performance-defusing-jobs" />
<lastmod>2026-07-12T02:35:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-magento-cron-performance-defusing-jobs.webp</image:loc><image:title>Magento Cron Performance: Defusing Jobs Instead of Displacing Them</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Cron&#x20;Performance&#x3A;&#x20;Defusing&#x20;Jobs&#x20;Instead&#x20;of&#x20;Displacing&#x20;Them"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-magento-cron-performance-defusing-jobs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-magento-indexer-performance-schema-updates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-magento-indexer-performance-full-reindex" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-magento-indexer-performance-schema-updates" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-magento-indexer-performance-schema-updates.webp</image:loc><image:title>Magento Indexer Performance: From Full Reindex to Schema Updates</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Indexer&#x20;Performance&#x3A;&#x20;From&#x20;Full&#x20;Reindex&#x20;to&#x20;Schema&#x20;Updates"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-magento-indexer-performance-schema-updates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-magento-profiling-with-blackfire-and-xhprof</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-magento-profiling-mit-blackfire-und-xhprof" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-magento-profiling-with-blackfire-and-xhprof" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-magento-profiling-with-blackfire-and-xhprof.webp</image:loc><image:title>Magento Profiling with Blackfire and Xhprof</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Profiling&#x20;with&#x20;Blackfire&#x20;and&#x20;Xhprof"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-magento-profiling-with-blackfire-and-xhprof.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-main-thread-and-event-loop-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-main-thread-und-event-loop" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-main-thread-and-event-loop-explained" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-main-thread-and-event-loop-explained.webp</image:loc><image:title>Main Thread and Event Loop: Why the Page Hangs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Main&#x20;Thread&#x20;and&#x20;Event&#x20;Loop&#x3A;&#x20;Why&#x20;the&#x20;Page&#x20;Hangs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-main-thread-and-event-loop-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-finding-fixing-javascript-memory-leaks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-memory-leaks-javascript-aufspueren-beheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-finding-fixing-javascript-memory-leaks" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-finding-fixing-javascript-memory-leaks.webp</image:loc><image:title>Finding and Fixing Memory Leaks in JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Finding&#x20;and&#x20;Fixing&#x20;Memory&#x20;Leaks&#x20;in&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-finding-fixing-javascript-memory-leaks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-modern-image-formats-production-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-moderne-bildformate-produktions-pipeline" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-modern-image-formats-production-pipeline" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-modern-image-formats-production-pipeline.webp</image:loc><image:title>Modern Image Formats in the Production Pipeline: WebP, AVIF</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modern&#x20;Image&#x20;Formats&#x20;in&#x20;the&#x20;Production&#x20;Pipeline&#x3A;&#x20;WebP,&#x20;AVIF"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-modern-image-formats-production-pipeline.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-multi-server-and-scaling-architecture-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-multi-server-und-scaling-architektur-fuer-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-multi-server-and-scaling-architecture-for-magento" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-multi-server-and-scaling-architecture-for-magento.webp</image:loc><image:title>Multi-Server and Scaling Architecture for Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi-Server&#x20;and&#x20;Scaling&#x20;Architecture&#x20;for&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-multi-server-and-scaling-architecture-for-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-identifying-and-solving-the-n-plus-1-query-problem</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-n-plus-1-query-problem-erkennen-und-loesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-identifying-and-solving-the-n-plus-1-query-problem" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-identifying-and-solving-the-n-plus-1-query-problem.webp</image:loc><image:title>Identifying and Solving the N+1 Query Problem</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Identifying&#x20;and&#x20;Solving&#x20;the&#x20;N&#x2B;1&#x20;Query&#x20;Problem"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-identifying-and-solving-the-n-plus-1-query-problem.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-defining-and-enforcing-performance-budgets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-performance-budgets-definieren-und-durchsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-defining-and-enforcing-performance-budgets" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-defining-and-enforcing-performance-budgets.webp</image:loc><image:title>Defining and Enforcing Performance Budgets</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Defining&#x20;and&#x20;Enforcing&#x20;Performance&#x20;Budgets"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-defining-and-enforcing-performance-budgets.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-anchoring-performance-budgets-and-governance-in-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-budgets-und-governance-im-team-verankern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-anchoring-performance-budgets-and-governance-in-teams" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-anchoring-performance-budgets-and-governance-in-teams.webp</image:loc><image:title>Anchoring Performance Budgets and Governance in the Team</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Anchoring&#x20;Performance&#x20;Budgets&#x20;and&#x20;Governance&#x20;in&#x20;the&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-anchoring-performance-budgets-and-governance-in-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-establishing-a-performance-culture-in-the-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-performance-kultur-im-team-etablieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-establishing-a-performance-culture-in-the-team" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-establishing-a-performance-culture-in-the-team.webp</image:loc><image:title>Establishing a Performance Culture in the Team Instead of a One-Off Project</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Establishing&#x20;a&#x20;Performance&#x20;Culture&#x20;in&#x20;the&#x20;Team&#x20;Instead&#x20;of&#x20;a&#x20;One-Off&#x20;Project"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-establishing-a-performance-culture-in-the-team.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-regression-testing-in-the-ci-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-regressionstests-in-der-ci-pipeline" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-regression-testing-in-the-ci-pipeline" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-regression-testing-in-the-ci-pipeline.webp</image:loc><image:title>Performance Regression Testing in the CI Pipeline</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Performance&#x20;Regression&#x20;Testing&#x20;in&#x20;the&#x20;CI&#x20;Pipeline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-regression-testing-in-the-ci-pipeline.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-prerendering-ssg-hybrid-strategies-for-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-prerendering-ssg-hybrid-strategien-fuer-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-prerendering-ssg-hybrid-strategies-for-stores" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-prerendering-ssg-hybrid-strategies-for-stores.webp</image:loc><image:title>Prerendering and SSG Hybrid Strategies for Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Prerendering&#x20;and&#x20;SSG&#x20;Hybrid&#x20;Strategies&#x20;for&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-prerendering-ssg-hybrid-strategies-for-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-progressive-web-apps-performance-patterns-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-progressive-web-apps-performance-patterns-fuer-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-progressive-web-apps-performance-patterns-for-magento" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-progressive-web-apps-performance-patterns-for-magento.webp</image:loc><image:title>Progressive Web Apps: Performance Patterns for Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Progressive&#x20;Web&#x20;Apps&#x3A;&#x20;Performance&#x20;Patterns&#x20;for&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-progressive-web-apps-performance-patterns-for-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-setting-up-real-user-monitoring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-real-user-monitoring-technisch-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-setting-up-real-user-monitoring" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-setting-up-real-user-monitoring.webp</image:loc><image:title>Setting Up Real User Monitoring (RUM) Technically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;Real&#x20;User&#x20;Monitoring&#x20;&#x28;RUM&#x29;&#x20;Technically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-setting-up-real-user-monitoring.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-using-redis-as-a-caching-layer-in-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-redis-caching-layer-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-using-redis-as-a-caching-layer-in-magento" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-using-redis-as-a-caching-layer-in-magento.webp</image:loc><image:title>Using Redis as a Caching Layer in Magento Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Redis&#x20;as&#x20;a&#x20;Caching&#x20;Layer&#x20;in&#x20;Magento&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-using-redis-as-a-caching-layer-in-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-avoiding-reflow-repaint-layout-thrashing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-reflow-repaint-layout-thrashing-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-avoiding-reflow-repaint-layout-thrashing" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-avoiding-reflow-repaint-layout-thrashing.webp</image:loc><image:title>Avoiding Reflow, Repaint, and Layout Thrashing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Reflow,&#x20;Repaint,&#x20;and&#x20;Layout&#x20;Thrashing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-avoiding-reflow-repaint-layout-thrashing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-using-resource-hints-preload-prefetch-preconnect</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-resource-hints-preload-prefetch-preconnect-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-using-resource-hints-preload-prefetch-preconnect" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-using-resource-hints-preload-prefetch-preconnect.webp</image:loc><image:title>Using Resource Hints Correctly: preload, prefetch, preconnect</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Resource&#x20;Hints&#x20;Correctly&#x3A;&#x20;preload,&#x20;prefetch,&#x20;preconnect"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-using-resource-hints-preload-prefetch-preconnect.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-responsive-images-in-detail-srcset-sizes-picture-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-responsive-images-im-detail-srcset-sizes-picture" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-responsive-images-in-detail-srcset-sizes-picture-explained" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-responsive-images-in-detail-srcset-sizes-picture-explained.webp</image:loc><image:title>Responsive Images in Detail: srcset, sizes, picture</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Responsive&#x20;Images&#x20;in&#x20;Detail&#x3A;&#x20;srcset,&#x20;sizes,&#x20;picture"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-responsive-images-in-detail-srcset-sizes-picture-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-layering-server-side-caching-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-server-seitige-caching-layer-schichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-layering-server-side-caching-correctly" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-layering-server-side-caching-correctly.webp</image:loc><image:title>Layering Server-Side Caching Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Layering&#x20;Server-Side&#x20;Caching&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-layering-server-side-caching-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-service-worker-and-cache-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-service-worker-cache-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-service-worker-and-cache-api" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-service-worker-and-cache-api.webp</image:loc><image:title>Service Worker and Cache API for Offline-First Strategies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Service&#x20;Worker&#x20;and&#x20;Cache&#x20;API&#x20;for&#x20;Offline-First&#x20;Strategies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-service-worker-and-cache-api.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-synthetic-monitoring-with-lighthouse-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-synthetic-monitoring-mit-lighthouse-ci" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-synthetic-monitoring-with-lighthouse-ci" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-synthetic-monitoring-with-lighthouse-ci.webp</image:loc><image:title>Synthetic Monitoring with Lighthouse CI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Synthetic&#x20;Monitoring&#x20;with&#x20;Lighthouse&#x20;CI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-synthetic-monitoring-with-lighthouse-ci.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-tailwind-css-purge-and-jit-understanding-the-performance-impact</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-tailwind-css-purge-und-jit-performance-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-tailwind-css-purge-and-jit-understanding-the-performance-impact" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-tailwind-css-purge-and-jit-understanding-the-performance-impact.webp</image:loc><image:title>Tailwind CSS Purge and JIT: Understanding the Performance Impact</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Purge&#x20;and&#x20;JIT&#x3A;&#x20;Understanding&#x20;the&#x20;Performance&#x20;Impact"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-tailwind-css-purge-and-jit-understanding-the-performance-impact.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-managing-third-party-scripts-without-losing-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-third-party-skripte-verwalten-ohne-performance-verlust" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-managing-third-party-scripts-without-losing-performance" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-managing-third-party-scripts-without-losing-performance.webp</image:loc><image:title>Managing Third-Party Scripts Without Losing Performance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;Third-Party&#x20;Scripts&#x20;Without&#x20;Losing&#x20;Performance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-managing-third-party-scripts-without-losing-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-tree-shaking-and-bundle-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-tree-shaking-bundle-analyse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-tree-shaking-and-bundle-analysis" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-tree-shaking-and-bundle-analysis.webp</image:loc><image:title>Tree Shaking and Bundle Analysis in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tree&#x20;Shaking&#x20;and&#x20;Bundle&#x20;Analysis&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-tree-shaking-and-bundle-analysis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-varnish-and-magento-full-page-cache-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-varnish-und-magento-full-page-cache-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-varnish-and-magento-full-page-cache-in-detail" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-varnish-and-magento-full-page-cache-in-detail.webp</image:loc><image:title>Varnish and Magento Full Page Cache in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Varnish&#x20;and&#x20;Magento&#x20;Full&#x20;Page&#x20;Cache&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-varnish-and-magento-full-page-cache-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-optimizing-video-performance-without-a-load-time-explosion</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-video-performance-optimieren-ohne-ladezeit-explosion" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-optimizing-video-performance-without-a-load-time-explosion" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-optimizing-video-performance-without-a-load-time-explosion.webp</image:loc><image:title>Optimizing Video Performance Without a Load Time Explosion</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;Video&#x20;Performance&#x20;Without&#x20;a&#x20;Load&#x20;Time&#x20;Explosion"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-optimizing-video-performance-without-a-load-time-explosion.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-web-workers-offloading-heavy-computation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/performance-web-workers-berechnungen-vom-main-thread-auslagern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-web-workers-offloading-heavy-computation" />
<lastmod>2026-07-12T02:35:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-web-workers-offloading-heavy-computation.webp</image:loc><image:title>Web Workers: Offloading Heavy Computation from the Main Thread</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Web&#x20;Workers&#x3A;&#x20;Offloading&#x20;Heavy&#x20;Computation&#x20;from&#x20;the&#x20;Main&#x20;Thread"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-web-workers-offloading-heavy-computation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-automating-accessibility-testing-axe-core</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-accessibility-testing-automatisieren-mit-axe-core" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-automating-accessibility-testing-axe-core" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-automating-accessibility-testing-axe-core.webp</image:loc><image:title>Automating Accessibility Testing with axe-core</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;Accessibility&#x20;Testing&#x20;with&#x20;axe-core"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-automating-accessibility-testing-axe-core.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-api-testing-with-e2e-tools-instead-of-separate-tool</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-api-testing-mit-e2e-tools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-api-testing-with-e2e-tools-instead-of-separate-tool" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-api-testing-with-e2e-tools-instead-of-separate-tool.webp</image:loc><image:title>API Testing with Cypress and Playwright Instead of a Separate Tool</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Testing&#x20;with&#x20;Cypress&#x20;and&#x20;Playwright&#x20;Instead&#x20;of&#x20;a&#x20;Separate&#x20;Tool"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-api-testing-with-e2e-tools-instead-of-separate-tool.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-contract-testing-with-pact</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-contract-testing-mit-pact" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-contract-testing-with-pact" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-contract-testing-with-pact.webp</image:loc><image:title>Contract Testing with Pact: Securing Interfaces</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Contract&#x20;Testing&#x20;with&#x20;Pact&#x3A;&#x20;Securing&#x20;Interfaces"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-contract-testing-with-pact.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-integrating-cypress-into-the-ci-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-cypress-in-der-ci-pipeline-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-integrating-cypress-into-the-ci-pipeline" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-integrating-cypress-into-the-ci-pipeline.webp</image:loc><image:title>Reliably Integrating Cypress into the CI Pipeline</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reliably&#x20;Integrating&#x20;Cypress&#x20;into&#x20;the&#x20;CI&#x20;Pipeline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-integrating-cypress-into-the-ci-pipeline.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-cypress-component-testing-instead-of-just-e2e</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-cypress-component-testing-statt-nur-e2e" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-cypress-component-testing-instead-of-just-e2e" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-cypress-component-testing-instead-of-just-e2e.webp</image:loc><image:title>Component Testing with Cypress Instead of Just E2E</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Component&#x20;Testing&#x20;with&#x20;Cypress&#x20;Instead&#x20;of&#x20;Just&#x20;E2E"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-cypress-component-testing-instead-of-just-e2e.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-cypress-custom-commands-reusable-testing-building-blocks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-cypress-custom-commands-wiederverwendbare-testbausteine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-cypress-custom-commands-reusable-testing-building-blocks" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-cypress-custom-commands-reusable-testing-building-blocks.webp</image:loc><image:title>Cypress Custom Commands: Reusable Testing Building Blocks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cypress&#x20;Custom&#x20;Commands&#x3A;&#x20;Reusable&#x20;Testing&#x20;Building&#x20;Blocks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-cypress-custom-commands-reusable-testing-building-blocks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-cypress-network-stubbing-with-cy-intercept</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-cypress-netzwerk-stubbing-mit-cy-intercept" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-cypress-network-stubbing-with-cy-intercept" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-cypress-network-stubbing-with-cy-intercept.webp</image:loc><image:title>Cypress Network Stubbing with cy.intercept()</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cypress&#x20;Network&#x20;Stubbing&#x20;with&#x20;cy.intercept&#x28;&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-cypress-network-stubbing-with-cy-intercept.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-cypress-setup-and-fundamentals-for-magento-frontends</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-cypress-setup-und-grundlagen-fuer-magento-frontends" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-cypress-setup-and-fundamentals-for-magento-frontends" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-cypress-setup-and-fundamentals-for-magento-frontends.webp</image:loc><image:title>Cypress Setup and Fundamentals for Magento Frontends</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cypress&#x20;Setup&#x20;and&#x20;Fundamentals&#x20;for&#x20;Magento&#x20;Frontends"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-cypress-setup-and-fundamentals-for-magento-frontends.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-making-database-seeding-for-e2e-tests-reproducible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-datenbank-seeding-fuer-e2e-tests-reproduzierbar-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-making-database-seeding-for-e2e-tests-reproducible" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-making-database-seeding-for-e2e-tests-reproducible.webp</image:loc><image:title>Making Database Seeding for E2E Tests Reproducible</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;Database&#x20;Seeding&#x20;for&#x20;E2E&#x20;Tests&#x20;Reproducible"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-making-database-seeding-for-e2e-tests-reproducible.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-device-emulation-vs-real-devices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-device-emulation-vs-echte-geraete" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-device-emulation-vs-real-devices" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-device-emulation-vs-real-devices.webp</image:loc><image:title>Device Emulation vs. Real Devices: When Each Is Needed</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Device&#x20;Emulation&#x20;vs.&#x20;Real&#x20;Devices&#x3A;&#x20;When&#x20;Each&#x20;Is&#x20;Needed"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-device-emulation-vs-real-devices.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-gdpr-compliant-test-data-instead-of-production-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-dsgvo-konforme-testdaten-statt-produktivdaten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-gdpr-compliant-test-data-instead-of-production-data" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-gdpr-compliant-test-data-instead-of-production-data.webp</image:loc><image:title>GDPR-Compliant Test Data Instead of Production Data Copies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GDPR-Compliant&#x20;Test&#x20;Data&#x20;Instead&#x20;of&#x20;Production&#x20;Data&#x20;Copies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-gdpr-compliant-test-data-instead-of-production-data.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-running-e2e-tests-reliably-in-gitlab-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-e2e-tests-in-gitlab-ci-zuverlaessig-ausfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-running-e2e-tests-reliably-in-gitlab-ci" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-running-e2e-tests-reliably-in-gitlab-ci.webp</image:loc><image:title>Running E2E Tests Reliably in GitLab CI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Running&#x20;E2E&#x20;Tests&#x20;Reliably&#x20;in&#x20;GitLab&#x20;CI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-running-e2e-tests-reliably-in-gitlab-ci.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-mocking-external-apis-in-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-externe-apis-in-tests-mocken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-mocking-external-apis-in-tests" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-mocking-external-apis-in-tests.webp</image:loc><image:title>Mocking External APIs in Tests Instead of Risking Real Calls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mocking&#x20;External&#x20;APIs&#x20;in&#x20;Tests&#x20;Instead&#x20;of&#x20;Risking&#x20;Real&#x20;Calls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-mocking-external-apis-in-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-fixtures-vs-factories-generating-test-data-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-fixtures-vs-factories-testdaten-richtig-erzeugen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-fixtures-vs-factories-generating-test-data-correctly" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-fixtures-vs-factories-generating-test-data-correctly.webp</image:loc><image:title>Fixtures vs. Factories: Generating Test Data Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Fixtures&#x20;vs.&#x20;Factories&#x3A;&#x20;Generating&#x20;Test&#x20;Data&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-fixtures-vs-factories-generating-test-data-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-avoiding-flaky-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-flaky-tests-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-avoiding-flaky-tests" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-avoiding-flaky-tests.webp</image:loc><image:title>Avoiding Flaky Tests: Causes and Robust Solutions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Flaky&#x20;Tests&#x3A;&#x20;Causes&#x20;and&#x20;Robust&#x20;Solutions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-avoiding-flaky-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-graphql-testing-strategy-for-magento-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-graphql-testing-strategie-fuer-magento-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-graphql-testing-strategy-for-magento-apis" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-graphql-testing-strategy-for-magento-apis.webp</image:loc><image:title>GraphQL Testing Strategy for Magento APIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Testing&#x20;Strategy&#x20;for&#x20;Magento&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-graphql-testing-strategy-for-magento-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-hyva-specific-testing-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-hyvae-spezifisches-testing-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-hyva-specific-testing-alpine-js" />
<lastmod>2026-07-12T02:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-hyva-specific-testing-alpine-js.webp</image:loc><image:title>Hyvä-Specific Testing: Securing Alpine.js Interactions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;-Specific&#x20;Testing&#x3A;&#x20;Securing&#x20;Alpine.js&#x20;Interactions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-hyva-specific-testing-alpine-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-ice-cream-cone-anti-pattern-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-ice-cream-cone-anti-pattern-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-ice-cream-cone-anti-pattern-explained" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-ice-cream-cone-anti-pattern-explained.webp</image:loc><image:title>Recognizing and Reversing the Ice-Cream-Cone Anti-Pattern</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Recognizing&#x20;and&#x20;Reversing&#x20;the&#x20;Ice-Cream-Cone&#x20;Anti-Pattern"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-ice-cream-cone-anti-pattern-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-magento-admin-workflows-end-to-end</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-magento-admin-workflows-end-to-end-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-magento-admin-workflows-end-to-end" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-magento-admin-workflows-end-to-end.webp</image:loc><image:title>Testing Magento Admin Workflows End-to-End</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;Magento&#x20;Admin&#x20;Workflows&#x20;End-to-End"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-magento-admin-workflows-end-to-end.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-magento-checkout-flow-end-to-end</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-magento-checkout-flow-end-to-end-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-magento-checkout-flow-end-to-end" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-magento-checkout-flow-end-to-end.webp</image:loc><image:title>Testing the Magento Checkout Flow End-to-End</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;the&#x20;Magento&#x20;Checkout&#x20;Flow&#x20;End-to-End"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-magento-checkout-flow-end-to-end.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-magento-functional-testing-framework-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-mftf-magento-functional-testing-framework-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-magento-functional-testing-framework-explained" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-magento-functional-testing-framework-explained.webp</image:loc><image:title>MFTF: The Magento Functional Testing Framework in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MFTF&#x3A;&#x20;The&#x20;Magento&#x20;Functional&#x20;Testing&#x20;Framework&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-magento-functional-testing-framework-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-mobile-web-strategy-for-responsive-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-mobile-web-strategie-fuer-responsive-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-mobile-web-strategy-for-responsive-stores" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-mobile-web-strategy-for-responsive-stores.webp</image:loc><image:title>Mobile Web Testing Strategy for Responsive Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mobile&#x20;Web&#x20;Testing&#x20;Strategy&#x20;for&#x20;Responsive&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-mobile-web-strategy-for-responsive-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-multi-store-testing-strategy-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-multi-store-testing-strategie-fuer-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-multi-store-testing-strategy-for-magento-stores" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-multi-store-testing-strategy-for-magento-stores.webp</image:loc><image:title>Multi-Store Testing Strategy for Magento Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi-Store&#x20;Testing&#x20;Strategy&#x20;for&#x20;Magento&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-multi-store-testing-strategy-for-magento-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-mutation-testing-do-your-tests-actually-test-anything</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-mutation-testing-grundlagen-testet-eure-tests-wirklich-etwas" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-mutation-testing-do-your-tests-actually-test-anything" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-mutation-testing-do-your-tests-actually-test-anything.webp</image:loc><image:title>Mutation Testing: Do Your Tests Actually Test Anything?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mutation&#x20;Testing&#x3A;&#x20;Do&#x20;Your&#x20;Tests&#x20;Actually&#x20;Test&#x20;Anything&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-mutation-testing-do-your-tests-actually-test-anything.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-using-the-page-object-pattern-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-page-object-pattern-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-using-the-page-object-pattern-correctly" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-using-the-page-object-pattern-correctly.webp</image:loc><image:title>Using the Page Object Pattern Correctly Instead of Overengineering It</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;the&#x20;Page&#x20;Object&#x20;Pattern&#x20;Correctly&#x20;Instead&#x20;of&#x20;Overengineering&#x20;It"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-using-the-page-object-pattern-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-parallel-test-execution-for-faster-ci-runs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-parallele-testausfuehrung-fuer-schnellere-ci-laeufe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-parallel-test-execution-for-faster-ci-runs" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-parallel-test-execution-for-faster-ci-runs.webp</image:loc><image:title>Parallel Test Execution for Faster CI Runs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Parallel&#x20;Test&#x20;Execution&#x20;for&#x20;Faster&#x20;CI&#x20;Runs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-parallel-test-execution-for-faster-ci-runs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-understanding-playwright-auto-waiting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-playwright-auto-waiting-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-understanding-playwright-auto-waiting" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-understanding-playwright-auto-waiting.webp</image:loc><image:title>Understanding Playwright Auto-Waiting Instead of Using sleep()</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Playwright&#x20;Auto-Waiting&#x20;Instead&#x20;of&#x20;Using&#x20;sleep&#x28;&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-understanding-playwright-auto-waiting.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-cross-browser-testing-with-playwright</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-cross-browser-testing-mit-playwright" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-cross-browser-testing-with-playwright" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-cross-browser-testing-with-playwright.webp</image:loc><image:title>Cross-Browser Testing with Playwright</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cross-Browser&#x20;Testing&#x20;with&#x20;Playwright"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-cross-browser-testing-with-playwright.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-playwright-fixtures-for-clean-test-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-playwright-fixtures-fuer-saubere-testisolation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-playwright-fixtures-for-clean-test-isolation" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-playwright-fixtures-for-clean-test-isolation.webp</image:loc><image:title>Playwright Fixtures for Clean Test Isolation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Playwright&#x20;Fixtures&#x20;for&#x20;Clean&#x20;Test&#x20;Isolation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-playwright-fixtures-for-clean-test-isolation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-playwright-setup-and-fundamentals-vs-cypress</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-playwright-setup-und-grundlagen-vs-cypress" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-playwright-setup-and-fundamentals-vs-cypress" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-playwright-setup-and-fundamentals-vs-cypress.webp</image:loc><image:title>Playwright Setup and Fundamentals Compared to Cypress</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Playwright&#x20;Setup&#x20;and&#x20;Fundamentals&#x20;Compared&#x20;to&#x20;Cypress"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-playwright-setup-and-fundamentals-vs-cypress.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-playwright-trace-viewer-debugging-failed-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-playwright-trace-viewer-fehlgeschlagene-tests-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-playwright-trace-viewer-debugging-failed-tests" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-playwright-trace-viewer-debugging-failed-tests.webp</image:loc><image:title>Playwright Trace Viewer: Debugging Failed Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Playwright&#x20;Trace&#x20;Viewer&#x3A;&#x20;Debugging&#x20;Failed&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-playwright-trace-viewer-debugging-failed-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-property-based-testing-complement-to-example-based-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-property-based-testing-ergaenzung-zu-beispiel-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-property-based-testing-complement-to-example-based-tests" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-property-based-testing-complement-to-example-based-tests.webp</image:loc><image:title>Property-Based Testing as a Complement to Example-Based Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Property-Based&#x20;Testing&#x20;as&#x20;a&#x20;Complement&#x20;to&#x20;Example-Based&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-property-based-testing-complement-to-example-based-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-pwa-testing-strategy-for-offline-install-and-service-worker</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-pwa-testing-strategie-offline-install-service-worker" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-pwa-testing-strategy-for-offline-install-and-service-worker" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-pwa-testing-strategy-for-offline-install-and-service-worker.webp</image:loc><image:title>PWA Testing Strategy: Offline, Install, Service Worker</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PWA&#x20;Testing&#x20;Strategy&#x3A;&#x20;Offline,&#x20;Install,&#x20;Service&#x20;Worker"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-pwa-testing-strategy-for-offline-install-and-service-worker.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-systematic-responsive-breakpoint-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-responsive-breakpoints-systematisch-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-systematic-responsive-breakpoint-testing" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-systematic-responsive-breakpoint-testing.webp</image:loc><image:title>Systematically Testing Responsive Breakpoints</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Systematically&#x20;Testing&#x20;Responsive&#x20;Breakpoints"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-systematic-responsive-breakpoint-testing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-automating-responsive-testing-breakpoints</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-responsive-testing-automatisieren-breakpoints" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-automating-responsive-testing-breakpoints" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-automating-responsive-testing-breakpoints.webp</image:loc><image:title>Automating Responsive Testing Across Breakpoints</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;Responsive&#x20;Testing&#x20;Across&#x20;Breakpoints"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-automating-responsive-testing-breakpoints.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-automating-schema-validation-in-api-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-schema-validierung-in-api-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-automating-schema-validation-in-api-tests" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-automating-schema-validation-in-api-tests.webp</image:loc><image:title>Automating Schema Validation in API Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;Schema&#x20;Validation&#x20;in&#x20;API&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-automating-schema-validation-in-api-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-screenshot-testing-strategy-without-false-positives</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-screenshot-testing-strategie-ohne-staendige-false-positives" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-screenshot-testing-strategy-without-false-positives" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-screenshot-testing-strategy-without-false-positives.webp</image:loc><image:title>Screenshot Testing Strategy Without Constant False Positives</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Screenshot&#x20;Testing&#x20;Strategy&#x20;Without&#x20;Constant&#x20;False&#x20;Positives"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-screenshot-testing-strategy-without-false-positives.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-running-only-affected-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-nur-betroffene-tests-ausfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-running-only-affected-tests" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-running-only-affected-tests.webp</image:loc><image:title>Selective Testing: Running Only Affected Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Selective&#x20;Testing&#x3A;&#x20;Running&#x20;Only&#x20;Affected&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-running-only-affected-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-shift-left-testing-culture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-shift-left-testing-kultur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-shift-left-testing-culture" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-shift-left-testing-culture.webp</image:loc><image:title>Shift-Left Testing Culture: Moving Quality Before the Test Step</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Shift-Left&#x20;Testing&#x20;Culture&#x3A;&#x20;Moving&#x20;Quality&#x20;Before&#x20;the&#x20;Test&#x20;Step"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-shift-left-testing-culture.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-measuring-test-coverage-meaningfully</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-test-coverage-sinnvoll-messen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-measuring-test-coverage-meaningfully" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-measuring-test-coverage-meaningfully.webp</image:loc><image:title>Measuring Test Coverage Meaningfully Instead of Chasing Numbers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Measuring&#x20;Test&#x20;Coverage&#x20;Meaningfully&#x20;Instead&#x20;of&#x20;Chasing&#x20;Numbers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-measuring-test-coverage-meaningfully.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-ensuring-test-isolation-between-test-runs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-test-isolation-zwischen-testlaeufen-sicherstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-ensuring-test-isolation-between-test-runs" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-ensuring-test-isolation-between-test-runs.webp</image:loc><image:title>Ensuring Test Isolation Between Test Runs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Ensuring&#x20;Test&#x20;Isolation&#x20;Between&#x20;Test&#x20;Runs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-ensuring-test-isolation-between-test-runs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-test-pyramid-where-e2e-belongs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-testpyramide-e2e-einordnung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-test-pyramid-where-e2e-belongs" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-test-pyramid-where-e2e-belongs.webp</image:loc><image:title>The Test Pyramid: Where E2E Tests Really Belong</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Test&#x20;Pyramid&#x3A;&#x20;Where&#x20;E2E&#x20;Tests&#x20;Really&#x20;Belong"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-test-pyramid-where-e2e-belongs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-establishing-the-test-pyramid-in-the-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-test-pyramide-im-team-etablieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-establishing-the-test-pyramid-in-the-team" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-establishing-the-test-pyramid-in-the-team.webp</image:loc><image:title>Establishing the Test Pyramid in the Team Instead of Just Documenting It</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Establishing&#x20;the&#x20;Test&#x20;Pyramid&#x20;in&#x20;the&#x20;Team&#x20;Instead&#x20;of&#x20;Just&#x20;Documenting&#x20;It"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-establishing-the-test-pyramid-in-the-team.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-test-reports-and-dashboards-for-the-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-test-reports-und-dashboards-fuers-team" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-test-reports-and-dashboards-for-the-team" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-test-reports-and-dashboards-for-the-team.webp</image:loc><image:title>Test Reports and Dashboards for the Whole Team</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Test&#x20;Reports&#x20;and&#x20;Dashboards&#x20;for&#x20;the&#x20;Whole&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-test-reports-and-dashboards-for-the-team.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-test-retry-strategies-without-masking-flakiness</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-test-retry-strategien-ohne-flakiness-zu-verschleiern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-test-retry-strategies-without-masking-flakiness" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-test-retry-strategies-without-masking-flakiness.webp</image:loc><image:title>Test Retry Strategies Without Masking Flakiness</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Test&#x20;Retry&#x20;Strategies&#x20;Without&#x20;Masking&#x20;Flakiness"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-test-retry-strategies-without-masking-flakiness.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-test-data-management-strategies-for-e2e-suites</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-testdaten-management-strategien-fuer-e2e-suiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-test-data-management-strategies-for-e2e-suites" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-test-data-management-strategies-for-e2e-suites.webp</image:loc><image:title>Test Data Management Strategies for E2E Suites</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Test&#x20;Data&#x20;Management&#x20;Strategies&#x20;for&#x20;E2E&#x20;Suites"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-test-data-management-strategies-for-e2e-suites.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-automating-touch-interactions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-touch-interaktionen-automatisiert-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-automating-touch-interactions" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-automating-touch-interactions.webp</image:loc><image:title>Automating Touch Interaction Testing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;Touch&#x20;Interaction&#x20;Testing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-automating-touch-interactions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-visual-regression-testing-catching-layout-bugs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-visual-regression-testing-layout-bugs-automatisch-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-visual-regression-testing-catching-layout-bugs" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-visual-regression-testing-catching-layout-bugs.webp</image:loc><image:title>Visual Regression Testing: Automatically Catching Layout Bugs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Visual&#x20;Regression&#x20;Testing&#x3A;&#x20;Automatically&#x20;Catching&#x20;Layout&#x20;Bugs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-visual-regression-testing-catching-layout-bugs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-visual-testing-tools-compared-percy-chromatic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-visual-testing-tools-vergleich-percy-chromatic" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-visual-testing-tools-compared-percy-chromatic" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-visual-testing-tools-compared-percy-chromatic.webp</image:loc><image:title>Visual Testing Tools Compared: Percy, Chromatic, and Alternatives</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Visual&#x20;Testing&#x20;Tools&#x20;Compared&#x3A;&#x20;Percy,&#x20;Chromatic,&#x20;and&#x20;Alternatives"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-visual-testing-tools-compared-percy-chromatic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-when-e2e-tests-make-sense</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/testing-wann-e2e-tests-sinnvoll-sind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-when-e2e-tests-make-sense" />
<lastmod>2026-07-12T02:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-when-e2e-tests-make-sense.webp</image:loc><image:title>When E2E Tests Make Sense and When They Hurt</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="When&#x20;E2E&#x20;Tests&#x20;Make&#x20;Sense&#x20;and&#x20;When&#x20;They&#x20;Hurt"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-when-e2e-tests-make-sense.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-api-key-management-issuance-rotation-revocation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-api-schluessel-verwaltung-ausgabe-rotation-widerruf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-api-key-management-issuance-rotation-revocation" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-api-key-management-issuance-rotation-revocation.webp</image:loc><image:title>API Key Management: Issuance, Rotation, Revocation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Key&#x20;Management&#x3A;&#x20;Issuance,&#x20;Rotation,&#x20;Revocation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-api-key-management-issuance-rotation-revocation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-api-rate-limiting-against-abuse-and-overload</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-api-rate-limiting-gegen-missbrauch-und-overload" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-api-rate-limiting-against-abuse-and-overload" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-api-rate-limiting-against-abuse-and-overload.webp</image:loc><image:title>API Rate Limiting Against Abuse and Overload</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Rate&#x20;Limiting&#x20;Against&#x20;Abuse&#x20;and&#x20;Overload"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-api-rate-limiting-against-abuse-and-overload.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-broken-access-control-most-common-owasp-vulnerability</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-broken-access-control-haeufigste-owasp-schwachstelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-broken-access-control-most-common-owasp-vulnerability" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-broken-access-control-most-common-owasp-vulnerability.webp</image:loc><image:title>Broken Access Control: The Most Common OWASP Top 10 Vulnerability</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Broken&#x20;Access&#x20;Control&#x3A;&#x20;The&#x20;Most&#x20;Common&#x20;OWASP&#x20;Top&#x20;10&#x20;Vulnerability"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-broken-access-control-most-common-owasp-vulnerability.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-brute-force-protection-rate-limiting-lockout-captcha</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-brute-force-schutz-rate-limiting-lockout-captcha" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-brute-force-protection-rate-limiting-lockout-captcha" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-brute-force-protection-rate-limiting-lockout-captcha.webp</image:loc><image:title>Brute-Force Protection: Rate Limiting, Lockout, CAPTCHA</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Brute-Force&#x20;Protection&#x3A;&#x20;Rate&#x20;Limiting,&#x20;Lockout,&#x20;CAPTCHA"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-brute-force-protection-rate-limiting-lockout-captcha.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-understanding-bug-bounty-programs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-bug-bounty-programme-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-understanding-bug-bounty-programs" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-understanding-bug-bounty-programs.webp</image:loc><image:title>Understanding and Effectively Using Bug Bounty Programs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;and&#x20;Effectively&#x20;Using&#x20;Bug&#x20;Bounty&#x20;Programs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-understanding-bug-bounty-programs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-clickjacking-protection-frame-busting-csp-frame-ancestors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-clickjacking-schutz-frame-busting-csp-frame-ancestors" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-clickjacking-protection-frame-busting-csp-frame-ancestors" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-clickjacking-protection-frame-busting-csp-frame-ancestors.webp</image:loc><image:title>Clickjacking Protection: Frame-Busting and CSP frame-ancestors</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Clickjacking&#x20;Protection&#x3A;&#x20;Frame-Busting&#x20;and&#x20;CSP&#x20;frame-ancestors"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-clickjacking-protection-frame-busting-csp-frame-ancestors.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-avoiding-command-injection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-command-injection-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-avoiding-command-injection" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-avoiding-command-injection.webp</image:loc><image:title>Avoiding Command Injection: escapeshellarg and Alternatives</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Command&#x20;Injection&#x3A;&#x20;escapeshellarg&#x20;and&#x20;Alternatives"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-avoiding-command-injection.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-building-a-content-security-policy-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-content-security-policy-von-grund-auf-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-building-a-content-security-policy-from-scratch" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-building-a-content-security-policy-from-scratch.webp</image:loc><image:title>Building a Content Security Policy (CSP) from Scratch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Content&#x20;Security&#x20;Policy&#x20;&#x28;CSP&#x29;&#x20;from&#x20;Scratch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-building-a-content-security-policy-from-scratch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-implementing-cookie-consent-technically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-cookie-consent-technisch-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-implementing-cookie-consent-technically" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-implementing-cookie-consent-technically.webp</image:loc><image:title>Implementing Cookie Consent Cleanly, Technically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Cookie&#x20;Consent&#x20;Cleanly,&#x20;Technically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-implementing-cookie-consent-technically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-configuring-cors-correctly-without-security-holes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-cors-richtig-konfigurieren-ohne-sicherheitsluecken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-configuring-cors-correctly-without-security-holes" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-configuring-cors-correctly-without-security-holes.webp</image:loc><image:title>Configuring CORS Correctly Without Security Holes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;CORS&#x20;Correctly&#x20;Without&#x20;Security&#x20;Holes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-configuring-cors-correctly-without-security-holes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-implementing-csrf-protection-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-csrf-schutz-richtig-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-implementing-csrf-protection-correctly" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-implementing-csrf-protection-correctly.webp</image:loc><image:title>Implementing CSRF Protection Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;CSRF&#x20;Protection&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-implementing-csrf-protection-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-data-encryption-at-rest-protecting-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-data-encryption-at-rest-verschluesselung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-data-encryption-at-rest-protecting-data" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-data-encryption-at-rest-protecting-data.webp</image:loc><image:title>Data Encryption at Rest: Protecting Data at Rest</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Data&#x20;Encryption&#x20;at&#x20;Rest&#x3A;&#x20;Protecting&#x20;Data&#x20;at&#x20;Rest"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-data-encryption-at-rest-protecting-data.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-dependency-scanning-with-composer-audit-and-friends</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-dependency-scanning-mit-composer-audit-und-co" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-dependency-scanning-with-composer-audit-and-friends" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-dependency-scanning-with-composer-audit-and-friends.webp</image:loc><image:title>Dependency Scanning with Composer Audit and Friends</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Dependency&#x20;Scanning&#x20;with&#x20;Composer&#x20;Audit&#x20;and&#x20;Friends"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-dependency-scanning-with-composer-audit-and-friends.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-understanding-deserialization-vulnerabilities-in-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-deserialisierung-schwachstellen-php-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-understanding-deserialization-vulnerabilities-in-php" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-understanding-deserialization-vulnerabilities-in-php.webp</image:loc><image:title>Understanding Deserialization Vulnerabilities in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Deserialization&#x20;Vulnerabilities&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-understanding-deserialization-vulnerabilities-in-php.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-docker-container-security-images-runtime-secrets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-docker-container-sicherheit-images-runtime-secrets" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-docker-container-security-images-runtime-secrets" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-docker-container-security-images-runtime-secrets.webp</image:loc><image:title>Docker Container Security: Images, Runtime, Secrets</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Container&#x20;Security&#x3A;&#x20;Images,&#x20;Runtime,&#x20;Secrets"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-docker-container-security-images-runtime-secrets.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-gdpr-technical-requirements-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-dsgvo-technische-anforderungen-fuer-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-gdpr-technical-requirements-for-developers" />
<lastmod>2026-07-12T02:36:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-gdpr-technical-requirements-for-developers.webp</image:loc><image:title>GDPR: Technical Requirements for Developers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GDPR&#x3A;&#x20;Technical&#x20;Requirements&#x20;for&#x20;Developers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-gdpr-technical-requirements-for-developers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-managing-environment-variables-securely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-environment-variablen-sicher-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-managing-environment-variables-securely" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-managing-environment-variables-securely.webp</image:loc><image:title>Managing Environment Variables Securely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;Environment&#x20;Variables&#x20;Securely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-managing-environment-variables-securely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-secure-file-uploads-validation-storage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-sichere-file-uploads-validierung-speicherung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-secure-file-uploads-validation-storage" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-secure-file-uploads-validation-storage.webp</image:loc><image:title>Secure File Uploads: Validation, Storage, Preventing Execution</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Secure&#x20;File&#x20;Uploads&#x3A;&#x20;Validation,&#x20;Storage,&#x20;Preventing&#x20;Execution"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-secure-file-uploads-validation-storage.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-firewall-waf-fundamentals-for-web-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-firewall-waf-grundlagen-fuer-webanwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-firewall-waf-fundamentals-for-web-applications" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-firewall-waf-fundamentals-for-web-applications.webp</image:loc><image:title>Firewall and WAF Fundamentals for Web Applications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Firewall&#x20;and&#x20;WAF&#x20;Fundamentals&#x20;for&#x20;Web&#x20;Applications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-firewall-waf-fundamentals-for-web-applications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-preventing-cleaning-git-secret-leaks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-git-secrets-leaks-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-preventing-cleaning-git-secret-leaks" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-preventing-cleaning-git-secret-leaks.webp</image:loc><image:title>Preventing and Cleaning Up Git Secret Leaks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preventing&#x20;and&#x20;Cleaning&#x20;Up&#x20;Git&#x20;Secret&#x20;Leaks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-preventing-cleaning-git-secret-leaks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-graphql-specific-attacks-introspection-query-depth-batching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-graphql-spezifische-angriffe-introspection-query-depth-batching" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-graphql-specific-attacks-introspection-query-depth-batching" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-graphql-specific-attacks-introspection-query-depth-batching.webp</image:loc><image:title>GraphQL-Specific Attacks: Introspection, Query Depth, Batching</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL-Specific&#x20;Attacks&#x3A;&#x20;Introspection,&#x20;Query&#x20;Depth,&#x20;Batching"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-graphql-specific-attacks-introspection-query-depth-batching.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-incident-response-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-incident-response-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-incident-response-fundamentals" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-incident-response-fundamentals.webp</image:loc><image:title>Incident Response Fundamentals: The First Real Incident</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Incident&#x20;Response&#x20;Fundamentals&#x3A;&#x20;The&#x20;First&#x20;Real&#x20;Incident"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-incident-response-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-understanding-and-preventing-sql-injection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-sql-injection-verstehen-und-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-understanding-and-preventing-sql-injection" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-understanding-and-preventing-sql-injection.webp</image:loc><image:title>Understanding and Reliably Preventing SQL Injection</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;and&#x20;Reliably&#x20;Preventing&#x20;SQL&#x20;Injection"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-understanding-and-preventing-sql-injection.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-input-validation-strategies-allowlisting-instead-of-blocklisting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-input-validation-strategien-whitelist-statt-blacklist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-input-validation-strategies-allowlisting-instead-of-blocklisting" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-input-validation-strategies-allowlisting-instead-of-blocklisting.webp</image:loc><image:title>Input Validation Strategies: Allowlisting Instead of Blocklisting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Input&#x20;Validation&#x20;Strategies&#x3A;&#x20;Allowlisting&#x20;Instead&#x20;of&#x20;Blocklisting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-input-validation-strategies-allowlisting-instead-of-blocklisting.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-jwt-security-pitfalls-what-often-goes-wrong</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-jwt-sicherheitsfallen-was-bei-tokens-oft-schiefgeht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-jwt-security-pitfalls-what-often-goes-wrong" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-jwt-security-pitfalls-what-often-goes-wrong.webp</image:loc><image:title>JWT Security Pitfalls: What Often Goes Wrong with Tokens</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JWT&#x20;Security&#x20;Pitfalls&#x3A;&#x20;What&#x20;Often&#x20;Goes&#x20;Wrong&#x20;with&#x20;Tokens"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-jwt-security-pitfalls-what-often-goes-wrong.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-hardening-magento-admin-panel-access-2fa</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-magento-admin-panel-haerten-zugriff-2fa" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-hardening-magento-admin-panel-access-2fa" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-hardening-magento-admin-panel-access-2fa.webp</image:loc><image:title>Hardening the Magento Admin Panel: Access, 2FA, IP Allowlisting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hardening&#x20;the&#x20;Magento&#x20;Admin&#x20;Panel&#x3A;&#x20;Access,&#x20;2FA,&#x20;IP&#x20;Allowlisting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-hardening-magento-admin-panel-access-2fa.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-auditing-magento-extensions-for-security-risks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-magento-erweiterungen-auf-sicherheitsrisiken-pruefen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-auditing-magento-extensions-for-security-risks" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-auditing-magento-extensions-for-security-risks.webp</image:loc><image:title>Auditing Magento Extensions for Security Risks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Auditing&#x20;Magento&#x20;Extensions&#x20;for&#x20;Security&#x20;Risks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-auditing-magento-extensions-for-security-risks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-magento-security-patches-update-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-magento-security-patches-update-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-magento-security-patches-update-strategy" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-magento-security-patches-update-strategy.webp</image:loc><image:title>Magento Security Patches: An Update Strategy Without Excuses</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Security&#x20;Patches&#x3A;&#x20;An&#x20;Update&#x20;Strategy&#x20;Without&#x20;Excuses"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-magento-security-patches-update-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-using-magento-security-scan-tool-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-magento-security-scan-tool-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-using-magento-security-scan-tool-correctly" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-using-magento-security-scan-tool-correctly.webp</image:loc><image:title>Using and Interpreting the Magento Security Scan Tool Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;and&#x20;Interpreting&#x20;the&#x20;Magento&#x20;Security&#x20;Scan&#x20;Tool&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-using-magento-security-scan-tool-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-implementing-multi-factor-authentication-technically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-multi-faktor-authentifizierung-technisch-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-implementing-multi-factor-authentication-technically" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-implementing-multi-factor-authentication-technically.webp</image:loc><image:title>Implementing Multi-Factor Authentication Technically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Multi-Factor&#x20;Authentication&#x20;Technically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-implementing-multi-factor-authentication-technically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-oauth-openid-connect-fundamentals-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-oauth-2-0-und-openid-connect-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-oauth-openid-connect-fundamentals-for-developers" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-oauth-openid-connect-fundamentals-for-developers.webp</image:loc><image:title>OAuth 2.0 and OpenID Connect: Fundamentals for Developers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="OAuth&#x20;2.0&#x20;and&#x20;OpenID&#x20;Connect&#x3A;&#x20;Fundamentals&#x20;for&#x20;Developers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-oauth-openid-connect-fundamentals-for-developers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-output-encoding-why-escaping-must-be-context-aware</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-output-encoding-warum-escaping-kontextabhaengig-sein-muss" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-output-encoding-why-escaping-must-be-context-aware" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-output-encoding-why-escaping-must-be-context-aware.webp</image:loc><image:title>Output Encoding: Why Escaping Must Be Context-Aware</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Output&#x20;Encoding&#x3A;&#x20;Why&#x20;Escaping&#x20;Must&#x20;Be&#x20;Context-Aware"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-output-encoding-why-escaping-must-be-context-aware.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-password-hashing-bcrypt-argon2-common-mistakes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-passwort-hashing-bcrypt-argon2-haeufige-fehler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-password-hashing-bcrypt-argon2-common-mistakes" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-password-hashing-bcrypt-argon2-common-mistakes.webp</image:loc><image:title>Password Hashing: bcrypt, Argon2, and Common Mistakes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Password&#x20;Hashing&#x3A;&#x20;bcrypt,&#x20;Argon2,&#x20;and&#x20;Common&#x20;Mistakes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-password-hashing-bcrypt-argon2-common-mistakes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-pci-dss-fundamentals-processing-payment-data-securely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-pci-dss-grundlagen-zahlungsdaten-sicher-verarbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-pci-dss-fundamentals-processing-payment-data-securely" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-pci-dss-fundamentals-processing-payment-data-securely.webp</image:loc><image:title>PCI DSS Fundamentals: Processing Payment Data Securely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PCI&#x20;DSS&#x20;Fundamentals&#x3A;&#x20;Processing&#x20;Payment&#x20;Data&#x20;Securely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-pci-dss-fundamentals-processing-payment-data-securely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-penetration-testing-fundamentals-for-development-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-penetration-testing-grundlagen-fuer-entwickler-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-penetration-testing-fundamentals-for-development-teams" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-penetration-testing-fundamentals-for-development-teams.webp</image:loc><image:title>Penetration Testing Fundamentals for Development Teams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Penetration&#x20;Testing&#x20;Fundamentals&#x20;for&#x20;Development&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-penetration-testing-fundamentals-for-development-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-rest-api-security-fundamentals-for-production-endpoints</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-rest-api-security-grundlagen-fuer-produktive-endpunkte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-rest-api-security-fundamentals-for-production-endpoints" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-rest-api-security-fundamentals-for-production-endpoints.webp</image:loc><image:title>REST API Security: Fundamentals for Production Endpoints</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="REST&#x20;API&#x20;Security&#x3A;&#x20;Fundamentals&#x20;for&#x20;Production&#x20;Endpoints"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-rest-api-security-fundamentals-for-production-endpoints.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-sast-and-dast-tools-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-sast-und-dast-tools-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-sast-and-dast-tools-compared" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-sast-and-dast-tools-compared.webp</image:loc><image:title>SAST and DAST Tools Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SAST&#x20;and&#x20;DAST&#x20;Tools&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-sast-and-dast-tools-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-secrets-management-keeping-credentials-out-of-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-secrets-management-zugangsdaten-nicht-im-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-secrets-management-keeping-credentials-out-of-code" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-secrets-management-keeping-credentials-out-of-code.webp</image:loc><image:title>Secrets Management: Keeping Credentials Out of Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Secrets&#x20;Management&#x3A;&#x20;Keeping&#x20;Credentials&#x20;Out&#x20;of&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-secrets-management-keeping-credentials-out-of-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-building-team-security-awareness</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-awareness-im-team-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-building-team-security-awareness" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-building-team-security-awareness.webp</image:loc><image:title>Building Security Awareness in the Team Instead of Just Buying Tools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Security&#x20;Awareness&#x20;in&#x20;the&#x20;Team&#x20;Instead&#x20;of&#x20;Just&#x20;Buying&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-building-team-security-awareness.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-security-code-review-what-reviewers-should-look-for</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-security-code-review-worauf-reviewer-achten-sollten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-security-code-review-what-reviewers-should-look-for" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-security-code-review-what-reviewers-should-look-for.webp</image:loc><image:title>Security Code Review: What Reviewers Should Actually Look For</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Security&#x20;Code&#x20;Review&#x3A;&#x20;What&#x20;Reviewers&#x20;Should&#x20;Actually&#x20;Look&#x20;For"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-security-code-review-what-reviewers-should-look-for.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-headers-overview-hsts-x-frame-options</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-header-im-ueberblick-hsts-x-frame-options" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-headers-overview-hsts-x-frame-options" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-headers-overview-hsts-x-frame-options.webp</image:loc><image:title>Security Headers Overview: HSTS, X-Frame-Options, and More</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Security&#x20;Headers&#x20;Overview&#x3A;&#x20;HSTS,&#x20;X-Frame-Options,&#x20;and&#x20;More"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-headers-overview-hsts-x-frame-options.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-setting-up-security-logging-and-monitoring-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-security-logging-und-monitoring-richtig-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-setting-up-security-logging-and-monitoring-correctly" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-setting-up-security-logging-and-monitoring-correctly.webp</image:loc><image:title>Setting Up Security Logging and Monitoring Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;Security&#x20;Logging&#x20;and&#x20;Monitoring&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-setting-up-security-logging-and-monitoring-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-misconfiguration-avoiding-default-traps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-fehlkonfigurationen-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-misconfiguration-avoiding-default-traps" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-misconfiguration-avoiding-default-traps.webp</image:loc><image:title>Security Misconfiguration: Avoiding Default Traps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Security&#x20;Misconfiguration&#x3A;&#x20;Avoiding&#x20;Default&#x20;Traps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-misconfiguration-avoiding-default-traps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-server-hardening-fundamentals-production-systems</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-server-hardening-grundlagen-produktivsysteme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-server-hardening-fundamentals-production-systems" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-server-hardening-fundamentals-production-systems.webp</image:loc><image:title>Server Hardening Fundamentals for Production Systems</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Server&#x20;Hardening&#x20;Fundamentals&#x20;for&#x20;Production&#x20;Systems"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-server-hardening-fundamentals-production-systems.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-implementing-secure-session-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-session-management-sicher-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-implementing-secure-session-management" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-implementing-secure-session-management.webp</image:loc><image:title>Implementing Secure Session Management</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Secure&#x20;Session&#x20;Management"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-implementing-secure-session-management.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-hardening-ssh-keys-instead-of-passwords</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-ssh-haerten-keys-statt-passwoerter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-hardening-ssh-keys-instead-of-passwords" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-hardening-ssh-keys-instead-of-passwords.webp</image:loc><image:title>Hardening SSH Security: Keys Instead of Passwords and More</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hardening&#x20;SSH&#x20;Security&#x3A;&#x20;Keys&#x20;Instead&#x20;of&#x20;Passwords&#x20;and&#x20;More"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-hardening-ssh-keys-instead-of-passwords.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-supply-chain-attack-through-dependencies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-supply-chain-security-abhaengigkeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-supply-chain-attack-through-dependencies" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-supply-chain-attack-through-dependencies.webp</image:loc><image:title>Supply Chain Security: The Attack Through Dependencies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Supply&#x20;Chain&#x20;Security&#x3A;&#x20;The&#x20;Attack&#x20;Through&#x20;Dependencies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-supply-chain-attack-through-dependencies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-tls-ssl-best-practices-certificates-ciphers-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-tls-ssl-best-practices-zertifikate-cipher-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-tls-ssl-best-practices-certificates-ciphers-configuration" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-tls-ssl-best-practices-certificates-ciphers-configuration.webp</image:loc><image:title>TLS/SSL Best Practices: Certificates, Ciphers, Configuration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TLS&#x2F;SSL&#x20;Best&#x20;Practices&#x3A;&#x20;Certificates,&#x20;Ciphers,&#x20;Configuration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-tls-ssl-best-practices-certificates-ciphers-configuration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-identifying-and-fixing-vulnerable-outdated-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-vulnerable-und-veraltete-komponenten-erkennen-und-beheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-identifying-and-fixing-vulnerable-outdated-components" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-identifying-and-fixing-vulnerable-outdated-components.webp</image:loc><image:title>Identifying and Fixing Vulnerable and Outdated Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Identifying&#x20;and&#x20;Fixing&#x20;Vulnerable&#x20;and&#x20;Outdated&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-identifying-and-fixing-vulnerable-outdated-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/security-xss-types-causes-protection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/security-xss-typen-ursachen-schutz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/security-xss-types-causes-protection" />
<lastmod>2026-07-12T02:36:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-xss-types-causes-protection.webp</image:loc><image:title>Cross-Site Scripting (XSS): Types, Causes, Protection</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cross-Site&#x20;Scripting&#x20;&#x28;XSS&#x29;&#x3A;&#x20;Types,&#x20;Causes,&#x20;Protection"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-xss-types-causes-protection.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-using-abstract-classes-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-abstract-classes-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-using-abstract-classes-correctly" />
<lastmod>2026-07-12T03:27:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-using-abstract-classes-correctly.webp</image:loc><image:title>Using Abstract Classes in TypeScript Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Abstract&#x20;Classes&#x20;in&#x20;TypeScript&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-using-abstract-classes-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-gradually-eliminating-any</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-any-schrittweise-eliminieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-gradually-eliminating-any" />
<lastmod>2026-07-12T03:27:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-gradually-eliminating-any.webp</image:loc><image:title>Gradually Eliminating any From an Existing Codebase</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Gradually&#x20;Eliminating&#x20;any&#x20;From&#x20;an&#x20;Existing&#x20;Codebase"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-gradually-eliminating-any.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-avoiding-any-in-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-any-in-tests-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-avoiding-any-in-tests" />
<lastmod>2026-07-12T03:27:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-avoiding-any-in-tests.webp</image:loc><image:title>Avoiding any in Tests Without Losing Productivity</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;any&#x20;in&#x20;Tests&#x20;Without&#x20;Losing&#x20;Productivity"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-avoiding-any-in-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-generating-api-types-from-openapi-swagger</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-api-typen-aus-openapi-swagger-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-generating-api-types-from-openapi-swagger" />
<lastmod>2026-07-12T03:27:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-generating-api-types-from-openapi-swagger.webp</image:loc><image:title>Automatically Generating API Types From OpenAPI/Swagger</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automatically&#x20;Generating&#x20;API&#x20;Types&#x20;From&#x20;OpenAPI&#x2F;Swagger"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-generating-api-types-from-openapi-swagger.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-branded-types-nominal-typing-in-a-structural-type-system</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-branded-types-nominale-typisierung-in-einem-strukturellen-typsystem" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-branded-types-nominal-typing-in-a-structural-type-system" />
<lastmod>2026-07-12T03:27:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-branded-types-nominal-typing-in-a-structural-type-system.webp</image:loc><image:title>Branded Types: Nominal Typing in a Structural Type System</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Branded&#x20;Types&#x3A;&#x20;Nominal&#x20;Typing&#x20;in&#x20;a&#x20;Structural&#x20;Type&#x20;System"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-branded-types-nominal-typing-in-a-structural-type-system.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-conditional-types-deriving-types-based-on-conditions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-conditional-types-typen-basierend-auf-bedingungen-ableiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-conditional-types-deriving-types-based-on-conditions" />
<lastmod>2026-07-12T03:27:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-conditional-types-deriving-types-based-on-conditions.webp</image:loc><image:title>Conditional Types: Deriving Types Based on Conditions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Conditional&#x20;Types&#x3A;&#x20;Deriving&#x20;Types&#x20;Based&#x20;on&#x20;Conditions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-conditional-types-deriving-types-based-on-conditions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-declaration-files-d-ts-writing-types-for-js-libraries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-declaration-files-d-ts-typen-fuer-js-bibliotheken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-declaration-files-d-ts-writing-types-for-js-libraries" />
<lastmod>2026-07-12T03:27:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-declaration-files-d-ts-writing-types-for-js-libraries.webp</image:loc><image:title>Declaration Files (.d.ts): Writing Types for JS Libraries</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Declaration&#x20;Files&#x20;&#x28;.d.ts&#x29;&#x3A;&#x20;Writing&#x20;Types&#x20;for&#x20;JS&#x20;Libraries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-declaration-files-d-ts-writing-types-for-js-libraries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-decorators-fundamentals-and-use-cases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-decorators-grundlagen-und-anwendungsfaelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-decorators-fundamentals-and-use-cases" />
<lastmod>2026-07-12T03:27:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-decorators-fundamentals-and-use-cases.webp</image:loc><image:title>Decorators in TypeScript: Fundamentals and Use Cases</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Decorators&#x20;in&#x20;TypeScript&#x3A;&#x20;Fundamentals&#x20;and&#x20;Use&#x20;Cases"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-decorators-fundamentals-and-use-cases.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-implementing-dependency-injection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-dependency-injection-in-projekten-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-implementing-dependency-injection" />
<lastmod>2026-07-12T03:27:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-implementing-dependency-injection.webp</image:loc><image:title>Implementing Dependency Injection in TypeScript Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Dependency&#x20;Injection&#x20;in&#x20;TypeScript&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-implementing-dependency-injection.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-design-patterns-type-safely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-design-patterns-typsicher-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-design-patterns-type-safely" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-design-patterns-type-safely.webp</image:loc><image:title>Implementing Classic Design Patterns Type-Safely in TypeScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Classic&#x20;Design&#x20;Patterns&#x20;Type-Safely&#x20;in&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-design-patterns-type-safely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-discriminated-unions-state-modeling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-discriminated-unions-state-modellierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-discriminated-unions-state-modeling" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-discriminated-unions-state-modeling.webp</image:loc><image:title>Discriminated Unions for Robust State Modeling</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Discriminated&#x20;Unions&#x20;for&#x20;Robust&#x20;State&#x20;Modeling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-discriminated-unions-state-modeling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-type-safe-dom-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-dom-apis-typsicher-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-type-safe-dom-apis" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-type-safe-dom-apis.webp</image:loc><image:title>Using DOM APIs Type-Safely Instead of Casting to any</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;DOM&#x20;APIs&#x20;Type-Safely&#x20;Instead&#x20;of&#x20;Casting&#x20;to&#x20;any"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-type-safe-dom-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-end-to-end-type-safety-api-to-ui</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-ende-zu-ende-typsicherheit-api-bis-ui" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-end-to-end-type-safety-api-to-ui" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-end-to-end-type-safety-api-to-ui.webp</image:loc><image:title>End-to-End Type Safety From API to UI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="End-to-End&#x20;Type&#x20;Safety&#x20;From&#x20;API&#x20;to&#x20;UI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-end-to-end-type-safety-api-to-ui.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-configuring-eslint-for-typescript-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-eslint-fuer-typescript-richtig-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-configuring-eslint-for-typescript-correctly" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-configuring-eslint-for-typescript-correctly.webp</image:loc><image:title>Configuring ESLint for TypeScript Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;ESLint&#x20;for&#x20;TypeScript&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-configuring-eslint-for-typescript-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-type-safe-event-handling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-event-handling-typsicher-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-type-safe-event-handling" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-type-safe-event-handling.webp</image:loc><image:title>Making Event Handling Type-Safe in TypeScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;Event&#x20;Handling&#x20;Type-Safe&#x20;in&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-type-safe-event-handling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-type-safe-fetch-wrapper</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-fetch-api-typsicher-wrappen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-type-safe-fetch-wrapper" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-type-safe-fetch-wrapper.webp</image:loc><image:title>Type-Safely Wrapping the Fetch API</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Type-Safely&#x20;Wrapping&#x20;the&#x20;Fetch&#x20;API"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-type-safe-fetch-wrapper.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-type-safe-form-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-formulardaten-typsicher-validieren-mit-zod" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-type-safe-form-validation" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-type-safe-form-validation.webp</image:loc><image:title>Type-Safely Validating Form Data with Zod and Friends</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Type-Safely&#x20;Validating&#x20;Form&#x20;Data&#x20;with&#x20;Zod&#x20;and&#x20;Friends"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-type-safe-form-validation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-generic-constraints-sensibly-restricting-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-generic-constraints-typen-sinnvoll-einschraenken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-generic-constraints-sensibly-restricting-types" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-generic-constraints-sensibly-restricting-types.webp</image:loc><image:title>Generic Constraints: Sensibly Restricting Types</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generic&#x20;Constraints&#x3A;&#x20;Sensibly&#x20;Restricting&#x20;Types"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-generic-constraints-sensibly-restricting-types.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-generics-fundamentals-reusable-type-safe-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-generics-grundlagen-wiederverwendbare-typsichere-funktionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-generics-fundamentals-reusable-type-safe-functions" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-generics-fundamentals-reusable-type-safe-functions.webp</image:loc><image:title>Generics Fundamentals: Reusable, Type-Safe Functions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generics&#x20;Fundamentals&#x3A;&#x20;Reusable,&#x20;Type-Safe&#x20;Functions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-generics-fundamentals-reusable-type-safe-functions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-incremental-compilation-speeding-up-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-incremental-compilation-builds-beschleunigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-incremental-compilation-speeding-up-builds" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-incremental-compilation-speeding-up-builds.webp</image:loc><image:title>Incremental Compilation: Speeding Up TypeScript Builds</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Incremental&#x20;Compilation&#x3A;&#x20;Speeding&#x20;Up&#x20;TypeScript&#x20;Builds"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-incremental-compilation-speeding-up-builds.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-infer-keyword-extracting-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-infer-schluesselwort-typen-extrahieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-infer-keyword-extracting-types" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-infer-keyword-extracting-types.webp</image:loc><image:title>The infer Keyword: Extracting Types From Other Types</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;infer&#x20;Keyword&#x3A;&#x20;Extracting&#x20;Types&#x20;From&#x20;Other&#x20;Types"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-infer-keyword-extracting-types.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-interface-vs-type-alias-when-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-interface-vs-type-alias-wann-was" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-interface-vs-type-alias-when-which" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-interface-vs-type-alias-when-which.webp</image:loc><image:title>Interface vs. Type Alias: When to Use Which</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Interface&#x20;vs.&#x20;Type&#x20;Alias&#x3A;&#x20;When&#x20;to&#x20;Use&#x20;Which"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-interface-vs-type-alias-when-which.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-jest-setup-and-type-safe-mocks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-jest-setup-typsichere-mocks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-jest-setup-and-type-safe-mocks" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-jest-setup-and-type-safe-mocks.webp</image:loc><image:title>Jest with TypeScript: Setup and Type-Safe Mocks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Jest&#x20;with&#x20;TypeScript&#x3A;&#x20;Setup&#x20;and&#x20;Type-Safe&#x20;Mocks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-jest-setup-and-type-safe-mocks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-js-to-ts-migration-incremental-not-big-bang</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-js-zu-ts-migration-schrittweise-statt-big-bang" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-js-to-ts-migration-incremental-not-big-bang" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-js-to-ts-migration-incremental-not-big-bang.webp</image:loc><image:title>JavaScript to TypeScript Migration: Incremental, Not Big Bang</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;to&#x20;TypeScript&#x20;Migration&#x3A;&#x20;Incremental,&#x20;Not&#x20;Big&#x20;Bang"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-js-to-ts-migration-incremental-not-big-bang.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-keyof-and-typeof-deriving-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-keyof-und-typeof-operatoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-keyof-and-typeof-deriving-types" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-keyof-and-typeof-deriving-types.webp</image:loc><image:title>keyof and typeof: Deriving Types From Values</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="keyof&#x20;and&#x20;typeof&#x3A;&#x20;Deriving&#x20;Types&#x20;From&#x20;Values"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-keyof-and-typeof-deriving-types.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-mapped-types-transforming-existing-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-mapped-types-bestehende-typen-transformieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-mapped-types-transforming-existing-types" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-mapped-types-transforming-existing-types.webp</image:loc><image:title>Mapped Types: Systematically Transforming Existing Types</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mapped&#x20;Types&#x3A;&#x20;Systematically&#x20;Transforming&#x20;Existing&#x20;Types"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-mapped-types-transforming-existing-types.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-module-resolution-node-bundler-and-more</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-module-resolution-node-bundler-und-mehr" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-module-resolution-node-bundler-and-more" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-module-resolution-node-bundler-and-more.webp</image:loc><image:title>Module Resolution in TypeScript: node, bundler, and More</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Module&#x20;Resolution&#x20;in&#x20;TypeScript&#x3A;&#x20;node,&#x20;bundler,&#x20;and&#x20;More"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-module-resolution-node-bundler-and-more.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-project-references-in-monorepos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-monorepo-project-references-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-project-references-in-monorepos" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-project-references-in-monorepos.webp</image:loc><image:title>TypeScript in Monorepos: Using Project References Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;in&#x20;Monorepos&#x3A;&#x20;Using&#x20;Project&#x20;References&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-project-references-in-monorepos.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-path-mapping-and-aliases-for-clean-imports</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-path-mapping-und-aliases-fuer-saubere-imports" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-path-mapping-and-aliases-for-clean-imports" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-path-mapping-and-aliases-for-clean-imports.webp</image:loc><image:title>Path Mapping and Aliases for Clean Imports</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Path&#x20;Mapping&#x20;and&#x20;Aliases&#x20;for&#x20;Clean&#x20;Imports"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-path-mapping-and-aliases-for-clean-imports.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-primitive-vs-object-types-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-primitive-vs-object-types-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-primitive-vs-object-types-fundamentals" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-primitive-vs-object-types-fundamentals.webp</image:loc><image:title>Primitive vs. Object Types: The Fundamentals of the Type System</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Primitive&#x20;vs.&#x20;Object&#x20;Types&#x3A;&#x20;The&#x20;Fundamentals&#x20;of&#x20;the&#x20;Type&#x20;System"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-primitive-vs-object-types-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-strict-mode-flags-that-matter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-strict-mode-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-strict-mode-flags-that-matter" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-strict-mode-flags-that-matter.webp</image:loc><image:title>Strict Mode in TypeScript: Which Flags Actually Matter</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Strict&#x20;Mode&#x20;in&#x20;TypeScript&#x3A;&#x20;Which&#x20;Flags&#x20;Actually&#x20;Matter"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-strict-mode-flags-that-matter.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-template-literal-types-for-type-safe-strings</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-template-literal-types-fuer-typsichere-strings" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-template-literal-types-for-type-safe-strings" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-template-literal-types-for-type-safe-strings.webp</image:loc><image:title>Template Literal Types for Type-Safe Strings</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Template&#x20;Literal&#x20;Types&#x20;for&#x20;Type-Safe&#x20;Strings"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-template-literal-types-for-type-safe-strings.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-ts-node-vs-tsx-runtime-options-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-ts-node-vs-tsx-laufzeit-optionen-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-ts-node-vs-tsx-runtime-options-compared" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-ts-node-vs-tsx-runtime-options-compared.webp</image:loc><image:title>ts-node vs. tsx vs. esbuild: Runtime Options Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ts-node&#x20;vs.&#x20;tsx&#x20;vs.&#x20;esbuild&#x3A;&#x20;Runtime&#x20;Options&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-ts-node-vs-tsx-runtime-options-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-tsconfig-json-explained-key-options</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-tsconfig-json-erklaert-die-wichtigsten-optionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-tsconfig-json-explained-key-options" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-tsconfig-json-explained-key-options.webp</image:loc><image:title>tsconfig.json Explained: The Most Important Options in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="tsconfig.json&#x20;Explained&#x3A;&#x20;The&#x20;Most&#x20;Important&#x20;Options&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-tsconfig-json-explained-key-options.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-type-guards-narrowing-runtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-type-guards-narrowing-laufzeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-type-guards-narrowing-runtime" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-type-guards-narrowing-runtime.webp</image:loc><image:title>Type Guards and Narrowing in TypeScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Type&#x20;Guards&#x20;and&#x20;Narrowing&#x20;in&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-type-guards-narrowing-runtime.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-understanding-type-inference</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-type-inference-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-understanding-type-inference" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-understanding-type-inference.webp</image:loc><image:title>Understanding Type Inference: When TypeScript Infers Types Itself</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Type&#x20;Inference&#x3A;&#x20;When&#x20;TypeScript&#x20;Infers&#x20;Types&#x20;Itself"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-understanding-type-inference.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-testing-types-with-tsd-and-expect-type</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-type-testing-mit-tsd-expect-type" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-testing-types-with-tsd-and-expect-type" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-testing-types-with-tsd-and-expect-type.webp</image:loc><image:title>Type Testing: Testing Types Themselves with tsd and expect-type</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Type&#x20;Testing&#x3A;&#x20;Testing&#x20;Types&#x20;Themselves&#x20;with&#x20;tsd&#x20;and&#x20;expect-type"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-testing-types-with-tsd-and-expect-type.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-5-x-the-most-important-new-features</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-5-x-die-wichtigsten-neuerungen-im-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-5-x-the-most-important-new-features" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-5-x-the-most-important-new-features.webp</image:loc><image:title>TypeScript 5.x: The Most Important New Features Overview</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;5.x&#x3A;&#x20;The&#x20;Most&#x20;Important&#x20;New&#x20;Features&#x20;Overview"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-5-x-the-most-important-new-features.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-code-reviews-what-experienced-teams-look-for</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-code-reviews-worauf-erfahrene-teams-achten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-code-reviews-what-experienced-teams-look-for" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-code-reviews-what-experienced-teams-look-for.webp</image:loc><image:title>TypeScript Code Reviews: What Experienced Teams Look For</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;Code&#x20;Reviews&#x3A;&#x20;What&#x20;Experienced&#x20;Teams&#x20;Look&#x20;For"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-code-reviews-what-experienced-teams-look-for.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-for-php-developers-concepts-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-fuer-php-entwickler-konzepte-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-for-php-developers-concepts-compared" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-for-php-developers-concepts-compared.webp</image:loc><image:title>TypeScript for PHP Developers: Concepts Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;for&#x20;PHP&#x20;Developers&#x3A;&#x20;Concepts&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-for-php-developers-concepts-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-magento-graphql-type-safe-storefront-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-magento-graphql-typsichere-storefront-anbindung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-magento-graphql-type-safe-storefront-integration" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-magento-graphql-type-safe-storefront-integration.webp</image:loc><image:title>TypeScript and Magento GraphQL: Type-Safe Storefront Integration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;and&#x20;Magento&#x20;GraphQL&#x3A;&#x20;Type-Safe&#x20;Storefront&#x20;Integration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-magento-graphql-type-safe-storefront-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-alpine-js-component-patterns-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-patterns-fuer-alpine-js-komponenten-in-hyva" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-alpine-js-component-patterns-hyva" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-alpine-js-component-patterns-hyva.webp</image:loc><image:title>TypeScript Patterns for Alpine.js Components in Hyvä</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;Patterns&#x20;for&#x20;Alpine.js&#x20;Components&#x20;in&#x20;Hyv&#xE4;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-alpine-js-component-patterns-hyva.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-with-nodejs-setup-without-headaches</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-mit-nodejs-setup-ohne-kopfschmerzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-with-nodejs-setup-without-headaches" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-with-nodejs-setup-without-headaches.webp</image:loc><image:title>TypeScript with Node.js: Setup Without Headaches</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;with&#x20;Node.js&#x3A;&#x20;Setup&#x20;Without&#x20;Headaches"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-with-nodejs-setup-without-headaches.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-with-vite-fast-build-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-mit-vite-schnelle-build-pipelines" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-with-vite-fast-build-pipelines" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-with-vite-fast-build-pipelines.webp</image:loc><image:title>TypeScript with Vite: Setting Up Fast Build Pipelines</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;with&#x20;Vite&#x3A;&#x20;Setting&#x20;Up&#x20;Fast&#x20;Build&#x20;Pipelines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-with-vite-fast-build-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-webpack-configuration-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-webpack-konfigurieren-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-webpack-configuration-guide" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-webpack-configuration-guide.webp</image:loc><image:title>Configuring and Optimizing TypeScript with Webpack</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;and&#x20;Optimizing&#x20;TypeScript&#x20;with&#x20;Webpack"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-webpack-configuration-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-optimizing-performance-in-large-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-performance-in-grossen-projekten-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-optimizing-performance-in-large-projects" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-optimizing-performance-in-large-projects.webp</image:loc><image:title>Optimizing TypeScript Performance in Large Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;TypeScript&#x20;Performance&#x20;in&#x20;Large&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-optimizing-performance-in-large-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-typescript-vs-javascript-why-worth-it</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-typescript-vs-javascript-warum-umstieg" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-typescript-vs-javascript-why-worth-it" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-typescript-vs-javascript-why-worth-it.webp</image:loc><image:title>TypeScript vs. JavaScript: Why the Switch Is Worth It</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;vs.&#x20;JavaScript&#x3A;&#x20;Why&#x20;the&#x20;Switch&#x20;Is&#x20;Worth&#x20;It"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-typescript-vs-javascript-why-worth-it.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-type-safe-test-fixtures-and-factories</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-typsichere-test-fixtures-und-factories" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-type-safe-test-fixtures-and-factories" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-type-safe-test-fixtures-and-factories.webp</image:loc><image:title>Type-Safe Test Fixtures and Factories in TypeScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Type-Safe&#x20;Test&#x20;Fixtures&#x20;and&#x20;Factories&#x20;in&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-type-safe-test-fixtures-and-factories.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-using-union-and-intersection-types-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-union-und-intersection-types-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-using-union-and-intersection-types-correctly" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-using-union-and-intersection-types-correctly.webp</image:loc><image:title>Using Union and Intersection Types Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Union&#x20;and&#x20;Intersection&#x20;Types&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-using-union-and-intersection-types-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-utility-types-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-utility-types-im-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-utility-types-overview" />
<lastmod>2026-07-12T03:27:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-utility-types-overview.webp</image:loc><image:title>Utility Types Overview: Partial, Pick, Omit, and More</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Utility&#x20;Types&#x20;Overview&#x3A;&#x20;Partial,&#x20;Pick,&#x20;Omit,&#x20;and&#x20;More"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-utility-types-overview.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-writing-atomic-commits-instead-of-monster-commits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-atomare-commits-schreiben-statt-monster-commits" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-writing-atomic-commits-instead-of-monster-commits" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-writing-atomic-commits-instead-of-monster-commits.webp</image:loc><image:title>Writing Atomic Commits Instead of Monster Commits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Atomic&#x20;Commits&#x20;Instead&#x20;of&#x20;Monster&#x20;Commits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-writing-atomic-commits-instead-of-monster-commits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-branch-naming-conventions-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-branch-naming-konventionen-team" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-branch-naming-conventions-for-teams" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-branch-naming-conventions-for-teams.webp</image:loc><image:title>Branch Naming Conventions for the Whole Team</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Branch&#x20;Naming&#x20;Conventions&#x20;for&#x20;the&#x20;Whole&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-branch-naming-conventions-for-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-cherry-pick-deliberately</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-cherry-pick-gezielt-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-cherry-pick-deliberately" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-cherry-pick-deliberately.webp</image:loc><image:title>Using Cherry-Pick Deliberately Instead of Merging Whole Branches</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Cherry-Pick&#x20;Deliberately&#x20;Instead&#x20;of&#x20;Merging&#x20;Whole&#x20;Branches"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-cherry-pick-deliberately.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-code-review-in-pull-requests-what-to-look-for</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-code-review-in-pull-requests-worauf-achten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-code-review-in-pull-requests-what-to-look-for" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-code-review-in-pull-requests-what-to-look-for.webp</image:loc><image:title>Code Review in Pull Requests: What to Look For</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Code&#x20;Review&#x20;in&#x20;Pull&#x20;Requests&#x3A;&#x20;What&#x20;to&#x20;Look&#x20;For"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-code-review-in-pull-requests-what-to-look-for.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-using-codeowners-file-effectively</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-codeowners-datei-sinnvoll-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-using-codeowners-file-effectively" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-using-codeowners-file-effectively.webp</image:loc><image:title>Using the CODEOWNERS File Effectively</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;the&#x20;CODEOWNERS&#x20;File&#x20;Effectively"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-using-codeowners-file-effectively.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-commit-messages-that-actually-help</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-commit-messages-die-wirklich-nuetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-commit-messages-that-actually-help" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-commit-messages-that-actually-help.webp</image:loc><image:title>Commit Messages That Actually Help</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Commit&#x20;Messages&#x20;That&#x20;Actually&#x20;Help"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-commit-messages-that-actually-help.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-commit-msg-hooks-for-commit-message-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-commit-msg-hooks-fuer-commit-message-validierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-commit-msg-hooks-for-commit-message-validation" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-commit-msg-hooks-for-commit-message-validation.webp</image:loc><image:title>commit-msg Hooks for Commit Message Validation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="commit-msg&#x20;Hooks&#x20;for&#x20;Commit&#x20;Message&#x20;Validation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-commit-msg-hooks-for-commit-message-validation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-composer-and-git-dependency-versioning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-composer-und-git-abhaengigkeiten-versionieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-composer-and-git-dependency-versioning" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-composer-and-git-dependency-versioning.webp</image:loc><image:title>Composer and Git Working Together: Versioning Dependencies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Composer&#x20;and&#x20;Git&#x20;Working&#x20;Together&#x3A;&#x20;Versioning&#x20;Dependencies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-composer-and-git-dependency-versioning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-conventional-commits-standard</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-conventional-commits-standardisierte-commit-messages" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-conventional-commits-standard" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-conventional-commits-standard.webp</image:loc><image:title>Conventional Commits: Standardized Commit Messages</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Conventional&#x20;Commits&#x3A;&#x20;Standardized&#x20;Commit&#x20;Messages"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-conventional-commits-standard.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-understanding-detached-head</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-detached-head-verstehen-und-sicher-rauskommen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-understanding-detached-head" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-understanding-detached-head.webp</image:loc><image:title>Understanding Detached HEAD and Getting Back Safely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Detached&#x20;HEAD&#x20;and&#x20;Getting&#x20;Back&#x20;Safely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-understanding-detached-head.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-using-feature-branches-without-merge-hell</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-feature-branches-richtig-nutzen-ohne-merge-hoelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-using-feature-branches-without-merge-hell" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-using-feature-branches-without-merge-hell.webp</image:loc><image:title>Using Feature Branches Correctly Without Merge Hell</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Feature&#x20;Branches&#x20;Correctly&#x20;Without&#x20;Merge&#x20;Hell"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-using-feature-branches-without-merge-hell.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-configuring-gitattributes-for-php-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-gitattributes-fuer-php-projekte-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-configuring-gitattributes-for-php-projects" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-configuring-gitattributes-for-php-projects.webp</image:loc><image:title>Configuring .gitattributes Correctly for PHP Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;.gitattributes&#x20;Correctly&#x20;for&#x20;PHP&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-configuring-gitattributes-for-php-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-bisect-finding-faulty-commits-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-bisect-fehlerhafte-commits-systematisch-finden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-bisect-finding-faulty-commits-systematically" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-bisect-finding-faulty-commits-systematically.webp</image:loc><image:title>git bisect: Systematically Finding Faulty Commits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="git&#x20;bisect&#x3A;&#x20;Systematically&#x20;Finding&#x20;Faulty&#x20;Commits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-bisect-finding-faulty-commits-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-blame-correctly-without-blame-game</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-blame-richtig-einsetzen-ohne-schuldzuweisung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-blame-correctly-without-blame-game" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-blame-correctly-without-blame-game.webp</image:loc><image:title>Using git blame Correctly Without Playing the Blame Game</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;git&#x20;blame&#x20;Correctly&#x20;Without&#x20;Playing&#x20;the&#x20;Blame&#x20;Game"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-blame-correctly-without-blame-game.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-config-setup-global-local-and-system-wide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-config-richtig-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-config-setup-global-local-and-system-wide" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-config-setup-global-local-and-system-wide.webp</image:loc><image:title>Setting Up Git Config Correctly: Global, Local, and System-Wide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;Git&#x20;Config&#x20;Correctly&#x3A;&#x20;Global,&#x20;Local,&#x20;and&#x20;System-Wide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-config-setup-global-local-and-system-wide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-diff-in-detail-tracking-changes-precisely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-diff-im-detail-aenderungen-nachvollziehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-diff-in-detail-tracking-changes-precisely" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-diff-in-detail-tracking-changes-precisely.webp</image:loc><image:title>git diff in Detail: Precisely Tracking Changes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="git&#x20;diff&#x20;in&#x20;Detail&#x3A;&#x20;Precisely&#x20;Tracking&#x20;Changes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-diff-in-detail-tracking-changes-precisely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-flow-vs-github-flow-which-branching-strategy-fits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-flow-vs-github-flow-welche-branching-strategie-passt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-flow-vs-github-flow-which-branching-strategy-fits" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-flow-vs-github-flow-which-branching-strategy-fits.webp</image:loc><image:title>Git Flow vs. GitHub Flow: Which Branching Strategy Fits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Flow&#x20;vs.&#x20;GitHub&#x20;Flow&#x3A;&#x20;Which&#x20;Branching&#x20;Strategy&#x20;Fits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-flow-vs-github-flow-which-branching-strategy-fits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-fundamentals-three-trees-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-grundlagen-drei-bereiche-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-fundamentals-three-trees-explained" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-fundamentals-three-trees-explained.webp</image:loc><image:title>Git Fundamentals: Understanding Working Directory, Staging Area, Repository</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Fundamentals&#x3A;&#x20;Understanding&#x20;Working&#x20;Directory,&#x20;Staging&#x20;Area,&#x20;Repository"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-fundamentals-three-trees-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-cleaning-history-bfg-repo-cleaner</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-history-bereinigen-bfg-repo-cleaner" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-cleaning-history-bfg-repo-cleaner" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-cleaning-history-bfg-repo-cleaner.webp</image:loc><image:title>Cleaning Git History with BFG Repo-Cleaner</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cleaning&#x20;Git&#x20;History&#x20;with&#x20;BFG&#x20;Repo-Cleaner"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-cleaning-history-bfg-repo-cleaner.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-keeping-history-clean</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-git-history-sauber-halten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-keeping-history-clean" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-keeping-history-clean.webp</image:loc><image:title>Keeping Your Git History Clean: Conventions and Discipline</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Keeping&#x20;Your&#x20;Git&#x20;History&#x20;Clean&#x3A;&#x20;Conventions&#x20;and&#x20;Discipline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-keeping-history-clean.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-hooks-fundamentals-local-automation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-hooks-grundlagen-lokale-automatisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-hooks-fundamentals-local-automation" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-hooks-fundamentals-local-automation.webp</image:loc><image:title>Git Hooks Fundamentals: Local Automation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Hooks&#x20;Fundamentals&#x3A;&#x20;Local&#x20;Automation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-hooks-fundamentals-local-automation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-staging-area-index-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-index-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-staging-area-index-explained" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-staging-area-index-explained.webp</image:loc><image:title>The Git Staging Area (Index) in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Git&#x20;Staging&#x20;Area&#x20;&#x28;Index&#x29;&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-staging-area-index-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-using-git-log-effectively</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-log-effektiv-nutzen-filtern-formatieren-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-using-git-log-effectively" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-using-git-log-effectively.webp</image:loc><image:title>Using git log Effectively: Filtering, Formatting, Understanding</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;git&#x20;log&#x20;Effectively&#x3A;&#x20;Filtering,&#x20;Formatting,&#x20;Understanding"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-using-git-log-effectively.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-based-deployment-strategy-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-basierte-deployment-strategie-fuer-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-based-deployment-strategy-for-magento-stores" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-based-deployment-strategy-for-magento-stores.webp</image:loc><image:title>Git-Based Deployment Strategy for Magento Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git-Based&#x20;Deployment&#x20;Strategy&#x20;for&#x20;Magento&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-based-deployment-strategy-for-magento-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-object-model-blobs-trees-commits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-objektmodell-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-object-model-blobs-trees-commits" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-object-model-blobs-trees-commits.webp</image:loc><image:title>Understanding the Git Object Model: Blobs, Trees, Commits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;the&#x20;Git&#x20;Object&#x20;Model&#x3A;&#x20;Blobs,&#x20;Trees,&#x20;Commits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-object-model-blobs-trees-commits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-refs-and-head-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-refs-und-head" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-refs-and-head-explained" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-refs-and-head-explained.webp</image:loc><image:title>Git Refs and HEAD: How Git Manages Pointers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Refs&#x20;and&#x20;HEAD&#x3A;&#x20;How&#x20;Git&#x20;Manages&#x20;Pointers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-refs-and-head-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-secrets-scanning-preventing-accidental-leaks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-secrets-scanning-versehentliche-leaks-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-secrets-scanning-preventing-accidental-leaks" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-secrets-scanning-preventing-accidental-leaks.webp</image:loc><image:title>Git Secrets Scanning: Preventing Accidental Leaks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Secrets&#x20;Scanning&#x3A;&#x20;Preventing&#x20;Accidental&#x20;Leaks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-secrets-scanning-preventing-accidental-leaks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-stash-workflows-for-interrupted-work</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-stash-workflows-fuer-unterbrochene-arbeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-stash-workflows-for-interrupted-work" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-stash-workflows-for-interrupted-work.webp</image:loc><image:title>git stash Workflows for Interrupted Work</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="git&#x20;stash&#x20;Workflows&#x20;for&#x20;Interrupted&#x20;Work"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-stash-workflows-for-interrupted-work.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-submodules-vs-alternatives-for-multi-repo-setups</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-submodules-vs-alternativen-fuer-multi-repo-setups" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-submodules-vs-alternatives-for-multi-repo-setups" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-submodules-vs-alternatives-for-multi-repo-setups.webp</image:loc><image:title>Git Submodules vs. Alternatives for Multi-Repo Setups</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Submodules&#x20;vs.&#x20;Alternatives&#x20;for&#x20;Multi-Repo&#x20;Setups"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-submodules-vs-alternatives-for-multi-repo-setups.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-sustainably-establishing-a-team-workflow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-workflow-im-team-nachhaltig-etablieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-sustainably-establishing-a-team-workflow" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-sustainably-establishing-a-team-workflow.webp</image:loc><image:title>Sustainably Establishing a Git Workflow Across the Team</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sustainably&#x20;Establishing&#x20;a&#x20;Git&#x20;Workflow&#x20;Across&#x20;the&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-sustainably-establishing-a-team-workflow.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-worktree-working-in-parallel</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-worktree-parallel-an-mehreren-branches-arbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-worktree-working-in-parallel" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-worktree-working-in-parallel.webp</image:loc><image:title>Git Worktree: Working on Multiple Branches in Parallel</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Worktree&#x3A;&#x20;Working&#x20;on&#x20;Multiple&#x20;Branches&#x20;in&#x20;Parallel"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-worktree-working-in-parallel.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-gitignore-strategies-what-to-actually-exclude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-gitignore-strategien-was-wirklich-ausgeschlossen-gehoert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-gitignore-strategies-what-to-actually-exclude" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-gitignore-strategies-what-to-actually-exclude.webp</image:loc><image:title>.gitignore Strategies: What Should Actually Be Excluded</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value=".gitignore&#x20;Strategies&#x3A;&#x20;What&#x20;Should&#x20;Actually&#x20;Be&#x20;Excluded"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-gitignore-strategies-what-to-actually-exclude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-husky-lint-staged-team-hooks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-husky-lint-staged-hooks-im-team-durchsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-husky-lint-staged-team-hooks" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-husky-lint-staged-team-hooks.webp</image:loc><image:title>Husky and lint-staged: Enforcing Hooks Across the Team</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Husky&#x20;and&#x20;lint-staged&#x3A;&#x20;Enforcing&#x20;Hooks&#x20;Across&#x20;the&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-husky-lint-staged-team-hooks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-interactive-rebase-cleaning-up-commits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-interactive-rebase-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-interactive-rebase-cleaning-up-commits" />
<lastmod>2026-07-12T04:20:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-interactive-rebase-cleaning-up-commits.webp</image:loc><image:title>Interactive Rebase in Practice: Cleaning Up Commits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Interactive&#x20;Rebase&#x20;in&#x20;Practice&#x3A;&#x20;Cleaning&#x20;Up&#x20;Commits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-interactive-rebase-cleaning-up-commits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-resolving-merge-conflicts-strategies-and-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-merge-konflikte-loesen-strategien-und-tools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-resolving-merge-conflicts-strategies-and-tools" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-resolving-merge-conflicts-strategies-and-tools.webp</image:loc><image:title>Resolving Merge Conflicts: Strategies and Tools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Resolving&#x20;Merge&#x20;Conflicts&#x3A;&#x20;Strategies&#x20;and&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-resolving-merge-conflicts-strategies-and-tools.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-lfs-large-file-storage-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-lfs-grosse-dateien-sinnvoll-versionieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-lfs-large-file-storage-for-teams" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-lfs-large-file-storage-for-teams.webp</image:loc><image:title>Git LFS: Sensibly Versioning Large Files</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;LFS&#x3A;&#x20;Sensibly&#x20;Versioning&#x20;Large&#x20;Files"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-lfs-large-file-storage-for-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-keeping-sensitive-data-out-of-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-magento-sensible-daten-heraushalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-keeping-sensitive-data-out-of-magento" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-keeping-sensitive-data-out-of-magento.webp</image:loc><image:title>Keeping Sensitive Data Out of Git in Magento Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Keeping&#x20;Sensitive&#x20;Data&#x20;Out&#x20;of&#x20;Git&#x20;in&#x20;Magento&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-keeping-sensitive-data-out-of-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-merge-vs-rebase-decision-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-merge-vs-rebase-entscheidungshilfe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-merge-vs-rebase-decision-guide" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-merge-vs-rebase-decision-guide.webp</image:loc><image:title>Merge vs. Rebase: A Decision Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Merge&#x20;vs.&#x20;Rebase&#x3A;&#x20;A&#x20;Decision&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-merge-vs-rebase-decision-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-monorepo-vs-polyrepo-strategies-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-monorepo-vs-polyrepo-strategien-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-monorepo-vs-polyrepo-strategies-compared" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-monorepo-vs-polyrepo-strategies-compared.webp</image:loc><image:title>Monorepo vs. Polyrepo: Git Strategies Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Monorepo&#x20;vs.&#x20;Polyrepo&#x3A;&#x20;Git&#x20;Strategies&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-monorepo-vs-polyrepo-strategies-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-branch-strategy-dev-staging-production-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-multi-environment-branching-magento-dev-staging-prod" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-branch-strategy-dev-staging-production-magento" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-branch-strategy-dev-staging-production-magento.webp</image:loc><image:title>Multi-Environment Branching for Magento (dev/staging/prod)</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi-Environment&#x20;Branching&#x20;for&#x20;Magento&#x20;&#x28;dev&#x2F;staging&#x2F;prod&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-branch-strategy-dev-staging-production-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-packfiles-and-garbage-collection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-packfiles-und-garbage-collection" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-packfiles-and-garbage-collection" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-packfiles-and-garbage-collection.webp</image:loc><image:title>Packfiles and Garbage Collection: How Git Optimizes Storage</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Packfiles&#x20;and&#x20;Garbage&#x20;Collection&#x3A;&#x20;How&#x20;Git&#x20;Optimizes&#x20;Storage"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-packfiles-and-garbage-collection.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-setting-up-pre-commit-hooks-for-code-quality</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-pre-commit-hooks-fuer-code-qualitaet-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-setting-up-pre-commit-hooks-for-code-quality" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-setting-up-pre-commit-hooks-for-code-quality.webp</image:loc><image:title>Setting Up Pre-Commit Hooks for Code Quality</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;Pre-Commit&#x20;Hooks&#x20;for&#x20;Code&#x20;Quality"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-setting-up-pre-commit-hooks-for-code-quality.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-configuring-protected-branches-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-protected-branches-richtig-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-configuring-protected-branches-correctly" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-configuring-protected-branches-correctly.webp</image:loc><image:title>Configuring Protected Branches Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Protected&#x20;Branches&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-configuring-protected-branches-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-optimizing-pull-request-workflow-for-the-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-pull-request-workflow-fuers-team-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-optimizing-pull-request-workflow-for-the-team" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-optimizing-pull-request-workflow-for-the-team.webp</image:loc><image:title>Optimizing the Pull Request Workflow for the Team</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;the&#x20;Pull&#x20;Request&#x20;Workflow&#x20;for&#x20;the&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-optimizing-pull-request-workflow-for-the-team.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-reflog-lifesaver-for-lost-commits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-reflog-als-rettungsanker-fuer-verlorene-commits" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-reflog-lifesaver-for-lost-commits" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-reflog-lifesaver-for-lost-commits.webp</image:loc><image:title>The Reflog as a Lifesaver for Lost Commits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Reflog&#x20;as&#x20;a&#x20;Lifesaver&#x20;for&#x20;Lost&#x20;Commits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-reflog-lifesaver-for-lost-commits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-structuring-release-branches-and-versioning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-release-branches-und-versionierung-strukturieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-structuring-release-branches-and-versioning" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-structuring-release-branches-and-versioning.webp</image:loc><image:title>Structuring Release Branches and Versioning</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Structuring&#x20;Release&#x20;Branches&#x20;and&#x20;Versioning"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-structuring-release-branches-and-versioning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-server-side-hooks-centrally-controlling-push-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-server-side-hooks-push-validierung-zentral-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-server-side-hooks-centrally-controlling-push-validation" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-server-side-hooks-centrally-controlling-push-validation.webp</image:loc><image:title>Server-Side Hooks: Centrally Controlling Push Validation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Server-Side&#x20;Hooks&#x3A;&#x20;Centrally&#x20;Controlling&#x20;Push&#x20;Validation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-server-side-hooks-centrally-controlling-push-validation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-signed-commits-gpg-ensuring-authenticity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-signierte-commits-gpg-authentizitaet-sicherstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-signed-commits-gpg-ensuring-authenticity" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-signed-commits-gpg-ensuring-authenticity.webp</image:loc><image:title>Signed Commits with GPG: Ensuring Authenticity</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Signed&#x20;Commits&#x20;with&#x20;GPG&#x3A;&#x20;Ensuring&#x20;Authenticity"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-signed-commits-gpg-ensuring-authenticity.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-squash-commits-when-they-make-sense</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-squash-commits-wann-sinnvoll" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-squash-commits-when-they-make-sense" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-squash-commits-when-they-make-sense.webp</image:loc><image:title>Squash Commits: When They Make Sense and When They Don't</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Squash&#x20;Commits&#x3A;&#x20;When&#x20;They&#x20;Make&#x20;Sense&#x20;and&#x20;When&#x20;They&#x20;Don&#x27;t"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-squash-commits-when-they-make-sense.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git-trunk-based-development-short-lived-branches</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/git-trunk-based-development-kurze-branches" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git-trunk-based-development-short-lived-branches" />
<lastmod>2026-07-12T04:20:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-trunk-based-development-short-lived-branches.webp</image:loc><image:title>Trunk-Based Development: Shipping Faster with Short-Lived Branches</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Trunk-Based&#x20;Development&#x3A;&#x20;Shipping&#x20;Faster&#x20;with&#x20;Short-Lived&#x20;Branches"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-trunk-based-development-short-lived-branches.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-acls-extended-permissions-beyond-chmod</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-acls-erweiterte-berechtigungen-jenseits-von-chmod" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-acls-extended-permissions-beyond-chmod" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-acls-extended-permissions-beyond-chmod.webp</image:loc><image:title>ACLs: Extended Permissions Beyond chmod</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ACLs&#x3A;&#x20;Extended&#x20;Permissions&#x20;Beyond&#x20;chmod"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-acls-extended-permissions-beyond-chmod.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-apt-package-management-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-apt-paketmanagement-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-apt-package-management-in-detail" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-apt-package-management-in-detail.webp</image:loc><image:title>APT Package Management in Detail: Repos, Pins, Cache</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="APT&#x20;Package&#x20;Management&#x20;in&#x20;Detail&#x3A;&#x20;Repos,&#x20;Pins,&#x20;Cache"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-apt-package-management-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-bare-metal-vs-virtual-machines-vs-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-bare-metal-vs-vm-vs-container" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-bare-metal-vs-virtual-machines-vs-containers" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-bare-metal-vs-virtual-machines-vs-containers.webp</image:loc><image:title>Bare Metal vs. VM vs. Container: When Each Makes Sense</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bare&#x20;Metal&#x20;vs.&#x20;VM&#x20;vs.&#x20;Container&#x3A;&#x20;When&#x20;Each&#x20;Makes&#x20;Sense"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-bare-metal-vs-virtual-machines-vs-containers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-correctly-interpreting-cpu-load-average</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-cpu-load-average-richtig-interpretieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-correctly-interpreting-cpu-load-average" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-correctly-interpreting-cpu-load-average.webp</image:loc><image:title>Correctly Interpreting CPU Load Average</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Correctly&#x20;Interpreting&#x20;CPU&#x20;Load&#x20;Average"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-correctly-interpreting-cpu-load-average.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-cron-vs-systemd-timers-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-cron-vs-systemd-timer-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-cron-vs-systemd-timers-compared" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-cron-vs-systemd-timers-compared.webp</image:loc><image:title>Cron vs. systemd Timers: Scheduled Tasks Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cron&#x20;vs.&#x20;systemd&#x20;Timers&#x3A;&#x20;Scheduled&#x20;Tasks&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-cron-vs-systemd-timers-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-setting-file-permissions-chmod-chown</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-dateiberechtigungen-chmod-chown-richtig-setzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-setting-file-permissions-chmod-chown" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-setting-file-permissions-chmod-chown.webp</image:loc><image:title>Setting File Permissions Correctly with chmod and chown</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;File&#x20;Permissions&#x20;Correctly&#x20;with&#x20;chmod&#x20;and&#x20;chown"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-setting-file-permissions-chmod-chown.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-disk-io-analysis-iostat-iotop</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-disk-io-analyse-iostat-iotop" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-disk-io-analysis-iostat-iotop" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-disk-io-analysis-iostat-iotop.webp</image:loc><image:title>Disk I/O Analysis with iostat and iotop</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Disk&#x20;I&#x2F;O&#x20;Analysis&#x20;with&#x20;iostat&#x20;and&#x20;iotop"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-disk-io-analysis-iostat-iotop.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-disk-space-analysis-with-du-and-df</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-festplattenspeicher-analyse-mit-du-und-df" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-disk-space-analysis-with-du-and-df" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-disk-space-analysis-with-du-and-df.webp</image:loc><image:title>Disk Space Analysis with du and df</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Disk&#x20;Space&#x20;Analysis&#x20;with&#x20;du&#x20;and&#x20;df"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-disk-space-analysis-with-du-and-df.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-running-docker-in-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-docker-produktiv-betreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-running-docker-in-production" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-running-docker-in-production.webp</image:loc><image:title>Running Docker Productively on a Linux Server</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Running&#x20;Docker&#x20;Productively&#x20;on&#x20;a&#x20;Linux&#x20;Server"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-running-docker-in-production.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-setting-up-fail2ban-against-brute-force-attacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-fail2ban-gegen-brute-force-angriffe-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-setting-up-fail2ban-against-brute-force-attacks" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-setting-up-fail2ban-against-brute-force-attacks.webp</image:loc><image:title>Setting Up fail2ban Against Brute-Force Attacks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;fail2ban&#x20;Against&#x20;Brute-Force&#x20;Attacks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-setting-up-fail2ban-against-brute-force-attacks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-firewall-configuration-with-ufw-and-iptables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-firewall-konfiguration-mit-ufw-und-iptables" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-firewall-configuration-with-ufw-and-iptables" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-firewall-configuration-with-ufw-and-iptables.webp</image:loc><image:title>Firewall Configuration with ufw and iptables</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Firewall&#x20;Configuration&#x20;with&#x20;ufw&#x20;and&#x20;iptables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-firewall-configuration-with-ufw-and-iptables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-understanding-inodes-and-filesystem-limits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-inodes-und-dateisystem-limits-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-understanding-inodes-and-filesystem-limits" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-understanding-inodes-and-filesystem-limits.webp</image:loc><image:title>Understanding Inodes and Filesystem Limits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Inodes&#x20;and&#x20;Filesystem&#x20;Limits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-understanding-inodes-and-filesystem-limits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-using-journalctl-effectively-searching-systemd-logs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-journalctl-effektiv-nutzen-systemd-logs-durchsuchen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-using-journalctl-effectively-searching-systemd-logs" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-using-journalctl-effectively-searching-systemd-logs.webp</image:loc><image:title>Using journalctl Effectively: Searching systemd Logs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;journalctl&#x20;Effectively&#x3A;&#x20;Searching&#x20;systemd&#x20;Logs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-using-journalctl-effectively-searching-systemd-logs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-audit-logging-with-auditd-tracking-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-audit-log-mit-auditd-aenderungen-nachvollziehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-audit-logging-with-auditd-tracking-changes" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-audit-logging-with-auditd-tracking-changes.webp</image:loc><image:title>Linux Audit Logging with auditd: Tracking Changes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Linux&#x20;Audit&#x20;Logging&#x20;with&#x20;auditd&#x3A;&#x20;Tracking&#x20;Changes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-audit-logging-with-auditd-tracking-changes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-backup-strategies-rsync-tar-snapshots</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-backup-strategien-rsync-tar-snapshots" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-backup-strategies-rsync-tar-snapshots" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-backup-strategies-rsync-tar-snapshots.webp</image:loc><image:title>Linux Backup Strategies: rsync, tar, and Snapshot Tools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Linux&#x20;Backup&#x20;Strategies&#x3A;&#x20;rsync,&#x20;tar,&#x20;and&#x20;Snapshot&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-backup-strategies-rsync-tar-snapshots.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-managing-users-and-groups</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-benutzer-und-gruppen-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-managing-users-and-groups" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-managing-users-and-groups.webp</image:loc><image:title>Managing Linux Users and Groups</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;Linux&#x20;Users&#x20;and&#x20;Groups"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-managing-users-and-groups.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-filesystem-hierarchy-standard-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-dateisystemhierarchie-verstehen-fhs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-filesystem-hierarchy-standard-explained" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-filesystem-hierarchy-standard-explained.webp</image:loc><image:title>Understanding the Linux Filesystem Hierarchy (FHS)</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;the&#x20;Linux&#x20;Filesystem&#x20;Hierarchy&#x20;&#x28;FHS&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-filesystem-hierarchy-standard-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-server-distributions-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-distributionen-fuer-server-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-server-distributions-compared" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-server-distributions-compared.webp</image:loc><image:title>Linux Server Distributions Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Linux&#x20;Server&#x20;Distributions&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-server-distributions-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-tuning-kernel-parameters-with-sysctl</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-kernel-parameter-mit-sysctl-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-tuning-kernel-parameters-with-sysctl" />
<lastmod>2026-07-12T07:25:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-tuning-kernel-parameters-with-sysctl.webp</image:loc><image:title>Tuning Linux Kernel Parameters with sysctl</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tuning&#x20;Linux&#x20;Kernel&#x20;Parameters&#x20;with&#x20;sysctl"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-tuning-kernel-parameters-with-sysctl.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-namespaces-and-cgroups-foundation-of-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-namespaces-und-cgroups-grundlagen-von-containern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-namespaces-and-cgroups-foundation-of-containers" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-namespaces-and-cgroups-foundation-of-containers.webp</image:loc><image:title>Linux Namespaces and cgroups: The Foundation of Containers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Linux&#x20;Namespaces&#x20;and&#x20;cgroups&#x3A;&#x20;The&#x20;Foundation&#x20;of&#x20;Containers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-namespaces-and-cgroups-foundation-of-containers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-network-fundamentals-interfaces-routing-dns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-netzwerk-grundlagen-interfaces-routing-dns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-network-fundamentals-interfaces-routing-dns" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-network-fundamentals-interfaces-routing-dns.webp</image:loc><image:title>Linux Network Fundamentals: Interfaces, Routing, DNS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Linux&#x20;Network&#x20;Fundamentals&#x3A;&#x20;Interfaces,&#x20;Routing,&#x20;DNS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-network-fundamentals-interfaces-routing-dns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-performance-tuning-nginx-php-fpm-web-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-performance-tuning-webserver-nginx-php-fpm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-performance-tuning-nginx-php-fpm-web-servers" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-performance-tuning-nginx-php-fpm-web-servers.webp</image:loc><image:title>Linux Performance Tuning for Web Servers (Nginx/PHP-FPM)</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Linux&#x20;Performance&#x20;Tuning&#x20;for&#x20;Web&#x20;Servers&#x20;&#x28;Nginx&#x2F;PHP-FPM&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-performance-tuning-nginx-php-fpm-web-servers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-understanding-processes-pid-ppid-process-tree</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-prozesse-verstehen-pid-ppid-prozessbaum" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-understanding-processes-pid-ppid-process-tree" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-understanding-processes-pid-ppid-process-tree.webp</image:loc><image:title>Understanding Linux Processes: PID, PPID, Process Tree</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Linux&#x20;Processes&#x3A;&#x20;PID,&#x20;PPID,&#x20;Process&#x20;Tree"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-understanding-processes-pid-ppid-process-tree.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-server-hardening-fundamentals-for-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-server-haertung-grundlagen-fuer-produktivsysteme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-server-hardening-fundamentals-for-production" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-server-hardening-fundamentals-for-production.webp</image:loc><image:title>Linux Server Hardening: Fundamentals for Production Systems</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Linux&#x20;Server&#x20;Hardening&#x3A;&#x20;Fundamentals&#x20;for&#x20;Production&#x20;Systems"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-server-hardening-fundamentals-for-production.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-systematic-troubleshooting-workflow-for-linux-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-systematischer-troubleshooting-workflow-fuer-linux-server" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-systematic-troubleshooting-workflow-for-linux-servers" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-systematic-troubleshooting-workflow-for-linux-servers.webp</image:loc><image:title>A Systematic Troubleshooting Workflow for Linux Servers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="A&#x20;Systematic&#x20;Troubleshooting&#x20;Workflow&#x20;for&#x20;Linux&#x20;Servers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-systematic-troubleshooting-workflow-for-linux-servers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-memory-management-ram-swap-cache</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-speicherverwaltung-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-memory-management-ram-swap-cache" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-memory-management-ram-swap-cache.webp</image:loc><image:title>Understanding Linux Memory Management: RAM, Swap, Cache</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Linux&#x20;Memory&#x20;Management&#x3A;&#x20;RAM,&#x20;Swap,&#x20;Cache"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-memory-management-ram-swap-cache.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-configuring-log-rotation-with-logrotate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-log-rotation-mit-logrotate-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-configuring-log-rotation-with-logrotate" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-configuring-log-rotation-with-logrotate.webp</image:loc><image:title>Configuring Log Rotation with logrotate</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Log&#x20;Rotation&#x20;with&#x20;logrotate"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-configuring-log-rotation-with-logrotate.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-lxc-lightweight-virtualization-docker-alternative</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-lxc-leichtgewichtige-virtualisierung-docker-alternative" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-lxc-lightweight-virtualization-docker-alternative" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-lxc-lightweight-virtualization-docker-alternative.webp</image:loc><image:title>LXC: Lightweight Virtualization as a Docker Alternative</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="LXC&#x3A;&#x20;Lightweight&#x20;Virtualization&#x20;as&#x20;a&#x20;Docker&#x20;Alternative"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-lxc-lightweight-virtualization-docker-alternative.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-configuring-magento-server-requirements</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-magento-server-anforderungen-linux-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-configuring-magento-server-requirements" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-configuring-magento-server-requirements.webp</image:loc><image:title>Correctly Configuring Linux Server Requirements for Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Correctly&#x20;Configuring&#x20;Linux&#x20;Server&#x20;Requirements&#x20;for&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-configuring-magento-server-requirements.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-mount-points-and-filesystems-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-mount-points-und-dateisysteme-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-mount-points-and-filesystems-compared" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-mount-points-and-filesystems-compared.webp</image:loc><image:title>Mount Points and Filesystems: ext4, XFS, Btrfs Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mount&#x20;Points&#x20;and&#x20;Filesystems&#x3A;&#x20;ext4,&#x20;XFS,&#x20;Btrfs&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-mount-points-and-filesystems-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-understanding-the-oom-killer</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-oom-killer-verstehen-und-speicherprobleme-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-understanding-the-oom-killer" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-understanding-the-oom-killer.webp</image:loc><image:title>Understanding the OOM Killer and Avoiding Memory Problems</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;the&#x20;OOM&#x20;Killer&#x20;and&#x20;Avoiding&#x20;Memory&#x20;Problems"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-understanding-the-oom-killer.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-securely-managing-and-verifying-package-sources</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-paketquellen-sicher-verwalten-und-pruefen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-securely-managing-and-verifying-package-sources" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-securely-managing-and-verifying-package-sources.webp</image:loc><image:title>Securely Managing and Verifying Package Sources</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Securely&#x20;Managing&#x20;and&#x20;Verifying&#x20;Package&#x20;Sources"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-securely-managing-and-verifying-package-sources.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-managing-multiple-php-versions-in-parallel</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-php-versionen-parallel-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-managing-multiple-php-versions-in-parallel" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-managing-multiple-php-versions-in-parallel.webp</image:loc><image:title>Managing Multiple PHP Versions in Parallel on Linux</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;Multiple&#x20;PHP&#x20;Versions&#x20;in&#x20;Parallel&#x20;on&#x20;Linux"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-managing-multiple-php-versions-in-parallel.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-rootkit-detection-with-rkhunter-and-chkrootkit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-rootkit-erkennung-mit-rkhunter-und-chkrootkit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-rootkit-detection-with-rkhunter-and-chkrootkit" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-rootkit-detection-with-rkhunter-and-chkrootkit.webp</image:loc><image:title>Rootkit Detection with rkhunter and chkrootkit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Rootkit&#x20;Detection&#x20;with&#x20;rkhunter&#x20;and&#x20;chkrootkit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-rootkit-detection-with-rkhunter-and-chkrootkit.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-selinux-vs-apparmor-mandatory-access-control-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-selinux-vs-apparmor-mandatory-access-control-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-selinux-vs-apparmor-mandatory-access-control-compared" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-selinux-vs-apparmor-mandatory-access-control-compared.webp</image:loc><image:title>SELinux vs. AppArmor: Mandatory Access Control Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SELinux&#x20;vs.&#x20;AppArmor&#x3A;&#x20;Mandatory&#x20;Access&#x20;Control&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-selinux-vs-apparmor-mandatory-access-control-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-signals-and-process-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-signale-und-prozesskontrolle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-signals-and-process-control" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-signals-and-process-control.webp</image:loc><image:title>Signals and Process Control: SIGTERM, SIGKILL, and More</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Signals&#x20;and&#x20;Process&#x20;Control&#x3A;&#x20;SIGTERM,&#x20;SIGKILL,&#x20;and&#x20;More"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-signals-and-process-control.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-ss-and-netstat-analyzing-network-connections</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-ss-und-netstat-verbindungen-analysieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-ss-and-netstat-analyzing-network-connections" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-ss-and-netstat-analyzing-network-connections.webp</image:loc><image:title>ss and netstat: Analyzing Network Connections</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ss&#x20;and&#x20;netstat&#x3A;&#x20;Analyzing&#x20;Network&#x20;Connections"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-ss-and-netstat-analyzing-network-connections.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-ssh-tunneling-and-port-forwarding-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-ssh-tunneling-und-port-forwarding-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-ssh-tunneling-and-port-forwarding-in-practice" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-ssh-tunneling-and-port-forwarding-in-practice.webp</image:loc><image:title>SSH Tunneling and Port Forwarding in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SSH&#x20;Tunneling&#x20;and&#x20;Port&#x20;Forwarding&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-ssh-tunneling-and-port-forwarding-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-securing-ssh-connections</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-ssh-verbindungen-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-securing-ssh-connections" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-securing-ssh-connections.webp</image:loc><image:title>Securing SSH Connections: Keys, Config, Hardening</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Securing&#x20;SSH&#x20;Connections&#x3A;&#x20;Keys,&#x20;Config,&#x20;Hardening"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-securing-ssh-connections.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-configuring-sudo-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-sudo-richtig-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-configuring-sudo-correctly" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-configuring-sudo-correctly.webp</image:loc><image:title>Configuring sudo Correctly: sudoers, Aliases, Logging</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;sudo&#x20;Correctly&#x3A;&#x20;sudoers,&#x20;Aliases,&#x20;Logging"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-configuring-sudo-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-understanding-suid-sgid-sticky-bit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-suid-sgid-sticky-bit-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-understanding-suid-sgid-sticky-bit" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-understanding-suid-sgid-sticky-bit.webp</image:loc><image:title>Understanding SUID, SGID, and the Sticky Bit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;SUID,&#x20;SGID,&#x20;and&#x20;the&#x20;Sticky&#x20;Bit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-understanding-suid-sgid-sticky-bit.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-configuring-swap-and-swappiness</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-swap-konfiguration-und-swappiness" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-configuring-swap-and-swappiness" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-configuring-swap-and-swappiness.webp</image:loc><image:title>Configuring Swap and Swappiness Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Swap&#x20;and&#x20;Swappiness&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-configuring-swap-and-swappiness.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-symlinks-vs-hardlinks-differences-and-use-cases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-symlinks-vs-hardlinks-unterschiede-und-einsatzgebiete" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-symlinks-vs-hardlinks-differences-and-use-cases" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-symlinks-vs-hardlinks-differences-and-use-cases.webp</image:loc><image:title>Symlinks vs. Hardlinks: Differences and Use Cases</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symlinks&#x20;vs.&#x20;Hardlinks&#x3A;&#x20;Differences&#x20;and&#x20;Use&#x20;Cases"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-symlinks-vs-hardlinks-differences-and-use-cases.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-system-monitoring-top-htop-and-alternatives</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-system-monitoring-top-htop-alternativen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-system-monitoring-top-htop-and-alternatives" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-system-monitoring-top-htop-and-alternatives.webp</image:loc><image:title>System Monitoring with top, htop, and Alternatives</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="System&#x20;Monitoring&#x20;with&#x20;top,&#x20;htop,&#x20;and&#x20;Alternatives"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-system-monitoring-top-htop-and-alternatives.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-configuring-system-resource-limits-with-ulimit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-system-ressourcen-limits-mit-ulimit-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-configuring-system-resource-limits-with-ulimit" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-configuring-system-resource-limits-with-ulimit.webp</image:loc><image:title>Configuring System Resource Limits with ulimit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;System&#x20;Resource&#x20;Limits&#x20;with&#x20;ulimit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-configuring-system-resource-limits-with-ulimit.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-creating-custom-systemd-services-for-php-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-systemd-eigene-services-fuer-php-anwendungen-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-creating-custom-systemd-services-for-php-applications" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-creating-custom-systemd-services-for-php-applications.webp</image:loc><image:title>Creating Custom systemd Services for PHP Applications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Creating&#x20;Custom&#x20;systemd&#x20;Services&#x20;for&#x20;PHP&#x20;Applications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-creating-custom-systemd-services-for-php-applications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-managing-systemd-services</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-systemd-services-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-managing-systemd-services" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-managing-systemd-services.webp</image:loc><image:title>Managing systemd Services: Start, Stop, Status, Logs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;systemd&#x20;Services&#x3A;&#x20;Start,&#x20;Stop,&#x20;Status,&#x20;Logs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-managing-systemd-services.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-system-wide-vs-local-software-installation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-systemweite-vs-lokale-software-installation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-system-wide-vs-local-software-installation" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-system-wide-vs-local-software-installation.webp</image:loc><image:title>System-Wide vs. Local Software Installation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="System-Wide&#x20;vs.&#x20;Local&#x20;Software&#x20;Installation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-system-wide-vs-local-software-installation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-automating-security-updates-with-unattended-upgrades</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-unattended-upgrades-sicherheitsupdates-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-automating-security-updates-with-unattended-upgrades" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-automating-security-updates-with-unattended-upgrades.webp</image:loc><image:title>Unattended Upgrades: Automating Security Updates</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Unattended&#x20;Upgrades&#x3A;&#x20;Automating&#x20;Security&#x20;Updates"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-automating-security-updates-with-unattended-upgrades.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-understanding-zombie-and-orphaned-processes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-zombie-und-verwaiste-prozesse-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-understanding-zombie-and-orphaned-processes" />
<lastmod>2026-07-12T07:25:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-understanding-zombie-and-orphaned-processes.webp</image:loc><image:title>Understanding and Fixing Zombie and Orphaned Processes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;and&#x20;Fixing&#x20;Zombie&#x20;and&#x20;Orphaned&#x20;Processes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-understanding-zombie-and-orphaned-processes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-creating-a-legally-sound-accessibility-statement</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-accessibility-statement-rechtssicher-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-creating-a-legally-sound-accessibility-statement" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-creating-a-legally-sound-accessibility-statement.webp</image:loc><image:title>Creating a Legally Sound Accessibility Statement</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Creating&#x20;a&#x20;Legally&#x20;Sound&#x20;Accessibility&#x20;Statement"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-creating-a-legally-sound-accessibility-statement.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-understanding-the-accessibility-tree</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-accessibility-tree-verstehen-und-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-understanding-the-accessibility-tree" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-understanding-the-accessibility-tree.webp</image:loc><image:title>Understanding and Debugging the Accessibility Tree</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;and&#x20;Debugging&#x20;the&#x20;Accessibility&#x20;Tree"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-understanding-the-accessibility-tree.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-building-accessible-alpine-js-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-alpine-js-komponenten-barrierefrei-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-building-accessible-alpine-js-components" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-building-accessible-alpine-js-components.webp</image:loc><image:title>Building Accessible Alpine.js Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Accessible&#x20;Alpine.js&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-building-accessible-alpine-js-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-writing-alt-text-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-alt-texte-richtig-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-writing-alt-text-correctly" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-writing-alt-text-correctly.webp</image:loc><image:title>Writing Alt Text Correctly: More Than Just a Required Field</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Alt&#x20;Text&#x20;Correctly&#x3A;&#x20;More&#x20;Than&#x20;Just&#x20;a&#x20;Required&#x20;Field"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-writing-alt-text-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-aria-fundamentals-when-to-use-it-and-when-not</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-aria-grundlagen-wann-einsetzen-wann-nicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-aria-fundamentals-when-to-use-it-and-when-not" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-aria-fundamentals-when-to-use-it-and-when-not.webp</image:loc><image:title>ARIA Fundamentals: When to Use It and When Not To</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ARIA&#x20;Fundamentals&#x3A;&#x20;When&#x20;to&#x20;Use&#x20;It&#x20;and&#x20;When&#x20;Not&#x20;To"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-aria-fundamentals-when-to-use-it-and-when-not.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-avoiding-common-aria-mistakes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-aria-haeufige-fehler-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-avoiding-common-aria-mistakes" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-avoiding-common-aria-mistakes.webp</image:loc><image:title>Avoiding Common ARIA Mistakes (The First Rule of ARIA)</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Common&#x20;ARIA&#x20;Mistakes&#x20;&#x28;The&#x20;First&#x20;Rule&#x20;of&#x20;ARIA&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-avoiding-common-aria-mistakes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-aria-labelledby-vs-aria-describedby-usage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-aria-labelledby-vs-aria-describedby-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-aria-labelledby-vs-aria-describedby-usage" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-aria-labelledby-vs-aria-describedby-usage.webp</image:loc><image:title>aria-labelledby vs. aria-describedby: Differences and Usage</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="aria-labelledby&#x20;vs.&#x20;aria-describedby&#x3A;&#x20;Differences&#x20;and&#x20;Usage"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-aria-labelledby-vs-aria-describedby-usage.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-aria-live-regions-for-announcing-dynamic-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-aria-live-regions-dynamische-inhalte-ankuendigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-aria-live-regions-for-announcing-dynamic-content" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-aria-live-regions-for-announcing-dynamic-content.webp</image:loc><image:title>ARIA Live Regions for Announcing Dynamic Content</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ARIA&#x20;Live&#x20;Regions&#x20;for&#x20;Announcing&#x20;Dynamic&#x20;Content"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-aria-live-regions-for-announcing-dynamic-content.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-automated-accessibility-tests-in-ci-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-automatisierte-a11y-tests-in-ci-pipeline" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-automated-accessibility-tests-in-ci-pipeline" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-automated-accessibility-tests-in-ci-pipeline.webp</image:loc><image:title>Automated Accessibility Tests in the CI Pipeline</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automated&#x20;Accessibility&#x20;Tests&#x20;in&#x20;the&#x20;CI&#x20;Pipeline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-automated-accessibility-tests-in-ci-pipeline.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-accessible-date-pickers-and-comboboxes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-barrierefreie-datepicker-und-comboboxen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-accessible-date-pickers-and-comboboxes" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-date-pickers-and-comboboxes.webp</image:loc><image:title>Implementing Accessible Date Pickers and Comboboxes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Accessible&#x20;Date&#x20;Pickers&#x20;and&#x20;Comboboxes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-date-pickers-and-comboboxes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-accessible-form-validation-and-error-messages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-barrierefreie-formularvalidierung-und-fehlermeldungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-accessible-form-validation-and-error-messages" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-form-validation-and-error-messages.webp</image:loc><image:title>Accessible Form Validation and Error Messages</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessible&#x20;Form&#x20;Validation&#x20;and&#x20;Error&#x20;Messages"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-form-validation-and-error-messages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-accessible-videos-captions-and-transcripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-barrierefreie-videos-untertitel-und-transkripte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-accessible-videos-captions-and-transcripts" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-videos-captions-and-transcripts.webp</image:loc><image:title>Accessible Videos: Captions and Transcripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessible&#x20;Videos&#x3A;&#x20;Captions&#x20;and&#x20;Transcripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-videos-captions-and-transcripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-business-case-accessible-online-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-business-case-barrierefreie-webshops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-business-case-accessible-online-stores" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-business-case-accessible-online-stores.webp</image:loc><image:title>The Business Case for Accessible Online Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Business&#x20;Case&#x20;for&#x20;Accessible&#x20;Online&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-business-case-accessible-online-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-embedding-accessibility-in-code-review</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-im-code-review-verankern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-embedding-accessibility-in-code-review" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-embedding-accessibility-in-code-review.webp</image:loc><image:title>Embedding Accessibility in Code Review</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Embedding&#x20;Accessibility&#x20;in&#x20;Code&#x20;Review"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-embedding-accessibility-in-code-review.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-embedding-accessibility-in-the-design-process</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-im-design-prozess-verankern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-embedding-accessibility-in-the-design-process" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-embedding-accessibility-in-the-design-process.webp</image:loc><image:title>Embedding Accessibility in the Design Process</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Embedding&#x20;Accessibility&#x20;in&#x20;the&#x20;Design&#x20;Process"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-embedding-accessibility-in-the-design-process.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-continuously-improving-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-kontinuierlich-verbessern-statt-einmal-projekt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-continuously-improving-accessibility" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-continuously-improving-accessibility.webp</image:loc><image:title>Continuously Improving Accessibility Instead of a One-Time Project</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Continuously&#x20;Improving&#x20;Accessibility&#x20;Instead&#x20;of&#x20;a&#x20;One-Time&#x20;Project"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-continuously-improving-accessibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-why-it-affects-everyone</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-warum-es-jeden-betrifft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-why-it-affects-everyone" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-why-it-affects-everyone.webp</image:loc><image:title>Accessibility: Why It Affects More Users Than You Think</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessibility&#x3A;&#x20;Why&#x20;It&#x20;Affects&#x20;More&#x20;Users&#x20;Than&#x20;You&#x20;Think"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-why-it-affects-everyone.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-using-browser-devtools-for-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-browser-devtools-fuer-barrierefreiheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-using-browser-devtools-for-accessibility" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-using-browser-devtools-for-accessibility.webp</image:loc><image:title>Using Browser DevTools for Accessibility</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Browser&#x20;DevTools&#x20;for&#x20;Accessibility"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-using-browser-devtools-for-accessibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-making-captchas-accessible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-captchas-barrierefrei-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-making-captchas-accessible" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-captchas-accessible.webp</image:loc><image:title>Making CAPTCHAs Accessible or Replacing Them Sensibly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;CAPTCHAs&#x20;Accessible&#x20;or&#x20;Replacing&#x20;Them&#x20;Sensibly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-captchas-accessible.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-accessible-checkout-process</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-checkout-prozess-barrierefrei-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-accessible-checkout-process" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-checkout-process.webp</image:loc><image:title>Making the Checkout Process Accessible</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;the&#x20;Checkout&#x20;Process&#x20;Accessible"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-checkout-process.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-making-custom-widgets-accessible-with-aria</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-custom-widgets-mit-aria-zugaenglich-machen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-making-custom-widgets-accessible-with-aria" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-custom-widgets-accessible-with-aria.webp</image:loc><image:title>Making Custom Widgets Accessible with ARIA</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;Custom&#x20;Widgets&#x20;Accessible&#x20;with&#x20;ARIA"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-custom-widgets-accessible-with-aria.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-thinking-about-dark-mode-and-accessibility-together</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-dark-mode-und-barrierefreiheit-zusammen-denken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-thinking-about-dark-mode-and-accessibility-together" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-thinking-about-dark-mode-and-accessibility-together.webp</image:loc><image:title>Thinking About Dark Mode and Accessibility Together</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Thinking&#x20;About&#x20;Dark&#x20;Mode&#x20;and&#x20;Accessibility&#x20;Together"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-thinking-about-dark-mode-and-accessibility-together.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-distinguishing-decorative-from-informative-images</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-dekorative-vs-informative-bilder-unterscheiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-distinguishing-decorative-from-informative-images" />
<lastmod>2026-07-12T07:58:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-distinguishing-decorative-from-informative-images.webp</image:loc><image:title>Distinguishing Decorative from Informative Images</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Distinguishing&#x20;Decorative&#x20;from&#x20;Informative&#x20;Images"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-distinguishing-decorative-from-informative-images.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-european-accessibility-act-and-bfsg-legal-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-european-accessibility-act-und-bfsg-rechtliche-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-european-accessibility-act-and-bfsg-legal-basics" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-european-accessibility-act-and-bfsg-legal-basics.webp</image:loc><image:title>European Accessibility Act and BFSG: Legal Basics for Online Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="European&#x20;Accessibility&#x20;Act&#x20;and&#x20;BFSG&#x3A;&#x20;Legal&#x20;Basics&#x20;for&#x20;Online&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-european-accessibility-act-and-bfsg-legal-basics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-not-using-color-as-the-only-indicator</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-farbe-nicht-als-einziges-unterscheidungsmerkmal" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-not-using-color-as-the-only-indicator" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-not-using-color-as-the-only-indicator.webp</image:loc><image:title>Not Using Color as the Only Means of Distinction</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Not&#x20;Using&#x20;Color&#x20;as&#x20;the&#x20;Only&#x20;Means&#x20;of&#x20;Distinction"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-not-using-color-as-the-only-indicator.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-correctly-calculating-color-contrast</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-farbkontrast-richtig-berechnen-und-einhalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-correctly-calculating-color-contrast" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-correctly-calculating-color-contrast.webp</image:loc><image:title>Correctly Calculating and Meeting Color Contrast</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Correctly&#x20;Calculating&#x20;and&#x20;Meeting&#x20;Color&#x20;Contrast"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-correctly-calculating-color-contrast.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-focus-management-in-dynamic-interfaces-and-spas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-fokus-management-in-dynamischen-interfaces-und-spas" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-focus-management-in-dynamic-interfaces-and-spas" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-focus-management-in-dynamic-interfaces-and-spas.webp</image:loc><image:title>Focus Management in Dynamic Interfaces and SPAs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Focus&#x20;Management&#x20;in&#x20;Dynamic&#x20;Interfaces&#x20;and&#x20;SPAs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-focus-management-in-dynamic-interfaces-and-spas.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-structuring-forms-semantically-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-formulare-semantisch-korrekt-strukturieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-structuring-forms-semantically-correctly" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-structuring-forms-semantically-correctly.webp</image:loc><image:title>Structuring Forms Semantically Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Structuring&#x20;Forms&#x20;Semantically&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-structuring-forms-semantically-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-hyva-theme-accessibility-fundamentals-and-common-gaps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-hyva-theme-grundlagen-und-haeufige-luecken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-hyva-theme-accessibility-fundamentals-and-common-gaps" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-hyva-theme-accessibility-fundamentals-and-common-gaps.webp</image:loc><image:title>Hyvä Theme Accessibility: Fundamentals and Common Gaps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Theme&#x20;Accessibility&#x3A;&#x20;Fundamentals&#x20;and&#x20;Common&#x20;Gaps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-hyva-theme-accessibility-fundamentals-and-common-gaps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-identifying-and-avoiding-keyboard-traps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-keyboard-traps-erkennen-und-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-identifying-and-avoiding-keyboard-traps" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-identifying-and-avoiding-keyboard-traps.webp</image:loc><image:title>Identifying and Avoiding Keyboard Traps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Identifying&#x20;and&#x20;Avoiding&#x20;Keyboard&#x20;Traps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-identifying-and-avoiding-keyboard-traps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-label-vs-placeholder-why-placeholders-are-not-a-substitute</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-label-vs-placeholder-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-label-vs-placeholder-why-placeholders-are-not-a-substitute" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-label-vs-placeholder-why-placeholders-are-not-a-substitute.webp</image:loc><image:title>Label vs. Placeholder: Why Placeholders Are Not a Substitute</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Label&#x20;vs.&#x20;Placeholder&#x3A;&#x20;Why&#x20;Placeholders&#x20;Are&#x20;Not&#x20;a&#x20;Substitute"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-label-vs-placeholder-why-placeholders-are-not-a-substitute.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-landmark-roles-and-html5-elements-for-navigation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-landmark-rollen-und-html5-elemente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-landmark-roles-and-html5-elements-for-navigation" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-landmark-roles-and-html5-elements-for-navigation.webp</image:loc><image:title>Landmark Roles and HTML5 Elements for Navigation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Landmark&#x20;Roles&#x20;and&#x20;HTML5&#x20;Elements&#x20;for&#x20;Navigation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-landmark-roles-and-html5-elements-for-navigation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-marking-up-lists-and-tables-accessibly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-listen-tabellen-barrierefrei-auszeichnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-marking-up-lists-and-tables-accessibly" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-marking-up-lists-and-tables-accessibly.webp</image:loc><image:title>Marking Up Lists and Tables Accessibly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Marking&#x20;Up&#x20;Lists&#x20;and&#x20;Tables&#x20;Accessibly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-marking-up-lists-and-tables-accessibly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-optimizing-magento-checkout-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-magento-checkout-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-optimizing-magento-checkout-accessibility" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-optimizing-magento-checkout-accessibility.webp</image:loc><image:title>Optimizing the Magento Checkout for Accessibility</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;the&#x20;Magento&#x20;Checkout&#x20;for&#x20;Accessibility"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-optimizing-magento-checkout-accessibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-making-the-magento-mini-cart-accessible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-magento-mini-cart-barrierefrei-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-making-the-magento-mini-cart-accessible" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-the-magento-mini-cart-accessible.webp</image:loc><image:title>Making the Magento Mini-Cart Accessible</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;the&#x20;Magento&#x20;Mini-Cart&#x20;Accessible"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-the-magento-mini-cart-accessible.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-manual-accessibility-audits-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-manuelle-a11y-audits-durchfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-manual-accessibility-audits-systematically" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-manual-accessibility-audits-systematically.webp</image:loc><image:title>Conducting Manual Accessibility Audits Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Conducting&#x20;Manual&#x20;Accessibility&#x20;Audits&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-manual-accessibility-audits-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-making-product-images-and-galleries-accessible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-produktbilder-und-galerien-barrierefrei" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-making-product-images-and-galleries-accessible" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-product-images-and-galleries-accessible.webp</image:loc><image:title>Making Product Images and Galleries Accessible</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;Product&#x20;Images&#x20;and&#x20;Galleries&#x20;Accessible"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-product-images-and-galleries-accessible.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-accessible-product-filters-layered-navigation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-produktfilter-barrierefrei-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-accessible-product-filters-layered-navigation" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-product-filters-layered-navigation.webp</image:loc><image:title>Implementing Accessible Product Filters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Accessible&#x20;Product&#x20;Filters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-product-filters-layered-navigation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-accessible-motion-and-animations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-reduced-motion-und-animationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-accessible-motion-and-animations" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-motion-and-animations.webp</image:loc><image:title>prefers-reduced-motion: Making Animations Accessible</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="prefers-reduced-motion&#x3A;&#x20;Making&#x20;Animations&#x20;Accessible"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-motion-and-animations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-responsive-text-and-zoom-support-up-to-200-percent</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-responsive-text-und-zoom-unterstuetzung-bis-200-prozent" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-responsive-text-and-zoom-support-up-to-200-percent" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-responsive-text-and-zoom-support-up-to-200-percent.webp</image:loc><image:title>Responsive Text and Zoom Support up to 200 Percent</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Responsive&#x20;Text&#x20;and&#x20;Zoom&#x20;Support&#x20;up&#x20;to&#x20;200&#x20;Percent"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-responsive-text-and-zoom-support-up-to-200-percent.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-screen-reader-testing-with-nvda-and-voiceover</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-screenreader-testing-mit-nvda-und-voiceover" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-screen-reader-testing-with-nvda-and-voiceover" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-screen-reader-testing-with-nvda-and-voiceover.webp</image:loc><image:title>Screen Reader Testing with NVDA and VoiceOver</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Screen&#x20;Reader&#x20;Testing&#x20;with&#x20;NVDA&#x20;and&#x20;VoiceOver"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-screen-reader-testing-with-nvda-and-voiceover.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-semantic-html-foundation-of-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-semantisches-html-grundlage-der-barrierefreiheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-semantic-html-foundation-of-accessibility" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-semantic-html-foundation-of-accessibility.webp</image:loc><image:title>Semantic HTML as the Foundation of Accessibility</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Semantic&#x20;HTML&#x20;as&#x20;the&#x20;Foundation&#x20;of&#x20;Accessibility"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-semantic-html-foundation-of-accessibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-designing-visible-focus-indicators</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-sichtbare-fokus-indikatoren-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-designing-visible-focus-indicators" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-designing-visible-focus-indicators.webp</image:loc><image:title>Designing Visible Focus Indicators Instead of outline:none</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Visible&#x20;Focus&#x20;Indicators&#x20;Instead&#x20;of&#x20;outline&#x3A;none"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-designing-visible-focus-indicators.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-implementing-skip-links-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-skip-links-richtig-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-implementing-skip-links-correctly" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-implementing-skip-links-correctly.webp</image:loc><image:title>Implementing Skip Links Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Skip&#x20;Links&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-implementing-skip-links-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-using-svg-icons-accessibly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-svg-icons-barrierefrei-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-using-svg-icons-accessibly" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-using-svg-icons-accessibly.webp</image:loc><image:title>Using SVG Icons Accessibly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;SVG&#x20;Icons&#x20;Accessibly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-using-svg-icons-accessibly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-keyboard-navigation-fundamentals-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-tastaturnavigation-grundlagen-fuer-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-keyboard-navigation-fundamentals-for-developers" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-keyboard-navigation-fundamentals-for-developers.webp</image:loc><image:title>Keyboard Navigation: Fundamentals for Developers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Keyboard&#x20;Navigation&#x3A;&#x20;Fundamentals&#x20;for&#x20;Developers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-keyboard-navigation-fundamentals-for-developers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-building-team-training-for-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-team-schulung-fuer-barrierefreiheit-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-building-team-training-for-accessibility" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-building-team-training-for-accessibility.webp</image:loc><image:title>Building Team Training for Accessibility</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Team&#x20;Training&#x20;for&#x20;Accessibility"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-building-team-training-for-accessibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-heading-structure-h1-h6</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-ueberschriften-struktur-richtig-einsetzen-h1-h6" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-heading-structure-h1-h6" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-heading-structure-h1-h6.webp</image:loc><image:title>Using Heading Structure Correctly (h1-h6)</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Heading&#x20;Structure&#x20;Correctly&#x20;&#x28;h1-h6&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-heading-structure-h1-h6.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-wcag-fundamentals-four-pour-principles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-wcag-grundlagen-pour-prinzipien-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-wcag-fundamentals-four-pour-principles" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-wcag-fundamentals-four-pour-principles.webp</image:loc><image:title>WCAG Fundamentals: Understanding the Four POUR Principles</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="WCAG&#x20;Fundamentals&#x3A;&#x20;Understanding&#x20;the&#x20;Four&#x20;POUR&#x20;Principles"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-wcag-fundamentals-four-pour-principles.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit-wcag-conformance-levels-a-aa-aaa</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/barrierefreiheit-wcag-konformitaetsstufen-a-aa-aaa" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit-wcag-conformance-levels-a-aa-aaa" />
<lastmod>2026-07-12T07:58:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-wcag-conformance-levels-a-aa-aaa.webp</image:loc><image:title>WCAG Conformance Levels A, AA, AAA Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="WCAG&#x20;Conformance&#x20;Levels&#x20;A,&#x20;AA,&#x20;AAA&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-wcag-conformance-levels-a-aa-aaa.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-automated-api-documentation-generation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-api-dokumentation-automatisiert-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-automated-api-documentation-generation" />
<lastmod>2026-07-12T09:36:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-automated-api-documentation-generation.webp</image:loc><image:title>Automatically Generating API Documentation with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automatically&#x20;Generating&#x20;API&#x20;Documentation&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-automated-api-documentation-generation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-generating-boilerplate-code-with-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-boilerplate-code-mit-ki-generieren-lassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-generating-boilerplate-code-with-ai" />
<lastmod>2026-07-12T09:36:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-generating-boilerplate-code-with-ai.webp</image:loc><image:title>Generating Boilerplate Code with AI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;Boilerplate&#x20;Code&#x20;with&#x20;AI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-generating-boilerplate-code-with-ai.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-chain-of-thought-prompting-for-complex-tasks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-chain-of-thought-prompting-fuer-komplexe-aufgaben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-chain-of-thought-prompting-for-complex-tasks" />
<lastmod>2026-07-12T09:36:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-chain-of-thought-prompting-for-complex-tasks.webp</image:loc><image:title>Chain-of-Thought Prompting for Complex Tasks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Chain-of-Thought&#x20;Prompting&#x20;for&#x20;Complex&#x20;Tasks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-chain-of-thought-prompting-for-complex-tasks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-models-overview-opus-sonnet-haiku</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-modelle-im-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-models-overview-opus-sonnet-haiku" />
<lastmod>2026-07-12T09:36:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-models-overview-opus-sonnet-haiku.webp</image:loc><image:title>Claude AI Models Overview: Opus, Sonnet, Haiku</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;AI&#x20;Models&#x20;Overview&#x3A;&#x20;Opus,&#x20;Sonnet,&#x20;Haiku"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-models-overview-opus-sonnet-haiku.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-claude-api-first-steps-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-api-erste-schritte-fuer-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-claude-api-first-steps-for-developers" />
<lastmod>2026-07-12T09:36:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-api-first-steps-for-developers.webp</image:loc><image:title>Claude API: First Steps for Developers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;API&#x3A;&#x20;First&#x20;Steps&#x20;for&#x20;Developers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-api-first-steps-for-developers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-integrating-claude-code-into-existing-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-code-in-bestehende-projekte-einbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-integrating-claude-code-into-existing-projects" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-integrating-claude-code-into-existing-projects.webp</image:loc><image:title>Integrating Claude Code into Existing Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrating&#x20;Claude&#x20;Code&#x20;into&#x20;Existing&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-integrating-claude-code-into-existing-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-installing-and-setting-up-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-code-installieren-und-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-installing-and-setting-up-claude-code" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-installing-and-setting-up-claude-code.webp</image:loc><image:title>Installing and Setting Up Claude Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Installing&#x20;and&#x20;Setting&#x20;Up&#x20;Claude&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-installing-and-setting-up-claude-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-understanding-claude-code-permissions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-code-permissions-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-understanding-claude-code-permissions" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-understanding-claude-code-permissions.webp</image:loc><image:title>Understanding Claude Code Permissions and the Security Model</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Claude&#x20;Code&#x20;Permissions&#x20;and&#x20;the&#x20;Security&#x20;Model"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-understanding-claude-code-permissions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-building-a-claude-code-team-workflow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-code-workflow-fuer-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-building-a-claude-code-team-workflow" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-building-a-claude-code-team-workflow.webp</image:loc><image:title>Establishing a Claude Code Workflow for Teams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Establishing&#x20;a&#x20;Claude&#x20;Code&#x20;Workflow&#x20;for&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-building-a-claude-code-team-workflow.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-claude-code-workflows-for-efficient-debugging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-code-workflows-fuer-debugging" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-claude-code-workflows-for-efficient-debugging" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-code-workflows-for-efficient-debugging.webp</image:loc><image:title>Claude Code Workflows for Efficient Debugging</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;Code&#x20;Workflows&#x20;for&#x20;Efficient&#x20;Debugging"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-code-workflows-for-efficient-debugging.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-using-claude-for-magento-module-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-fuer-magento-modulentwicklung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-using-claude-for-magento-module-development" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-using-claude-for-magento-module-development.webp</image:loc><image:title>Using Claude for Magento Module Development</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Claude&#x20;for&#x20;Magento&#x20;Module&#x20;Development"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-using-claude-for-magento-module-development.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-using-claude-in-ci-cd-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-in-ci-cd-pipelines-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-using-claude-in-ci-cd-pipelines" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-using-claude-in-ci-cd-pipelines.webp</image:loc><image:title>Using Claude in CI/CD Pipelines</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Claude&#x20;in&#x20;CI&#x2F;CD&#x20;Pipelines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-using-claude-in-ci-cd-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-connecting-claude-to-external-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-mit-externen-tools-verbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-connecting-claude-to-external-tools" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-connecting-claude-to-external-tools.webp</image:loc><image:title>Connecting Claude to External Tools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Connecting&#x20;Claude&#x20;to&#x20;External&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-connecting-claude-to-external-tools.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-claude-vs-chatgpt-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-vs-chatgpt-fuer-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-claude-vs-chatgpt-for-developers" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-vs-chatgpt-for-developers.webp</image:loc><image:title>Claude vs. ChatGPT for Developers Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;vs.&#x20;ChatGPT&#x20;for&#x20;Developers&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-vs-chatgpt-for-developers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-using-and-maintaining-claude-md-files-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claudemd-dateien-richtig-nutzen-und-pflegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-using-and-maintaining-claude-md-files-correctly" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-using-and-maintaining-claude-md-files-correctly.webp</image:loc><image:title>Using and Maintaining CLAUDE.md Files Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;and&#x20;Maintaining&#x20;CLAUDE.md&#x20;Files&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-using-and-maintaining-claude-md-files-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-writing-meaningful-code-comments-with-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-code-kommentare-sinnvoll-mit-ki-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-writing-meaningful-code-comments-with-ai" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-writing-meaningful-code-comments-with-ai.webp</image:loc><image:title>Generating Meaningful Code Comments with AI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;Meaningful&#x20;Code&#x20;Comments&#x20;with&#x20;AI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-writing-meaningful-code-comments-with-ai.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-generating-commit-messages-and-pr-descriptions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-commit-messages-und-pr-beschreibungen-mit-ki" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-generating-commit-messages-and-pr-descriptions" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-generating-commit-messages-and-pr-descriptions.webp</image:loc><image:title>Generating Commit Messages and PR Descriptions with AI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;Commit&#x20;Messages&#x20;and&#x20;PR&#x20;Descriptions&#x20;with&#x20;AI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-generating-commit-messages-and-pr-descriptions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-understanding-the-context-window</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-context-window-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-understanding-the-context-window" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-understanding-the-context-window.webp</image:loc><image:title>Understanding the Context Window: Why Size Is Not Everything</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;the&#x20;Context&#x20;Window&#x3A;&#x20;Why&#x20;Size&#x20;Is&#x20;Not&#x20;Everything"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-understanding-the-context-window.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-planning-database-migrations-with-ai-assistance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-datenbank-migrationen-mit-ki-unterstuetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-planning-database-migrations-with-ai-assistance" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-planning-database-migrations-with-ai-assistance.webp</image:loc><image:title>Planning Database Migrations with AI Assistance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Planning&#x20;Database&#x20;Migrations&#x20;with&#x20;AI&#x20;Assistance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-planning-database-migrations-with-ai-assistance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-data-privacy-with-ai-coding-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-datenschutz-bei-ki-coding-tools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-data-privacy-with-ai-coding-tools" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-data-privacy-with-ai-coding-tools.webp</image:loc><image:title>Data Privacy with AI Coding Tools: What to Consider</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Data&#x20;Privacy&#x20;with&#x20;AI&#x20;Coding&#x20;Tools&#x3A;&#x20;What&#x20;to&#x20;Consider"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-data-privacy-with-ai-coding-tools.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-the-future-of-ai-assisted-software-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-die-zukunft-der-ki-gestuetzten-softwareentwicklung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-the-future-of-ai-assisted-software-development" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-the-future-of-ai-assisted-software-development.webp</image:loc><image:title>The Future of AI-Assisted Software Development</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Future&#x20;of&#x20;AI-Assisted&#x20;Software&#x20;Development"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-the-future-of-ai-assisted-software-development.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-developing-your-own-mcp-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-eigene-mcp-server-entwickeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-developing-your-own-mcp-servers" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-developing-your-own-mcp-servers.webp</image:loc><image:title>Developing Your Own MCP Servers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Developing&#x20;Your&#x20;Own&#x20;MCP&#x20;Servers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-developing-your-own-mcp-servers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-few-shot-prompting-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-few-shot-prompting-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-few-shot-prompting-in-practice" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-few-shot-prompting-in-practice.webp</image:loc><image:title>Few-Shot Prompting in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Few-Shot&#x20;Prompting&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-few-shot-prompting-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-generating-graphql-queries-with-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-graphql-queries-mit-ki-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-generating-graphql-queries-with-ai" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-generating-graphql-queries-with-ai.webp</image:loc><image:title>Generating GraphQL Queries with AI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;GraphQL&#x20;Queries&#x20;with&#x20;AI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-generating-graphql-queries-with-ai.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-building-hyva-templates-with-ai-assistance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-hyva-templates-mit-ki-unterstuetzung-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-building-hyva-templates-with-ai-assistance" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-building-hyva-templates-with-ai-assistance.webp</image:loc><image:title>Building Hyva Templates with AI Assistance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Hyva&#x20;Templates&#x20;with&#x20;AI&#x20;Assistance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-building-hyva-templates-with-ai-assistance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-junior-developers-ai-tools-learning-or-shortcutting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-junior-entwickler-ki-tools-lernen-oder-abkuerzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-junior-developers-ai-tools-learning-or-shortcutting" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-junior-developers-ai-tools-learning-or-shortcutting.webp</image:loc><image:title>Junior Developers and AI Tools: Learning or Shortcutting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Junior&#x20;Developers&#x20;and&#x20;AI&#x20;Tools&#x3A;&#x20;Learning&#x20;or&#x20;Shortcutting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-junior-developers-ai-tools-learning-or-shortcutting.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-avoiding-ai-dependency-across-the-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-ki-abhaengigkeit-im-team-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-avoiding-ai-dependency-across-the-team" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-avoiding-ai-dependency-across-the-team.webp</image:loc><image:title>Avoiding AI Dependency Across the Team</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;AI&#x20;Dependency&#x20;Across&#x20;the&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-avoiding-ai-dependency-across-the-team.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-integrating-ai-code-review-into-ci-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-ki-code-review-in-ci-pipeline-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-integrating-ai-code-review-into-ci-pipeline" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-integrating-ai-code-review-into-ci-pipeline.webp</image:loc><image:title>Integrating AI Code Review into the CI Pipeline</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrating&#x20;AI&#x20;Code&#x20;Review&#x20;into&#x20;the&#x20;CI&#x20;Pipeline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-integrating-ai-code-review-into-ci-pipeline.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-reviewing-ai-generated-code-critically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-ki-generierten-code-kritisch-pruefen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-reviewing-ai-generated-code-critically" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-reviewing-ai-generated-code-critically.webp</image:loc><image:title>Critically Reviewing AI-Generated Code Instead of Trusting It Blindly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Critically&#x20;Reviewing&#x20;AI-Generated&#x20;Code&#x20;Instead&#x20;of&#x20;Trusting&#x20;It&#x20;Blindly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-reviewing-ai-generated-code-critically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-establishing-ai-assisted-development-across-the-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-ki-gestuetzte-entwicklung-im-team-etablieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-establishing-ai-assisted-development-across-the-team" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-establishing-ai-assisted-development-across-the-team.webp</image:loc><image:title>Establishing AI-Assisted Development Across the Team</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Establishing&#x20;AI-Assisted&#x20;Development&#x20;Across&#x20;the&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-establishing-ai-assisted-development-across-the-team.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-ai-assisted-code-review-as-a-team-complement</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-ki-gestuetztes-code-review-als-ergaenzung-zum-team" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-ai-assisted-code-review-as-a-team-complement" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-ai-assisted-code-review-as-a-team-complement.webp</image:loc><image:title>AI-Assisted Code Review as a Complement to the Team</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="AI-Assisted&#x20;Code&#x20;Review&#x20;as&#x20;a&#x20;Complement&#x20;to&#x20;the&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-ai-assisted-code-review-as-a-team-complement.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-ai-assisted-refactoring-opportunities-and-limits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-ki-gestuetztes-refactoring" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-ai-assisted-refactoring-opportunities-and-limits" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-ai-assisted-refactoring-opportunities-and-limits.webp</image:loc><image:title>AI-Assisted Refactoring: Opportunities and Limits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="AI-Assisted&#x20;Refactoring&#x3A;&#x20;Opportunities&#x20;and&#x20;Limits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-ai-assisted-refactoring-opportunities-and-limits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-recognizing-ai-hallucinations-in-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-ki-halluzinationen-im-code-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-recognizing-ai-hallucinations-in-code" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-recognizing-ai-hallucinations-in-code.webp</image:loc><image:title>Recognizing AI Hallucinations in Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Recognizing&#x20;AI&#x20;Hallucinations&#x20;in&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-recognizing-ai-hallucinations-in-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-weighing-ai-tool-costs-and-benefits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-ki-tools-kosten-und-nutzen-abwaegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-weighing-ai-tool-costs-and-benefits" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-weighing-ai-tool-costs-and-benefits.webp</image:loc><image:title>AI Tools: Realistically Weighing Costs and Benefits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="AI&#x20;Tools&#x3A;&#x20;Realistically&#x20;Weighing&#x20;Costs&#x20;and&#x20;Benefits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-weighing-ai-tool-costs-and-benefits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-understanding-legacy-code-with-ai-assistance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-legacy-code-mit-ki-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-understanding-legacy-code-with-ai-assistance" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-understanding-legacy-code-with-ai-assistance.webp</image:loc><image:title>Understanding Legacy Code with AI Assistance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Legacy&#x20;Code&#x20;with&#x20;AI&#x20;Assistance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-understanding-legacy-code-with-ai-assistance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-licensing-questions-ai-generated-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-lizenzfragen-bei-ki-generiertem-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-licensing-questions-ai-generated-code" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-licensing-questions-ai-generated-code.webp</image:loc><image:title>Licensing Questions Around AI-Generated Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Licensing&#x20;Questions&#x20;Around&#x20;AI-Generated&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-licensing-questions-ai-generated-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-speeding-up-magento-error-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-magento-fehleranalyse-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-speeding-up-magento-error-analysis" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-speeding-up-magento-error-analysis.webp</image:loc><image:title>Speeding Up Magento Error Analysis with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Speeding&#x20;Up&#x20;Magento&#x20;Error&#x20;Analysis&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-speeding-up-magento-error-analysis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-model-context-protocol-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-model-context-protocol-mcp-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-model-context-protocol-fundamentals" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-model-context-protocol-fundamentals.webp</image:loc><image:title>Model Context Protocol (MCP): Understanding the Fundamentals</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Model&#x20;Context&#x20;Protocol&#x20;&#x28;MCP&#x29;&#x3A;&#x20;Understanding&#x20;the&#x20;Fundamentals"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-model-context-protocol-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-creating-onboarding-documentation-with-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-onboarding-dokumentation-mit-ki-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-creating-onboarding-documentation-with-ai" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-creating-onboarding-documentation-with-ai.webp</image:loc><image:title>Creating Onboarding Documentation with AI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Creating&#x20;Onboarding&#x20;Documentation&#x20;with&#x20;AI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-creating-onboarding-documentation-with-ai.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-pair-programming-with-ai-best-practices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-pair-programming-mit-ki" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-pair-programming-with-ai-best-practices" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-pair-programming-with-ai-best-practices.webp</image:loc><image:title>Pair Programming with AI: Best Practices</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Pair&#x20;Programming&#x20;with&#x20;AI&#x3A;&#x20;Best&#x20;Practices"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-pair-programming-with-ai-best-practices.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-measuring-productivity-with-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-produktivitaet-mit-claude-code-messen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-measuring-productivity-with-claude-code" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-measuring-productivity-with-claude-code.webp</image:loc><image:title>Realistically Measuring Productivity with Claude Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Realistically&#x20;Measuring&#x20;Productivity&#x20;with&#x20;Claude&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-measuring-productivity-with-claude-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-prompt-engineering-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-prompt-engineering-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-prompt-engineering-fundamentals" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-prompt-engineering-fundamentals.webp</image:loc><image:title>Prompt Engineering Fundamentals for Better AI Responses</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Prompt&#x20;Engineering&#x20;Fundamentals&#x20;for&#x20;Better&#x20;AI&#x20;Responses"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-prompt-engineering-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-iterating-and-improving-prompts-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-prompts-iterieren-und-systematisch-verbessern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-iterating-and-improving-prompts-systematically" />
<lastmod>2026-07-12T09:36:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-iterating-and-improving-prompts-systematically.webp</image:loc><image:title>Iterating and Systematically Improving Prompts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Iterating&#x20;and&#x20;Systematically&#x20;Improving&#x20;Prompts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-iterating-and-improving-prompts-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-avoiding-security-vulnerabilities-ai-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-sicherheitsluecken-durch-ki-code-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-avoiding-security-vulnerabilities-ai-code" />
<lastmod>2026-07-12T09:36:43+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-avoiding-security-vulnerabilities-ai-code.webp</image:loc><image:title>Avoiding Security Vulnerabilities from AI-Generated Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Security&#x20;Vulnerabilities&#x20;from&#x20;AI-Generated&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-avoiding-security-vulnerabilities-ai-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-subagents-and-automation-in-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-subagents-und-automatisierung-in-claude-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-subagents-and-automation-in-claude-code" />
<lastmod>2026-07-12T09:36:43+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-subagents-and-automation-in-claude-code.webp</image:loc><image:title>Subagents and Automation in Claude Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Subagents&#x20;and&#x20;Automation&#x20;in&#x20;Claude&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-subagents-and-automation-in-claude-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-using-system-prompts-effectively</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-system-prompts-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-using-system-prompts-effectively" />
<lastmod>2026-07-12T09:36:43+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-using-system-prompts-effectively.webp</image:loc><image:title>Using System Prompts Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;System&#x20;Prompts&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-using-system-prompts-effectively.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-writing-technical-documentation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-technische-dokumentation-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-writing-technical-documentation" />
<lastmod>2026-07-12T09:36:43+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-writing-technical-documentation.webp</image:loc><image:title>Writing Technical Documentation with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Technical&#x20;Documentation&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-writing-technical-documentation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-generating-tests-with-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-tests-mit-ki-generieren-lassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-generating-tests-with-ai" />
<lastmod>2026-07-12T09:36:43+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-generating-tests-with-ai.webp</image:loc><image:title>Generating Tests with AI: What to Watch For</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;Tests&#x20;with&#x20;AI&#x3A;&#x20;What&#x20;to&#x20;Watch&#x20;For"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-generating-tests-with-ai.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-when-not-to-trust-ai-code-suggestions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-wann-ki-code-vorschlaegen-nicht-vertrauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-when-not-to-trust-ai-code-suggestions" />
<lastmod>2026-07-12T09:36:43+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-when-not-to-trust-ai-code-suggestions.webp</image:loc><image:title>When Not to Trust AI Code Suggestions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="When&#x20;Not&#x20;to&#x20;Trust&#x20;AI&#x20;Code&#x20;Suggestions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-when-not-to-trust-ai-code-suggestions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-what-is-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-was-ist-claude-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-what-is-claude-code" />
<lastmod>2026-07-12T09:36:43+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-what-is-claude-code.webp</image:loc><image:title>What Is Claude Code: The AI Assistant for the Command Line</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="What&#x20;Is&#x20;Claude&#x20;Code&#x3A;&#x20;The&#x20;AI&#x20;Assistant&#x20;for&#x20;the&#x20;Command&#x20;Line"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-what-is-claude-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-accessible-modal-focus-trap-and-aria</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-accessibility-konformes-modal-fokus-trap-und-aria" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-accessible-modal-focus-trap-and-aria" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-accessible-modal-focus-trap-and-aria.webp</image:loc><image:title>Accessibility-Compliant Modal with Alpine.js: Focus Trap and ARIA</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessibility-Compliant&#x20;Modal&#x20;with&#x20;Alpine.js&#x3A;&#x20;Focus&#x20;Trap&#x20;and&#x20;ARIA"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-accessible-modal-focus-trap-and-aria.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-custom-plugin-creating-step-by-step</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-custom-plugin-erstellen-schritt-fur-schritt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-custom-plugin-creating-step-by-step" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-custom-plugin-creating-step-by-step.webp</image:loc><image:title>Create an Alpine.js Custom Plugin: Step by Step</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Create&#x20;an&#x20;Alpine.js&#x20;Custom&#x20;Plugin&#x3A;&#x20;Step&#x20;by&#x20;Step"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-custom-plugin-creating-step-by-step.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-htmx-the-underrated-duo-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-htmx-das-unterschatzte-duo-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-htmx-the-underrated-duo-2026" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-htmx-the-underrated-duo-2026.webp</image:loc><image:title>Alpine.js + htmx: The Underrated Duo 2026</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;&#x2B;&#x20;htmx&#x3A;&#x20;The&#x20;Underrated&#x20;Duo&#x20;2026"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-htmx-the-underrated-duo-2026.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-image-gallery-lightbox-keyboard-navigation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-image-gallery-lightbox-mit-keyboard-support" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-image-gallery-lightbox-keyboard-navigation" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-image-gallery-lightbox-keyboard-navigation.webp</image:loc><image:title>Alpine.js Image Gallery &amp; Lightbox with Full Keyboard Support</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Image&#x20;Gallery&#x20;&amp;&#x20;Lightbox&#x20;with&#x20;Full&#x20;Keyboard&#x20;Support"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-image-gallery-lightbox-keyboard-navigation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-in-magento-hyva-patterns-and-anti-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-in-magento-hyva-patterns-und-anti-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-in-magento-hyva-patterns-and-anti-patterns" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-in-magento-hyva-patterns-and-anti-patterns.webp</image:loc><image:title>Alpine.js in Magento Hyva: Patterns and Anti-Patterns</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;in&#x20;Magento&#x20;Hyva&#x3A;&#x20;Patterns&#x20;and&#x20;Anti-Patterns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-in-magento-hyva-patterns-and-anti-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-internals-how-reactivity-works-without-virtual-dom</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-internals-wie-reaktivitat-ohne-virtual-dom-funktioniert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-internals-how-reactivity-works-without-virtual-dom" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-internals-how-reactivity-works-without-virtual-dom.webp</image:loc><image:title>Alpine.js Internals: How Reactivity Works Without a Virtual DOM</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Internals&#x3A;&#x20;How&#x20;Reactivity&#x20;Works&#x20;Without&#x20;a&#x20;Virtual&#x20;DOM"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-internals-how-reactivity-works-without-virtual-dom.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-alpine-js-fetch-api-loading-data-and-handling-errors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-mit-fetch-api-daten-laden-fehler-behandeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-alpine-js-fetch-api-loading-data-and-handling-errors" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-alpine-js-fetch-api-loading-data-and-handling-errors.webp</image:loc><image:title>Alpine.js with Fetch API: Loading Data and Handling Errors</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;with&#x20;Fetch&#x20;API&#x3A;&#x20;Loading&#x20;Data&#x20;and&#x20;Handling&#x20;Errors"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-alpine-js-fetch-api-loading-data-and-handling-errors.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-performance-large-data-lists-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-performance-grosse-datenlisten-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-performance-large-data-lists-optimization" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-performance-large-data-lists-optimization.webp</image:loc><image:title>Alpine.js Performance: Optimizing Large Data Lists</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Performance&#x3A;&#x20;Optimizing&#x20;Large&#x20;Data&#x20;Lists"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-performance-large-data-lists-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-testing-alpine-js-unit-tests-with-testing-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-testen-einheitstests-mit-testing-library" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-testing-alpine-js-unit-tests-with-testing-library" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-testing-alpine-js-unit-tests-with-testing-library.webp</image:loc><image:title>Testing Alpine.js: Unit Tests with Testing Library</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;Alpine.js&#x3A;&#x20;Unit&#x20;Tests&#x20;with&#x20;Testing&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-testing-alpine-js-unit-tests-with-testing-library.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-transitions-animations-that-actually-feel-smooth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-transitions-animationen-die-wirklich-smooth-sind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-transitions-animations-that-actually-feel-smooth" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-transitions-animations-that-actually-feel-smooth.webp</image:loc><image:title>Alpine.js Transitions: Animations That Are Actually Smooth</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Transitions&#x3A;&#x20;Animations&#x20;That&#x20;Are&#x20;Actually&#x20;Smooth"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-transitions-animations-that-actually-feel-smooth.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-v3-directives-complete-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-v3-alle-direktiven-auf-einen-blick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-v3-directives-complete-guide" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-v3-directives-complete-guide.webp</image:loc><image:title>Alpine.js v3: The Complete Directives Reference</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;v3&#x3A;&#x20;The&#x20;Complete&#x20;Directives&#x20;Reference"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-v3-directives-complete-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-alpine-js-vs-react-hooks-when-is-alpine-enough</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-vs-react-hooks-wann-reicht-alpine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-alpine-js-vs-react-hooks-when-is-alpine-enough" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-alpine-js-vs-react-hooks-when-is-alpine-enough.webp</image:loc><image:title>Alpine.js vs. React Hooks: When Is Alpine Enough?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;vs.&#x20;React&#x20;Hooks&#x3A;&#x20;When&#x20;Is&#x20;Alpine&#x20;Enough&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-alpine-js-vs-react-hooks-when-is-alpine-enough.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-vs-vue-3-composition-api-direct-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-vs-vue-3-composition-api-direkter-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-vs-vue-3-composition-api-direct-comparison" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-vs-vue-3-composition-api-direct-comparison.webp</image:loc><image:title>Alpine.js vs. Vue 3 Composition API: Direct Comparison</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;vs.&#x20;Vue&#x20;3&#x20;Composition&#x20;API&#x3A;&#x20;Direct&#x20;Comparison"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-vs-vue-3-composition-api-direct-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-animated-number-counter-smooth-without-gsap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-animated-number-counter-smooth-ohne-gsap" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-animated-number-counter-smooth-without-gsap" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-animated-number-counter-smooth-without-gsap.webp</image:loc><image:title>Animated Number Counter: Smooth Without GSAP Using Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Animated&#x20;Number&#x20;Counter&#x3A;&#x20;Smooth&#x20;Without&#x20;GSAP&#x20;Using&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-animated-number-counter-smooth-without-gsap.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-aria-attributes-automating-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/aria-attribute-automatisieren-accessibility-mit-alpine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-aria-attributes-automating-accessibility" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-aria-attributes-automating-accessibility.webp</image:loc><image:title>Automating ARIA Attributes: Accessibility with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;ARIA&#x20;Attributes&#x3A;&#x20;Accessibility&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-aria-attributes-automating-accessibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-autocomplete-combobox-accessible-search-suggestions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-autocomplete-combobox-suchvorschlage-barrierefrei" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-autocomplete-combobox-accessible-search-suggestions" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-autocomplete-combobox-accessible-search-suggestions.webp</image:loc><image:title>Alpine.js Autocomplete Combobox: Accessible Search Suggestions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Autocomplete&#x20;Combobox&#x3A;&#x20;Accessible&#x20;Search&#x20;Suggestions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-autocomplete-combobox-accessible-search-suggestions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-carousel-slider-touch-support-and-keyboard-navigation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-carousel-slider-touch-support-und-keyboard-navigation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-carousel-slider-touch-support-and-keyboard-navigation" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-carousel-slider-touch-support-and-keyboard-navigation.webp</image:loc><image:title>Alpine.js Carousel Slider: Touch Support and Keyboard Navigation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Carousel&#x20;Slider&#x3A;&#x20;Touch&#x20;Support&#x20;and&#x20;Keyboard&#x20;Navigation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-carousel-slider-touch-support-and-keyboard-navigation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-visualize-data-with-alpine-js-without-chart-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-chart-mit-alpine-js-daten-visualisieren-ohne-chart-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-visualize-data-with-alpine-js-without-chart-js" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-visualize-data-with-alpine-js-without-chart-js.webp</image:loc><image:title>Visualize Data with Alpine.js Without Chart.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Visualize&#x20;Data&#x20;with&#x20;Alpine.js&#x20;Without&#x20;Chart.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-visualize-data-with-alpine-js-without-chart-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-copy-to-clipboard-with-feedback-animation-in-10-lines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-copy-to-clipboard-mit-feedback-animation-in-10-zeilen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-copy-to-clipboard-with-feedback-animation-in-10-lines" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-copy-to-clipboard-with-feedback-animation-in-10-lines.webp</image:loc><image:title>Alpine.js Copy-to-Clipboard with Feedback Animation in 10 Lines</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Copy-to-Clipboard&#x20;with&#x20;Feedback&#x20;Animation&#x20;in&#x20;10&#x20;Lines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-copy-to-clipboard-with-feedback-animation-in-10-lines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-dark-mode-toggle-persist-system-preference</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/dark-mode-toggle-mit-persist-und-system-preference" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-dark-mode-toggle-persist-system-preference" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-dark-mode-toggle-persist-system-preference.webp</image:loc><image:title>Dark Mode Toggle with $persist and System Preference</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Dark&#x20;Mode&#x20;Toggle&#x20;with&#x20;&#x24;persist&#x20;and&#x20;System&#x20;Preference"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-dark-mode-toggle-persist-system-preference.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-custom-datepicker-calendar-without-flatpickr</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-datepicker-eigener-kalender-picker-ohne-flatpickr" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-custom-datepicker-calendar-without-flatpickr" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-custom-datepicker-calendar-without-flatpickr.webp</image:loc><image:title>Custom Datepicker with Alpine.js: Build a Calendar Without Flatpickr</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Datepicker&#x20;with&#x20;Alpine.js&#x3A;&#x20;Build&#x20;a&#x20;Calendar&#x20;Without&#x20;Flatpickr"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-custom-datepicker-calendar-without-flatpickr.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-dispatch-events-firing-and-catching-between-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-dispatch-events-werfen-und-zwischen-komponenten-fangen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-dispatch-events-firing-and-catching-between-components" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-dispatch-events-firing-and-catching-between-components.webp</image:loc><image:title>Alpine.js Events: $dispatch and @window Events Between Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Events&#x3A;&#x20;&#x24;dispatch&#x20;and&#x20;&#x40;window&#x20;Events&#x20;Between&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-dispatch-events-firing-and-catching-between-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-custom-form-validation-without-jquery-validate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-eigenes-validierungssystem-ohne-jquery-validate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-custom-form-validation-without-jquery-validate" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-custom-form-validation-without-jquery-validate.webp</image:loc><image:title>Alpine.js Form Validation Without jQuery Validate</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Form&#x20;Validation&#x20;Without&#x20;jQuery&#x20;Validate"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-custom-form-validation-without-jquery-validate.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-infinite-scroll-without-external-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-infinite-scroll-nachladen-ohne-externe-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-infinite-scroll-without-external-library" />
<lastmod>2026-07-12T10:24:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-infinite-scroll-without-external-library.webp</image:loc><image:title>Alpine.js Infinite Scroll: Lazy Loading Without an External Library</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Infinite&#x20;Scroll&#x3A;&#x20;Lazy&#x20;Loading&#x20;Without&#x20;an&#x20;External&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-infinite-scroll-without-external-library.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-keyboard-accessible-dropdown</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/keyboard-navigierbares-dropdown-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-keyboard-accessible-dropdown" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-keyboard-accessible-dropdown.webp</image:loc><image:title>Keyboard-Accessible Dropdown with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Keyboard-Accessible&#x20;Dropdown&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-keyboard-accessible-dropdown.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-confetti-effect-canvas-animation-without-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-konfetti-effekt-canvas-animation-ohne-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-confetti-effect-canvas-animation-without-framework" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-confetti-effect-canvas-animation-without-framework.webp</image:loc><image:title>Alpine.js Confetti Effect: Canvas Animation Without a Framework</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Confetti&#x20;Effect&#x3A;&#x20;Canvas&#x20;Animation&#x20;Without&#x20;a&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-confetti-effect-canvas-animation-without-framework.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-lifecycle-init-and-destroy-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-lifecycle-init-und-destroy-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-lifecycle-init-and-destroy-explained" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-lifecycle-init-and-destroy-explained.webp</image:loc><image:title>Alpine.js Lifecycle: Using init() and destroy() Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Lifecycle&#x3A;&#x20;Using&#x20;init&#x28;&#x29;&#x20;and&#x20;destroy&#x28;&#x29;&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-lifecycle-init-and-destroy-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-multi-step-form-wizard-with-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-multi-step-form-wizard-pattern-mit-validierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-multi-step-form-wizard-with-validation" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-multi-step-form-wizard-with-validation.webp</image:loc><image:title>Alpine.js Multi-Step Form Wizard with Validation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Multi-Step&#x20;Form&#x20;Wizard&#x20;with&#x20;Validation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-multi-step-form-wizard-with-validation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-nexttick-waiting-for-dom-updates-without-settimeout</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-nexttick-auf-dom-updates-warten-ohne-settimeout" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-nexttick-waiting-for-dom-updates-without-settimeout" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-nexttick-waiting-for-dom-updates-without-settimeout.webp</image:loc><image:title>Alpine.js $nextTick: Waiting for DOM Updates Without setTimeout</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;&#x24;nextTick&#x3A;&#x20;Waiting&#x20;for&#x20;DOM&#x20;Updates&#x20;Without&#x20;setTimeout"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-nexttick-waiting-for-dom-updates-without-settimeout.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-persist-save-state-in-localstorage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-persist-state-im-localstorage-persistent-speichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-persist-save-state-in-localstorage" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-persist-save-state-in-localstorage.webp</image:loc><image:title>Alpine.js persist: Save State in localStorage Permanently</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;persist&#x3A;&#x20;Save&#x20;State&#x20;in&#x20;localStorage&#x20;Permanently"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-persist-save-state-in-localstorage.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-star-rating-widget-without-jquery</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-rating-widget-sterne-bewertung-ohne-jquery" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-star-rating-widget-without-jquery" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-star-rating-widget-without-jquery.webp</image:loc><image:title>Alpine.js Rating Widget: Star Rating Without jQuery</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Rating&#x20;Widget&#x3A;&#x20;Star&#x20;Rating&#x20;Without&#x20;jQuery"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-star-rating-widget-without-jquery.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-starfield-particle-background-canvas-without-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-starfield-partikel-hintergrund-canvas-ohne-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-starfield-particle-background-canvas-without-library" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-starfield-particle-background-canvas-without-library.webp</image:loc><image:title>Alpine.js Starfield: Particle Background with Canvas, No Library</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Starfield&#x3A;&#x20;Particle&#x20;Background&#x20;with&#x20;Canvas,&#x20;No&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-starfield-particle-background-canvas-without-library.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-sticky-table-header-scroll-aware-tables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-sticky-table-header-scroll-aware-tabellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-sticky-table-header-scroll-aware-tables" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-sticky-table-header-scroll-aware-tables.webp</image:loc><image:title>Alpine.js Sticky Table Header: Scroll-Aware Tables</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Sticky&#x20;Table&#x20;Header&#x3A;&#x20;Scroll-Aware&#x20;Tables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-sticky-table-header-scroll-aware-tables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-store-global-state-without-vuex-or-redux</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-store-globaler-state-ohne-vuex-oder-redux" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-store-global-state-without-vuex-or-redux" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-store-global-state-without-vuex-or-redux.webp</image:loc><image:title>Alpine.js Store: Global State Without Vuex or Redux</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Store&#x3A;&#x20;Global&#x20;State&#x20;Without&#x20;Vuex&#x20;or&#x20;Redux"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-store-global-state-without-vuex-or-redux.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-toast-notifications-global-system-with-store</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-toast-notifications-globales-system-mit-store" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-toast-notifications-global-system-with-store" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-toast-notifications-global-system-with-store.webp</image:loc><image:title>Alpine.js Toast Notifications: Global System with Store</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Toast&#x20;Notifications&#x3A;&#x20;Global&#x20;System&#x20;with&#x20;Store"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-toast-notifications-global-system-with-store.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-typewriter-effect-text-animation-with-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-typewriter-effekt-text-animation-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-typewriter-effect-text-animation-with-alpine-js" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-typewriter-effect-text-animation-with-alpine-js.webp</image:loc><image:title>Typewriter Effect: Text Animation with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Typewriter&#x20;Effect&#x3A;&#x20;Text&#x20;Animation&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-typewriter-effect-text-animation-with-alpine-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-url-based-tab-system-without-router</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-url-basiertes-tab-system-ohne-router" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-url-based-tab-system-without-router" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-url-based-tab-system-without-router.webp</image:loc><image:title>URL-Based Tab System Without a Router in Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="URL-Based&#x20;Tab&#x20;System&#x20;Without&#x20;a&#x20;Router&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-url-based-tab-system-without-router.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-virtual-scroll-10000-rows-without-performance-issues</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-virtuelles-scrollen-10-000-eintrage-ohne-performance-probleme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-virtual-scroll-10000-rows-without-performance-issues" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-virtual-scroll-10000-rows-without-performance-issues.webp</image:loc><image:title>Virtual Scrolling with Alpine.js: 10,000 Rows Without Performance Issues</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Virtual&#x20;Scrolling&#x20;with&#x20;Alpine.js&#x3A;&#x20;10,000&#x20;Rows&#x20;Without&#x20;Performance&#x20;Issues"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-virtual-scroll-10000-rows-without-performance-issues.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-watch-observing-and-reacting-to-values</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-watch-werte-beobachten-und-reagieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-watch-observing-and-reacting-to-values" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-watch-observing-and-reacting-to-values.webp</image:loc><image:title>Alpine.js $watch: Observing Values and Reacting to Changes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;&#x24;watch&#x3A;&#x20;Observing&#x20;Values&#x20;and&#x20;Reacting&#x20;to&#x20;Changes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-watch-observing-and-reacting-to-values.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-anchor-positioning-tooltips-and-popovers-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-anchor-tooltips-und-popovers-korrekt-positionieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-anchor-positioning-tooltips-and-popovers-correctly" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-anchor-positioning-tooltips-and-popovers-correctly.webp</image:loc><image:title>Alpine.js x-anchor: Positioning Tooltips and Popovers Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;x-anchor&#x3A;&#x20;Positioning&#x20;Tooltips&#x20;and&#x20;Popovers&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-anchor-positioning-tooltips-and-popovers-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-collapse-smooth-accordion-animation-without-css-hacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-collapse-smooth-akkordeon-animation-ohne-css-hack" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-collapse-smooth-accordion-animation-without-css-hacks" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-collapse-smooth-accordion-animation-without-css-hacks.webp</image:loc><image:title>Alpine.js x-collapse: Smooth Accordion Animation Without CSS Hacks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;x-collapse&#x3A;&#x20;Smooth&#x20;Accordion&#x20;Animation&#x20;Without&#x20;CSS&#x20;Hacks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-collapse-smooth-accordion-animation-without-css-hacks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-data-structuring-component-state</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-data-komponenten-state-richtig-strukturieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-data-structuring-component-state" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-data-structuring-component-state.webp</image:loc><image:title>Alpine.js x-data: Structuring Component State Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;x-data&#x3A;&#x20;Structuring&#x20;Component&#x20;State&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-data-structuring-component-state.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-effect-reactive-side-effects-without-watcher-boilerplate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-effect-reaktive-seiteneffekte-ohne-watcher-boilerplate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-effect-reactive-side-effects-without-watcher-boilerplate" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-effect-reactive-side-effects-without-watcher-boilerplate.webp</image:loc><image:title>Alpine.js x-effect: Reactive Side Effects Without Watcher Boilerplate</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;x-effect&#x3A;&#x20;Reactive&#x20;Side&#x20;Effects&#x20;Without&#x20;Watcher&#x20;Boilerplate"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-effect-reactive-side-effects-without-watcher-boilerplate.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-ignore-excluding-alpine-from-cms-areas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-ignore-alpine-aus-cms-bereichen-ausschliessen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-ignore-excluding-alpine-from-cms-areas" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-ignore-excluding-alpine-from-cms-areas.webp</image:loc><image:title>Alpine.js x-ignore: Excluding Alpine from CMS Areas</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;x-ignore&#x3A;&#x20;Excluding&#x20;Alpine&#x20;from&#x20;CMS&#x20;Areas"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-ignore-excluding-alpine-from-cms-areas.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-intersect-scroll-animations-and-lazy-loading</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-intersect-animationen-und-lazy-load-beim-scrollen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-intersect-scroll-animations-and-lazy-loading" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-intersect-scroll-animations-and-lazy-loading.webp</image:loc><image:title>Alpine.js x-intersect: Scroll Animations and Lazy Loading</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;x-intersect&#x3A;&#x20;Scroll&#x20;Animations&#x20;and&#x20;Lazy&#x20;Loading"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-intersect-scroll-animations-and-lazy-loading.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-mask-input-formatting-for-phone-iban-date</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-mask-input-formatierung-fur-telefon-iban-datum" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-mask-input-formatting-for-phone-iban-date" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-mask-input-formatting-for-phone-iban-date.webp</image:loc><image:title>Alpine.js x-mask: Input Formatting for Phone, IBAN, and Date</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;x-mask&#x3A;&#x20;Input&#x20;Formatting&#x20;for&#x20;Phone,&#x20;IBAN,&#x20;and&#x20;Date"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-mask-input-formatting-for-phone-iban-date.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-model-modifiers-lazy-debounce-number-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-model-modifier-lazy-debounce-number-erklart" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-model-modifiers-lazy-debounce-number-explained" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-model-modifiers-lazy-debounce-number-explained.webp</image:loc><image:title>Alpine.js x-model Modifiers: .lazy, .debounce, .number Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;x-model&#x20;Modifiers&#x3A;&#x20;.lazy,&#x20;.debounce,&#x20;.number&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-model-modifiers-lazy-debounce-number-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-resize-responsive-components-without-resizeobserver-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-resize-responsive-komponenten-ohne-resizeobserver-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-resize-responsive-components-without-resizeobserver-code" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-resize-responsive-components-without-resizeobserver-code.webp</image:loc><image:title>Alpine.js x-resize: Responsive Components Without ResizeObserver Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;x-resize&#x3A;&#x20;Responsive&#x20;Components&#x20;Without&#x20;ResizeObserver&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-resize-responsive-components-without-resizeobserver-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-sort-drag-and-drop-sorting-without-a-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-sort-drag-and-drop-sortieren-ohne-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-sort-drag-and-drop-sorting-without-a-library" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-sort-drag-and-drop-sorting-without-a-library.webp</image:loc><image:title>Alpine.js x-sort: Drag and Drop Sorting Without an External Library</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;x-sort&#x3A;&#x20;Drag&#x20;and&#x20;Drop&#x20;Sorting&#x20;Without&#x20;an&#x20;External&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-sort-drag-and-drop-sorting-without-a-library.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-teleport-moving-elements-out-of-the-dom-tree</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-teleport-elemente-aus-dem-dom-baum-verschieben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-teleport-moving-elements-out-of-the-dom-tree" />
<lastmod>2026-07-12T10:24:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-teleport-moving-elements-out-of-the-dom-tree.webp</image:loc><image:title>Alpine.js x-teleport: Moving Elements Outside the DOM Tree</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;x-teleport&#x3A;&#x20;Moving&#x20;Elements&#x20;Outside&#x20;the&#x20;DOM&#x20;Tree"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-teleport-moving-elements-out-of-the-dom-tree.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-50-bash-patterns-for-admins-and-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-50-bash-patterns-fur-admins-und-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-50-bash-patterns-for-admins-and-developers" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-50-bash-patterns-for-admins-and-developers.webp</image:loc><image:title>50 Bash Patterns for Admins and Developers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="50&#x20;Bash&#x20;Patterns&#x20;for&#x20;Admins&#x20;and&#x20;Developers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-50-bash-patterns-for-admins-and-developers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-cleanly-parsing-arguments-and-flags</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-argumente-und-flags-in-bash-sauber-parsen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-cleanly-parsing-arguments-and-flags" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-cleanly-parsing-arguments-and-flags.webp</image:loc><image:title>Cleanly Parsing Arguments and Flags in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cleanly&#x20;Parsing&#x20;Arguments&#x20;and&#x20;Flags&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-cleanly-parsing-arguments-and-flags.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-arrays-practical-guide-instead-of-string-hacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-arrays-in-bash-praktisch-nutzen-statt-string-hacks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-arrays-practical-guide-instead-of-string-hacks" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-arrays-practical-guide-instead-of-string-hacks.webp</image:loc><image:title>Using Arrays in Bash Instead of String Hacks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Arrays&#x20;in&#x20;Bash&#x20;Instead&#x20;of&#x20;String&#x20;Hacks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-arrays-practical-guide-instead-of-string-hacks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-glue-code-connecting-php-sql-docker-and-git</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-bash-als-glue-code-zwischen-php-sql-docker-und-git" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-glue-code-connecting-php-sql-docker-and-git" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-glue-code-connecting-php-sql-docker-and-git.webp</image:loc><image:title>Bash as Glue Code Between PHP, SQL, Docker and Git</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bash&#x20;as&#x20;Glue&#x20;Code&#x20;Between&#x20;PHP,&#x20;SQL,&#x20;Docker&#x20;and&#x20;Git"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-glue-code-connecting-php-sql-docker-and-git.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-for-backups-rotating-snapshots-and-restore-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-bash-fur-backups-rotierende-sicherungen-und-restore-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-for-backups-rotating-snapshots-and-restore-tests" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-for-backups-rotating-snapshots-and-restore-tests.webp</image:loc><image:title>Bash for Backups: Rotating Snapshots and Restore Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bash&#x20;for&#x20;Backups&#x3A;&#x20;Rotating&#x20;Snapshots&#x20;and&#x20;Restore&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-for-backups-rotating-snapshots-and-restore-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-bash-in-ci-cd-what-works-locally-and-breaks-in-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-bash-in-ci-cd-was-lokal-funktioniert-und-in-pipelines-bricht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-bash-in-ci-cd-what-works-locally-and-breaks-in-pipelines" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-bash-in-ci-cd-what-works-locally-and-breaks-in-pipelines.webp</image:loc><image:title>Bash in CI/CD: What Works Locally and Breaks in Pipelines</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bash&#x20;in&#x20;CI&#x2F;CD&#x3A;&#x20;What&#x20;Works&#x20;Locally&#x20;and&#x20;Breaks&#x20;in&#x20;Pipelines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-bash-in-ci-cd-what-works-locally-and-breaks-in-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-bats-for-bash-testing-in-ci-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-bats-fur-bash-tests-in-ci-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-bats-for-bash-testing-in-ci-pipelines" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-bats-for-bash-testing-in-ci-pipelines.webp</image:loc><image:title>Using BATS for Bash Tests in CI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;BATS&#x20;for&#x20;Bash&#x20;Tests&#x20;in&#x20;CI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-bats-for-bash-testing-in-ci-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-building-reliable-cron-jobs-logging-locking-monitoring-exit-codes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-cronjobs-richtig-bauen-logging-locking-monitoring-exit-codes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-building-reliable-cron-jobs-logging-locking-monitoring-exit-codes" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-building-reliable-cron-jobs-logging-locking-monitoring-exit-codes.webp</image:loc><image:title>Building Reliable Cron Jobs: Logging, Locking, Monitoring and Exit Codes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Reliable&#x20;Cron&#x20;Jobs&#x3A;&#x20;Logging,&#x20;Locking,&#x20;Monitoring&#x20;and&#x20;Exit&#x20;Codes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-building-reliable-cron-jobs-logging-locking-monitoring-exit-codes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-csv-and-tsv-processing-a-pragmatic-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-csv-und-tsv-in-bash-pragmatisch-verarbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-csv-and-tsv-processing-a-pragmatic-guide" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-csv-and-tsv-processing-a-pragmatic-guide.webp</image:loc><image:title>Processing CSV and TSV Files in Bash Pragmatically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Processing&#x20;CSV&#x20;and&#x20;TSV&#x20;Files&#x20;in&#x20;Bash&#x20;Pragmatically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-csv-and-tsv-processing-a-pragmatic-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-rename-move-sort-and-clean-up-files</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-dateien-umbenennen-verschieben-sortieren-und-aufraumen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-rename-move-sort-and-clean-up-files" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-rename-move-sort-and-clean-up-files.webp</image:loc><image:title>Renaming, Moving, Sorting and Cleaning Up Files in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Renaming,&#x20;Moving,&#x20;Sorting&#x20;and&#x20;Cleaning&#x20;Up&#x20;Files&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-rename-move-sort-and-clean-up-files.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-iterate-files-directories-without-broken-whitespace-logic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-dateien-und-verzeichnisse-iterieren-ohne-kaputte-leerzeichen-logik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-iterate-files-directories-without-broken-whitespace-logic" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-iterate-files-directories-without-broken-whitespace-logic.webp</image:loc><image:title>Iterate Files and Directories Without Broken Whitespace Logic</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Iterate&#x20;Files&#x20;and&#x20;Directories&#x20;Without&#x20;Broken&#x20;Whitespace&#x20;Logic"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-iterate-files-directories-without-broken-whitespace-logic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-file-sizes-checksums-and-integrity-automated-verification</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-dateigroen-checksums-und-integritat-automatisiert-prufen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-file-sizes-checksums-and-integrity-automated-verification" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-file-sizes-checksums-and-integrity-automated-verification.webp</image:loc><image:title>File Sizes, Checksums and Integrity: Automated Verification</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="File&#x20;Sizes,&#x20;Checksums&#x20;and&#x20;Integrity&#x3A;&#x20;Automated&#x20;Verification"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-file-sizes-checksums-and-integrity-automated-verification.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-automating-docker-and-kubernetes-workflows</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-docker-und-kubernetes-workflows-mit-bash-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-automating-docker-and-kubernetes-workflows" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-automating-docker-and-kubernetes-workflows.webp</image:loc><image:title>Automating Docker and Kubernetes Workflows with Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;Docker&#x20;and&#x20;Kubernetes&#x20;Workflows&#x20;with&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-automating-docker-and-kubernetes-workflows.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-exit-codes-as-an-api-between-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-exit-codes-als-api-zwischen-skripten-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-exit-codes-as-an-api-between-scripts" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-exit-codes-as-an-api-between-scripts.webp</image:loc><image:title>Understanding Exit Codes as an API Between Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Exit&#x20;Codes&#x20;as&#x20;an&#x20;API&#x20;Between&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-exit-codes-as-an-api-between-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-error-analysis-in-deploy-scripts-reproducible-and-logged</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-fehleranalyse-in-deploy-skripten-reproduzierbar-und-protokolliert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-error-analysis-in-deploy-scripts-reproducible-and-logged" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-error-analysis-in-deploy-scripts-reproducible-and-logged.webp</image:loc><image:title>Error Analysis in Deploy Scripts: Reproducible and Logged</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Error&#x20;Analysis&#x20;in&#x20;Deploy&#x20;Scripts&#x3A;&#x20;Reproducible&#x20;and&#x20;Logged"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-error-analysis-in-deploy-scripts-reproducible-and-logged.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-find-xargs-null-byte-safe-workflows</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-find-xargs-und-null-byte-sichere-workflows" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-find-xargs-null-byte-safe-workflows" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-find-xargs-null-byte-safe-workflows.webp</image:loc><image:title>find, xargs and Null-Byte-Safe Workflows in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="find,&#x20;xargs&#x20;and&#x20;Null-Byte-Safe&#x20;Workflows&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-find-xargs-null-byte-safe-workflows.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-functions-scope-and-structure-in-larger-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-funktionen-scope-und-struktur-in-groeren-bash-skripten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-functions-scope-and-structure-in-larger-bash-scripts" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-functions-scope-and-structure-in-larger-bash-scripts.webp</image:loc><image:title>Functions, Scope, and Structure in Larger Bash Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Functions,&#x20;Scope,&#x20;and&#x20;Structure&#x20;in&#x20;Larger&#x20;Bash&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-functions-scope-and-structure-in-larger-bash-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-automating-git-and-gitlab-workflows</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-git-und-gitlab-workflows-in-bash-sauber-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-automating-git-and-gitlab-workflows" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-automating-git-and-gitlab-workflows.webp</image:loc><image:title>Automating Git and GitLab Workflows Cleanly in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;Git&#x20;and&#x20;GitLab&#x20;Workflows&#x20;Cleanly&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-automating-git-and-gitlab-workflows.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-testing-and-automating-http-apis-with-curl</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-http-apis-mit-curl-in-bash-testen-und-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-testing-and-automating-http-apis-with-curl" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-testing-and-automating-http-apis-with-curl.webp</image:loc><image:title>Testing and Automating HTTP APIs with curl in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;and&#x20;Automating&#x20;HTTP&#x20;APIs&#x20;with&#x20;curl&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-testing-and-automating-http-apis-with-curl.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-interactive-bash-tools-with-select-read-menus-and-confirmations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-interaktive-bash-tools-mit-select-read-menus-und-bestatigungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-interactive-bash-tools-with-select-read-menus-and-confirmations" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-interactive-bash-tools-with-select-read-menus-and-confirmations.webp</image:loc><image:title>Interactive Bash Tools with select, read, Menus and Confirmations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Interactive&#x20;Bash&#x20;Tools&#x20;with&#x20;select,&#x20;read,&#x20;Menus&#x20;and&#x20;Confirmations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-interactive-bash-tools-with-select-read-menus-and-confirmations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-jq-for-json-in-shell-scripts-filter-transform-validate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-jq-fur-json-im-shell-alltag-filtern-transformieren-validieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-jq-for-json-in-shell-scripts-filter-transform-validate" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-jq-for-json-in-shell-scripts-filter-transform-validate.webp</image:loc><image:title>jq for JSON in Everyday Shell Work: Filter, Transform, Validate</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="jq&#x20;for&#x20;JSON&#x20;in&#x20;Everyday&#x20;Shell&#x20;Work&#x3A;&#x20;Filter,&#x20;Transform,&#x20;Validate"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-jq-for-json-in-shell-scripts-filter-transform-validate.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-combining-json-yaml-env-files-in-shell-workflows</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-json-yaml-und-env-dateien-in-shell-workflows-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-combining-json-yaml-env-files-in-shell-workflows" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-combining-json-yaml-env-files-in-shell-workflows.webp</image:loc><image:title>Combining JSON, YAML and .env Files in Shell Workflows</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Combining&#x20;JSON,&#x20;YAML&#x20;and&#x20;.env&#x20;Files&#x20;in&#x20;Shell&#x20;Workflows"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-combining-json-yaml-env-files-in-shell-workflows.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-locking-with-flock-pid-files-and-race-conditions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-locking-in-bash-flock-pid-files-und-race-conditions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-locking-with-flock-pid-files-and-race-conditions" />
<lastmod>2026-07-12T13:49:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-locking-with-flock-pid-files-and-race-conditions.webp</image:loc><image:title>Locking in Bash: flock, PID Files and Race Conditions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Locking&#x20;in&#x20;Bash&#x3A;&#x20;flock,&#x20;PID&#x20;Files&#x20;and&#x20;Race&#x20;Conditions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-locking-with-flock-pid-files-and-race-conditions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-processing-logs-in-bash-with-grep-awk-sed-and-jq</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-logs-in-bash-verarbeiten-grep-awk-sed-und-jq-im-zusammenspiel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-processing-logs-in-bash-with-grep-awk-sed-and-jq" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-processing-logs-in-bash-with-grep-awk-sed-and-jq.webp</image:loc><image:title>Processing Logs in Bash: grep, awk, sed and jq Working Together</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Processing&#x20;Logs&#x20;in&#x20;Bash&#x3A;&#x20;grep,&#x20;awk,&#x20;sed&#x20;and&#x20;jq&#x20;Working&#x20;Together"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-processing-logs-in-bash-with-grep-awk-sed-and-jq.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-magento-maintenance-scripts-deploy-backup-cache-logs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-magento-wartungsskripte-in-bash-deploy-backup-cache-logs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-magento-maintenance-scripts-deploy-backup-cache-logs" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-magento-maintenance-scripts-deploy-backup-cache-logs.webp</image:loc><image:title>Magento Maintenance Scripts in Bash: Deploy, Backup, Cache and Logs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Maintenance&#x20;Scripts&#x20;in&#x20;Bash&#x3A;&#x20;Deploy,&#x20;Backup,&#x20;Cache&#x20;and&#x20;Logs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-magento-maintenance-scripts-deploy-backup-cache-logs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-monitoring-scripts-for-servers-and-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-monitoring-skripte-in-bash-fur-server-und-container" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-monitoring-scripts-for-servers-and-containers" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-monitoring-scripts-for-servers-and-containers.webp</image:loc><image:title>Bash Monitoring Scripts for Servers and Containers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bash&#x20;Monitoring&#x20;Scripts&#x20;for&#x20;Servers&#x20;and&#x20;Containers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-monitoring-scripts-for-servers-and-containers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-using-openssl-and-gpg-in-shell-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-openssl-und-gpg-in-shell-skripten-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-using-openssl-and-gpg-in-shell-scripts" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-using-openssl-and-gpg-in-shell-scripts.webp</image:loc><image:title>Using OpenSSL and GPG in Shell Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;OpenSSL&#x20;and&#x20;GPG&#x20;in&#x20;Shell&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-using-openssl-and-gpg-in-shell-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-parallelization-with-xargs-p-gnu-parallel-and-worker-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-parallelisierung-mit-xargs-p-gnu-parallel-und-worker-skripten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-parallelization-with-xargs-p-gnu-parallel-and-worker-scripts" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-parallelization-with-xargs-p-gnu-parallel-and-worker-scripts.webp</image:loc><image:title>Parallelization with xargs -P, GNU Parallel and Worker Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Parallelization&#x20;with&#x20;xargs&#x20;-P,&#x20;GNU&#x20;Parallel&#x20;and&#x20;Worker&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-parallelization-with-xargs-p-gnu-parallel-and-worker-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-improving-bash-script-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-performance-von-bash-skripten-verbessern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-improving-bash-script-performance" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-improving-bash-script-performance.webp</image:loc><image:title>Improving the Performance of Bash Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Improving&#x20;the&#x20;Performance&#x20;of&#x20;Bash&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-improving-bash-script-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-understanding-pipes-redirects-and-file-descriptors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-pipes-redirects-und-file-descriptors-wirklich-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-understanding-pipes-redirects-and-file-descriptors" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-understanding-pipes-redirects-and-file-descriptors.webp</image:loc><image:title>Truly Understanding Pipes, Redirects and File Descriptors</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Truly&#x20;Understanding&#x20;Pipes,&#x20;Redirects&#x20;and&#x20;File&#x20;Descriptors"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-understanding-pipes-redirects-and-file-descriptors.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-portable-shell-vs-bash-specific-features-what-teams-need-to-know</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-portable-shell-vs-bash-spezifische-features-was-teams-beachten-mussen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-portable-shell-vs-bash-specific-features-what-teams-need-to-know" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-portable-shell-vs-bash-specific-features-what-teams-need-to-know.webp</image:loc><image:title>Portable Shell vs. Bash-Specific Features: What Teams Need to Know</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Portable&#x20;Shell&#x20;vs.&#x20;Bash-Specific&#x20;Features&#x3A;&#x20;What&#x20;Teams&#x20;Need&#x20;to&#x20;Know"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-portable-shell-vs-bash-specific-features-what-teams-need-to-know.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-pragmatic-cli-ux-colors-progress-tables-prompts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-pragmatische-cli-ux-in-bash-farben-progress-tabellen-prompts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-pragmatic-cli-ux-colors-progress-tables-prompts" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-pragmatic-cli-ux-colors-progress-tables-prompts.webp</image:loc><image:title>Pragmatic CLI UX in Bash: Colors, Progress, Tables and Prompts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Pragmatic&#x20;CLI&#x20;UX&#x20;in&#x20;Bash&#x3A;&#x20;Colors,&#x20;Progress,&#x20;Tables&#x20;and&#x20;Prompts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-pragmatic-cli-ux-colors-progress-tables-prompts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-production-checklist-security-robustness-logging-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-produktive-bash-checkliste-sicherheit-robustheit-logging-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-production-checklist-security-robustness-logging-tests" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-production-checklist-security-robustness-logging-tests.webp</image:loc><image:title>Production Bash Checklist: Security, Robustness, Logging, and Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Production&#x20;Bash&#x20;Checklist&#x3A;&#x20;Security,&#x20;Robustness,&#x20;Logging,&#x20;and&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-production-checklist-security-robustness-logging-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-quoting-common-mistakes-and-how-to-avoid-them</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-quoting-in-bash-die-haufigsten-fehler-und-wie-man-sie-vermeidet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-quoting-common-mistakes-and-how-to-avoid-them" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-quoting-common-mistakes-and-how-to-avoid-them.webp</image:loc><image:title>Quoting in Bash: The Most Common Mistakes and How to Avoid Them</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Quoting&#x20;in&#x20;Bash&#x3A;&#x20;The&#x20;Most&#x20;Common&#x20;Mistakes&#x20;and&#x20;How&#x20;to&#x20;Avoid&#x20;Them"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-quoting-common-mistakes-and-how-to-avoid-them.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-release-scripts-with-checkpoints-and-dry-run-mode</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-release-skripte-mit-checkpoints-und-dry-run-modus" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-release-scripts-with-checkpoints-and-dry-run-mode" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-release-scripts-with-checkpoints-and-dry-run-mode.webp</image:loc><image:title>Release Scripts with Checkpoints and Dry Run Mode</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Release&#x20;Scripts&#x20;with&#x20;Checkpoints&#x20;and&#x20;Dry&#x20;Run&#x20;Mode"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-release-scripts-with-checkpoints-and-dry-run-mode.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-retry-backoff-and-timeout-strategies-in-shell-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-retry-backoff-und-timeout-strategien-in-shell-skripten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-retry-backoff-and-timeout-strategies-in-shell-scripts" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-retry-backoff-and-timeout-strategies-in-shell-scripts.webp</image:loc><image:title>Retry, Backoff and Timeout Strategies in Shell Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Retry,&#x20;Backoff&#x20;and&#x20;Timeout&#x20;Strategies&#x20;in&#x20;Shell&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-retry-backoff-and-timeout-strategies-in-shell-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-writing-robust-bash-scripts-set-euo-pipefail-traps-and-exit-codes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-robuste-bash-skripte-schreiben-set-euo-pipefail-traps-und-exit-codes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-writing-robust-bash-scripts-set-euo-pipefail-traps-and-exit-codes" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-writing-robust-bash-scripts-set-euo-pipefail-traps-and-exit-codes.webp</image:loc><image:title>Writing Robust Bash Scripts: set -euo pipefail, Traps, and Exit Codes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Robust&#x20;Bash&#x20;Scripts&#x3A;&#x20;set&#x20;-euo&#x20;pipefail,&#x20;Traps,&#x20;and&#x20;Exit&#x20;Codes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-writing-robust-bash-scripts-set-euo-pipefail-traps-and-exit-codes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-rsync-guide-deployments-mirroring-excludes-dry-runs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-rsync-richtig-nutzen-deployments-mirror-excludes-dry-runs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-rsync-guide-deployments-mirroring-excludes-dry-runs" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-rsync-guide-deployments-mirroring-excludes-dry-runs.webp</image:loc><image:title>Using rsync Correctly: Deployments, Mirroring, Excludes and Dry Runs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;rsync&#x20;Correctly&#x3A;&#x20;Deployments,&#x20;Mirroring,&#x20;Excludes&#x20;and&#x20;Dry&#x20;Runs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-rsync-guide-deployments-mirroring-excludes-dry-runs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-sed-awk-and-perl-choosing-the-right-text-processing-tool</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-sed-awk-und-perl-wann-welches-werkzeug-richtig-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-sed-awk-and-perl-choosing-the-right-text-processing-tool" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-sed-awk-and-perl-choosing-the-right-text-processing-tool.webp</image:loc><image:title>sed, awk and perl: which tool is right for the job</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="sed,&#x20;awk&#x20;and&#x20;perl&#x3A;&#x20;which&#x20;tool&#x20;is&#x20;right&#x20;for&#x20;the&#x20;job"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-sed-awk-and-perl-choosing-the-right-text-processing-tool.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-shell-scripts-for-deployments-checklists-guards-and-rollbacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-shell-skripte-fur-deployments-checklisten-guards-und-rollbacks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-shell-scripts-for-deployments-checklists-guards-and-rollbacks" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-shell-scripts-for-deployments-checklists-guards-and-rollbacks.webp</image:loc><image:title>Shell Scripts for Deployments: Checklists, Guards and Rollbacks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Shell&#x20;Scripts&#x20;for&#x20;Deployments&#x3A;&#x20;Checklists,&#x20;Guards&#x20;and&#x20;Rollbacks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-shell-scripts-for-deployments-checklists-guards-and-rollbacks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-shell-script-code-reviews-what-teams-should-standardize</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-shell-skripte-reviewen-was-teams-standardisieren-sollten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-shell-script-code-reviews-what-teams-should-standardize" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-shell-script-code-reviews-what-teams-should-standardize.webp</image:loc><image:title>Reviewing Shell Scripts: What Teams Should Standardize</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reviewing&#x20;Shell&#x20;Scripts&#x3A;&#x20;What&#x20;Teams&#x20;Should&#x20;Standardize"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-shell-script-code-reviews-what-teams-should-standardize.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-shellcheck-and-tests-for-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-shellcheck-und-tests-fur-bash-skripte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-shellcheck-and-tests-for-bash-scripts" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-shellcheck-and-tests-for-bash-scripts.webp</image:loc><image:title>ShellCheck and Tests for Bash Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ShellCheck&#x20;and&#x20;Tests&#x20;for&#x20;Bash&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-shellcheck-and-tests-for-bash-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-safe-file-handling-spaces-special-characters-binary-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-sichere-dateiverarbeitung-leerzeichen-sonderzeichen-binary-data" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-safe-file-handling-spaces-special-characters-binary-data" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-safe-file-handling-spaces-special-characters-binary-data.webp</image:loc><image:title>Safe File Handling: Spaces, Special Characters, and Binary Data</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Safe&#x20;File&#x20;Handling&#x3A;&#x20;Spaces,&#x20;Special&#x20;Characters,&#x20;and&#x20;Binary&#x20;Data"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-safe-file-handling-spaces-special-characters-binary-data.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-signal-handling-and-cleanup-with-trap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-signal-handling-und-cleanup-mit-trap" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-signal-handling-and-cleanup-with-trap" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-signal-handling-and-cleanup-with-trap.webp</image:loc><image:title>Signal Handling and Cleanup with trap</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Signal&#x20;Handling&#x20;and&#x20;Cleanup&#x20;with&#x20;trap"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-signal-handling-and-cleanup-with-trap.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-ssh-automation-known-hosts-agent-keys-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-ssh-in-automatisierung-known-hosts-agent-keys-sicherheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-ssh-automation-known-hosts-agent-keys-security" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-ssh-automation-known-hosts-agent-keys-security.webp</image:loc><image:title>SSH in Automation: known_hosts, Agent, Keys, and Security</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SSH&#x20;in&#x20;Automation&#x3A;&#x20;known_hosts,&#x20;Agent,&#x20;Keys,&#x20;and&#x20;Security"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-ssh-automation-known-hosts-agent-keys-security.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-combining-stdin-stdout-and-interactive-tools-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-stdin-stdout-und-interaktive-tools-richtig-zusammensetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-combining-stdin-stdout-and-interactive-tools-correctly" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-combining-stdin-stdout-and-interactive-tools-correctly.webp</image:loc><image:title>Getting stdin, stdout, and Interactive Tools Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Getting&#x20;stdin,&#x20;stdout,&#x20;and&#x20;Interactive&#x20;Tools&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-combining-stdin-stdout-and-interactive-tools-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-streaming-logs-and-files-in-real-time</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-streaming-von-logs-und-dateien-in-echtzeit-verarbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-streaming-logs-and-files-in-real-time" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-streaming-logs-and-files-in-real-time.webp</image:loc><image:title>Streaming Logs and Files in Real Time</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Streaming&#x20;Logs&#x20;and&#x20;Files&#x20;in&#x20;Real&#x20;Time"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-streaming-logs-and-files-in-real-time.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-system-diagnostics-with-ps-top-ss-lsof-journalctl-and-bash-helpers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-systemdiagnose-mit-ps-top-ss-lsof-journalctl-und-bash-helfern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-system-diagnostics-with-ps-top-ss-lsof-journalctl-and-bash-helpers" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-system-diagnostics-with-ps-top-ss-lsof-journalctl-and-bash-helpers.webp</image:loc><image:title>System Diagnostics with ps, top, ss, lsof, journalctl and Bash Helpers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="System&#x20;Diagnostics&#x20;with&#x20;ps,&#x20;top,&#x20;ss,&#x20;lsof,&#x20;journalctl&#x20;and&#x20;Bash&#x20;Helpers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-system-diagnostics-with-ps-top-ss-lsof-journalctl-and-bash-helpers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-using-temporary-files-safely-and-cleaning-up-reliably</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-temporare-dateien-sicher-nutzen-und-zuverlassig-aufraumen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-using-temporary-files-safely-and-cleaning-up-reliably" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-using-temporary-files-safely-and-cleaning-up-reliably.webp</image:loc><image:title>Using Temporary Files Safely and Cleaning Them Up Reliably</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Temporary&#x20;Files&#x20;Safely&#x20;and&#x20;Cleaning&#x20;Them&#x20;Up&#x20;Reliably"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-using-temporary-files-safely-and-cleaning-up-reliably.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-bulk-patch-transform-text-files</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-textdateien-massenhaft-patchen-und-transformieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-bulk-patch-transform-text-files" />
<lastmod>2026-07-12T13:49:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-bulk-patch-transform-text-files.webp</image:loc><image:title>Bulk Patching and Transforming Text Files</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bulk&#x20;Patching&#x20;and&#x20;Transforming&#x20;Text&#x20;Files"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-bulk-patch-transform-text-files.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-anchor-positioning-tooltips-without-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-anchor-positioning-tooltips-ohne-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-anchor-positioning-tooltips-without-javascript" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-anchor-positioning-tooltips-without-javascript.webp</image:loc><image:title>CSS Anchor Positioning: Tooltips and Overlays Without JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Anchor&#x20;Positioning&#x3A;&#x20;Tooltips&#x20;and&#x20;Overlays&#x20;Without&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-anchor-positioning-tooltips-without-javascript.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-gpu-compositing-and-animation-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-animation-performance-gpu-compositing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-gpu-compositing-and-animation-performance" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-gpu-compositing-and-animation-performance.webp</image:loc><image:title>CSS Animation Performance and GPU Compositing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Animation&#x20;Performance&#x20;and&#x20;GPU&#x20;Compositing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-gpu-compositing-and-animation-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-backdrop-filter-frosted-glass-effects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-backdrop-filter-glassmorphism" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-backdrop-filter-frosted-glass-effects" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-backdrop-filter-frosted-glass-effects.webp</image:loc><image:title>CSS backdrop-filter and Glassmorphism: blur, saturate, performance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;backdrop-filter&#x20;and&#x20;Glassmorphism&#x3A;&#x20;blur,&#x20;saturate,&#x20;performance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-backdrop-filter-frosted-glass-effects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-blend-modes-effects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-blend-modes-effekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-blend-modes-effects" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-blend-modes-effects.webp</image:loc><image:title>CSS Blend Modes: mix-blend-mode and background-blend-mode</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Blend&#x20;Modes&#x3A;&#x20;mix-blend-mode&#x20;and&#x20;background-blend-mode"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-blend-modes-effects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-calc-min-max-clamp-arithmetic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-calc-min-max-arithmetik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-calc-min-max-clamp-arithmetic" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-calc-min-max-clamp-arithmetic.webp</image:loc><image:title>CSS calc(), min(), max() and clamp(): Arithmetic in the Stylesheet</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;calc&#x28;&#x29;,&#x20;min&#x28;&#x29;,&#x20;max&#x28;&#x29;&#x20;and&#x20;clamp&#x28;&#x29;&#x3A;&#x20;Arithmetic&#x20;in&#x20;the&#x20;Stylesheet"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-calc-min-max-clamp-arithmetic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-cascade-origin-specificity-order-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-cascade-herkunft-spezifitaet-reihenfolge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-cascade-origin-specificity-order-explained" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-cascade-origin-specificity-order-explained.webp</image:loc><image:title>CSS Cascade: Understanding Origin, Specificity and Order</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Cascade&#x3A;&#x20;Understanding&#x20;Origin,&#x20;Specificity&#x20;and&#x20;Order"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-cascade-origin-specificity-order-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-cascade-layers-specificity-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-cascade-layers-specificity-loesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-cascade-layers-specificity-guide" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-cascade-layers-specificity-guide.webp</image:loc><image:title>CSS Cascade Layers (@layer): Solving Specificity Problems</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Cascade&#x20;Layers&#x20;&#x28;&#x40;layer&#x29;&#x3A;&#x20;Solving&#x20;Specificity&#x20;Problems"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-cascade-layers-specificity-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-clamp-responsive-font-sizing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-clamp-fluid-typography" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-clamp-responsive-font-sizing" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-clamp-responsive-font-sizing.webp</image:loc><image:title>CSS clamp() for Fluid Typography: Responsive Font Sizes Without Breakpoints</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;clamp&#x28;&#x29;&#x20;for&#x20;Fluid&#x20;Typography&#x3A;&#x20;Responsive&#x20;Font&#x20;Sizes&#x20;Without&#x20;Breakpoints"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-clamp-responsive-font-sizing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-color-mix-dynamic-color-mixing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-color-mix-farben-dynamisch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-color-mix-dynamic-color-mixing" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-color-mix-dynamic-color-mixing.webp</image:loc><image:title>CSS color-mix(): Mix Colors Dynamically in CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;color-mix&#x28;&#x29;&#x3A;&#x20;Mix&#x20;Colors&#x20;Dynamically&#x20;in&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-color-mix-dynamic-color-mixing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-container-queries-components-not-viewport</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-container-queries-komponenten-statt-viewport" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-container-queries-components-not-viewport" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-container-queries-components-not-viewport.webp</image:loc><image:title>CSS Container Queries: Components Instead of Viewport</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Container&#x20;Queries&#x3A;&#x20;Components&#x20;Instead&#x20;of&#x20;Viewport"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-container-queries-components-not-viewport.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-counters-automatic-numbering</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-counter-automatische-nummerierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-counters-automatic-numbering" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-counters-automatic-numbering.webp</image:loc><image:title>CSS Counter: Automatic Numbering Without JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Counter&#x3A;&#x20;Automatic&#x20;Numbering&#x20;Without&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-counters-automatic-numbering.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-critical-path-page-speed-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-critical-path-pagespeed" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-critical-path-page-speed-optimization" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-critical-path-page-speed-optimization.webp</image:loc><image:title>Optimizing the CSS Critical Path and PageSpeed</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;the&#x20;CSS&#x20;Critical&#x20;Path&#x20;and&#x20;PageSpeed"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-critical-path-page-speed-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-custom-highlights-api-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-custom-highlights-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-custom-highlights-api-explained" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-custom-highlights-api-explained.webp</image:loc><image:title>CSS Custom Highlights API: Style Text Highlights Programmatically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Custom&#x20;Highlights&#x20;API&#x3A;&#x20;Style&#x20;Text&#x20;Highlights&#x20;Programmatically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-custom-highlights-api-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-custom-properties-for-theming</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-custom-properties-theming" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-custom-properties-for-theming" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-custom-properties-for-theming.webp</image:loc><image:title>CSS Custom Properties for Theming: Dark Mode and @property</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Custom&#x20;Properties&#x20;for&#x20;Theming&#x3A;&#x20;Dark&#x20;Mode&#x20;and&#x20;&#x40;property"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-custom-properties-for-theming.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-display-contents-layout-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-display-contents" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-display-contents-layout-guide" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-display-contents-layout-guide.webp</image:loc><image:title>CSS display: contents: Removing Wrapper Elements from the Layout</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;display&#x3A;&#x20;contents&#x3A;&#x20;Removing&#x20;Wrapper&#x20;Elements&#x20;from&#x20;the&#x20;Layout"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-display-contents-layout-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-dvh-svh-lvh-viewport-units-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-dvh-svh-lvh-mobile-viewport" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-dvh-svh-lvh-viewport-units-guide" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-dvh-svh-lvh-viewport-units-guide.webp</image:loc><image:title>CSS dvh, svh, lvh: Getting Mobile Viewport Units Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;dvh,&#x20;svh,&#x20;lvh&#x3A;&#x20;Getting&#x20;Mobile&#x20;Viewport&#x20;Units&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-dvh-svh-lvh-viewport-units-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-safe-area-insets-iphone-notch-dynamic-island</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-env-safe-area-insets" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-safe-area-insets-iphone-notch-dynamic-island" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-safe-area-insets-iphone-notch-dynamic-island.webp</image:loc><image:title>CSS env() and Safe Area Insets: iPhone Notch, Dynamic Island &amp; PWA</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;env&#x28;&#x29;&#x20;and&#x20;Safe&#x20;Area&#x20;Insets&#x3A;&#x20;iPhone&#x20;Notch,&#x20;Dynamic&#x20;Island&#x20;&amp;&#x20;PWA"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-safe-area-insets-iphone-notch-dynamic-island.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-field-sizing-auto-resize-textareas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-field-sizing-textareas" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-field-sizing-auto-resize-textareas" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-field-sizing-auto-resize-textareas.webp</image:loc><image:title>CSS field-sizing: Automatically Resize Textareas Without JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;field-sizing&#x3A;&#x20;Automatically&#x20;Resize&#x20;Textareas&#x20;Without&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-field-sizing-auto-resize-textareas.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-focus-visible-keyboard-navigation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-focus-management-keyboard-trap" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-focus-visible-keyboard-navigation" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-focus-visible-keyboard-navigation.webp</image:loc><image:title>CSS Focus Management and Keyboard Navigation: :focus-visible, :focus-within</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Focus&#x20;Management&#x20;and&#x20;Keyboard&#x20;Navigation&#x3A;&#x20;&#x3A;focus-visible,&#x20;&#x3A;focus-within"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-focus-visible-keyboard-navigation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-font-display-reduce-cls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-font-display-layout-shift" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-font-display-reduce-cls" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-font-display-reduce-cls.webp</image:loc><image:title>CSS font-display and Layout Shift: Reducing CLS in Core Web Vitals</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;font-display&#x20;and&#x20;Layout&#x20;Shift&#x3A;&#x20;Reducing&#x20;CLS&#x20;in&#x20;Core&#x20;Web&#x20;Vitals"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-font-display-reduce-cls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-grid-subgrid-nested-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-grid-subgrid-verschachtelte-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-grid-subgrid-nested-layouts" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-grid-subgrid-nested-layouts.webp</image:loc><image:title>CSS Grid Subgrid: Aligning Nested Layouts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Grid&#x20;Subgrid&#x3A;&#x20;Aligning&#x20;Nested&#x20;Layouts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-grid-subgrid-nested-layouts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-grid-vs-flexbox-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-grid-vs-flexbox" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-grid-vs-flexbox-guide" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-grid-vs-flexbox-guide.webp</image:loc><image:title>CSS Grid vs. Flexbox: Which Layout System When</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Grid&#x20;vs.&#x20;Flexbox&#x3A;&#x20;Which&#x20;Layout&#x20;System&#x20;When"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-grid-vs-flexbox-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-has-parent-selector-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-has-game-changer-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-has-parent-selector-explained" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-has-parent-selector-explained.webp</image:loc><image:title>CSS :has(): The Game Changer for Layouts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;&#x3A;has&#x28;&#x29;&#x3A;&#x20;The&#x20;Game&#x20;Changer&#x20;for&#x20;Layouts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-has-parent-selector-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-houdini-paint-and-layout-api-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-houdini-paint-layout-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-houdini-paint-and-layout-api-guide" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-houdini-paint-and-layout-api-guide.webp</image:loc><image:title>CSS Houdini: Paint API and Layout API</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Houdini&#x3A;&#x20;Paint&#x20;API&#x20;and&#x20;Layout&#x20;API"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-houdini-paint-and-layout-api-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-in-js-vs-utility-first-vs-vanilla-css-architecture-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-in-js-vs-utility-first-vs-vanilla-css" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-in-js-vs-utility-first-vs-vanilla-css-architecture-guide" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-in-js-vs-utility-first-vs-vanilla-css-architecture-guide.webp</image:loc><image:title>CSS-in-JS vs. Utility-First vs. Vanilla CSS: Architecture Decision</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS-in-JS&#x20;vs.&#x20;Utility-First&#x20;vs.&#x20;Vanilla&#x20;CSS&#x3A;&#x20;Architecture&#x20;Decision"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-in-js-vs-utility-first-vs-vanilla-css-architecture-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-intrinsic-sizing-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-intrinsic-sizing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-intrinsic-sizing-explained" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-intrinsic-sizing-explained.webp</image:loc><image:title>CSS Intrinsic Sizing: min-content, max-content, fit-content Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Intrinsic&#x20;Sizing&#x3A;&#x20;min-content,&#x20;max-content,&#x20;fit-content&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-intrinsic-sizing-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-is-where-selectors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-is-where-selektoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-is-where-selectors" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-is-where-selectors.webp</image:loc><image:title>CSS :is() and :where(): Simplifying Selectors</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;&#x3A;is&#x28;&#x29;&#x20;and&#x20;&#x3A;where&#x28;&#x29;&#x3A;&#x20;Simplifying&#x20;Selectors"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-is-where-selectors.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-logical-properties-for-rtl-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-logical-properties-rtl" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-logical-properties-for-rtl-layouts" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-logical-properties-for-rtl-layouts.webp</image:loc><image:title>CSS Logical Properties for RTL Layouts and Internationalization</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Logical&#x20;Properties&#x20;for&#x20;RTL&#x20;Layouts&#x20;and&#x20;Internationalization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-logical-properties-for-rtl-layouts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-masonry-layout-native-browser-support</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-masonry-draft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-masonry-layout-native-browser-support" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-masonry-layout-native-browser-support.webp</image:loc><image:title>CSS Masonry Layout Draft: Native Pinterest Layouts in the Browser</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Masonry&#x20;Layout&#x20;Draft&#x3A;&#x20;Native&#x20;Pinterest&#x20;Layouts&#x20;in&#x20;the&#x20;Browser"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-masonry-layout-native-browser-support.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-modern-features-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-moderne-features-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-modern-features-2026" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-modern-features-2026.webp</image:loc><image:title>Modern CSS Features 2026: Overview of the Key Innovations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modern&#x20;CSS&#x20;Features&#x20;2026&#x3A;&#x20;Overview&#x20;of&#x20;the&#x20;Key&#x20;Innovations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-modern-features-2026.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-multi-column-layout-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-multi-column-layout" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-multi-column-layout-explained" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-multi-column-layout-explained.webp</image:loc><image:title>CSS Multi-Column Layout: column-count, column-width and Newspaper Design</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Multi-Column&#x20;Layout&#x3A;&#x20;column-count,&#x20;column-width&#x20;and&#x20;Newspaper&#x20;Design"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-multi-column-layout-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-native-nesting-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-nesting-native-verschachtelung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-native-nesting-guide" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-native-nesting-guide.webp</image:loc><image:title>CSS Nesting: Native Nesting Without a Preprocessor in 2026</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Nesting&#x3A;&#x20;Native&#x20;Nesting&#x20;Without&#x20;a&#x20;Preprocessor&#x20;in&#x20;2026"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-native-nesting-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-oklch-color-space</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-oklch-farbraum" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-oklch-color-space" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-oklch-color-space.webp</image:loc><image:title>CSS oklch() Color Space: Better Colors on the Web 2026</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;oklch&#x28;&#x29;&#x20;Color&#x20;Space&#x3A;&#x20;Better&#x20;Colors&#x20;on&#x20;the&#x20;Web&#x20;2026"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-oklch-color-space.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-overflow-clip-vs-hidden-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-overflow-clip-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-overflow-clip-vs-hidden-performance" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-overflow-clip-vs-hidden-performance.webp</image:loc><image:title>CSS overflow: clip vs. hidden: Performance Differences and Layout Isolation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;overflow&#x3A;&#x20;clip&#x20;vs.&#x20;hidden&#x3A;&#x20;Performance&#x20;Differences&#x20;and&#x20;Layout&#x20;Isolation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-overflow-clip-vs-hidden-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-performance-profiling-devtools-rendering-panel</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-performance-profiling-rendering-tab" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-performance-profiling-devtools-rendering-panel" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-performance-profiling-devtools-rendering-panel.webp</image:loc><image:title>CSS Performance Profiling with the Rendering Tab: DevTools Layers, Paint Flashing, FPS Meter</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Performance&#x20;Profiling&#x20;with&#x20;the&#x20;Rendering&#x20;Tab&#x3A;&#x20;DevTools&#x20;Layers,&#x20;Paint&#x20;Flashing,&#x20;FPS&#x20;Meter"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-performance-profiling-devtools-rendering-panel.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-popover-api-dropdowns-without-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-popover-api-native-dropdowns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-popover-api-dropdowns-without-javascript" />
<lastmod>2026-07-12T13:50:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-popover-api-dropdowns-without-javascript.webp</image:loc><image:title>CSS Popover API: Native Dropdowns and Overlays Without JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Popover&#x20;API&#x3A;&#x20;Native&#x20;Dropdowns&#x20;and&#x20;Overlays&#x20;Without&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-popover-api-dropdowns-without-javascript.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-prefers-reduced-motion-web-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-prefers-reduced-motion-accessibility" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-prefers-reduced-motion-web-accessibility" />
<lastmod>2026-07-12T13:50:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-prefers-reduced-motion-web-accessibility.webp</image:loc><image:title>CSS prefers-reduced-motion: Making Animations Accessible</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;prefers-reduced-motion&#x3A;&#x20;Making&#x20;Animations&#x20;Accessible"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-prefers-reduced-motion-web-accessibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-property-typed-custom-properties</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-property-typisierte-custom-properties" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-property-typed-custom-properties" />
<lastmod>2026-07-12T13:50:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-property-typed-custom-properties.webp</image:loc><image:title>CSS @property: Typed Custom Properties for Animation and Validation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;&#x40;property&#x3A;&#x20;Typed&#x20;Custom&#x20;Properties&#x20;for&#x20;Animation&#x20;and&#x20;Validation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-property-typed-custom-properties.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-pseudo-elements-tricks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-pseudo-elemente-tricks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-pseudo-elements-tricks" />
<lastmod>2026-07-12T13:50:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-pseudo-elements-tricks.webp</image:loc><image:title>CSS Pseudo Elements: ::before, ::after and Modern Tricks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Pseudo&#x20;Elements&#x3A;&#x20;&#x3A;&#x3A;before,&#x20;&#x3A;&#x3A;after&#x20;and&#x20;Modern&#x20;Tricks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-pseudo-elements-tricks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-revert-layer-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-revert-layer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-revert-layer-explained" />
<lastmod>2026-07-12T13:50:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-revert-layer-explained.webp</image:loc><image:title>CSS revert-layer: Reset the Cascade Precisely with @layer</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;revert-layer&#x3A;&#x20;Reset&#x20;the&#x20;Cascade&#x20;Precisely&#x20;with&#x20;&#x40;layer"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-revert-layer-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-scope-scoped-styles-without-shadow-dom</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-scope-scoped-styles-ohne-shadow-dom" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-scope-scoped-styles-without-shadow-dom" />
<lastmod>2026-07-12T13:50:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-scope-scoped-styles-without-shadow-dom.webp</image:loc><image:title>CSS @scope: Scoped Styles Without Shadow DOM</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;&#x40;scope&#x3A;&#x20;Scoped&#x20;Styles&#x20;Without&#x20;Shadow&#x20;DOM"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-scope-scoped-styles-without-shadow-dom.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-scroll-linked-animations-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-scroll-driven-animations" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-scroll-linked-animations-explained" />
<lastmod>2026-07-12T13:50:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-scroll-linked-animations-explained.webp</image:loc><image:title>CSS Scroll-Driven Animations: animation-timeline, scroll() and view()</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Scroll-Driven&#x20;Animations&#x3A;&#x20;animation-timeline,&#x20;scroll&#x28;&#x29;&#x20;and&#x20;view&#x28;&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-scroll-linked-animations-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-selectors-level-4-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-selectors-level-4" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-selectors-level-4-explained" />
<lastmod>2026-07-12T13:50:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-selectors-level-4-explained.webp</image:loc><image:title>CSS Selectors Level 4: :has, :is, :where, :not, :nth-child of</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Selectors&#x20;Level&#x20;4&#x3A;&#x20;&#x3A;has,&#x20;&#x3A;is,&#x20;&#x3A;where,&#x20;&#x3A;not,&#x20;&#x3A;nth-child&#x20;of"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-selectors-level-4-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-shape-outside-text-wrap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-shape-outside" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-shape-outside-text-wrap" />
<lastmod>2026-07-12T13:50:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-shape-outside-text-wrap.webp</image:loc><image:title>CSS shape-outside: Wrap Text Around Shapes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;shape-outside&#x3A;&#x20;Wrap&#x20;Text&#x20;Around&#x20;Shapes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-shape-outside-text-wrap.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-specificity-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-specificity-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-specificity-explained" />
<lastmod>2026-07-12T13:50:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-specificity-explained.webp</image:loc><image:title>Understanding and Mastering CSS Specificity</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;and&#x20;Mastering&#x20;CSS&#x20;Specificity"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-specificity-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-starting-style-entry-animations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-starting-style-einblend-animationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-starting-style-entry-animations" />
<lastmod>2026-07-12T13:50:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-starting-style-entry-animations.webp</image:loc><image:title>CSS @starting-style: Entry Animations for Newly Inserted Elements</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;&#x40;starting-style&#x3A;&#x20;Entry&#x20;Animations&#x20;for&#x20;Newly&#x20;Inserted&#x20;Elements"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-starting-style-entry-animations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-position-sticky-sidebar-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-sticky-sidebar-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-position-sticky-sidebar-guide" />
<lastmod>2026-07-12T13:50:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-position-sticky-sidebar-guide.webp</image:loc><image:title>CSS position:sticky for Sidebar Layouts: top, bottom, z-index and iOS Bugs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;position&#x3A;sticky&#x20;for&#x20;Sidebar&#x20;Layouts&#x3A;&#x20;top,&#x20;bottom,&#x20;z-index&#x20;and&#x20;iOS&#x20;Bugs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-position-sticky-sidebar-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-view-transitions-api-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-view-transitions-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-view-transitions-api-explained" />
<lastmod>2026-07-12T13:50:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-view-transitions-api-explained.webp</image:loc><image:title>CSS View Transitions API: Cross Page Transitions with view-transition-name</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;View&#x20;Transitions&#x20;API&#x3A;&#x20;Cross&#x20;Page&#x20;Transitions&#x20;with&#x20;view-transition-name"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-view-transitions-api-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-will-change-when-to-use-it-and-when-it-causes-memory-leaks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-will-change-sinnvoll-oder-memory-leak" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-will-change-when-to-use-it-and-when-it-causes-memory-leaks" />
<lastmod>2026-07-12T13:50:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-will-change-when-to-use-it-and-when-it-causes-memory-leaks.webp</image:loc><image:title>CSS will-change: Use It Wisely or Risk a Memory Leak</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;will-change&#x3A;&#x20;Use&#x20;It&#x20;Wisely&#x20;or&#x20;Risk&#x20;a&#x20;Memory&#x20;Leak"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-will-change-when-to-use-it-and-when-it-causes-memory-leaks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-writing-modes-vertical-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-writing-modes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-writing-modes-vertical-layouts" />
<lastmod>2026-07-12T13:50:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-writing-modes-vertical-layouts.webp</image:loc><image:title>CSS Writing Modes: Vertical Layouts, CJK Typography and RTL/LTR</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Writing&#x20;Modes&#x3A;&#x20;Vertical&#x20;Layouts,&#x20;CJK&#x20;Typography&#x20;and&#x20;RTL&#x2F;LTR"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-writing-modes-vertical-layouts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-50-docker-commands-and-patterns-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-50-docker-kommandos-und-patterns-fur-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-50-docker-commands-and-patterns-for-developers" />
<lastmod>2026-07-12T13:51:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-50-docker-commands-and-patterns-for-developers.webp</image:loc><image:title>50 Docker Commands and Patterns for Developers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="50&#x20;Docker&#x20;Commands&#x20;and&#x20;Patterns&#x20;for&#x20;Developers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-50-docker-commands-and-patterns-for-developers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-observability-in-container-stacks-metrics-logs-health</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-beobachtbarkeit-in-container-stacks-metriken-logs-health" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-observability-in-container-stacks-metrics-logs-health" />
<lastmod>2026-07-12T13:51:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-observability-in-container-stacks-metrics-logs-health.webp</image:loc><image:title>Observability in Container Stacks: Metrics, Logs, and Health</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Observability&#x20;in&#x20;Container&#x20;Stacks&#x3A;&#x20;Metrics,&#x20;Logs,&#x20;and&#x20;Health"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-observability-in-container-stacks-metrics-logs-health.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-blue-green-and-rolling-deployments-with-containers-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-blue-green-und-rolling-deployments-mit-containern-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-blue-green-and-rolling-deployments-with-containers-explained" />
<lastmod>2026-07-12T13:51:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-blue-green-and-rolling-deployments-with-containers-explained.webp</image:loc><image:title>Understanding Blue-Green and Rolling Deployments with Docker Containers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Blue-Green&#x20;and&#x20;Rolling&#x20;Deployments&#x20;with&#x20;Docker&#x20;Containers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-blue-green-and-rolling-deployments-with-containers-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-buildkit-cache-mounts-and-faster-ci-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-buildkit-cache-mounts-und-schnellere-ci-builds" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-buildkit-cache-mounts-and-faster-ci-builds" />
<lastmod>2026-07-12T13:51:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-buildkit-cache-mounts-and-faster-ci-builds.webp</image:loc><image:title>Docker BuildKit Cache Mounts and Faster CI Builds</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;BuildKit&#x20;Cache&#x20;Mounts&#x20;and&#x20;Faster&#x20;CI&#x20;Builds"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-buildkit-cache-mounts-and-faster-ci-builds.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-composer-and-npm-caches-in-docker-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-composer-und-npm-caches-in-docker-builds-strategisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-composer-and-npm-caches-in-docker-builds" />
<lastmod>2026-07-12T13:51:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-composer-and-npm-caches-in-docker-builds.webp</image:loc><image:title>Using Composer and npm Caches Strategically in Docker Builds</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Composer&#x20;and&#x20;npm&#x20;Caches&#x20;Strategically&#x20;in&#x20;Docker&#x20;Builds"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-composer-and-npm-caches-in-docker-builds.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-container-checklist-for-production-shops-and-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-container-checkliste-fur-produktive-shops-und-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-container-checklist-for-production-shops-and-apis" />
<lastmod>2026-07-12T13:51:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-container-checklist-for-production-shops-and-apis.webp</image:loc><image:title>Docker Container Checklist for Production Shops and APIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Container&#x20;Checklist&#x20;for&#x20;Production&#x20;Shops&#x20;and&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-container-checklist-for-production-shops-and-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-container-security-non-root-capabilities-read-only-filesystem-seccomp</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-container-security-user-capabilities-read-only-fs-seccomp" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-container-security-non-root-capabilities-read-only-filesystem-seccomp" />
<lastmod>2026-07-12T13:51:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-container-security-non-root-capabilities-read-only-filesystem-seccomp.webp</image:loc><image:title>Docker Container Security: User, Capabilities, Read-Only Filesystem and Seccomp</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Container&#x20;Security&#x3A;&#x20;User,&#x20;Capabilities,&#x20;Read-Only&#x20;Filesystem&#x20;and&#x20;Seccomp"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-container-security-non-root-capabilities-read-only-filesystem-seccomp.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-container-startup-order-and-wait-for-patterns-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-container-startup-reihenfolge-und-wait-for-patterns-richtig-losen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-container-startup-order-and-wait-for-patterns-explained" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-container-startup-order-and-wait-for-patterns-explained.webp</image:loc><image:title>Docker Container Startup Order and Wait-For Patterns Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Container&#x20;Startup&#x20;Order&#x20;and&#x20;Wait-For&#x20;Patterns&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-container-startup-order-and-wait-for-patterns-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-initializing-containerized-databases-the-right-way</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-containerisierte-datenbanken-richtig-initialisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-initializing-containerized-databases-the-right-way" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-initializing-containerized-databases-the-right-way.webp</image:loc><image:title>Initializing Containerized Databases the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Initializing&#x20;Containerized&#x20;Databases&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-initializing-containerized-databases-the-right-way.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-cpu-and-memory-limits-best-practices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-cpu-und-memory-limits-sinnvoll-setzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-cpu-and-memory-limits-best-practices" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-cpu-and-memory-limits-best-practices.webp</image:loc><image:title>Setting Docker CPU and Memory Limits the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Docker&#x20;CPU&#x20;and&#x20;Memory&#x20;Limits&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-cpu-and-memory-limits-best-practices.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-cron-jobs-and-background-workers-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-cronjobs-und-worker-in-docker-richtig-fahren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-cron-jobs-and-background-workers-done-right" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-cron-jobs-and-background-workers-done-right.webp</image:loc><image:title>Running Cronjobs and Workers in Docker the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Running&#x20;Cronjobs&#x20;and&#x20;Workers&#x20;in&#x20;Docker&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-cron-jobs-and-background-workers-done-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-file-permissions-between-host-and-container</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-dateirechte-zwischen-host-und-container-sauber-losen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-file-permissions-between-host-and-container" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-file-permissions-between-host-and-container.webp</image:loc><image:title>Docker File Permissions Between Host and Container: A Clean Fix</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;File&#x20;Permissions&#x20;Between&#x20;Host&#x20;and&#x20;Container&#x3A;&#x20;A&#x20;Clean&#x20;Fix"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-file-permissions-between-host-and-container.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-debugging-running-containers-exec-inspect-stats-top-events</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-debugging-laufender-container-exec-inspect-stats-top-events" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-debugging-running-containers-exec-inspect-stats-top-events" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-debugging-running-containers-exec-inspect-stats-top-events.webp</image:loc><image:title>Docker Debugging for Running Containers: exec, inspect, stats, top, events</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Debugging&#x20;for&#x20;Running&#x20;Containers&#x3A;&#x20;exec,&#x20;inspect,&#x20;stats,&#x20;top,&#x20;events"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-debugging-running-containers-exec-inspect-stats-top-events.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-creating-deployment-artifacts-from-docker-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-deployment-artefakte-aus-docker-builds-erzeugen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-creating-deployment-artifacts-from-docker-builds" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-creating-deployment-artifacts-from-docker-builds.webp</image:loc><image:title>Creating Deployment Artifacts from Docker Builds</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Creating&#x20;Deployment&#x20;Artifacts&#x20;from&#x20;Docker&#x20;Builds"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-creating-deployment-artifacts-from-docker-builds.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-cleanup-automation-images-volumes-networks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-docker-cleanup-richtig-automatisieren-images-volumes-networks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-cleanup-automation-images-volumes-networks" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-cleanup-automation-images-volumes-networks.webp</image:loc><image:title>Automating Docker Cleanup the Right Way: Images, Volumes, Networks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;Docker&#x20;Cleanup&#x20;the&#x20;Right&#x20;Way&#x3A;&#x20;Images,&#x20;Volumes,&#x20;Networks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-cleanup-automation-images-volumes-networks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-compose-for-integration-and-end-to-end-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-docker-compose-fur-integrations-und-end-to-end-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-compose-for-integration-and-end-to-end-tests" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-compose-for-integration-and-end-to-end-tests.webp</image:loc><image:title>Docker Compose for Integration and End-to-End Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Compose&#x20;for&#x20;Integration&#x20;and&#x20;End-to-End&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-compose-for-integration-and-end-to-end-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-compose-for-local-development-environments-designed-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-docker-compose-fur-lokale-entwicklungsumgebungen-richtig-entwerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-compose-for-local-development-environments-designed-right" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-compose-for-local-development-environments-designed-right.webp</image:loc><image:title>Designing Docker Compose for Local Development Environments the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Docker&#x20;Compose&#x20;for&#x20;Local&#x20;Development&#x20;Environments&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-compose-for-local-development-environments-designed-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-compose-profiles-for-dev-test-and-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-compose-profiles-fur-dev-test-und-ci-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-compose-profiles-for-dev-test-and-ci" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-compose-profiles-for-dev-test-and-ci.webp</image:loc><image:title>Using Docker Compose Profiles for Dev, Test and CI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Docker&#x20;Compose&#x20;Profiles&#x20;for&#x20;Dev,&#x20;Test&#x20;and&#x20;CI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-compose-profiles-for-dev-test-and-ci.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-compose-clean-structure-services-profiles-overrides-env-files</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-docker-compose-sauber-strukturieren-services-profiles-overrides-env-dateien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-compose-clean-structure-services-profiles-overrides-env-files" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-compose-clean-structure-services-profiles-overrides-env-files.webp</image:loc><image:title>Structuring Docker Compose Cleanly: Services, Profiles, Overrides, and .env Files</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Structuring&#x20;Docker&#x20;Compose&#x20;Cleanly&#x3A;&#x20;Services,&#x20;Profiles,&#x20;Overrides,&#x20;and&#x20;.env&#x20;Files"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-compose-clean-structure-services-profiles-overrides-env-files.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-compose-vs-kubernetes-what-actually-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-docker-compose-vs-kubernetes-was-wirklich-anders-wird" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-compose-vs-kubernetes-what-actually-changes" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-compose-vs-kubernetes-what-actually-changes.webp</image:loc><image:title>Docker Compose vs Kubernetes: What Actually Changes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Compose&#x20;vs&#x20;Kubernetes&#x3A;&#x20;What&#x20;Actually&#x20;Changes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-compose-vs-kubernetes-what-actually-changes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-for-magento-php-fpm-nginx-node-elasticsearch-opensearch-db</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-docker-fur-magento-php-fpm-nginx-node-elasticsearch-opensearch-db" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-for-magento-php-fpm-nginx-node-elasticsearch-opensearch-db" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-for-magento-php-fpm-nginx-node-elasticsearch-opensearch-db.webp</image:loc><image:title>Docker for Magento: PHP-FPM, Nginx, Node, Elasticsearch/OpenSearch and DB</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;for&#x20;Magento&#x3A;&#x20;PHP-FPM,&#x20;Nginx,&#x20;Node,&#x20;Elasticsearch&#x2F;OpenSearch&#x20;and&#x20;DB"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-for-magento-php-fpm-nginx-node-elasticsearch-opensearch-db.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-images-explained-layers-caching-rebuilds-and-registry-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-docker-images-verstehen-layers-caching-rebuilds-und-registry-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-images-explained-layers-caching-rebuilds-and-registry-strategies" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-images-explained-layers-caching-rebuilds-and-registry-strategies.webp</image:loc><image:title>Understanding Docker Images: Layers, Caching, Rebuilds and Registry Strategies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Docker&#x20;Images&#x3A;&#x20;Layers,&#x20;Caching,&#x20;Rebuilds&#x20;and&#x20;Registry&#x20;Strategies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-images-explained-layers-caching-rebuilds-and-registry-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-docker-in-gitlab-ci-runners-dind-caching-and-artifacts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-docker-in-gitlab-ci-runner-dind-caching-und-artifacts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-docker-in-gitlab-ci-runners-dind-caching-and-artifacts" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-docker-in-gitlab-ci-runners-dind-caching-and-artifacts.webp</image:loc><image:title>Docker in GitLab CI: Runners, DinD, Caching and Artifacts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;in&#x20;GitLab&#x20;CI&#x3A;&#x20;Runners,&#x20;DinD,&#x20;Caching&#x20;and&#x20;Artifacts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-docker-in-gitlab-ci-runners-dind-caching-and-artifacts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-docker-logs-stdout-stderr-and-production-logging-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-docker-logs-stdout-stderr-und-produktive-logging-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-docker-logs-stdout-stderr-and-production-logging-strategies" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-docker-logs-stdout-stderr-and-production-logging-strategies.webp</image:loc><image:title>Docker Logs: stdout, stderr, and Production-Ready Logging Strategies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Logs&#x3A;&#x20;stdout,&#x20;stderr,&#x20;and&#x20;Production-Ready&#x20;Logging&#x20;Strategies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-docker-logs-stdout-stderr-and-production-logging-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-networking-for-teams-reverse-proxy-subdomains-local-certificates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-docker-networking-fur-teams-reverse-proxy-subdomains-lokale-zertifikate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-networking-for-teams-reverse-proxy-subdomains-local-certificates" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-networking-for-teams-reverse-proxy-subdomains-local-certificates.webp</image:loc><image:title>Docker Networking for Teams: Reverse Proxy, Subdomains, and Local Certificates</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Networking&#x20;for&#x20;Teams&#x3A;&#x20;Reverse&#x20;Proxy,&#x20;Subdomains,&#x20;and&#x20;Local&#x20;Certificates"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-networking-for-teams-reverse-proxy-subdomains-local-certificates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-registry-setup-and-image-versioning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-docker-registry-aufsetzen-und-images-versionieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-registry-setup-and-image-versioning" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-registry-setup-and-image-versioning.webp</image:loc><image:title>Set Up a Docker Registry and Version Your Images</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Set&#x20;Up&#x20;a&#x20;Docker&#x20;Registry&#x20;and&#x20;Version&#x20;Your&#x20;Images"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-registry-setup-and-image-versioning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-performance-on-macos-linux-and-wsl-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-docker-und-performance-auf-macos-linux-wsl-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-performance-on-macos-linux-and-wsl-explained" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-performance-on-macos-linux-and-wsl-explained.webp</image:loc><image:title>Understanding Docker Performance on macOS, Linux, and WSL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Docker&#x20;Performance&#x20;on&#x20;macOS,&#x20;Linux,&#x20;and&#x20;WSL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-performance-on-macos-linux-and-wsl-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-docker-and-xdebug-clean-setup-without-the-pain</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-docker-und-xdebug-sauberes-setup-ohne-jedes-mal-schmerz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-docker-and-xdebug-clean-setup-without-the-pain" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-docker-and-xdebug-clean-setup-without-the-pain.webp</image:loc><image:title>Docker and Xdebug: A Clean Setup Without the Pain</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;and&#x20;Xdebug&#x3A;&#x20;A&#x20;Clean&#x20;Setup&#x20;Without&#x20;the&#x20;Pain"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-docker-and-xdebug-clean-setup-without-the-pain.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-dockerfile-review-common-anti-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-dockerfile-reviews-typische-anti-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-dockerfile-review-common-anti-patterns" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-dockerfile-review-common-anti-patterns.webp</image:loc><image:title>Dockerfile Reviews: Spotting and Fixing Common Anti-Patterns</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Dockerfile&#x20;Reviews&#x3A;&#x20;Spotting&#x20;and&#x20;Fixing&#x20;Common&#x20;Anti-Patterns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-dockerfile-review-common-anti-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-linting-and-testing-dockerfiles-and-compose-files</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-dockerfile-und-compose-linten-und-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-linting-and-testing-dockerfiles-and-compose-files" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-linting-and-testing-dockerfiles-and-compose-files.webp</image:loc><image:title>Linting and Testing Dockerfiles and Compose Files: hadolint, trivy, docker compose validate</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Linting&#x20;and&#x20;Testing&#x20;Dockerfiles&#x20;and&#x20;Compose&#x20;Files&#x3A;&#x20;hadolint,&#x20;trivy,&#x20;docker&#x20;compose&#x20;validate"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-linting-and-testing-dockerfiles-and-compose-files.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-healthchecks-in-practice-beyond-open-ports</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-healthchecks-praktisch-nutzen-statt-nur-ports-zu-offnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-healthchecks-in-practice-beyond-open-ports" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-healthchecks-in-practice-beyond-open-ports.webp</image:loc><image:title>Using Docker Healthchecks the Right Way Instead of Just Opening Ports</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Docker&#x20;Healthchecks&#x20;the&#x20;Right&#x20;Way&#x20;Instead&#x20;of&#x20;Just&#x20;Opening&#x20;Ports"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-healthchecks-in-practice-beyond-open-ports.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-image-size-reduction-without-broken-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-image-grosse-reduzieren-ohne-kaputte-builds" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-image-size-reduction-without-broken-builds" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-image-size-reduction-without-broken-builds.webp</image:loc><image:title>Reduce Docker Image Size Without Broken Builds</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reduce&#x20;Docker&#x20;Image&#x20;Size&#x20;Without&#x20;Broken&#x20;Builds"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-image-size-reduction-without-broken-builds.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-image-scanning-and-security-updates-in-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-image-scanning-und-sicherheitsupdates-in-ci" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-image-scanning-and-security-updates-in-ci" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-image-scanning-and-security-updates-in-ci.webp</image:loc><image:title>Docker Image Scanning and Security Updates in CI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Image&#x20;Scanning&#x20;and&#x20;Security&#x20;Updates&#x20;in&#x20;CI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-image-scanning-and-security-updates-in-ci.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-local-ssl-certificates-with-mkcert-and-reverse-proxy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-lokale-ssl-zertifikate-mit-mkcert-und-reverse-proxy" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-local-ssl-certificates-with-mkcert-and-reverse-proxy" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-local-ssl-certificates-with-mkcert-and-reverse-proxy.webp</image:loc><image:title>Local SSL Certificates with mkcert and Reverse Proxy in Docker</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Local&#x20;SSL&#x20;Certificates&#x20;with&#x20;mkcert&#x20;and&#x20;Reverse&#x20;Proxy&#x20;in&#x20;Docker"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-local-ssl-certificates-with-mkcert-and-reverse-proxy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-speed-up-magento-in-docker-volumes-sync-opcache-watcher</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-magento-in-docker-beschleunigen-volumes-sync-opcache-watcher" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-speed-up-magento-in-docker-volumes-sync-opcache-watcher" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-speed-up-magento-in-docker-volumes-sync-opcache-watcher.webp</image:loc><image:title>Speeding Up Magento in Docker: Volumes, Sync, OPcache &amp; Watcher</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Speeding&#x20;Up&#x20;Magento&#x20;in&#x20;Docker&#x3A;&#x20;Volumes,&#x20;Sync,&#x20;OPcache&#x20;&amp;&#x20;Watcher"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-speed-up-magento-in-docker-volumes-sync-opcache-watcher.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-magento-static-content-deploy-and-di-compile-in-build-container</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-magento-static-content-und-di-compile-im-build-container" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-magento-static-content-deploy-and-di-compile-in-build-container" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-magento-static-content-deploy-and-di-compile-in-build-container.webp</image:loc><image:title>Magento Static Content &amp; DI Compile in the Build Container</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Static&#x20;Content&#x20;&amp;&#x20;DI&#x20;Compile&#x20;in&#x20;the&#x20;Build&#x20;Container"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-magento-static-content-deploy-and-di-compile-in-build-container.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-multi-stage-dockerfiles-for-php-and-node-projects-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-mehrstufige-dockerfiles-fur-php-und-node-projekte-richtig-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-multi-stage-dockerfiles-for-php-and-node-projects-done-right" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-multi-stage-dockerfiles-for-php-and-node-projects-done-right.webp</image:loc><image:title>Building Multi-Stage Dockerfiles for PHP and Node Projects the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Multi-Stage&#x20;Dockerfiles&#x20;for&#x20;PHP&#x20;and&#x20;Node&#x20;Projects&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-multi-stage-dockerfiles-for-php-and-node-projects-done-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-networking-bridge-host-dns-and-service-discovery</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-netzwerke-in-docker-bridge-host-dns-und-service-discovery" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-networking-bridge-host-dns-and-service-discovery" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-networking-bridge-host-dns-and-service-discovery.webp</image:loc><image:title>Docker Networking: Bridge, Host, DNS and Service Discovery Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Networking&#x3A;&#x20;Bridge,&#x20;Host,&#x20;DNS&#x20;and&#x20;Service&#x20;Discovery&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-networking-bridge-host-dns-and-service-discovery.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-combining-node-php-and-composer-in-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-node-php-und-composer-in-containern-zusammenbringen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-combining-node-php-and-composer-in-containers" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-combining-node-php-and-composer-in-containers.webp</image:loc><image:title>Bringing Node, PHP, and Composer Together in Docker Containers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bringing&#x20;Node,&#x20;PHP,&#x20;and&#x20;Composer&#x20;Together&#x20;in&#x20;Docker&#x20;Containers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-combining-node-php-and-composer-in-containers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-one-process-per-container-when-the-rule-helps-and-when-it-doesnt</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-one-process-per-container-wann-die-regel-hilft-und-wann-nicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-one-process-per-container-when-the-rule-helps-and-when-it-doesnt" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-one-process-per-container-when-the-rule-helps-and-when-it-doesnt.webp</image:loc><image:title>One Process per Container: When the Rule Helps and When It Doesn't</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="One&#x20;Process&#x20;per&#x20;Container&#x3A;&#x20;When&#x20;the&#x20;Rule&#x20;Helps&#x20;and&#x20;When&#x20;It&#x20;Doesn&#x27;t"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-one-process-per-container-when-the-rule-helps-and-when-it-doesnt.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-persistent-storage-volumes-backups-restore-migration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-persistent-storage-in-containern-backups-restore-migration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-persistent-storage-volumes-backups-restore-migration" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-persistent-storage-volumes-backups-restore-migration.webp</image:loc><image:title>Docker Persistent Storage: Volumes, Backups, Restore, and Migration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Persistent&#x20;Storage&#x3A;&#x20;Volumes,&#x20;Backups,&#x20;Restore,&#x20;and&#x20;Migration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-persistent-storage-volumes-backups-restore-migration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-production-checklist-security-performance-storage-deployments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-produktive-docker-checkliste-security-performance-storage-deployments" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-production-checklist-security-performance-storage-deployments" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-production-checklist-security-performance-storage-deployments.webp</image:loc><image:title>Production Docker Checklist: Security, Performance, Storage, and Deployments</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Production&#x20;Docker&#x20;Checklist&#x3A;&#x20;Security,&#x20;Performance,&#x20;Storage,&#x20;and&#x20;Deployments"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-production-checklist-security-performance-storage-deployments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-connecting-redis-rabbitmq-opensearch-and-mysql-cleanly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-redis-rabbitmq-opensearch-und-mysql-in-container-stacks-sauber-verbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-connecting-redis-rabbitmq-opensearch-and-mysql-cleanly" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-connecting-redis-rabbitmq-opensearch-and-mysql-cleanly.webp</image:loc><image:title>Cleanly Connecting Redis, RabbitMQ, OpenSearch, and MySQL in Docker Stacks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cleanly&#x20;Connecting&#x20;Redis,&#x20;RabbitMQ,&#x20;OpenSearch,&#x20;and&#x20;MySQL&#x20;in&#x20;Docker&#x20;Stacks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-connecting-redis-rabbitmq-opensearch-and-mysql-cleanly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-build-release-images-instead-of-compiling-on-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-release-images-bauen-statt-auf-servern-kompilieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-build-release-images-instead-of-compiling-on-servers" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-build-release-images-instead-of-compiling-on-servers.webp</image:loc><image:title>Building Docker Release Images Instead of Compiling on Servers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Docker&#x20;Release&#x20;Images&#x20;Instead&#x20;of&#x20;Compiling&#x20;on&#x20;Servers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-build-release-images-instead-of-compiling-on-servers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-rootless-docker-when-it-pays-off</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-rootless-docker-wann-es-sich-lohnt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-rootless-docker-when-it-pays-off" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-rootless-docker-when-it-pays-off.webp</image:loc><image:title>Rootless Docker: When It Pays Off</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Rootless&#x20;Docker&#x3A;&#x20;When&#x20;It&#x20;Pays&#x20;Off"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-rootless-docker-when-it-pays-off.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-secrets-what-should-never-be-in-your-image</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-secrets-in-docker-was-nie-ins-image-gehort" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-secrets-what-should-never-be-in-your-image" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-secrets-what-should-never-be-in-your-image.webp</image:loc><image:title>Docker Secrets: What Should Never Be in Your Image</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Secrets&#x3A;&#x20;What&#x20;Should&#x20;Never&#x20;Be&#x20;in&#x20;Your&#x20;Image"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-secrets-what-should-never-be-in-your-image.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-sidecars-utility-containers-and-one-off-jobs-in-everyday-use</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-sidecars-utility-container-und-einmal-jobs-im-alltag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-sidecars-utility-containers-and-one-off-jobs-in-everyday-use" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-sidecars-utility-containers-and-one-off-jobs-in-everyday-use.webp</image:loc><image:title>Sidecars, Utility Containers and One Off Jobs in Everyday Docker Use</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sidecars,&#x20;Utility&#x20;Containers&#x20;and&#x20;One&#x20;Off&#x20;Jobs&#x20;in&#x20;Everyday&#x20;Docker&#x20;Use"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-sidecars-utility-containers-and-one-off-jobs-in-everyday-use.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-temporary-shell-containers-for-maintenance-and-diagnostics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-temporare-shell-container-fur-wartung-und-diagnose" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-temporary-shell-containers-for-maintenance-and-diagnostics" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-temporary-shell-containers-for-maintenance-and-diagnostics.webp</image:loc><image:title>Temporary Shell Containers for Maintenance and Diagnostics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Temporary&#x20;Shell&#x20;Containers&#x20;for&#x20;Maintenance&#x20;and&#x20;Diagnostics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-temporary-shell-containers-for-maintenance-and-diagnostics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-traefik-vs-nginx-proxy-for-local-stacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-traefik-oder-nginx-proxy-fur-lokale-stacks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-traefik-vs-nginx-proxy-for-local-stacks" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-traefik-vs-nginx-proxy-for-local-stacks.webp</image:loc><image:title>Traefik or nginx-proxy for Local Docker Stacks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Traefik&#x20;or&#x20;nginx-proxy&#x20;for&#x20;Local&#x20;Docker&#x20;Stacks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-traefik-vs-nginx-proxy-for-local-stacks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-volumes-vs-bind-mounts-when-to-use-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-volumes-vs-bind-mounts-wann-was-wirklich-richtig-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-volumes-vs-bind-mounts-when-to-use-which" />
<lastmod>2026-07-12T13:51:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-volumes-vs-bind-mounts-when-to-use-which.webp</image:loc><image:title>Docker Volumes vs. Bind Mounts: When Which One Is Really Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Volumes&#x20;vs.&#x20;Bind&#x20;Mounts&#x3A;&#x20;When&#x20;Which&#x20;One&#x20;Is&#x20;Really&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-volumes-vs-bind-mounts-when-to-use-which.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-artifact-signing-checksums-and-integrity-for-releases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-artefakt-signierung-checksums-und-integritat-fur-releases" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-artifact-signing-checksums-and-integrity-for-releases" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-artifact-signing-checksums-and-integrity-for-releases.webp</image:loc><image:title>Artifact Signing, Checksums and Integrity for Releases</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Artifact&#x20;Signing,&#x20;Checksums&#x20;and&#x20;Integrity&#x20;for&#x20;Releases"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-artifact-signing-checksums-and-integrity-for-releases.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-artifacts-what-belongs-in-the-release-build-and-what-doesnt</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-artefakte-in-gitlab-was-in-den-release-build-gehort-und-was-nicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-artifacts-what-belongs-in-the-release-build-and-what-doesnt" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-artifacts-what-belongs-in-the-release-build-and-what-doesnt.webp</image:loc><image:title>GitLab Artifacts: What Belongs in the Release Build and What Doesn't</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;Artifacts&#x3A;&#x20;What&#x20;Belongs&#x20;in&#x20;the&#x20;Release&#x20;Build&#x20;and&#x20;What&#x20;Doesn&#x27;t"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-artifacts-what-belongs-in-the-release-build-and-what-doesnt.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-blue-green-vs-symlink-deployments-for-magento-shops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-blue-green-vs-symlink-releases-fur-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-blue-green-vs-symlink-deployments-for-magento-shops" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-blue-green-vs-symlink-deployments-for-magento-shops.webp</image:loc><image:title>Blue/Green vs. Symlink Releases for Magento Shops</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Blue&#x2F;Green&#x20;vs.&#x20;Symlink&#x20;Releases&#x20;for&#x20;Magento&#x20;Shops"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-blue-green-vs-symlink-deployments-for-magento-shops.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-cache-flush-vs-cache-clean-in-deployments-what-you-really-need-and-when</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-cache-flush-vs-cache-clean-in-deployments-was-wann-wirklich-gebraucht-wird" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-cache-flush-vs-cache-clean-in-deployments-what-you-really-need-and-when" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-cache-flush-vs-cache-clean-in-deployments-what-you-really-need-and-when.webp</image:loc><image:title>Cache Flush vs. Cache Clean in Deployments: What You Actually Need and When</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cache&#x20;Flush&#x20;vs.&#x20;Cache&#x20;Clean&#x20;in&#x20;Deployments&#x3A;&#x20;What&#x20;You&#x20;Actually&#x20;Need&#x20;and&#x20;When"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-cache-flush-vs-cache-clean-in-deployments-what-you-really-need-and-when.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-post-release-cache-warmup-automating-priority-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-cache-warmup-und-wichtigste-seiten-nach-dem-release-automatisiert-aufrufen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-post-release-cache-warmup-automating-priority-pages" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-post-release-cache-warmup-automating-priority-pages.webp</image:loc><image:title>Automating Cache Warmup for Priority Pages After a Release</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;Cache&#x20;Warmup&#x20;for&#x20;Priority&#x20;Pages&#x20;After&#x20;a&#x20;Release"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-post-release-cache-warmup-automating-priority-pages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-ci-cd-variables-setup-guide-ssh-composer-auth-env-secrets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-ci-cd-variables-in-gitlab-richtig-anlegen-ssh-composer-auth-env-secrets" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-ci-cd-variables-setup-guide-ssh-composer-auth-env-secrets" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-ci-cd-variables-setup-guide-ssh-composer-auth-env-secrets.webp</image:loc><image:title>Setting Up CI/CD Variables in GitLab: SSH, Composer Auth, ENV, Secrets</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;CI&#x2F;CD&#x20;Variables&#x20;in&#x20;GitLab&#x3A;&#x20;SSH,&#x20;Composer&#x20;Auth,&#x20;ENV,&#x20;Secrets"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-ci-cd-variables-setup-guide-ssh-composer-auth-env-secrets.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-composer-auth-managing-private-repositories-and-mirrors-securely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-composer-auth-private-repositories-und-mirrors-in-gitlab-sicher-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-composer-auth-managing-private-repositories-and-mirrors-securely" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-composer-auth-managing-private-repositories-and-mirrors-securely.webp</image:loc><image:title>Managing Composer Auth, Private Repositories and Mirrors Securely in GitLab</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;Composer&#x20;Auth,&#x20;Private&#x20;Repositories&#x20;and&#x20;Mirrors&#x20;Securely&#x20;in&#x20;GitLab"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-composer-auth-managing-private-repositories-and-mirrors-securely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-composer-install-in-gitlab-ci-clean-and-reproducible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-composer-install-in-gitlab-ci-sauber-und-reproduzierbar-ausfuhren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-composer-install-in-gitlab-ci-clean-and-reproducible" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-composer-install-in-gitlab-ci-clean-and-reproducible.webp</image:loc><image:title>Running Composer Install in GitLab CI Cleanly and Reproducibly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Running&#x20;Composer&#x20;Install&#x20;in&#x20;GitLab&#x20;CI&#x20;Cleanly&#x20;and&#x20;Reproducibly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-composer-install-in-gitlab-ci-clean-and-reproducible.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-controlling-cron-and-queue-consumers-during-deployment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-cron-und-queue-consumer-wahrend-des-deployments-kontrollieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-controlling-cron-and-queue-consumers-during-deployment" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-controlling-cron-and-queue-consumers-during-deployment.webp</image:loc><image:title>Controlling Cron and Queue Consumers During Deployment</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Controlling&#x20;Cron&#x20;and&#x20;Queue&#x20;Consumers&#x20;During&#x20;Deployment"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-controlling-cron-and-queue-consumers-during-deployment.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-database-migrations-zero-downtime-expand-contract-compatibility-risks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-datenbank-migrationen-bei-zero-downtime-expand-contract-kompatibilitat-risiken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-database-migrations-zero-downtime-expand-contract-compatibility-risks" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-database-migrations-zero-downtime-expand-contract-compatibility-risks.webp</image:loc><image:title>Database Migrations for Zero Downtime: Expand/Contract, Compatibility, Risks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Database&#x20;Migrations&#x20;for&#x20;Zero&#x20;Downtime&#x3A;&#x20;Expand&#x2F;Contract,&#x20;Compatibility,&#x20;Risks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-database-migrations-zero-downtime-expand-contract-compatibility-risks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-combining-deployer-with-gitlab-ci-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-deployer-mit-gitlab-ci-fur-magento-richtig-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-combining-deployer-with-gitlab-ci-for-magento" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-combining-deployer-with-gitlab-ci-for-magento.webp</image:loc><image:title>Combining Deployer with GitLab CI for Magento the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Combining&#x20;Deployer&#x20;with&#x20;GitLab&#x20;CI&#x20;for&#x20;Magento&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-combining-deployer-with-gitlab-ci-for-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-deployment-checklist-for-magento-teams-standard-process</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-deployment-checkliste-fur-magento-teams-mit-gitlab-als-standardprozess" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-deployment-checklist-for-magento-teams-standard-process" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-deployment-checklist-for-magento-teams-standard-process.webp</image:loc><image:title>Deployment Checklist for Magento Teams Using GitLab as a Standard Process</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Deployment&#x20;Checklist&#x20;for&#x20;Magento&#x20;Teams&#x20;Using&#x20;GitLab&#x20;as&#x20;a&#x20;Standard&#x20;Process"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-deployment-checklist-for-magento-teams-standard-process.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-deployments-shell-scripts-vs-deployer-vs-ansible-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-deployments-uber-shell-skripte-vs-deployer-vs-ansible-in-gitlab-vergleichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-deployments-shell-scripts-vs-deployer-vs-ansible-compared" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-deployments-shell-scripts-vs-deployer-vs-ansible-compared.webp</image:loc><image:title>Comparing Deployments via Shell Scripts vs. Deployer vs. Ansible in GitLab</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Comparing&#x20;Deployments&#x20;via&#x20;Shell&#x20;Scripts&#x20;vs.&#x20;Deployer&#x20;vs.&#x20;Ansible&#x20;in&#x20;GitLab"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-deployments-shell-scripts-vs-deployer-vs-ansible-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-install-and-register-your-own-gitlab-runner</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-eigenen-gitlab-runner-installieren-und-registrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-install-and-register-your-own-gitlab-runner" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-install-and-register-your-own-gitlab-runner.webp</image:loc><image:title>Install and Register Your Own GitLab Runner</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Install&#x20;and&#x20;Register&#x20;Your&#x20;Own&#x20;GitLab&#x20;Runner"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-install-and-register-your-own-gitlab-runner.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-magento-zero-downtime-deployment-guide-from-first-runner-to-safe-rollback</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-endgultige-magento-zero-downtime-anleitung-mit-gitlab-vom-ersten-runner-bis-zum-sicheren-roll" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-magento-zero-downtime-deployment-guide-from-first-runner-to-safe-rollback" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-magento-zero-downtime-deployment-guide-from-first-runner-to-safe-rollback.webp</image:loc><image:title>The Definitive Magento Zero Downtime Guide with GitLab: From Your First Runner to a Safe Rollback</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Definitive&#x20;Magento&#x20;Zero&#x20;Downtime&#x20;Guide&#x20;with&#x20;GitLab&#x3A;&#x20;From&#x20;Your&#x20;First&#x20;Runner&#x20;to&#x20;a&#x20;Safe&#x20;Rollback"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-magento-zero-downtime-deployment-guide-from-first-runner-to-safe-rollback.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-env-php-config-php-app-etc-and-shared-configs-in-the-release-model</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-env-php-config-php-app-etc-und-shared-configs-im-release-modell" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-env-php-config-php-app-etc-and-shared-configs-in-the-release-model" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-env-php-config-php-app-etc-and-shared-configs-in-the-release-model.webp</image:loc><image:title>env.php, config.php, app/etc, and Shared Configs in the Release Model</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="env.php,&#x20;config.php,&#x20;app&#x2F;etc,&#x20;and&#x20;Shared&#x20;Configs&#x20;in&#x20;the&#x20;Release&#x20;Model"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-env-php-config-php-app-etc-and-shared-configs-in-the-release-model.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-auditing-and-compliance-for-e-commerce-deployments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-gitlab-auditing-und-compliance-fur-deployments-in-e-commerce-projekten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-auditing-and-compliance-for-e-commerce-deployments" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-auditing-and-compliance-for-e-commerce-deployments.webp</image:loc><image:title>GitLab Auditing and Compliance for E-Commerce Deployments</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;Auditing&#x20;and&#x20;Compliance&#x20;for&#x20;E-Commerce&#x20;Deployments"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-auditing-and-compliance-for-e-commerce-deployments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-cache-vs-artifacts-composer-npm-and-vendor-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-gitlab-cache-vs-artefakte-composer-npm-und-vendor-sauber-behandeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-cache-vs-artifacts-composer-npm-and-vendor-done-right" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-cache-vs-artifacts-composer-npm-and-vendor-done-right.webp</image:loc><image:title>GitLab Cache vs. Artifacts: Handling Composer, npm, and Vendor Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;Cache&#x20;vs.&#x20;Artifacts&#x3A;&#x20;Handling&#x20;Composer,&#x20;npm,&#x20;and&#x20;Vendor&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-cache-vs-artifacts-composer-npm-and-vendor-done-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-ci-templates-reuse-across-multiple-magento-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-gitlab-ci-templates-fur-mehrere-magento-projekte-wiederverwenden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-ci-templates-reuse-across-multiple-magento-projects" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-ci-templates-reuse-across-multiple-magento-projects.webp</image:loc><image:title>Reusing GitLab CI Templates Across Multiple Magento Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reusing&#x20;GitLab&#x20;CI&#x20;Templates&#x20;Across&#x20;Multiple&#x20;Magento&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-ci-templates-reuse-across-multiple-magento-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-environments-manual-jobs-and-deployment-approvals-for-staging-and-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-gitlab-environments-manual-jobs-und-freigaben-fur-staging-und-production" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-environments-manual-jobs-and-deployment-approvals-for-staging-and-production" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-environments-manual-jobs-and-deployment-approvals-for-staging-and-production.webp</image:loc><image:title>GitLab Environments, Manual Jobs and Approvals for Staging and Production</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;Environments,&#x20;Manual&#x20;Jobs&#x20;and&#x20;Approvals&#x20;for&#x20;Staging&#x20;and&#x20;Production"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-environments-manual-jobs-and-deployment-approvals-for-staging-and-production.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-basics-for-deployment-pipelines-projects-groups-roles-protected-branches</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-grundlagen-fur-deployment-serien-projekte-gruppen-rollen-protected-branches" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-basics-for-deployment-pipelines-projects-groups-roles-protected-branches" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-basics-for-deployment-pipelines-projects-groups-roles-protected-branches.webp</image:loc><image:title>GitLab Basics for Deployment Pipelines: Projects, Groups, Roles, Protected Branches</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;Basics&#x20;for&#x20;Deployment&#x20;Pipelines&#x3A;&#x20;Projects,&#x20;Groups,&#x20;Roles,&#x20;Protected&#x20;Branches"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-basics-for-deployment-pipelines-projects-groups-roles-protected-branches.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-magento-deployment-cheatsheet-variables-jobs-commands-order</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-magento-deployment-cheatsheet-variablen-jobs-kommandos-reihenfolge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-magento-deployment-cheatsheet-variables-jobs-commands-order" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-magento-deployment-cheatsheet-variables-jobs-commands-order.webp</image:loc><image:title>GitLab + Magento Deployment Cheatsheet: Variables, Jobs, Commands, Order</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;&#x2B;&#x20;Magento&#x20;Deployment&#x20;Cheatsheet&#x3A;&#x20;Variables,&#x20;Jobs,&#x20;Commands,&#x20;Order"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-magento-deployment-cheatsheet-variables-jobs-commands-order.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-pipelines-for-multi-server-deployments-web-worker-cron-queue</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-pipelines-fur-multi-server-deployments-web-worker-cron-queue" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-pipelines-for-multi-server-deployments-web-worker-cron-queue" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-pipelines-for-multi-server-deployments-web-worker-cron-queue.webp</image:loc><image:title>GitLab Pipelines for Multi-Server Deployments: Web, Worker, Cron, Queue</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;Pipelines&#x20;for&#x20;Multi-Server&#x20;Deployments&#x3A;&#x20;Web,&#x20;Worker,&#x20;Cron,&#x20;Queue"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-pipelines-for-multi-server-deployments-web-worker-cron-queue.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-prepare-project-for-magento-repository-default-branch-branch-protection-tags</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-projekt-fur-magento-vorbereiten-repository-default-branch-branch-protection-tags" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-prepare-project-for-magento-repository-default-branch-branch-protection-tags" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-prepare-project-for-magento-repository-default-branch-branch-protection-tags.webp</image:loc><image:title>Preparing a GitLab Project for Magento: Repository, Default Branch, Branch Protection, Tags</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preparing&#x20;a&#x20;GitLab&#x20;Project&#x20;for&#x20;Magento&#x3A;&#x20;Repository,&#x20;Default&#x20;Branch,&#x20;Branch&#x20;Protection,&#x20;Tags"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-prepare-project-for-magento-repository-default-branch-branch-protection-tags.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-runner-types-shell-docker-kubernetes-what-fits-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-runner-typen-shell-docker-kubernetes-und-wann-was-fur-magento-passt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-runner-types-shell-docker-kubernetes-what-fits-magento" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-runner-types-shell-docker-kubernetes-what-fits-magento.webp</image:loc><image:title>GitLab Runner Types: Shell, Docker, Kubernetes, and What Fits Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;Runner&#x20;Types&#x3A;&#x20;Shell,&#x20;Docker,&#x20;Kubernetes,&#x20;and&#x20;What&#x20;Fits&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-runner-types-shell-docker-kubernetes-what-fits-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-complete-gitlab-ci-yml-for-magento-build-test-package-deploy-verify</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-komplette-gitlab-ci-yml-fur-magento-build-test-package-deploy-verify" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-complete-gitlab-ci-yml-for-magento-build-test-package-deploy-verify" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-complete-gitlab-ci-yml-for-magento-build-test-package-deploy-verify.webp</image:loc><image:title>Complete .gitlab-ci.yml for Magento: Build, Test, Package, Deploy, Verify</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Complete&#x20;.gitlab-ci.yml&#x20;for&#x20;Magento&#x3A;&#x20;Build,&#x20;Test,&#x20;Package,&#x20;Deploy,&#x20;Verify"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-complete-gitlab-ci-yml-for-magento-build-test-package-deploy-verify.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-defining-magento-build-stage-composer-node-assets-di-compile</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-magento-build-stage-definieren-composer-node-assets-di-compile" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-defining-magento-build-stage-composer-node-assets-di-compile" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-defining-magento-build-stage-composer-node-assets-di-compile.webp</image:loc><image:title>Defining the Magento Build Stage: Composer, Node, Assets, DI Compile</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Defining&#x20;the&#x20;Magento&#x20;Build&#x20;Stage&#x3A;&#x20;Composer,&#x20;Node,&#x20;Assets,&#x20;DI&#x20;Compile"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-defining-magento-build-stage-composer-node-assets-di-compile.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-magento-separating-media-pub-static-and-build-artifacts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-magento-media-pub-static-und-build-artefakte-sinnvoll-trennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-magento-separating-media-pub-static-and-build-artifacts" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-magento-separating-media-pub-static-and-build-artifacts.webp</image:loc><image:title>Separating Magento Media, pub/static and Build Artifacts the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Separating&#x20;Magento&#x20;Media,&#x20;pub&#x2F;static&#x20;and&#x20;Build&#x20;Artifacts&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-magento-separating-media-pub-static-and-build-artifacts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-magento-release-structure-with-releases-current-and-shared-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-magento-release-struktur-mit-releases-current-und-shared-von-grund-auf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-magento-release-structure-with-releases-current-and-shared-from-scratch" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-magento-release-structure-with-releases-current-and-shared-from-scratch.webp</image:loc><image:title>Magento Release Structure with releases/, current/ and shared/ from Scratch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Release&#x20;Structure&#x20;with&#x20;releases&#x2F;,&#x20;current&#x2F;&#x20;and&#x20;shared&#x2F;&#x20;from&#x20;Scratch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-magento-release-structure-with-releases-current-and-shared-from-scratch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-magento-setup-upgrade-safely-into-deployment-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-magento-setup-upgrade-sicher-in-den-deployment-prozess-einbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-magento-setup-upgrade-safely-into-deployment-pipeline" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-magento-setup-upgrade-safely-into-deployment-pipeline.webp</image:loc><image:title>Building Magento setup:upgrade Safely Into Your Deployment Pipeline</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Magento&#x20;setup&#x3A;upgrade&#x20;Safely&#x20;Into&#x20;Your&#x20;Deployment&#x20;Pipeline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-magento-setup-upgrade-safely-into-deployment-pipeline.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-maintenance-mode-in-magento-only-where-truly-necessary</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-maintenance-mode-in-magento-nur-dort-einsetzen-wo-es-wirklich-notig-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-maintenance-mode-in-magento-only-where-truly-necessary" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-maintenance-mode-in-magento-only-where-truly-necessary.webp</image:loc><image:title>Maintenance Mode in Magento: Only Use It Where It's Truly Necessary</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Maintenance&#x20;Mode&#x20;in&#x20;Magento&#x3A;&#x20;Only&#x20;Use&#x20;It&#x20;Where&#x20;It&#x27;s&#x20;Truly&#x20;Necessary"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-maintenance-mode-in-magento-only-where-truly-necessary.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-documenting-and-securing-manual-emergency-deployments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-manuelle-notfall-deployments-dokumentieren-und-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-documenting-and-securing-manual-emergency-deployments" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-documenting-and-securing-manual-emergency-deployments.webp</image:loc><image:title>Documenting and Securing Manual Emergency Deployments</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Documenting&#x20;and&#x20;Securing&#x20;Manual&#x20;Emergency&#x20;Deployments"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-documenting-and-securing-manual-emergency-deployments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-deployment-monitoring-alerts-slack-email-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-monitoring-und-alerts-nach-deployments-mit-gitlab-slack-und-e-mail-koppeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-deployment-monitoring-alerts-slack-email-integration" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-deployment-monitoring-alerts-slack-email-integration.webp</image:loc><image:title>Monitoring and Alerts After Deployments: Connecting GitLab, Slack and Email</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Monitoring&#x20;and&#x20;Alerts&#x20;After&#x20;Deployments&#x3A;&#x20;Connecting&#x20;GitLab,&#x20;Slack&#x20;and&#x20;Email"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-deployment-monitoring-alerts-slack-email-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-npm-tailwind-frontend-builds-into-gitlab-ci-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-npm-tailwind-und-frontend-builds-in-gitlab-pipelines-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-npm-tailwind-frontend-builds-into-gitlab-ci-pipelines" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-npm-tailwind-frontend-builds-into-gitlab-ci-pipelines.webp</image:loc><image:title>Integrating npm, Tailwind and Frontend Builds into GitLab Pipelines</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrating&#x20;npm,&#x20;Tailwind&#x20;and&#x20;Frontend&#x20;Builds&#x20;into&#x20;GitLab&#x20;Pipelines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-npm-tailwind-frontend-builds-into-gitlab-ci-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-bundle-phpunit-phpstan-phpcs-and-security-checks-in-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-phpunit-phpstan-phpcs-und-sicherheitschecks-in-gitlab-ci-bundeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-bundle-phpunit-phpstan-phpcs-and-security-checks-in-ci" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-bundle-phpunit-phpstan-phpcs-and-security-checks-in-ci.webp</image:loc><image:title>Bundling PHPUnit, PHPStan, PHPCS and Security Checks in GitLab CI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bundling&#x20;PHPUnit,&#x20;PHPStan,&#x20;PHPCS&#x20;and&#x20;Security&#x20;Checks&#x20;in&#x20;GitLab&#x20;CI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-bundle-phpunit-phpstan-phpcs-and-security-checks-in-ci.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-pipeline-stage-design-build-test-package-deploy-verify-rollback</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-pipeline-stages-sinnvoll-designen-build-test-package-deploy-verify-rollback" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-pipeline-stage-design-build-test-package-deploy-verify-rollback" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-pipeline-stage-design-build-test-package-deploy-verify-rollback.webp</image:loc><image:title>Designing Pipeline Stages That Make Sense: Build, Test, Package, Deploy, Verify, Rollback</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Pipeline&#x20;Stages&#x20;That&#x20;Make&#x20;Sense&#x3A;&#x20;Build,&#x20;Test,&#x20;Package,&#x20;Deploy,&#x20;Verify,&#x20;Rollback"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-pipeline-stage-design-build-test-package-deploy-verify-rollback.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-post-deploy-verification-health-endpoint-smoke-tests-database-cache-checks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-post-deploy-checks-health-endpoint-smoke-tests-db-check-cache-check" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-post-deploy-verification-health-endpoint-smoke-tests-database-cache-checks" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-post-deploy-verification-health-endpoint-smoke-tests-database-cache-checks.webp</image:loc><image:title>Post-Deploy Checks: Health Endpoint, Smoke Tests, Database Check, Cache Check</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Post-Deploy&#x20;Checks&#x3A;&#x20;Health&#x20;Endpoint,&#x20;Smoke&#x20;Tests,&#x20;Database&#x20;Check,&#x20;Cache&#x20;Check"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-post-deploy-verification-health-endpoint-smoke-tests-database-cache-checks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-systematically-narrowing-down-production-errors-after-deployments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-produktionsfehler-nach-deployments-systematisch-eingrenzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-systematically-narrowing-down-production-errors-after-deployments" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-systematically-narrowing-down-production-errors-after-deployments.webp</image:loc><image:title>Systematically Narrowing Down Production Errors After Deployments</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Systematically&#x20;Narrowing&#x20;Down&#x20;Production&#x20;Errors&#x20;After&#x20;Deployments"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-systematically-narrowing-down-production-errors-after-deployments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-protected-masked-variables-and-environment-scopes-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-protected-variables-masked-variables-und-environment-scopes-wirklich-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-protected-masked-variables-and-environment-scopes-explained" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-protected-masked-variables-and-environment-scopes-explained.webp</image:loc><image:title>Protected Variables, Masked Variables and Environment Scopes Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Protected&#x20;Variables,&#x20;Masked&#x20;Variables&#x20;and&#x20;Environment&#x20;Scopes&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-protected-masked-variables-and-environment-scopes-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-redis-rabbitmq-and-opensearch-in-zero-downtime-deployments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-redis-rabbitmq-und-opensearch-in-zero-downtime-deployments-berucksichtigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-redis-rabbitmq-and-opensearch-in-zero-downtime-deployments" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-redis-rabbitmq-and-opensearch-in-zero-downtime-deployments.webp</image:loc><image:title>Redis, RabbitMQ, and OpenSearch in Zero-Downtime Deployments</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis,&#x20;RabbitMQ,&#x20;and&#x20;OpenSearch&#x20;in&#x20;Zero-Downtime&#x20;Deployments"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-redis-rabbitmq-and-opensearch-in-zero-downtime-deployments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-release-tags-versioning-and-traceable-deployment-history</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-release-tags-versionierung-und-nachvollziehbare-deployment-historie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-release-tags-versioning-and-traceable-deployment-history" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-release-tags-versioning-and-traceable-deployment-history.webp</image:loc><image:title>Release Tags, Versioning and a Traceable Deployment History</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Release&#x20;Tags,&#x20;Versioning&#x20;and&#x20;a&#x20;Traceable&#x20;Deployment&#x20;History"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-release-tags-versioning-and-traceable-deployment-history.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-preparing-release-directories-on-the-server-shared-var-pub-media-app-etc</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-release-verzeichnisse-auf-dem-server-vorbereiten-shared-var-pub-media-app-etc" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-preparing-release-directories-on-the-server-shared-var-pub-media-app-etc" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-preparing-release-directories-on-the-server-shared-var-pub-media-app-etc.webp</image:loc><image:title>Preparing Release Directories on the Server: shared, var, pub/media, app/etc</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preparing&#x20;Release&#x20;Directories&#x20;on&#x20;the&#x20;Server&#x3A;&#x20;shared,&#x20;var,&#x20;pub&#x2F;media,&#x20;app&#x2F;etc"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-preparing-release-directories-on-the-server-shared-var-pub-media-app-etc.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-review-apps-for-magento-worth-it-or-waste-of-time</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-review-apps-fur-magento-realistisch-oder-zeitverschwendung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-review-apps-for-magento-worth-it-or-waste-of-time" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-review-apps-for-magento-worth-it-or-waste-of-time.webp</image:loc><image:title>Review Apps for Magento: Worth It or a Waste of Time?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Review&#x20;Apps&#x20;for&#x20;Magento&#x3A;&#x20;Worth&#x20;It&#x20;or&#x20;a&#x20;Waste&#x20;of&#x20;Time&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-review-apps-for-magento-worth-it-or-waste-of-time.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-preparing-a-magento-release-rollback-script</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-rollback-skript-fur-magento-releases-in-gitlab-vorbereiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-preparing-a-magento-release-rollback-script" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-preparing-a-magento-release-rollback-script.webp</image:loc><image:title>Preparing a Rollback Script for Magento Releases in GitLab</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preparing&#x20;a&#x20;Rollback&#x20;Script&#x20;for&#x20;Magento&#x20;Releases&#x20;in&#x20;GitLab"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-preparing-a-magento-release-rollback-script.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-rollback-strategies-for-magento-files-database-queue-state-assets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-rollback-strategien-fur-magento-dateien-datenbank-queue-zustand-assets" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-rollback-strategies-for-magento-files-database-queue-state-assets" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-rollback-strategies-for-magento-files-database-queue-state-assets.webp</image:loc><image:title>Rollback Strategies for Magento: Files, Database, Queue State, Assets</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Rollback&#x20;Strategies&#x20;for&#x20;Magento&#x3A;&#x20;Files,&#x20;Database,&#x20;Queue&#x20;State,&#x20;Assets"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-rollback-strategies-for-magento-files-database-queue-state-assets.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-runner-capacity-concurrency-and-queue-times-in-large-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-runner-kapazitat-concurrency-und-queue-zeiten-in-groen-teams-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-runner-capacity-concurrency-and-queue-times-in-large-teams" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-runner-capacity-concurrency-and-queue-times-in-large-teams.webp</image:loc><image:title>Controlling GitLab Runner Capacity, Concurrency and Queue Times in Large Teams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Controlling&#x20;GitLab&#x20;Runner&#x20;Capacity,&#x20;Concurrency&#x20;and&#x20;Queue&#x20;Times&#x20;in&#x20;Large&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-runner-capacity-concurrency-and-queue-times-in-large-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-runner-security-shared-private-self-hosted-runners-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-runner-security-shared-runner-vs-private-runner-vs-self-hosted-runner" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-runner-security-shared-private-self-hosted-runners-compared" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-runner-security-shared-private-self-hosted-runners-compared.webp</image:loc><image:title>Runner Security: Shared Runner vs. Private Runner vs. Self-Hosted Runner</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Runner&#x20;Security&#x3A;&#x20;Shared&#x20;Runner&#x20;vs.&#x20;Private&#x20;Runner&#x20;vs.&#x20;Self-Hosted&#x20;Runner"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-runner-security-shared-private-self-hosted-runners-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-secrets-management-for-magento-what-stays-in-gitlab-and-what-belongs-externally</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-secrets-management-fur-magento-was-in-gitlab-bleibt-und-was-extern-liegen-sollte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-secrets-management-for-magento-what-stays-in-gitlab-and-what-belongs-externally" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-secrets-management-for-magento-what-stays-in-gitlab-and-what-belongs-externally.webp</image:loc><image:title>Secrets Management for Magento: What Stays in GitLab and What Should Live Externally</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Secrets&#x20;Management&#x20;for&#x20;Magento&#x3A;&#x20;What&#x20;Stays&#x20;in&#x20;GitLab&#x20;and&#x20;What&#x20;Should&#x20;Live&#x20;Externally"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-secrets-management-for-magento-what-stays-in-gitlab-and-what-belongs-externally.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-di-compile-in-the-build-pipeline-timing-caches-generated-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-setup-di-compile-im-build-prozess-timing-caches-generated-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-di-compile-in-the-build-pipeline-timing-caches-generated-code" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-di-compile-in-the-build-pipeline-timing-caches-generated-code.webp</image:loc><image:title>setup:di:compile in the Build Pipeline: Timing, Caches and Generated Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="setup&#x3A;di&#x3A;compile&#x20;in&#x20;the&#x20;Build&#x20;Pipeline&#x3A;&#x20;Timing,&#x20;Caches&#x20;and&#x20;Generated&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-di-compile-in-the-build-pipeline-timing-caches-generated-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-automating-magento-smoke-tests-after-deployment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-smoke-tests-fur-magento-nach-dem-deployment-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-automating-magento-smoke-tests-after-deployment" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-automating-magento-smoke-tests-after-deployment.webp</image:loc><image:title>Automating Magento Smoke Tests After Deployment</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;Magento&#x20;Smoke&#x20;Tests&#x20;After&#x20;Deployment"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-automating-magento-smoke-tests-after-deployment.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-ssh-bastion-jump-hosts-and-separate-deployment-users</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-ssh-bastion-jump-hosts-und-getrennte-deployment-user-in-gitlab-prozessen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-ssh-bastion-jump-hosts-and-separate-deployment-users" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-ssh-bastion-jump-hosts-and-separate-deployment-users.webp</image:loc><image:title>SSH Bastion, Jump Hosts and Separate Deployment Users in GitLab Pipelines</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SSH&#x20;Bastion,&#x20;Jump&#x20;Hosts&#x20;and&#x20;Separate&#x20;Deployment&#x20;Users&#x20;in&#x20;GitLab&#x20;Pipelines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-ssh-bastion-jump-hosts-and-separate-deployment-users.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-ssh-keys-deploy-keys-and-known-hosts-for-secure-deployments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-ssh-keys-deploy-keys-und-known-hosts-fur-sichere-deployments-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-ssh-keys-deploy-keys-and-known-hosts-for-secure-deployments" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-ssh-keys-deploy-keys-and-known-hosts-for-secure-deployments.webp</image:loc><image:title>SSH Keys, Deploy Keys and Known Hosts for Secure Deployments</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SSH&#x20;Keys,&#x20;Deploy&#x20;Keys&#x20;and&#x20;Known&#x20;Hosts&#x20;for&#x20;Secure&#x20;Deployments"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-ssh-keys-deploy-keys-and-known-hosts-for-secure-deployments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-staging-to-production-promotion-with-gitlab-pipelines-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-staging-production-promotion-mit-gitlab-pipelines-sauber-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-staging-to-production-promotion-with-gitlab-pipelines-done-right" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-staging-to-production-promotion-with-gitlab-pipelines-done-right.webp</image:loc><image:title>Building Clean Staging to Production Promotion with GitLab Pipelines</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Clean&#x20;Staging&#x20;to&#x20;Production&#x20;Promotion&#x20;with&#x20;GitLab&#x20;Pipelines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-staging-to-production-promotion-with-gitlab-pipelines-done-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-static-content-deployment-for-magento-the-right-way-into-the-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-static-content-deployment-fur-magento-richtig-in-den-prozess-einbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-static-content-deployment-for-magento-the-right-way-into-the-pipeline" />
<lastmod>2026-07-12T14:40:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-static-content-deployment-for-magento-the-right-way-into-the-pipeline.webp</image:loc><image:title>Static Content Deployment for Magento: Getting It Right in the Pipeline</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Static&#x20;Content&#x20;Deployment&#x20;for&#x20;Magento&#x3A;&#x20;Getting&#x20;It&#x20;Right&#x20;in&#x20;the&#x20;Pipeline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-static-content-deployment-for-magento-the-right-way-into-the-pipeline.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-symlink-switch-deployment-for-magento-step-by-step</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-symlink-switch-deployment-fur-magento-schritt-fur-schritt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-symlink-switch-deployment-for-magento-step-by-step" />
<lastmod>2026-07-12T14:40:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-symlink-switch-deployment-for-magento-step-by-step.webp</image:loc><image:title>Symlink Switch Deployment for Magento Step by Step</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symlink&#x20;Switch&#x20;Deployment&#x20;for&#x20;Magento&#x20;Step&#x20;by&#x20;Step"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-symlink-switch-deployment-for-magento-step-by-step.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-from-zero-to-zero-downtime-complete-gitlab-workflow-for-magento-in-one-picture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-von-null-zu-zero-downtime-vollstandiger-gitlab-workflow-fur-magento-in-einem-bild" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-from-zero-to-zero-downtime-complete-gitlab-workflow-for-magento-in-one-picture" />
<lastmod>2026-07-12T14:40:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-from-zero-to-zero-downtime-complete-gitlab-workflow-for-magento-in-one-picture.webp</image:loc><image:title>From Zero to Zero Downtime: The Complete GitLab Workflow for Magento in One Picture</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="From&#x20;Zero&#x20;to&#x20;Zero&#x20;Downtime&#x3A;&#x20;The&#x20;Complete&#x20;GitLab&#x20;Workflow&#x20;for&#x20;Magento&#x20;in&#x20;One&#x20;Picture"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-from-zero-to-zero-downtime-complete-gitlab-workflow-for-magento-in-one-picture.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-why-you-should-not-build-on-production-artifacts-reproducibility-and-speed</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-warum-man-nicht-auf-production-buildet-artefakte-reproduzierbarkeit-und-geschwindigkeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-why-you-should-not-build-on-production-artifacts-reproducibility-and-speed" />
<lastmod>2026-07-12T14:40:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-why-you-should-not-build-on-production-artifacts-reproducibility-and-speed.webp</image:loc><image:title>Why You Should Never Build on Production: Artifacts, Reproducibility and Speed</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Why&#x20;You&#x20;Should&#x20;Never&#x20;Build&#x20;on&#x20;Production&#x3A;&#x20;Artifacts,&#x20;Reproducibility&#x20;and&#x20;Speed"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-why-you-should-not-build-on-production-artifacts-reproducibility-and-speed.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-zero-downtime-search-index-queue-lag-cache-warmup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-zero-downtime-bei-suchindex-queue-lag-und-cache-warmup-zusammendenken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-zero-downtime-search-index-queue-lag-cache-warmup" />
<lastmod>2026-07-12T14:40:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-zero-downtime-search-index-queue-lag-cache-warmup.webp</image:loc><image:title>Bringing Search Index, Queue Lag and Cache Warmup Together for Zero-Downtime Deployments</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bringing&#x20;Search&#x20;Index,&#x20;Queue&#x20;Lag&#x20;and&#x20;Cache&#x20;Warmup&#x20;Together&#x20;for&#x20;Zero-Downtime&#x20;Deployments"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-zero-downtime-search-index-queue-lag-cache-warmup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-zero-downtime-in-magento-what-actually-works-without-outages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-zero-downtime-in-magento-realistisch-verstehen-was-wirklich-ohne-ausfall-geht-und-was-nicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-zero-downtime-in-magento-what-actually-works-without-outages" />
<lastmod>2026-07-12T14:40:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-zero-downtime-in-magento-what-actually-works-without-outages.webp</image:loc><image:title>Zero Downtime in Magento: What Actually Works Without Outages and What Doesn't</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Zero&#x20;Downtime&#x20;in&#x20;Magento&#x3A;&#x20;What&#x20;Actually&#x20;Works&#x20;Without&#x20;Outages&#x20;and&#x20;What&#x20;Doesn&#x27;t"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-zero-downtime-in-magento-what-actually-works-without-outages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab-zero-downtime-database-backups-when-to-back-up-before-release</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/gitlab-zero-downtime-und-datenbank-backups-wann-vor-dem-release-gesichert-werden-muss" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab-zero-downtime-database-backups-when-to-back-up-before-release" />
<lastmod>2026-07-12T14:40:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-zero-downtime-database-backups-when-to-back-up-before-release.webp</image:loc><image:title>Zero-Downtime and Database Backups: When to Back Up Before a Release</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Zero-Downtime&#x20;and&#x20;Database&#x20;Backups&#x3A;&#x20;When&#x20;to&#x20;Back&#x20;Up&#x20;Before&#x20;a&#x20;Release"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-zero-downtime-database-backups-when-to-back-up-before-release.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-50-graphql-patterns-for-real-world-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-50-graphql-patterns-fur-reale-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-50-graphql-patterns-for-real-world-apis" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-50-graphql-patterns-for-real-world-apis.webp</image:loc><image:title>50 GraphQL Patterns for Real-World APIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="50&#x20;GraphQL&#x20;Patterns&#x20;for&#x20;Real-World&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-50-graphql-patterns-for-real-world-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-field-level-permissions-securing-sensitive-data-in-graphql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-berechtigungen-auf-feldniveau-sensible-daten-in-graphql-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-field-level-permissions-securing-sensitive-data-in-graphql" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-field-level-permissions-securing-sensitive-data-in-graphql.webp</image:loc><image:title>Field-Level Permissions: Securing Sensitive Data in GraphQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Field-Level&#x20;Permissions&#x3A;&#x20;Securing&#x20;Sensitive&#x20;Data&#x20;in&#x20;GraphQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-field-level-permissions-securing-sensitive-data-in-graphql.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-breaking-changes-avoiding-deprecations-schema-evolution</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-breaking-changes-in-graphql-vermeiden-deprecations-und-evolution" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-breaking-changes-avoiding-deprecations-schema-evolution" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-breaking-changes-avoiding-deprecations-schema-evolution.webp</image:loc><image:title>Avoiding Breaking Changes in GraphQL: Deprecations and Evolution</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Breaking&#x20;Changes&#x20;in&#x20;GraphQL&#x3A;&#x20;Deprecations&#x20;and&#x20;Evolution"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-breaking-changes-avoiding-deprecations-schema-evolution.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-caching-http-persisted-queries-response-cache-edge-caching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-caching-in-graphql-http-persisted-queries-response-cache-edge-caching" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-caching-http-persisted-queries-response-cache-edge-caching" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-caching-http-persisted-queries-response-cache-edge-caching.webp</image:loc><image:title>Caching in GraphQL: HTTP, Persisted Queries, Response Cache, Edge Caching</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Caching&#x20;in&#x20;GraphQL&#x3A;&#x20;HTTP,&#x20;Persisted&#x20;Queries,&#x20;Response&#x20;Cache,&#x20;Edge&#x20;Caching"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-caching-http-persisted-queries-response-cache-edge-caching.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-cart-and-checkout-in-magento-graphql-architecture-limits-debugging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-cart-und-checkout-in-magento-graphql-architektur-grenzen-debugging" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-cart-and-checkout-in-magento-graphql-architecture-limits-debugging" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-cart-and-checkout-in-magento-graphql-architecture-limits-debugging.webp</image:loc><image:title>Cart and Checkout in Magento GraphQL: Architecture, Limits, Debugging</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cart&#x20;and&#x20;Checkout&#x20;in&#x20;Magento&#x20;GraphQL&#x3A;&#x20;Architecture,&#x20;Limits,&#x20;Debugging"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-cart-and-checkout-in-magento-graphql-architecture-limits-debugging.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-extending-customer-data-magento-graphql-securely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-customer-daten-uber-magento-graphql-sicher-erweitern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-extending-customer-data-magento-graphql-securely" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-extending-customer-data-magento-graphql-securely.webp</image:loc><image:title>Extending Magento GraphQL Customer Data Securely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Extending&#x20;Magento&#x20;GraphQL&#x20;Customer&#x20;Data&#x20;Securely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-extending-customer-data-magento-graphql-securely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-build-a-custom-magento-graphql-resolver-query-from-a-to-z</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-eigenen-magento-graphql-resolver-bauen-query-von-a-bis-z" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-build-a-custom-magento-graphql-resolver-query-from-a-to-z" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-build-a-custom-magento-graphql-resolver-query-from-a-to-z.webp</image:loc><image:title>Building a Custom Magento GraphQL Resolver: Query from A to Z</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Custom&#x20;Magento&#x20;GraphQL&#x20;Resolver&#x3A;&#x20;Query&#x20;from&#x20;A&#x20;to&#x20;Z"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-build-a-custom-magento-graphql-resolver-query-from-a-to-z.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-federation-stitching-and-bff-choosing-the-right-architecture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-federation-stitching-und-bff-wann-welche-architektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-federation-stitching-and-bff-choosing-the-right-architecture" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-federation-stitching-and-bff-choosing-the-right-architecture.webp</image:loc><image:title>Federation, Stitching and BFF: Which Architecture When?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Federation,&#x20;Stitching&#x20;and&#x20;BFF&#x3A;&#x20;Which&#x20;Architecture&#x20;When&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-federation-stitching-and-bff-choosing-the-right-architecture.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-filtering-and-sorting-in-graphql-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-filter-und-sortierung-in-graphql-apis-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-filtering-and-sorting-in-graphql-apis" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-filtering-and-sorting-in-graphql-apis.webp</image:loc><image:title>Modeling Filtering and Sorting in GraphQL APIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modeling&#x20;Filtering&#x20;and&#x20;Sorting&#x20;in&#x20;GraphQL&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-filtering-and-sorting-in-graphql-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-documenting-a-graphql-api-without-overwhelming-readers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-graphql-api-dokumentieren-ohne-leser-zu-uberfordern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-documenting-a-graphql-api-without-overwhelming-readers" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-documenting-a-graphql-api-without-overwhelming-readers.webp</image:loc><image:title>Documenting a GraphQL API Without Overwhelming Readers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Documenting&#x20;a&#x20;GraphQL&#x20;API&#x20;Without&#x20;Overwhelming&#x20;Readers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-documenting-a-graphql-api-without-overwhelming-readers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-authentication-tokens-sessions-and-field-level-auth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-graphql-authentifizierung-tokens-sessions-und-field-level-auth" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-authentication-tokens-sessions-and-field-level-auth" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-authentication-tokens-sessions-and-field-level-auth.webp</image:loc><image:title>GraphQL Authentication: Tokens, Sessions and Field-Level Auth</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Authentication&#x3A;&#x20;Tokens,&#x20;Sessions&#x20;and&#x20;Field-Level&#x20;Auth"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-authentication-tokens-sessions-and-field-level-auth.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-code-generation-for-typescript-and-php-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-graphql-code-generation-fur-typescript-und-php-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-code-generation-for-typescript-and-php-done-right" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-code-generation-for-typescript-and-php-done-right.webp</image:loc><image:title>GraphQL Code Generation for TypeScript and PHP Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Code&#x20;Generation&#x20;for&#x20;TypeScript&#x20;and&#x20;PHP&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-code-generation-for-typescript-and-php-done-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-debugging-altair-graphiql-insomnia-postman</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-graphql-debugging-mit-altair-graphiql-insomnia-und-postman" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-debugging-altair-graphiql-insomnia-postman" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-debugging-altair-graphiql-insomnia-postman.webp</image:loc><image:title>GraphQL Debugging with Altair, GraphiQL, Insomnia, and Postman</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Debugging&#x20;with&#x20;Altair,&#x20;GraphiQL,&#x20;Insomnia,&#x20;and&#x20;Postman"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-debugging-altair-graphiql-insomnia-postman.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-error-handling-business-errors-transport-errors-and-extensions-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-graphql-error-handling-fachfehler-transportfehler-und-extensions-richtig-trennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-error-handling-business-errors-transport-errors-and-extensions-done-right" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-error-handling-business-errors-transport-errors-and-extensions-done-right.webp</image:loc><image:title>GraphQL Error Handling: Separating Business Errors, Transport Errors and Extensions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Error&#x20;Handling&#x3A;&#x20;Separating&#x20;Business&#x20;Errors,&#x20;Transport&#x20;Errors&#x20;and&#x20;Extensions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-error-handling-business-errors-transport-errors-and-extensions-done-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-fehler-reproduzierbar-machen-logging-tracing-correlation-ids</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-graphql-fehler-reproduzierbar-machen-logging-tracing-correlation-ids" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-fehler-reproduzierbar-machen-logging-tracing-correlation-ids" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-fehler-reproduzierbar-machen-logging-tracing-correlation-ids.webp</image:loc><image:title>Making GraphQL Errors Reproducible: Logging, Tracing, Correlation IDs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;GraphQL&#x20;Errors&#x20;Reproducible&#x3A;&#x20;Logging,&#x20;Tracing,&#x20;Correlation&#x20;IDs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-fehler-reproduzierbar-machen-logging-tracing-correlation-ids.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-file-uploads-practical-limits-and-secure-alternatives</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-file-uploads-praktische-grenzen-und-sichere-alternativen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-file-uploads-practical-limits-and-secure-alternatives" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-file-uploads-practical-limits-and-secure-alternatives.webp</image:loc><image:title>GraphQL File Uploads: Practical Limits and Secure Alternatives</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;File&#x20;Uploads&#x3A;&#x20;Practical&#x20;Limits&#x20;and&#x20;Secure&#x20;Alternatives"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-file-uploads-practical-limits-and-secure-alternatives.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-fundamentals-schema-query-mutation-resolver-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-grundlagen-schema-query-mutation-resolver-wirklich-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-fundamentals-schema-query-mutation-resolver-explained" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-fundamentals-schema-query-mutation-resolver-explained.webp</image:loc><image:title>GraphQL Fundamentals: Schema, Query, Mutation, and Resolvers Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Fundamentals&#x3A;&#x20;Schema,&#x20;Query,&#x20;Mutation,&#x20;and&#x20;Resolvers&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-fundamentals-schema-query-mutation-resolver-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-headless-frontends-magento-react-vue-nextjs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-in-headless-frontends-magento-mit-react-vue-oder-next-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-headless-frontends-magento-react-vue-nextjs" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-headless-frontends-magento-react-vue-nextjs.webp</image:loc><image:title>GraphQL in Headless Frontends: Magento with React, Vue or Next.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;in&#x20;Headless&#x20;Frontends&#x3A;&#x20;Magento&#x20;with&#x20;React,&#x20;Vue&#x20;or&#x20;Next.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-headless-frontends-magento-react-vue-nextjs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-symfony-api-platform-when-it-is-enough-and-when-it-is-not</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-in-symfony-mit-api-platform-wann-es-reicht-und-wann-nicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-symfony-api-platform-when-it-is-enough-and-when-it-is-not" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-symfony-api-platform-when-it-is-enough-and-when-it-is-not.webp</image:loc><image:title>GraphQL in Symfony with API Platform: When It's Enough and When It Isn't</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;in&#x20;Symfony&#x20;with&#x20;API&#x20;Platform&#x3A;&#x20;When&#x20;It&#x27;s&#x20;Enough&#x20;and&#x20;When&#x20;It&#x20;Isn&#x27;t"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-symfony-api-platform-when-it-is-enough-and-when-it-is-not.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-input-validation-modeling-input-types-scalars-and-user-errors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-input-validation-sauber-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-input-validation-modeling-input-types-scalars-and-user-errors" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-input-validation-modeling-input-types-scalars-and-user-errors.webp</image:loc><image:title>GraphQL Input Validation: Modeling It Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Input&#x20;Validation&#x3A;&#x20;Modeling&#x20;It&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-input-validation-modeling-input-types-scalars-and-user-errors.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-mocking-for-frontend-and-api-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-graphql-mocking-fur-frontend-und-api-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-mocking-for-frontend-and-api-tests" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-mocking-for-frontend-and-api-tests.webp</image:loc><image:title>GraphQL Mocking for Frontend and API Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Mocking&#x20;for&#x20;Frontend&#x20;and&#x20;API&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-mocking-for-frontend-and-api-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-monitoring-which-metrics-actually-matter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-graphql-monitoring-welche-metriken-wirklich-wichtig-sind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-monitoring-which-metrics-actually-matter" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-monitoring-which-metrics-actually-matter.webp</image:loc><image:title>GraphQL Monitoring: Which Metrics Actually Matter</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Monitoring&#x3A;&#x20;Which&#x20;Metrics&#x20;Actually&#x20;Matter"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-monitoring-which-metrics-actually-matter.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-analyzing-graphql-queries-in-magento-with-browser-devtools-and-logs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-graphql-queries-in-magento-mit-browser-devtools-und-logs-analysieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-analyzing-graphql-queries-in-magento-with-browser-devtools-and-logs" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-analyzing-graphql-queries-in-magento-with-browser-devtools-and-logs.webp</image:loc><image:title>Analyzing GraphQL Queries in Magento with Browser DevTools and Logs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Analyzing&#x20;GraphQL&#x20;Queries&#x20;in&#x20;Magento&#x20;with&#x20;Browser&#x20;DevTools&#x20;and&#x20;Logs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-analyzing-graphql-queries-in-magento-with-browser-devtools-and-logs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-schema-design-fields-types-interfaces-and-unions-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-graphql-schema-design-felder-typen-interfaces-und-unions-sinnvoll-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-schema-design-fields-types-interfaces-and-unions-done-right" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-schema-design-fields-types-interfaces-and-unions-done-right.webp</image:loc><image:title>GraphQL Schema Design: Fields, Types, Interfaces and Unions Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Schema&#x20;Design&#x3A;&#x20;Fields,&#x20;Types,&#x20;Interfaces&#x20;and&#x20;Unions&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-schema-design-fields-types-interfaces-and-unions-done-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-security-review-depth-complexity-introspection-abuse-cases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-graphql-security-review-depth-limits-complexity-limits-introspection-abuse-cases" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-security-review-depth-complexity-introspection-abuse-cases" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-security-review-depth-complexity-introspection-abuse-cases.webp</image:loc><image:title>GraphQL Security Review: Depth Limits, Complexity Limits, Introspection, Abuse Cases</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Security&#x20;Review&#x3A;&#x20;Depth&#x20;Limits,&#x20;Complexity&#x20;Limits,&#x20;Introspection,&#x20;Abuse&#x20;Cases"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-security-review-depth-complexity-introspection-abuse-cases.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-testing-queries-snapshots-and-contract-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-graphql-testing-queries-snapshots-und-contract-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-testing-queries-snapshots-and-contract-tests" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-testing-queries-snapshots-and-contract-tests.webp</image:loc><image:title>GraphQL Testing: Queries, Snapshots and Contract Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Testing&#x3A;&#x20;Queries,&#x20;Snapshots&#x20;and&#x20;Contract&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-testing-queries-snapshots-and-contract-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-tooling-graphiql-apollo-studio-hive-inspector-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-graphql-tooling-graphiql-apollo-studio-hive-inspector-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-tooling-graphiql-apollo-studio-hive-inspector-compared" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-tooling-graphiql-apollo-studio-hive-inspector-compared.webp</image:loc><image:title>GraphQL Tooling: GraphiQL, Apollo Studio, Hive, Inspector Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Tooling&#x3A;&#x20;GraphiQL,&#x20;Apollo&#x20;Studio,&#x20;Hive,&#x20;Inspector&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-tooling-graphiql-apollo-studio-hive-inspector-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-input-types-vs-custom-scalars-which-one-when</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-input-types-vs-custom-scalars-wann-was" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-input-types-vs-custom-scalars-which-one-when" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-input-types-vs-custom-scalars-which-one-when.webp</image:loc><image:title>Input Types vs. Custom Scalars: Which One When?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Input&#x20;Types&#x20;vs.&#x20;Custom&#x20;Scalars&#x3A;&#x20;Which&#x20;One&#x20;When&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-input-types-vs-custom-scalars-which-one-when.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-introspection-sdl-and-schema-registry-in-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-introspection-sdl-und-schema-registry-in-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-introspection-sdl-and-schema-registry-in-teams" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-introspection-sdl-and-schema-registry-in-teams.webp</image:loc><image:title>Introspection, SDL and Schema Registry in Teams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Introspection,&#x20;SDL&#x20;and&#x20;Schema&#x20;Registry&#x20;in&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-introspection-sdl-and-schema-registry-in-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-optimizing-category-pages-with-magento-graphql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-kategorieseiten-uber-magento-graphql-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-optimizing-category-pages-with-magento-graphql" />
<lastmod>2026-07-12T14:41:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-optimizing-category-pages-with-magento-graphql.webp</image:loc><image:title>Optimizing Category Pages with Magento GraphQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;Category&#x20;Pages&#x20;with&#x20;Magento&#x20;GraphQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-optimizing-category-pages-with-magento-graphql.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-preparing-magento-modules-for-graphql-sensible-structure-and-file-layout</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-magento-graphql-fur-eigene-module-vorbereiten-sinnvolle-struktur-und-dateiaufteilung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-preparing-magento-modules-for-graphql-sensible-structure-and-file-layout" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-preparing-magento-modules-for-graphql-sensible-structure-and-file-layout.webp</image:loc><image:title>Preparing Magento Modules for GraphQL: Sensible Structure and File Layout</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preparing&#x20;Magento&#x20;Modules&#x20;for&#x20;GraphQL&#x3A;&#x20;Sensible&#x20;Structure&#x20;and&#x20;File&#x20;Layout"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-preparing-magento-modules-for-graphql-sensible-structure-and-file-layout.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-magento-graphql-fundamentals-architecture-schema-and-resolver-chains</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-magento-graphql-grundlagen-architektur-schema-und-resolver-ketten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-magento-graphql-fundamentals-architecture-schema-and-resolver-chains" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-magento-graphql-fundamentals-architecture-schema-and-resolver-chains.webp</image:loc><image:title>Magento GraphQL Fundamentals: Architecture, Schema and Resolver Chains</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;GraphQL&#x20;Fundamentals&#x3A;&#x20;Architecture,&#x20;Schema&#x20;and&#x20;Resolver&#x20;Chains"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-magento-graphql-fundamentals-architecture-schema-and-resolver-chains.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-magento-performance-why-resolvers-get-slow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-magento-graphql-performance-warum-resolver-zu-langsam-werden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-magento-performance-why-resolvers-get-slow" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-magento-performance-why-resolvers-get-slow.webp</image:loc><image:title>Magento GraphQL Performance: Why Resolvers Get Slow</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;GraphQL&#x20;Performance&#x3A;&#x20;Why&#x20;Resolvers&#x20;Get&#x20;Slow"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-magento-performance-why-resolvers-get-slow.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-testing-magento-graphql-phpunit-integration-tests-and-real-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-magento-graphql-testen-phpunit-integrationstests-und-echte-requests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-testing-magento-graphql-phpunit-integration-tests-and-real-requests" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-testing-magento-graphql-phpunit-integration-tests-and-real-requests.webp</image:loc><image:title>Testing Magento GraphQL: PHPUnit, Integration Tests and Real Requests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;Magento&#x20;GraphQL&#x3A;&#x20;PHPUnit,&#x20;Integration&#x20;Tests&#x20;and&#x20;Real&#x20;Requests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-testing-magento-graphql-phpunit-integration-tests-and-real-requests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-magento-graphql-and-eav-the-real-cost-of-product-queries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-magento-graphql-und-eav-welche-kosten-hinter-produktabfragen-stecken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-magento-graphql-and-eav-the-real-cost-of-product-queries" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-magento-graphql-and-eav-the-real-cost-of-product-queries.webp</image:loc><image:title>Magento GraphQL and EAV: What Product Queries Really Cost</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;GraphQL&#x20;and&#x20;EAV&#x3A;&#x20;What&#x20;Product&#x20;Queries&#x20;Really&#x20;Cost"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-magento-graphql-and-eav-the-real-cost-of-product-queries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-magento-graphql-and-searchcriteria-wiring-filters-cleanly-into-resolvers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-magento-graphql-und-searchcriteria-filter-sauber-an-resolver-anbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-magento-graphql-and-searchcriteria-wiring-filters-cleanly-into-resolvers" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-magento-graphql-and-searchcriteria-wiring-filters-cleanly-into-resolvers.webp</image:loc><image:title>Magento GraphQL and SearchCriteria: Wiring Filters Cleanly into Resolvers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;GraphQL&#x20;and&#x20;SearchCriteria&#x3A;&#x20;Wiring&#x20;Filters&#x20;Cleanly&#x20;into&#x20;Resolvers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-magento-graphql-and-searchcriteria-wiring-filters-cleanly-into-resolvers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-building-mutations-in-magento-input-service-contract-response</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-mutation-in-magento-bauen-input-service-contract-response" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-building-mutations-in-magento-input-service-contract-response" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-building-mutations-in-magento-input-service-contract-response.webp</image:loc><image:title>Building Mutations in Magento: Input, Service Contract, Response</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Mutations&#x20;in&#x20;Magento&#x3A;&#x20;Input,&#x20;Service&#x20;Contract,&#x20;Response"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-building-mutations-in-magento-input-service-contract-response.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-avoiding-n-plus-1-batching-dataloader-resolver-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-n-1-in-graphql-vermeiden-batching-dataloader-resolver-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-avoiding-n-plus-1-batching-dataloader-resolver-strategies" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-avoiding-n-plus-1-batching-dataloader-resolver-strategies.webp</image:loc><image:title>Avoiding N+1 in GraphQL: Batching, DataLoader, Resolver Strategies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;N&#x2B;1&#x20;in&#x20;GraphQL&#x3A;&#x20;Batching,&#x20;DataLoader,&#x20;Resolver&#x20;Strategies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-avoiding-n-plus-1-batching-dataloader-resolver-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-openapi-vs-graphql-where-both-models-complement-each-other</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-openapi-vs-graphql-wo-beide-modelle-sich-sinnvoll-erganzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-openapi-vs-graphql-where-both-models-complement-each-other" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-openapi-vs-graphql-where-both-models-complement-each-other.webp</image:loc><image:title>OpenAPI vs. GraphQL: Where Both Models Complement Each Other</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="OpenAPI&#x20;vs.&#x20;GraphQL&#x3A;&#x20;Where&#x20;Both&#x20;Models&#x20;Complement&#x20;Each&#x20;Other"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-openapi-vs-graphql-where-both-models-complement-each-other.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-opensearch-and-magento-graphql-how-search-really-works-together</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-opensearch-und-magento-graphql-wie-suche-wirklich-zusammenspielt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-opensearch-and-magento-graphql-how-search-really-works-together" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-opensearch-and-magento-graphql-how-search-really-works-together.webp</image:loc><image:title>OpenSearch and Magento GraphQL: How Search Really Works Together</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="OpenSearch&#x20;and&#x20;Magento&#x20;GraphQL&#x3A;&#x20;How&#x20;Search&#x20;Really&#x20;Works&#x20;Together"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-opensearch-and-magento-graphql-how-search-really-works-together.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-pagination-cursor-vs-offset-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-pagination-in-graphql-cursor-vs-offset-sauber-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-pagination-cursor-vs-offset-done-right" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-pagination-cursor-vs-offset-done-right.webp</image:loc><image:title>Pagination in GraphQL: Cursor vs. Offset Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Pagination&#x20;in&#x20;GraphQL&#x3A;&#x20;Cursor&#x20;vs.&#x20;Offset&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-pagination-cursor-vs-offset-done-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-persisted-queries-security-and-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-persisted-queries-sicherheit-und-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-persisted-queries-security-and-performance" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-persisted-queries-security-and-performance.webp</image:loc><image:title>Persisted Queries: Security and Performance in GraphQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Persisted&#x20;Queries&#x3A;&#x20;Security&#x20;and&#x20;Performance&#x20;in&#x20;GraphQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-persisted-queries-security-and-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-extending-magento-graphql-product-data-custom-fields-and-extension-attributes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-produktdaten-in-magento-graphql-erweitern-eigene-felder-und-extension-attributes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-extending-magento-graphql-product-data-custom-fields-and-extension-attributes" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-extending-magento-graphql-product-data-custom-fields-and-extension-attributes.webp</image:loc><image:title>Extending Product Data in Magento GraphQL: Custom Fields and Extension Attributes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Extending&#x20;Product&#x20;Data&#x20;in&#x20;Magento&#x20;GraphQL&#x3A;&#x20;Custom&#x20;Fields&#x20;and&#x20;Extension&#x20;Attributes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-extending-magento-graphql-product-data-custom-fields-and-extension-attributes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-production-ready-checklist-performance-testing-security-tooling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-produktive-graphql-checkliste-performance-testing-security-tooling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-production-ready-checklist-performance-testing-security-tooling" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-production-ready-checklist-performance-testing-security-tooling.webp</image:loc><image:title>Production-Ready GraphQL Checklist: Performance, Testing, Security, Tooling</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Production-Ready&#x20;GraphQL&#x20;Checklist&#x3A;&#x20;Performance,&#x20;Testing,&#x20;Security,&#x20;Tooling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-production-ready-checklist-performance-testing-security-tooling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-query-complexity-measuring-and-limiting-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-query-complexity-praktisch-messen-und-begrenzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-query-complexity-measuring-and-limiting-in-practice" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-query-complexity-measuring-and-limiting-in-practice.webp</image:loc><image:title>Query Complexity in GraphQL: Measuring and Limiting It in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Query&#x20;Complexity&#x20;in&#x20;GraphQL&#x3A;&#x20;Measuring&#x20;and&#x20;Limiting&#x20;It&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-query-complexity-measuring-and-limiting-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-resolver-architecture-thin-resolvers-instead-of-business-logic-monsters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-resolver-architektur-schlanke-resolver-statt-business-logik-monster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-resolver-architecture-thin-resolvers-instead-of-business-logic-monsters" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-resolver-architecture-thin-resolvers-instead-of-business-logic-monsters.webp</image:loc><image:title>Resolver Architecture: Thin Resolvers Instead of Business Logic Monsters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Resolver&#x20;Architecture&#x3A;&#x20;Thin&#x20;Resolvers&#x20;Instead&#x20;of&#x20;Business&#x20;Logic&#x20;Monsters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-resolver-architecture-thin-resolvers-instead-of-business-logic-monsters.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-combining-resolver-caching-and-edge-caching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-resolver-caching-und-edge-caching-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-combining-resolver-caching-and-edge-caching" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-combining-resolver-caching-and-edge-caching.webp</image:loc><image:title>Combining Resolver Caching and Edge Caching</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Combining&#x20;Resolver&#x20;Caching&#x20;and&#x20;Edge&#x20;Caching"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-combining-resolver-caching-and-edge-caching.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-schema-graphqls-in-magento-patterns-and-anti-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-schema-graphqls-in-magento-patterns-und-anti-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-schema-graphqls-in-magento-patterns-and-anti-patterns" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-schema-graphqls-in-magento-patterns-and-anti-patterns.webp</image:loc><image:title>schema.graphqls in Magento: Patterns and Anti-Patterns</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="schema.graphqls&#x20;in&#x20;Magento&#x3A;&#x20;Patterns&#x20;and&#x20;Anti-Patterns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-schema-graphqls-in-magento-patterns-and-anti-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-schema-reviews-for-teams-what-to-check-before-merge</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-schema-reviews-fur-teams-was-vor-dem-merge-gepruft-werden-sollte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-schema-reviews-for-teams-what-to-check-before-merge" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-schema-reviews-for-teams-what-to-check-before-merge.webp</image:loc><image:title>GraphQL Schema Reviews for Teams: What to Check Before the Merge</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Schema&#x20;Reviews&#x20;for&#x20;Teams&#x3A;&#x20;What&#x20;to&#x20;Check&#x20;Before&#x20;the&#x20;Merge"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-schema-reviews-for-teams-what-to-check-before-merge.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql-subscriptions-and-realtime-with-graphql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/graphql-subscriptions-und-realtime-mit-graphql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql-subscriptions-and-realtime-with-graphql" />
<lastmod>2026-07-12T14:41:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-subscriptions-and-realtime-with-graphql.webp</image:loc><image:title>GraphQL Subscriptions and Realtime: Concepts, Practice, and the Magento Context</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Subscriptions&#x20;and&#x20;Realtime&#x3A;&#x20;Concepts,&#x20;Practice,&#x20;and&#x20;the&#x20;Magento&#x20;Context"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-subscriptions-and-realtime-with-graphql.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-abortcontroller-cancel-fetch-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-abortcontroller" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-abortcontroller-cancel-fetch-requests" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-abortcontroller-cancel-fetch-requests.webp</image:loc><image:title>AbortController in JavaScript: Safely Cancel Fetch Requests and Async Operations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="AbortController&#x20;in&#x20;JavaScript&#x3A;&#x20;Safely&#x20;Cancel&#x20;Fetch&#x20;Requests&#x20;and&#x20;Async&#x20;Operations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-abortcontroller-cancel-fetch-requests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-atomics-sharedarraybuffer-concurrency</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-atomics-sharedarraybuffer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-atomics-sharedarraybuffer-concurrency" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-atomics-sharedarraybuffer-concurrency.webp</image:loc><image:title>Atomics and SharedArrayBuffer in JavaScript: True Parallelism in the Browser</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Atomics&#x20;and&#x20;SharedArrayBuffer&#x20;in&#x20;JavaScript&#x3A;&#x20;True&#x20;Parallelism&#x20;in&#x20;the&#x20;Browser"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-atomics-sharedarraybuffer-concurrency.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-bigint-large-integers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-bigint" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-bigint-large-integers" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-bigint-large-integers.webp</image:loc><image:title>BigInt in JavaScript: Handling Arbitrarily Large Integers Safely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="BigInt&#x20;in&#x20;JavaScript&#x3A;&#x20;Handling&#x20;Arbitrarily&#x20;Large&#x20;Integers&#x20;Safely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-bigint-large-integers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-broadcast-channel-api-cross-tab-communication-without-a-server</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-broadcast-channel-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-broadcast-channel-api-cross-tab-communication-without-a-server" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-broadcast-channel-api-cross-tab-communication-without-a-server.webp</image:loc><image:title>Broadcast Channel API in JavaScript: Cross-Tab Communication Without a Server</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Broadcast&#x20;Channel&#x20;API&#x20;in&#x20;JavaScript&#x3A;&#x20;Cross-Tab&#x20;Communication&#x20;Without&#x20;a&#x20;Server"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-broadcast-channel-api-cross-tab-communication-without-a-server.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-bundle-analysis-rollup-vite</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-bundle-analyse-rollup-vite" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-bundle-analysis-rollup-vite" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-bundle-analysis-rollup-vite.webp</image:loc><image:title>Bundle Analysis with Rollup and Vite: Understand and Optimize JavaScript Bundles</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bundle&#x20;Analysis&#x20;with&#x20;Rollup&#x20;and&#x20;Vite&#x3A;&#x20;Understand&#x20;and&#x20;Optimize&#x20;JavaScript&#x20;Bundles"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-bundle-analysis-rollup-vite.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-cache-api-http-resources-browser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-cache-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-cache-api-http-resources-browser" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-cache-api-http-resources-browser.webp</image:loc><image:title>JavaScript Cache API: Caching HTTP Resources in the Browser</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Cache&#x20;API&#x3A;&#x20;Caching&#x20;HTTP&#x20;Resources&#x20;in&#x20;the&#x20;Browser"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-cache-api-http-resources-browser.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-clipboard-api-copy-paste-without-execcommand</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-clipboard-api-copy-paste-ohne-execcommand" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-clipboard-api-copy-paste-without-execcommand" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-clipboard-api-copy-paste-without-execcommand.webp</image:loc><image:title>JavaScript Clipboard API: Copy &amp; Paste Without execCommand</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Clipboard&#x20;API&#x3A;&#x20;Copy&#x20;&amp;&#x20;Paste&#x20;Without&#x20;execCommand"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-clipboard-api-copy-paste-without-execcommand.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-crypto-randomuuid-secure-generation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-crypto-randomuuid" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-crypto-randomuuid-secure-generation" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-crypto-randomuuid-secure-generation.webp</image:loc><image:title>JavaScript crypto.randomUUID(): Secure UUIDs in the Browser</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;crypto.randomUUID&#x28;&#x29;&#x3A;&#x20;Secure&#x20;UUIDs&#x20;in&#x20;the&#x20;Browser"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-crypto-randomuuid-secure-generation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-custom-events-component-communication</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-custom-events-komponentenkommunikation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-custom-events-component-communication" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-custom-events-component-communication.webp</image:loc><image:title>JavaScript Custom Events: Component Communication Without a Framework</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Custom&#x20;Events&#x3A;&#x20;Component&#x20;Communication&#x20;Without&#x20;a&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-custom-events-component-communication.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-decorators-classes-methods</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-decorators" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-decorators-classes-methods" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-decorators-classes-methods.webp</image:loc><image:title>JavaScript Decorators: Decorating Classes and Methods</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Decorators&#x3A;&#x20;Decorating&#x20;Classes&#x20;and&#x20;Methods"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-decorators-classes-methods.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-chrome-devtools-tricks-debugging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-devtools-tricks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-chrome-devtools-tricks-debugging" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-chrome-devtools-tricks-debugging.webp</image:loc><image:title>Chrome DevTools Tricks for JavaScript Developers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Chrome&#x20;DevTools&#x20;Tricks&#x20;for&#x20;JavaScript&#x20;Developers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-chrome-devtools-tricks-debugging.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-error-cause-chaining</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-error-cause" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-error-cause-chaining" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-error-cause-chaining.webp</image:loc><image:title>JavaScript Error Cause: Structured Error Handling with error.cause</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Error&#x20;Cause&#x3A;&#x20;Structured&#x20;Error&#x20;Handling&#x20;with&#x20;error.cause"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-error-cause-chaining.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-es2024-es2025-features-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-es2024-es2025-features" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-es2024-es2025-features-explained" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-es2024-es2025-features-explained.webp</image:loc><image:title>ES2024 and ES2025 JavaScript Features: Complete Overview</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ES2024&#x20;and&#x20;ES2025&#x20;JavaScript&#x20;Features&#x3A;&#x20;Complete&#x20;Overview"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-es2024-es2025-features-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-event-delegation-for-dynamic-lists</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-event-delegation-dynamische-listen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-event-delegation-for-dynamic-lists" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-event-delegation-for-dynamic-lists.webp</image:loc><image:title>Event Delegation for Dynamic Lists in JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Event&#x20;Delegation&#x20;for&#x20;Dynamic&#x20;Lists&#x20;in&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-event-delegation-for-dynamic-lists.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-event-loop-microtasks-macrotasks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-event-loop-mikrotasks-makrotasks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-event-loop-microtasks-macrotasks" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-event-loop-microtasks-macrotasks.webp</image:loc><image:title>JavaScript Event Loop, Microtasks and Macrotasks Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Event&#x20;Loop,&#x20;Microtasks&#x20;and&#x20;Macrotasks&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-event-loop-microtasks-macrotasks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-fetch-api-mastery-http-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-fetch-mastery" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-fetch-api-mastery-http-requests" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-fetch-api-mastery-http-requests.webp</image:loc><image:title>JavaScript Fetch API Mastery: Building Production-Grade HTTP Requests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Fetch&#x20;API&#x20;Mastery&#x3A;&#x20;Building&#x20;Production-Grade&#x20;HTTP&#x20;Requests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-fetch-api-mastery-http-requests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-generator-functions-lazy-iteration-infinite-sequences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-generator-functions-lazy-iteration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-generator-functions-lazy-iteration-infinite-sequences" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-generator-functions-lazy-iteration-infinite-sequences.webp</image:loc><image:title>JavaScript Generator Functions: Lazy Iteration and Infinite Sequences</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Generator&#x20;Functions&#x3A;&#x20;Lazy&#x20;Iteration&#x20;and&#x20;Infinite&#x20;Sequences"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-generator-functions-lazy-iteration-infinite-sequences.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-immutability-patterns-immutable-data-structures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-immutability-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-immutability-patterns-immutable-data-structures" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-immutability-patterns-immutable-data-structures.webp</image:loc><image:title>JavaScript Immutability Patterns: Using Immutable Data Structures Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Immutability&#x20;Patterns&#x3A;&#x20;Using&#x20;Immutable&#x20;Data&#x20;Structures&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-immutability-patterns-immutable-data-structures.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-indexeddb-offline-database-in-the-browser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-indexeddb-offline-datenbank" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-indexeddb-offline-database-in-the-browser" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-indexeddb-offline-database-in-the-browser.webp</image:loc><image:title>JavaScript IndexedDB: Using the Browser's Offline Database Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;IndexedDB&#x3A;&#x20;Using&#x20;the&#x20;Browser&#x27;s&#x20;Offline&#x20;Database&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-indexeddb-offline-database-in-the-browser.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-intersection-observer-lazy-loading-scroll-animations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-intersection-observer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-intersection-observer-lazy-loading-scroll-animations" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-intersection-observer-lazy-loading-scroll-animations.webp</image:loc><image:title>JavaScript Intersection Observer: Lazy Loading, Animations and Infinite Scroll</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Intersection&#x20;Observer&#x3A;&#x20;Lazy&#x20;Loading,&#x20;Animations&#x20;and&#x20;Infinite&#x20;Scroll"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-intersection-observer-lazy-loading-scroll-animations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-memory-leaks-chrome-devtools-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-memory-leaks-chrome-devtools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-memory-leaks-chrome-devtools-guide" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-memory-leaks-chrome-devtools-guide.webp</image:loc><image:title>Find and Fix JavaScript Memory Leaks with Chrome DevTools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Find&#x20;and&#x20;Fix&#x20;JavaScript&#x20;Memory&#x20;Leaks&#x20;with&#x20;Chrome&#x20;DevTools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-memory-leaks-chrome-devtools-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-modern-array-methods-map-filter-reduce</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-moderne-array-methoden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-modern-array-methods-map-filter-reduce" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-modern-array-methods-map-filter-reduce.webp</image:loc><image:title>Modern JavaScript Array Methods: map, filter, reduce and more</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modern&#x20;JavaScript&#x20;Array&#x20;Methods&#x3A;&#x20;map,&#x20;filter,&#x20;reduce&#x20;and&#x20;more"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-modern-array-methods-map-filter-reduce.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-module-federation-micro-frontends-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-module-federation-micro-frontends" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-module-federation-micro-frontends-guide" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-module-federation-micro-frontends-guide.webp</image:loc><image:title>Module Federation and Micro-Frontends in JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Module&#x20;Federation&#x20;and&#x20;Micro-Frontends&#x20;in&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-module-federation-micro-frontends-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-mutationobserver-dom-monitoring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-mutationobserver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-mutationobserver-dom-monitoring" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-mutationobserver-dom-monitoring.webp</image:loc><image:title>JavaScript MutationObserver: Efficiently Observe DOM Changes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;MutationObserver&#x3A;&#x20;Efficiently&#x20;Observe&#x20;DOM&#x20;Changes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-mutationobserver-dom-monitoring.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-nullish-coalescing-optional-chaining-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-nullish-coalescing-optional-chaining" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-nullish-coalescing-optional-chaining-explained" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-nullish-coalescing-optional-chaining-explained.webp</image:loc><image:title>JavaScript Nullish Coalescing and Optional Chaining Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Nullish&#x20;Coalescing&#x20;and&#x20;Optional&#x20;Chaining&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-nullish-coalescing-optional-chaining-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-object-groupby-map-groupby-native-array-grouping</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-object-groupby-map-groupby" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-object-groupby-map-groupby-native-array-grouping" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-object-groupby-map-groupby-native-array-grouping.webp</image:loc><image:title>Object.groupBy and Map.groupBy in JavaScript: Group Data Without Lodash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Object.groupBy&#x20;and&#x20;Map.groupBy&#x20;in&#x20;JavaScript&#x3A;&#x20;Group&#x20;Data&#x20;Without&#x20;Lodash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-object-groupby-map-groupby-native-array-grouping.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-pattern-matching-match-expression</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-pattern-matching-proposal" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-pattern-matching-match-expression" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-pattern-matching-match-expression.webp</image:loc><image:title>JavaScript Pattern Matching Proposal: the match Expression and Structural Matching</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Pattern&#x20;Matching&#x20;Proposal&#x3A;&#x20;the&#x20;match&#x20;Expression&#x20;and&#x20;Structural&#x20;Matching"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-pattern-matching-match-expression.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-performance-api-runtime-measurement</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-performance-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-performance-api-runtime-measurement" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-performance-api-runtime-measurement.webp</image:loc><image:title>JavaScript Performance API: Precise Runtime Measurement with performance.now() and PerformanceObserver</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Performance&#x20;API&#x3A;&#x20;Precise&#x20;Runtime&#x20;Measurement&#x20;with&#x20;performance.now&#x28;&#x29;&#x20;and&#x20;PerformanceObserver"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-performance-api-runtime-measurement.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-promise-withresolvers-deferred-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-promise-withresolvers" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-promise-withresolvers-deferred-pattern" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-promise-withresolvers-deferred-pattern.webp</image:loc><image:title>Promise.withResolvers() in JavaScript: The Deferred Pattern Without Boilerplate</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Promise.withResolvers&#x28;&#x29;&#x20;in&#x20;JavaScript&#x3A;&#x20;The&#x20;Deferred&#x20;Pattern&#x20;Without&#x20;Boilerplate"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-promise-withresolvers-deferred-pattern.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-proxy-reflect-meta-programming</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-proxy-reflect-meta-programmierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-proxy-reflect-meta-programming" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-proxy-reflect-meta-programming.webp</image:loc><image:title>JavaScript Proxy and Reflect: Meta-Programming for Advanced Patterns</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Proxy&#x20;and&#x20;Reflect&#x3A;&#x20;Meta-Programming&#x20;for&#x20;Advanced&#x20;Patterns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-proxy-reflect-meta-programming.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-requestanimationframe-smooth-animations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-requestanimationframe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-requestanimationframe-smooth-animations" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-requestanimationframe-smooth-animations.webp</image:loc><image:title>Mastering requestAnimationFrame: Smooth Animations in JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mastering&#x20;requestAnimationFrame&#x3A;&#x20;Smooth&#x20;Animations&#x20;in&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-requestanimationframe-smooth-animations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-requestidlecallback-background-tasks-without-blocking-ui</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-requestidlecallback" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-requestidlecallback-background-tasks-without-blocking-ui" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-requestidlecallback-background-tasks-without-blocking-ui.webp</image:loc><image:title>requestIdleCallback: Background Tasks Without Blocking the UI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="requestIdleCallback&#x3A;&#x20;Background&#x20;Tasks&#x20;Without&#x20;Blocking&#x20;the&#x20;UI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-requestidlecallback-background-tasks-without-blocking-ui.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-resizeobserver-element-size-observation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-resizeobserver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-resizeobserver-element-size-observation" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-resizeobserver-element-size-observation.webp</image:loc><image:title>ResizeObserver: Reactively Observe Element Sizes in JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ResizeObserver&#x3A;&#x20;Reactively&#x20;Observe&#x20;Element&#x20;Sizes&#x20;in&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-resizeobserver-element-size-observation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-xss-prototype-pollution-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-security-xss-prototype-pollution" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-xss-prototype-pollution-security" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-xss-prototype-pollution-security.webp</image:loc><image:title>JavaScript Security: Detecting and Preventing XSS and Prototype Pollution</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Security&#x3A;&#x20;Detecting&#x20;and&#x20;Preventing&#x20;XSS&#x20;and&#x20;Prototype&#x20;Pollution"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-xss-prototype-pollution-security.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-sendbeacon-reliable-page-unload-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-sendbeacon" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-sendbeacon-reliable-page-unload-data" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-sendbeacon-reliable-page-unload-data.webp</image:loc><image:title>navigator.sendBeacon: Reliably Send Data on Page Unload</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="navigator.sendBeacon&#x3A;&#x20;Reliably&#x20;Send&#x20;Data&#x20;on&#x20;Page&#x20;Unload"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-sendbeacon-reliable-page-unload-data.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-service-worker-offline-first-pwa</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-service-worker-offline-first" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-service-worker-offline-first-pwa" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-service-worker-offline-first-pwa.webp</image:loc><image:title>Service Worker &amp; Offline-First: Building Progressive Web Apps the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Service&#x20;Worker&#x20;&amp;&#x20;Offline-First&#x3A;&#x20;Building&#x20;Progressive&#x20;Web&#x20;Apps&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-service-worker-offline-first-pwa.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-set-methods-union-intersection-difference</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-set-methods" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-set-methods-union-intersection-difference" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-set-methods-union-intersection-difference.webp</image:loc><image:title>JavaScript Set Methods: union, intersection, difference &amp; Co.</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Set&#x20;Methods&#x3A;&#x20;union,&#x20;intersection,&#x20;difference&#x20;&amp;&#x20;Co."/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-set-methods-union-intersection-difference.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-signals-reactive-programming-paradigm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-signals-reaktives-paradigma" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-signals-reactive-programming-paradigm" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-signals-reactive-programming-paradigm.webp</image:loc><image:title>JavaScript Signals: The Reactive Paradigm for the Browser</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Signals&#x3A;&#x20;The&#x20;Reactive&#x20;Paradigm&#x20;for&#x20;the&#x20;Browser"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-signals-reactive-programming-paradigm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-streams-api-readablestream-writablestream-transformstream</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-streams-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-streams-api-readablestream-writablestream-transformstream" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-streams-api-readablestream-writablestream-transformstream.webp</image:loc><image:title>JavaScript Streams API: ReadableStream, WritableStream and TransformStream</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Streams&#x20;API&#x3A;&#x20;ReadableStream,&#x20;WritableStream&#x20;and&#x20;TransformStream"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-streams-api-readablestream-writablestream-transformstream.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-structuredclone-native-deep-clone</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-structuredclone" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-structuredclone-native-deep-clone" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-structuredclone-native-deep-clone.webp</image:loc><image:title>structuredClone(): Native Deep Cloning in JavaScript at Last</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="structuredClone&#x28;&#x29;&#x3A;&#x20;Native&#x20;Deep&#x20;Cloning&#x20;in&#x20;JavaScript&#x20;at&#x20;Last"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-structuredclone-native-deep-clone.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-tagged-template-literals-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-tagged-template-literals" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-tagged-template-literals-guide" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-tagged-template-literals-guide.webp</image:loc><image:title>Tagged Template Literals in JavaScript: The Complete Practical Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tagged&#x20;Template&#x20;Literals&#x20;in&#x20;JavaScript&#x3A;&#x20;The&#x20;Complete&#x20;Practical&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-tagged-template-literals-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-temporal-api-date-time-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-temporal-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-temporal-api-date-time-done-right" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-temporal-api-date-time-done-right.webp</image:loc><image:title>JavaScript Temporal API: Date and Time Finally Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Temporal&#x20;API&#x3A;&#x20;Date&#x20;and&#x20;Time&#x20;Finally&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-temporal-api-date-time-done-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-top-level-await-es-modules-without-async-wrapper</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-top-level-await" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-top-level-await-es-modules-without-async-wrapper" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-top-level-await-es-modules-without-async-wrapper.webp</image:loc><image:title>Top-Level Await in JavaScript: ES Modules Without an async Wrapper</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Top-Level&#x20;Await&#x20;in&#x20;JavaScript&#x3A;&#x20;ES&#x20;Modules&#x20;Without&#x20;an&#x20;async&#x20;Wrapper"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-top-level-await-es-modules-without-async-wrapper.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-tree-shaking-bundle-size</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-tree-shaking-bundle-groesse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-tree-shaking-bundle-size" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-tree-shaking-bundle-size.webp</image:loc><image:title>JavaScript Tree Shaking: Halve Your Bundle Size by Removing Dead Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;Tree&#x20;Shaking&#x3A;&#x20;Halve&#x20;Your&#x20;Bundle&#x20;Size&#x20;by&#x20;Removing&#x20;Dead&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-tree-shaking-bundle-size.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-using-await-using-explicit-resource-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-using-resource-management" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-using-await-using-explicit-resource-management" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-using-await-using-explicit-resource-management.webp</image:loc><image:title>JavaScript using: Explicit Resource Management with using and await using</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JavaScript&#x20;using&#x3A;&#x20;Explicit&#x20;Resource&#x20;Management&#x20;with&#x20;using&#x20;and&#x20;await&#x20;using"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-using-await-using-explicit-resource-management.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-vite-vs-webpack-vs-rollup-bundler-comparison-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-vite-vs-webpack-vs-rollup-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-vite-vs-webpack-vs-rollup-bundler-comparison-2026" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-vite-vs-webpack-vs-rollup-bundler-comparison-2026.webp</image:loc><image:title>Vite vs. Webpack vs. Rollup 2026: Which Bundler for Which Project?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vite&#x20;vs.&#x20;Webpack&#x20;vs.&#x20;Rollup&#x20;2026&#x3A;&#x20;Which&#x20;Bundler&#x20;for&#x20;Which&#x20;Project&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-vite-vs-webpack-vs-rollup-bundler-comparison-2026.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-weakref-finalizationregistry-memory-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-weakref-finalizationregistry" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-weakref-finalizationregistry-memory-management" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-weakref-finalizationregistry-memory-management.webp</image:loc><image:title>WeakRef and FinalizationRegistry in JavaScript: Mastering Memory Management</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="WeakRef&#x20;and&#x20;FinalizationRegistry&#x20;in&#x20;JavaScript&#x3A;&#x20;Mastering&#x20;Memory&#x20;Management"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-weakref-finalizationregistry-memory-management.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-web-share-api-native-sharing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-web-share-api-native-teilen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-web-share-api-native-sharing" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-web-share-api-native-sharing.webp</image:loc><image:title>Web Share API: Native Share Dialog in JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Web&#x20;Share&#x20;API&#x3A;&#x20;Native&#x20;Share&#x20;Dialog&#x20;in&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-web-share-api-native-sharing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-web-workers-multithreading-browser-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-web-workers" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-web-workers-multithreading-browser-guide" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-web-workers-multithreading-browser-guide.webp</image:loc><image:title>Web Workers in JavaScript: Mastering Multithreading in the Browser</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Web&#x20;Workers&#x20;in&#x20;JavaScript&#x3A;&#x20;Mastering&#x20;Multithreading&#x20;in&#x20;the&#x20;Browser"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-web-workers-multithreading-browser-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-webassembly-wasm-modules-browser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-webassembly" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-webassembly-wasm-modules-browser" />
<lastmod>2026-07-12T14:43:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-webassembly-wasm-modules-browser.webp</image:loc><image:title>WebAssembly in JavaScript: Integrating High-Performance Modules with Wasm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="WebAssembly&#x20;in&#x20;JavaScript&#x3A;&#x20;Integrating&#x20;High-Performance&#x20;Modules&#x20;with&#x20;Wasm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-webassembly-wasm-modules-browser.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-alpine-js-hyva-theme-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-hyva-theme-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-alpine-js-hyva-theme-guide" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-alpine-js-hyva-theme-guide.webp</image:loc><image:title>Alpine.js in Hyvä Theme: Interactive Magento 2 Components Explained | Mironsoft Blog</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;in&#x20;Hyv&#xE4;&#x20;Theme&#x3A;&#x20;Interactive&#x20;Magento&#x20;2&#x20;Components&#x20;Explained&#x20;&#x7C;&#x20;Mironsoft&#x20;Blog"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-alpine-js-hyva-theme-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-active-record-pattern-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-active-record-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-active-record-pattern-explained" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-active-record-pattern-explained.webp</image:loc><image:title>Active Record Pattern in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Active&#x20;Record&#x20;Pattern&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-active-record-pattern-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-dependency-injection-design-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-dependency-injection-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-dependency-injection-design-patterns" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-dependency-injection-design-patterns.webp</image:loc><image:title>Dependency Injection in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Dependency&#x20;Injection&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-dependency-injection-design-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-factory-proxy-design-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-factory-proxy-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-factory-proxy-design-patterns" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-factory-proxy-design-patterns.webp</image:loc><image:title>Factory &amp; Proxy Pattern in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Factory&#x20;&amp;&#x20;Proxy&#x20;Pattern&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-factory-proxy-design-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-design-patterns-injectable-virtual-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-injectable-virtual-types-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-design-patterns-injectable-virtual-types" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-design-patterns-injectable-virtual-types.webp</image:loc><image:title>Injectable &amp; Virtual Types in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Injectable&#x20;&amp;&#x20;Virtual&#x20;Types&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-design-patterns-injectable-virtual-types.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-design-patterns-iterator-collections</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-iterator-collections-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-design-patterns-iterator-collections" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-design-patterns-iterator-collections.webp</image:loc><image:title>Iterator &amp; Collections Pattern in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Iterator&#x20;&amp;&#x20;Collections&#x20;Pattern&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-design-patterns-iterator-collections.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-design-patterns-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-magento-2-uebersicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-design-patterns-overview" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-design-patterns-overview.webp</image:loc><image:title>Design Patterns in Magento 2: The Complete Overview (13+ Patterns) | Mironsoft Blog</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Design&#x20;Patterns&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;The&#x20;Complete&#x20;Overview&#x20;&#x28;13&#x2B;&#x20;Patterns&#x29;&#x20;&#x7C;&#x20;Mironsoft&#x20;Blog"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-design-patterns-overview.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-mvc-front-controller-design-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-mvc-front-controller-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-mvc-front-controller-design-pattern" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-mvc-front-controller-design-pattern.webp</image:loc><image:title>MVC &amp; Front Controller Pattern in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MVC&#x20;&amp;&#x20;Front&#x20;Controller&#x20;Pattern&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-mvc-front-controller-design-pattern.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-observer-event-pattern-dispatching-events</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-observer-event-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-observer-event-pattern-dispatching-events" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-observer-event-pattern-dispatching-events.webp</image:loc><image:title>Observer / Event Pattern in Magento 2: Dispatching Events and Building Observers | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Observer&#x20;&#x2F;&#x20;Event&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Dispatching&#x20;Events&#x20;and&#x20;Building&#x20;Observers&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-observer-event-pattern-dispatching-events.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-plugin-interceptor-pattern-before-after-around</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-plugin-interceptor-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-plugin-interceptor-pattern-before-after-around" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-plugin-interceptor-pattern-before-after-around.webp</image:loc><image:title>Plugin / Interceptor Pattern in Magento 2: Before, After, Around Explained | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Plugin&#x20;&#x2F;&#x20;Interceptor&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Before,&#x20;After,&#x20;Around&#x20;Explained&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-plugin-interceptor-pattern-before-after-around.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-preference-pattern-in-magento-2</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-preferences-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-preference-pattern-in-magento-2" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-preference-pattern-in-magento-2.webp</image:loc><image:title>The Preference Pattern in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Preference&#x20;Pattern&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-preference-pattern-in-magento-2.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-prototype-object-pool-pattern-quote-items-connection-pooling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-prototype-object-pool-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-prototype-object-pool-pattern-quote-items-connection-pooling" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-prototype-object-pool-pattern-quote-items-connection-pooling.webp</image:loc><image:title>Prototype &amp; Object Pool Pattern in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Prototype&#x20;&amp;&#x20;Object&#x20;Pool&#x20;Pattern&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-prototype-object-pool-pattern-quote-items-connection-pooling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-repository-pattern-service-contracts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-repository-pattern-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-repository-pattern-service-contracts" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-repository-pattern-service-contracts.webp</image:loc><image:title>Repository Pattern in Magento 2: Service Contracts, SearchCriteria and Custom Repositories | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Repository&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Service&#x20;Contracts,&#x20;SearchCriteria&#x20;and&#x20;Custom&#x20;Repositories&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-repository-pattern-service-contracts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-service-locator-objectmanager-anti-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-service-locator-objectmanager-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-service-locator-objectmanager-anti-pattern" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-service-locator-objectmanager-anti-pattern.webp</image:loc><image:title>Service Locator &amp; ObjectManager in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Service&#x20;Locator&#x20;&amp;&#x20;ObjectManager&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-service-locator-objectmanager-anti-pattern.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-singleton-registry-pattern-magento-2</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-singleton-registry-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-singleton-registry-pattern-magento-2" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-singleton-registry-pattern-magento-2.webp</image:loc><image:title>Singleton &amp; Registry Pattern in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Singleton&#x20;&amp;&#x20;Registry&#x20;Pattern&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-singleton-registry-pattern-magento-2.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-strategy-pattern-design-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-strategy-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-strategy-pattern-design-patterns" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-strategy-pattern-design-patterns.webp</image:loc><image:title>Strategy Pattern in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Strategy&#x20;Pattern&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-strategy-pattern-design-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-viewmodel-pattern-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-patterns-viewmodel-pattern-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-viewmodel-pattern-explained" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-viewmodel-pattern-explained.webp</image:loc><image:title>ViewModel Pattern in Magento 2: Clean phtml Templates Without Bloated Blocks | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ViewModel&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Clean&#x20;phtml&#x20;Templates&#x20;Without&#x20;Bloated&#x20;Blocks&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-viewmodel-pattern-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-active-record-models-resourcemodel</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-active-record-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-active-record-models-resourcemodel" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-active-record-models-resourcemodel.webp</image:loc><image:title>Active Record Pattern in Magento 2: Models and Their Database Connection | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Active&#x20;Record&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Models&#x20;and&#x20;Their&#x20;Database&#x20;Connection&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-active-record-models-resourcemodel.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-admin-grid-ui-component-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-admin-grid-ui-component" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-admin-grid-ui-component-guide" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-admin-grid-ui-component-guide.webp</image:loc><image:title>Admin Grid with UI Component in Magento 2 | Modern Backend Interface</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Admin&#x20;Grid&#x20;with&#x20;UI&#x20;Component&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Modern&#x20;Backend&#x20;Interface"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-admin-grid-ui-component-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-builder-pattern-search-criteria</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-builder-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-builder-pattern-search-criteria" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-builder-pattern-search-criteria.webp</image:loc><image:title>Builder Pattern in Magento 2 | Building Complex Objects Step by Step</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Builder&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Building&#x20;Complex&#x20;Objects&#x20;Step&#x20;by&#x20;Step"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-builder-pattern-search-criteria.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-cli-commands-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-cli-befehle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-cli-commands-developers" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-cli-commands-developers.webp</image:loc><image:title>20 Essential CLI Commands for Magento Developers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="20&#x20;Essential&#x20;CLI&#x20;Commands&#x20;for&#x20;Magento&#x20;Developers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-cli-commands-developers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-composer-patches-core-fixes-without-fork</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-composer-patches" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-composer-patches-core-fixes-without-fork" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-composer-patches-core-fixes-without-fork.webp</image:loc><image:title>Composer Patches in Magento 2 | Apply Core Fixes Without a Fork</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Composer&#x20;Patches&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Apply&#x20;Core&#x20;Fixes&#x20;Without&#x20;a&#x20;Fork"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-composer-patches-core-fixes-without-fork.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-composite-pattern-design-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-composite-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-composite-pattern-design-patterns" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-composite-pattern-design-patterns.webp</image:loc><image:title>Composite Pattern in Magento 2 | Price Rules and Tree Structures</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Composite&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Price&#x20;Rules&#x20;and&#x20;Tree&#x20;Structures"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-composite-pattern-design-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-cron-jobs-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-cron-jobs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-cron-jobs-guide" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-cron-jobs-guide.webp</image:loc><image:title>Defining, Monitoring and Debugging Cron Jobs in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Defining,&#x20;Monitoring&#x20;and&#x20;Debugging&#x20;Cron&#x20;Jobs&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-cron-jobs-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-custom-product-attribute-frontend-widget</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-custom-product-attribute-widget" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-custom-product-attribute-frontend-widget" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-custom-product-attribute-frontend-widget.webp</image:loc><image:title>Custom Product Attribute with Its Own Frontend Widget in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Product&#x20;Attribute&#x20;with&#x20;Its&#x20;Own&#x20;Frontend&#x20;Widget&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-custom-product-attribute-frontend-widget.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-custom-shipping-carrier-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-custom-shipping-rate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-custom-shipping-carrier-guide" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-custom-shipping-carrier-guide.webp</image:loc><image:title>Custom Shipping Rate in Magento 2 | Building Your Own Shipping Cost Logic</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Shipping&#x20;Rate&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Building&#x20;Your&#x20;Own&#x20;Shipping&#x20;Cost&#x20;Logic"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-custom-shipping-carrier-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-customer-attribute-eav-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-customer-attribute" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-customer-attribute-eav-guide" />
<lastmod>2026-07-12T15:51:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-customer-attribute-eav-guide.webp</image:loc><image:title>Add Customer Attribute in Magento 2 | Doing EAV Extension Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Add&#x20;Customer&#x20;Attribute&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Doing&#x20;EAV&#x20;Extension&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-customer-attribute-eav-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-customer-segments-personalization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-customer-segments" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-customer-segments-personalization" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-customer-segments-personalization.webp</image:loc><image:title>Customer Segments in Magento 2 | Personalization Without Third-Party Tools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Customer&#x20;Segments&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Personalization&#x20;Without&#x20;Third-Party&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-customer-segments-personalization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-db-schema-xml-common-mistakes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-db-schema-fehler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-db-schema-xml-common-mistakes" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-db-schema-xml-common-mistakes.webp</image:loc><image:title>db_schema.xml in Magento 2 | 5 Common Mistakes to Avoid</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="db_schema.xml&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;5&#x20;Common&#x20;Mistakes&#x20;to&#x20;Avoid"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-db-schema-xml-common-mistakes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-eav-vs-flat-table-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-eav-vs-flat-table" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-eav-vs-flat-table-comparison" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-eav-vs-flat-table-comparison.webp</image:loc><image:title>EAV vs. Flat Table in Magento 2 | When Which Data Structure Makes Sense</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="EAV&#x20;vs.&#x20;Flat&#x20;Table&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;When&#x20;Which&#x20;Data&#x20;Structure&#x20;Makes&#x20;Sense"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-eav-vs-flat-table-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-create-custom-module-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-eigenes-modul-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-create-custom-module-tutorial" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-create-custom-module-tutorial.webp</image:loc><image:title>Create a Custom Magento 2 Module | Step by Step Tutorial</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Create&#x20;a&#x20;Custom&#x20;Magento&#x20;2&#x20;Module&#x20;&#x7C;&#x20;Step&#x20;by&#x20;Step&#x20;Tutorial"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-create-custom-module-tutorial.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-elasticsearch-opensearch-search-tuning-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-elasticsearch-opensearch-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-elasticsearch-opensearch-search-tuning-guide" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-elasticsearch-opensearch-search-tuning-guide.webp</image:loc><image:title>Tuning Elasticsearch and OpenSearch in Magento 2 | Synonyms, Boosters, Filters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tuning&#x20;Elasticsearch&#x20;and&#x20;OpenSearch&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Synonyms,&#x20;Boosters,&#x20;Filters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-elasticsearch-opensearch-search-tuning-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-front-controller-pattern-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-front-controller-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-front-controller-pattern-explained" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-front-controller-pattern-explained.webp</image:loc><image:title>Front Controller Pattern in Magento 2: From index.php to the Controller | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Front&#x20;Controller&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;From&#x20;index.php&#x20;to&#x20;the&#x20;Controller&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-front-controller-pattern-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-full-page-cache-selective-invalidation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-full-page-cache" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-full-page-cache-selective-invalidation" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-full-page-cache-selective-invalidation.webp</image:loc><image:title>Full Page Cache in Magento 2 | Find Hole Punches and Invalidate Selectively</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Full&#x20;Page&#x20;Cache&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Find&#x20;Hole&#x20;Punches&#x20;and&#x20;Invalidate&#x20;Selectively"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-full-page-cache-selective-invalidation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-2-cicd-github-actions-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-github-actions-cicd" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-2-cicd-github-actions-guide" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-2-cicd-github-actions-guide.webp</image:loc><image:title>Setting Up CI/CD for Magento 2 with GitHub Actions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;CI&#x2F;CD&#x20;for&#x20;Magento&#x20;2&#x20;with&#x20;GitHub&#x20;Actions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-2-cicd-github-actions-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-graphql-resolver-query-mutation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-graphql-resolver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-graphql-resolver-query-mutation" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-graphql-resolver-query-mutation.webp</image:loc><image:title>Writing Your Own GraphQL Resolver in Magento 2 | Query and Mutation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Your&#x20;Own&#x20;GraphQL&#x20;Resolver&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Query&#x20;and&#x20;Mutation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-graphql-resolver-query-mutation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-import-export-large-catalogs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-import-export-grosse-kataloge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-import-export-large-catalogs" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-import-export-large-catalogs.webp</image:loc><image:title>Import/Export in Magento 2 | Large Catalogs Without Timeouts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Import&#x2F;Export&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Large&#x20;Catalogs&#x20;Without&#x20;Timeouts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-import-export-large-catalogs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-2-indexer-realtime-scheduled-mview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-indexer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-2-indexer-realtime-scheduled-mview" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-2-indexer-realtime-scheduled-mview.webp</image:loc><image:title>Magento 2 Indexer | Types, Strategies and Performance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;2&#x20;Indexer&#x20;&#x7C;&#x20;Types,&#x20;Strategies&#x20;and&#x20;Performance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-2-indexer-realtime-scheduled-mview.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-injectable-vs-non-injectable-objects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-injectable-vs-non-injectable" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-injectable-vs-non-injectable-objects" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-injectable-vs-non-injectable-objects.webp</image:loc><image:title>Injectable vs. Non-Injectable Objects in Magento 2: The Underestimated Boundary | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Injectable&#x20;vs.&#x20;Non-Injectable&#x20;Objects&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;The&#x20;Underestimated&#x20;Boundary&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-injectable-vs-non-injectable-objects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-collection-iterator-pattern-lazy-loading</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-iterator-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-collection-iterator-pattern-lazy-loading" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-collection-iterator-pattern-lazy-loading.webp</image:loc><image:title>Iterator Pattern in Magento 2: Collections and Varien_Data_Collection | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Iterator&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Collections&#x20;and&#x20;Varien_Data_Collection&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-collection-iterator-pattern-lazy-loading.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-2-logging-monolog-log-channels</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-logging-monolog" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-2-logging-monolog-log-channels" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-2-logging-monolog-log-channels.webp</image:loc><image:title>Magento 2 Logging | Custom Log Channels with Monolog</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;2&#x20;Logging&#x20;&#x7C;&#x20;Custom&#x20;Log&#x20;Channels&#x20;with&#x20;Monolog"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-2-logging-monolog-log-channels.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-message-queue-rabbitmq-async-processing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-message-queue-rabbitmq" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-message-queue-rabbitmq-async-processing" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-message-queue-rabbitmq-async-processing.webp</image:loc><image:title>Message Queue with RabbitMQ in Magento 2 | Async Processing Tutorial</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Message&#x20;Queue&#x20;with&#x20;RabbitMQ&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Async&#x20;Processing&#x20;Tutorial"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-message-queue-rabbitmq-async-processing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-msi-multi-source-inventory-custom-source</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-msi-custom-source" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-msi-multi-source-inventory-custom-source" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-msi-multi-source-inventory-custom-source.webp</image:loc><image:title>MSI in Magento 2 | Getting Custom Source and Reservations Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MSI&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Getting&#x20;Custom&#x20;Source&#x20;and&#x20;Reservations&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-msi-multi-source-inventory-custom-source.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-multi-store-architecture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-multi-store" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-multi-store-architecture" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-multi-store-architecture.webp</image:loc><image:title>Magento 2 Multi-Store | One Instance, Many Shops</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;2&#x20;Multi-Store&#x20;&#x7C;&#x20;One&#x20;Instance,&#x20;Many&#x20;Shops"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-multi-store-architecture.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-mvc-architecture-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-mvc-kein-klassisches-mvc" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-mvc-architecture-explained" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-mvc-architecture-explained.webp</image:loc><image:title>MVC in Magento 2: Why It Is Not Classic MVC (Architecture Explained) | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MVC&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Why&#x20;It&#x20;Is&#x20;Not&#x20;Classic&#x20;MVC&#x20;&#x28;Architecture&#x20;Explained&#x29;&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-mvc-architecture-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-object-pool-pattern-resource-connection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-object-pool-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-object-pool-pattern-resource-connection" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-object-pool-pattern-resource-connection.webp</image:loc><image:title>Object Pool Pattern in Magento 2: Reuse Objects Instead of Creating New Ones | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Object&#x20;Pool&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Reuse&#x20;Objects&#x20;Instead&#x20;of&#x20;Creating&#x20;New&#x20;Ones&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-object-pool-pattern-resource-connection.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-page-builder-custom-content-type-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-page-builder-content-type" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-page-builder-custom-content-type-guide" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-page-builder-custom-content-type-guide.webp</image:loc><image:title>Page Builder Custom Content Type in Magento 2 from Scratch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Page&#x20;Builder&#x20;Custom&#x20;Content&#x20;Type&#x20;in&#x20;Magento&#x20;2&#x20;from&#x20;Scratch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-page-builder-custom-content-type-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-stripe-payment-gateway-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-payment-gateway-stripe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-stripe-payment-gateway-integration" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-stripe-payment-gateway-integration.webp</image:loc><image:title>Payment Gateway Integration in Magento 2 | Stripe From Scratch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Payment&#x20;Gateway&#x20;Integration&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Stripe&#x20;From&#x20;Scratch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-stripe-payment-gateway-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-performance-optimization-checklist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-performance-quick-wins" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-performance-optimization-checklist" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-performance-optimization-checklist.webp</image:loc><image:title>Magento 2 Performance | 10 Quick Wins for Faster Load Times</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;2&#x20;Performance&#x20;&#x7C;&#x20;10&#x20;Quick&#x20;Wins&#x20;for&#x20;Faster&#x20;Load&#x20;Times"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-performance-optimization-checklist.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-phpstan-level-8-baseline-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-phpstan-level-8" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-phpstan-level-8-baseline-guide" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-phpstan-level-8-baseline-guide.webp</image:loc><image:title>PHPStan Level 8 for Magento Modules | Setup and Baseline</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPStan&#x20;Level&#x20;8&#x20;for&#x20;Magento&#x20;Modules&#x20;&#x7C;&#x20;Setup&#x20;and&#x20;Baseline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-phpstan-level-8-baseline-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-preferences-vs-plugins-extension-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-preferences-vs-plugins" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-preferences-vs-plugins-extension-strategy" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-preferences-vs-plugins-extension-strategy.webp</image:loc><image:title>Preferences vs. Plugins in Magento 2: Which Extension Strategy When? | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preferences&#x20;vs.&#x20;Plugins&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Which&#x20;Extension&#x20;Strategy&#x20;When&#x3F;&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-preferences-vs-plugins-extension-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-2-performance-profiling-blackfire-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-profiling-blackfire" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-2-performance-profiling-blackfire-guide" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-2-performance-profiling-blackfire-guide.webp</image:loc><image:title>Magento 2 Profiling | Blackfire.io and the Built-in Profiler</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;2&#x20;Profiling&#x20;&#x7C;&#x20;Blackfire.io&#x20;and&#x20;the&#x20;Built-in&#x20;Profiler"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-2-performance-profiling-blackfire-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-prototype-pattern-clone-factory-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-prototype-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-prototype-pattern-clone-factory-guide" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-prototype-pattern-clone-factory-guide.webp</image:loc><image:title>Prototype Pattern in Magento 2: Extending Abstract Factory | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Prototype&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Extending&#x20;Abstract&#x20;Factory&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-prototype-pattern-clone-factory-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-registry-pattern-deprecated-viewmodel-alternative</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-registry-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-registry-pattern-deprecated-viewmodel-alternative" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-registry-pattern-deprecated-viewmodel-alternative.webp</image:loc><image:title>Registry Pattern in Magento 2: Legacy Anti-Pattern or Still Useful? | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Registry&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Legacy&#x20;Anti-Pattern&#x20;or&#x20;Still&#x20;Useful&#x3F;&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-registry-pattern-deprecated-viewmodel-alternative.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-custom-rest-api-endpoint-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-rest-api-endpoint" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-custom-rest-api-endpoint-tutorial" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-custom-rest-api-endpoint-tutorial.webp</image:loc><image:title>Custom REST API Endpoint in Magento 2 | From webapi.xml to the Token</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;REST&#x20;API&#x20;Endpoint&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;From&#x20;webapi.xml&#x20;to&#x20;the&#x20;Token"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-custom-rest-api-endpoint-tutorial.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-rest-vs-graphql-api-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-rest-vs-graphql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-rest-vs-graphql-api-comparison" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-rest-vs-graphql-api-comparison.webp</image:loc><image:title>REST vs. GraphQL in Magento 2 | When to Use Which API</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="REST&#x20;vs.&#x20;GraphQL&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;When&#x20;to&#x20;Use&#x20;Which&#x20;API"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-rest-vs-graphql-api-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-searchcriteria-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-searchcriteria" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-searchcriteria-guide" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-searchcriteria-guide.webp</image:loc><image:title>Mastering SearchCriteria in Magento 2 | AND/OR Filters, Pagination, Sorting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mastering&#x20;SearchCriteria&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;AND&#x2F;OR&#x20;Filters,&#x20;Pagination,&#x20;Sorting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-searchcriteria-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-security-csrf-xss-sql-injection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-security" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-security-csrf-xss-sql-injection" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-security-csrf-xss-sql-injection.webp</image:loc><image:title>Magento 2 Security | Preventing CSRF, XSS and SQL Injection</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;2&#x20;Security&#x20;&#x7C;&#x20;Preventing&#x20;CSRF,&#x20;XSS&#x20;and&#x20;SQL&#x20;Injection"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-security-csrf-xss-sql-injection.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-service-locator-pattern-constructor-injection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-service-locator-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-service-locator-pattern-constructor-injection" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-service-locator-pattern-constructor-injection.webp</image:loc><image:title>Service Locator Pattern in Magento 2: Why ObjectManager Is Evil | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Service&#x20;Locator&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Why&#x20;ObjectManager&#x20;Is&#x20;Evil&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-service-locator-pattern-constructor-injection.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-singleton-pattern-shared-objects-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-singleton-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-singleton-pattern-shared-objects-guide" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-singleton-pattern-shared-objects-guide.webp</image:loc><image:title>Singleton Pattern in Magento 2: Where It Hides and Why You Should Avoid It | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Singleton&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Where&#x20;It&#x20;Hides&#x20;and&#x20;Why&#x20;You&#x20;Should&#x20;Avoid&#x20;It&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-singleton-pattern-shared-objects-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-staging-preview-scheduled-updates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-staging-preview" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-staging-preview-scheduled-updates" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-staging-preview-scheduled-updates.webp</image:loc><image:title>Staging and Preview in Magento 2 | How Scheduled Updates Work Internally</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Staging&#x20;and&#x20;Preview&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;How&#x20;Scheduled&#x20;Updates&#x20;Work&#x20;Internally"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-staging-preview-scheduled-updates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-strategy-pattern-carrier-pricing-tax</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-strategy-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-strategy-pattern-carrier-pricing-tax" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-strategy-pattern-carrier-pricing-tax.webp</image:loc><image:title>Strategy Pattern in Magento 2: Interchangeable Algorithms | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Strategy&#x20;Pattern&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Interchangeable&#x20;Algorithms&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-strategy-pattern-carrier-pricing-tax.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-third-party-module-quality-checklist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-third-party-module-bewerten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-third-party-module-quality-checklist" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-third-party-module-quality-checklist.webp</image:loc><image:title>Evaluating Third-Party Modules in Magento 2 | 10 Quality Criteria</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Evaluating&#x20;Third-Party&#x20;Modules&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;10&#x20;Quality&#x20;Criteria"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-third-party-module-quality-checklist.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-unit-tests-without-bootstrap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-unit-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-unit-tests-without-bootstrap" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-unit-tests-without-bootstrap.webp</image:loc><image:title>Unit Tests in Magento 2 | Fast and Effective Without Bootstrap</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Unit&#x20;Tests&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;Fast&#x20;and&#x20;Effective&#x20;Without&#x20;Bootstrap"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-unit-tests-without-bootstrap.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-2-upgrade-checklist-248</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-upgrade-checkliste-248" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-2-upgrade-checklist-248" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-2-upgrade-checklist-248.webp</image:loc><image:title>Magento 2 Upgrade Checklist | From 2.4.x to 2.4.8</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;2&#x20;Upgrade&#x20;Checklist&#x20;&#x7C;&#x20;From&#x20;2.4.x&#x20;to&#x20;2.4.8"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-2-upgrade-checklist-248.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-virtual-types-di-xml-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-virtual-types" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-virtual-types-di-xml-guide" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-virtual-types-di-xml-guide.webp</image:loc><image:title>Virtual Types in Magento 2 di.xml: Clone Classes Without Code | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Virtual&#x20;Types&#x20;in&#x20;Magento&#x20;2&#x20;di.xml&#x3A;&#x20;Clone&#x20;Classes&#x20;Without&#x20;Code&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-virtual-types-di-xml-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-xdebug-phpstorm-debugging-workflow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-xdebug-phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-xdebug-phpstorm-debugging-workflow" />
<lastmod>2026-07-12T15:51:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-xdebug-phpstorm-debugging-workflow.webp</image:loc><image:title>Xdebug + PHPStorm in Magento 2 | The Optimal Debug Workflow</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Xdebug&#x20;&#x2B;&#x20;PHPStorm&#x20;in&#x20;Magento&#x20;2&#x20;&#x7C;&#x20;The&#x20;Optimal&#x20;Debug&#x20;Workflow"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-xdebug-phpstorm-debugging-workflow.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-tools-plugins-shortcuts-for-php-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-50-phpstorm-tools-plugins-und-shortcuts-fur-php-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-tools-plugins-shortcuts-for-php-teams" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-tools-plugins-shortcuts-for-php-teams.webp</image:loc><image:title>50 PHPStorm Tools, Plugins and Shortcuts for PHP Teams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="50&#x20;PHPStorm&#x20;Tools,&#x20;Plugins&#x20;and&#x20;Shortcuts&#x20;for&#x20;PHP&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-tools-plugins-shortcuts-for-php-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-blade-twig-phtml-and-mixed-template-worlds-in-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-blade-twig-phtml-und-gemischte-template-welten-in-phpstorm-pflegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-blade-twig-phtml-and-mixed-template-worlds-in-phpstorm" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-blade-twig-phtml-and-mixed-template-worlds-in-phpstorm.webp</image:loc><image:title>Blade, Twig, PHTML and Mixed Template Worlds in PHPStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Blade,&#x20;Twig,&#x20;PHTML&#x20;and&#x20;Mixed&#x20;Template&#x20;Worlds&#x20;in&#x20;PHPStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-blade-twig-phtml-and-mixed-template-worlds-in-phpstorm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-configuring-code-inspections-wisely-instead-of-warning-noise</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-code-inspections-sinnvoll-konfigurieren-statt-warnungsrauschen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-configuring-code-inspections-wisely-instead-of-warning-noise" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-configuring-code-inspections-wisely-instead-of-warning-noise.webp</image:loc><image:title>Configuring Code Inspections Wisely Instead of Warning Noise</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Code&#x20;Inspections&#x20;Wisely&#x20;Instead&#x20;of&#x20;Warning&#x20;Noise"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-configuring-code-inspections-wisely-instead-of-warning-noise.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-code-reviews-in-phpstorm-diffs-history-blame-todos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-code-reviews-in-phpstorm-vorbereiten-diffs-history-blame-todos" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-code-reviews-in-phpstorm-diffs-history-blame-todos" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-code-reviews-in-phpstorm-diffs-history-blame-todos.webp</image:loc><image:title>Preparing Code Reviews in PhpStorm: Diffs, History, Blame and TODOs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preparing&#x20;Code&#x20;Reviews&#x20;in&#x20;PhpStorm&#x3A;&#x20;Diffs,&#x20;History,&#x20;Blame&#x20;and&#x20;TODOs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-code-reviews-in-phpstorm-diffs-history-blame-todos.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-composer-node-npm-yarn-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-composer-node-npm-und-yarn-in-phpstorm-sauber-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-composer-node-npm-yarn-integration" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-composer-node-npm-yarn-integration.webp</image:loc><image:title>Integrating Composer, Node, npm and Yarn Cleanly in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrating&#x20;Composer,&#x20;Node,&#x20;npm&#x20;and&#x20;Yarn&#x20;Cleanly&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-composer-node-npm-yarn-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-composer-scripts-and-custom-tools-as-toolbar-buttons</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-composer-scripts-und-custom-tools-in-phpstorm-buttons-gieen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-composer-scripts-and-custom-tools-as-toolbar-buttons" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-composer-scripts-and-custom-tools-as-toolbar-buttons.webp</image:loc><image:title>Composer Scripts and Custom Tools in PhpStorm: Casting Buttons</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Composer&#x20;Scripts&#x20;and&#x20;Custom&#x20;Tools&#x20;in&#x20;PhpStorm&#x3A;&#x20;Casting&#x20;Buttons"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-composer-scripts-and-custom-tools-as-toolbar-buttons.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-database-tools-for-mysql-and-mariadb-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-database-tools-in-phpstorm-fur-mysql-und-mariadb-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-database-tools-for-mysql-and-mariadb-done-right" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-database-tools-for-mysql-and-mariadb-done-right.webp</image:loc><image:title>Database Tools in PhpStorm for MySQL and MariaDB Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Database&#x20;Tools&#x20;in&#x20;PhpStorm&#x20;for&#x20;MySQL&#x20;and&#x20;MariaDB&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-database-tools-for-mysql-and-mariadb-done-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-deployment-and-remote-hosts-in-phpstorm-when-useful-when-not</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-deployment-und-remote-hosts-in-phpstorm-wann-nutzlich-wann-nicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-deployment-and-remote-hosts-in-phpstorm-when-useful-when-not" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-deployment-and-remote-hosts-in-phpstorm-when-useful-when-not.webp</image:loc><image:title>Deployment and Remote Hosts in PhpStorm: When Useful, When Not</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Deployment&#x20;and&#x20;Remote&#x20;Hosts&#x20;in&#x20;PhpStorm&#x3A;&#x20;When&#x20;Useful,&#x20;When&#x20;Not"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-deployment-and-remote-hosts-in-phpstorm-when-useful-when-not.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-dev-containers-and-docker-based-workspaces-in-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-dev-container-und-docker-basierte-workspaces-in-phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-dev-containers-and-docker-based-workspaces-in-phpstorm" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-dev-containers-and-docker-based-workspaces-in-phpstorm.webp</image:loc><image:title>Dev Containers and Docker-Based Workspaces in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Dev&#x20;Containers&#x20;and&#x20;Docker-Based&#x20;Workspaces&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-dev-containers-and-docker-based-workspaces-in-phpstorm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-docker-interpreter-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-docker-interpreter-in-phpstorm-sauber-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-docker-interpreter-setup" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-docker-interpreter-setup.webp</image:loc><image:title>Setting Up the Docker Interpreter in PhpStorm Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;the&#x20;Docker&#x20;Interpreter&#x20;in&#x20;PhpStorm&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-docker-interpreter-setup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-docker-logs-processes-and-services-in-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-docker-logs-processes-und-services-direkt-aus-phpstorm-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-docker-logs-processes-and-services-in-phpstorm" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-docker-logs-processes-and-services-in-phpstorm.webp</image:loc><image:title>Using Docker Logs, Processes and Services Directly from PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Docker&#x20;Logs,&#x20;Processes&#x20;and&#x20;Services&#x20;Directly&#x20;from&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-docker-logs-processes-and-services-in-phpstorm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-editorconfig-code-style-team-consistency</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-editorconfig-code-style-und-teamkonsistenz-in-phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-editorconfig-code-style-team-consistency" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-editorconfig-code-style-team-consistency.webp</image:loc><image:title>EditorConfig, Code Style and Team Consistency in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="EditorConfig,&#x20;Code&#x20;Style&#x20;and&#x20;Team&#x20;Consistency&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-editorconfig-code-style-team-consistency.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-debugging-container-setups-xdebug-and-logs-combined</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-fehlersuche-in-container-setups-mit-phpstorm-xdebug-und-logs-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-debugging-container-setups-xdebug-and-logs-combined" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-debugging-container-setups-xdebug-and-logs-combined.webp</image:loc><image:title>Debugging in Container Setups: Combining PhpStorm, Xdebug and Logs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Debugging&#x20;in&#x20;Container&#x20;Setups&#x3A;&#x20;Combining&#x20;PhpStorm,&#x20;Xdebug&#x20;and&#x20;Logs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-debugging-container-setups-xdebug-and-logs-combined.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-file-watchers-without-side-effects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-file-watchers-richtig-einsetzen-statt-unnotige-nebenwirkungen-zu-erzeugen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-file-watchers-without-side-effects" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-file-watchers-without-side-effects.webp</image:loc><image:title>Using File Watchers in PhpStorm the Right Way, Without Unwanted Side Effects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;File&#x20;Watchers&#x20;in&#x20;PhpStorm&#x20;the&#x20;Right&#x20;Way,&#x20;Without&#x20;Unwanted&#x20;Side&#x20;Effects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-file-watchers-without-side-effects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-frontend-workflows-tailwind-alpine-vue-react</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-frontend-workflows-in-phpstorm-tailwind-alpine-vue-react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-frontend-workflows-tailwind-alpine-vue-react" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-frontend-workflows-tailwind-alpine-vue-react.webp</image:loc><image:title>Frontend Workflows in PhpStorm: Tailwind, Alpine.js, Vue &amp; React</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Frontend&#x20;Workflows&#x20;in&#x20;PhpStorm&#x3A;&#x20;Tailwind,&#x20;Alpine.js,&#x20;Vue&#x20;&amp;&#x20;React"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-frontend-workflows-tailwind-alpine-vue-react.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-git-in-phpstorm-branches-rebase-stash-partial-commits-clean-workflows</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-git-in-phpstorm-branches-rebase-stash-partial-commits-sauber-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-git-in-phpstorm-branches-rebase-stash-partial-commits-clean-workflows" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-git-in-phpstorm-branches-rebase-stash-partial-commits-clean-workflows.webp</image:loc><image:title>Git in PhpStorm: Branches, Rebase, Stash, and Partial Commits Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;in&#x20;PhpStorm&#x3A;&#x20;Branches,&#x20;Rebase,&#x20;Stash,&#x20;and&#x20;Partial&#x20;Commits&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-git-in-phpstorm-branches-rebase-stash-partial-commits-clean-workflows.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-graphql-tooling-in-phpstorm-for-magento-and-general-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-graphql-tooling-in-phpstorm-fur-magento-und-allgemeine-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-graphql-tooling-in-phpstorm-for-magento-and-general-apis" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-graphql-tooling-in-phpstorm-for-magento-and-general-apis.webp</image:loc><image:title>GraphQL Tooling in PhpStorm for Magento and General APIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Tooling&#x20;in&#x20;PhpStorm&#x20;for&#x20;Magento&#x20;and&#x20;General&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-graphql-tooling-in-phpstorm-for-magento-and-general-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-keymaps-navigation-and-productivity-hacks-for-power-users</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-keymaps-navigation-und-productivity-hacks-fur-power-user" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-keymaps-navigation-and-productivity-hacks-for-power-users" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-keymaps-navigation-and-productivity-hacks-for-power-users.webp</image:loc><image:title>PhpStorm Keymaps, Navigation and Productivity Hacks for Power Users</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PhpStorm&#x20;Keymaps,&#x20;Navigation&#x20;and&#x20;Productivity&#x20;Hacks&#x20;for&#x20;Power&#x20;Users"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-keymaps-navigation-and-productivity-hacks-for-power-users.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-live-templates-and-postfix-templates-for-php-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-live-templates-und-postfix-templates-fur-php-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-live-templates-and-postfix-templates-for-php-teams" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-live-templates-and-postfix-templates-for-php-teams.webp</image:loc><image:title>Live Templates and Postfix Templates for PHP Teams in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Live&#x20;Templates&#x20;and&#x20;Postfix&#x20;Templates&#x20;for&#x20;PHP&#x20;Teams&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-live-templates-and-postfix-templates-for-php-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-log-files-tail-and-filter-in-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-log-dateien-tail-und-filter-in-phpstorm-produktiv-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-log-files-tail-and-filter-in-phpstorm" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-log-files-tail-and-filter-in-phpstorm.webp</image:loc><image:title>Log Files, Tail and Filter in PhpStorm: A Productive Workflow</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Log&#x20;Files,&#x20;Tail&#x20;and&#x20;Filter&#x20;in&#x20;PhpStorm&#x3A;&#x20;A&#x20;Productive&#x20;Workflow"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-log-files-tail-and-filter-in-phpstorm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-magento-dev-environment-docker-cli-logs-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-magento-dev-umgebung-in-phpstorm-docker-cli-logs-templates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-magento-dev-environment-docker-cli-logs-templates" />
<lastmod>2026-07-19T19:00:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-magento-dev-environment-docker-cli-logs-templates.webp</image:loc><image:title>Magento Dev Environment in PhpStorm: Docker, CLI, Logs &amp; Templates</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Dev&#x20;Environment&#x20;in&#x20;PhpStorm&#x3A;&#x20;Docker,&#x20;CLI,&#x20;Logs&#x20;&amp;&#x20;Templates"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-magento-dev-environment-docker-cli-logs-templates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-magento-graphql-and-rest-endpoints-with-the-built-in-http-client</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-magento-graphql-und-rest-endpoints-mit-dem-integrierten-http-client-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-magento-graphql-and-rest-endpoints-with-the-built-in-http-client" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-magento-graphql-and-rest-endpoints-with-the-built-in-http-client.webp</image:loc><image:title>Test Magento GraphQL &amp; REST Endpoints with the PhpStorm HTTP Client</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Test&#x20;Magento&#x20;GraphQL&#x20;&amp;&#x20;REST&#x20;Endpoints&#x20;with&#x20;the&#x20;PhpStorm&#x20;HTTP&#x20;Client"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-magento-graphql-and-rest-endpoints-with-the-built-in-http-client.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-magento-specific-settings-generated-code-vendor-tests-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-magento-spezifische-einstellungen-generated-code-vendor-tests-templates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-magento-specific-settings-generated-code-vendor-tests-templates" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-magento-specific-settings-generated-code-vendor-tests-templates.webp</image:loc><image:title>Magento-Specific PhpStorm Settings: generated, vendor, Tests &amp; Templates</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento-Specific&#x20;PhpStorm&#x20;Settings&#x3A;&#x20;generated,&#x20;vendor,&#x20;Tests&#x20;&amp;&#x20;Templates"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-magento-specific-settings-generated-code-vendor-tests-templates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-resolve-merge-conflicts-in-phpstorm-efficiently</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-merge-konflikte-in-phpstorm-effizient-losen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-resolve-merge-conflicts-in-phpstorm-efficiently" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-resolve-merge-conflicts-in-phpstorm-efficiently.webp</image:loc><image:title>Resolve Merge Conflicts in PhpStorm Efficiently</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Resolve&#x20;Merge&#x20;Conflicts&#x20;in&#x20;PhpStorm&#x20;Efficiently"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-resolve-merge-conflicts-in-phpstorm-efficiently.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-navigation-large-projects-scopes-custom-searches-structural-search</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-navigation-in-groen-projekten-scopes-custom-searches-structural-search" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-navigation-large-projects-scopes-custom-searches-structural-search" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-navigation-large-projects-scopes-custom-searches-structural-search.webp</image:loc><image:title>Navigation in Large Projects: Scopes, Custom Searches and Structural Search in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Navigation&#x20;in&#x20;Large&#x20;Projects&#x3A;&#x20;Scopes,&#x20;Custom&#x20;Searches&#x20;and&#x20;Structural&#x20;Search&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-navigation-large-projects-scopes-custom-searches-structural-search.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-editing-validating-openapi-files-in-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-openapi-dateien-in-phpstorm-bearbeiten-und-validieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-editing-validating-openapi-files-in-phpstorm" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-editing-validating-openapi-files-in-phpstorm.webp</image:loc><image:title>Editing and Validating OpenAPI Files in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Editing&#x20;and&#x20;Validating&#x20;OpenAPI&#x20;Files&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-editing-validating-openapi-files-in-phpstorm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-path-mappings-explained-not-trial-and-error</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-path-mappings-verstehen-statt-trial-and-error" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-path-mappings-explained-not-trial-and-error" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-path-mappings-explained-not-trial-and-error.webp</image:loc><image:title>Understanding Path Mappings in PhpStorm Instead of Trial and Error</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Path&#x20;Mappings&#x20;in&#x20;PhpStorm&#x20;Instead&#x20;of&#x20;Trial&#x20;and&#x20;Error"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-path-mappings-explained-not-trial-and-error.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-fixing-performance-problems-index-plugins-heap-excludes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-performance-probleme-in-phpstorm-selbst-beheben-index-plugins-heap-excludes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-fixing-performance-problems-index-plugins-heap-excludes" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-fixing-performance-problems-index-plugins-heap-excludes.webp</image:loc><image:title>Fixing PhpStorm Performance Problems Yourself: Index, Plugins, Heap, Excludes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Fixing&#x20;PhpStorm&#x20;Performance&#x20;Problems&#x20;Yourself&#x3A;&#x20;Index,&#x20;Plugins,&#x20;Heap,&#x20;Excludes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-fixing-performance-problems-index-plugins-heap-excludes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-making-phpstan-psalm-and-phpcs-work-directly-in-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-phpstan-psalm-und-phpcs-in-phpstorm-direkt-nutzbar-machen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-making-phpstan-psalm-and-phpcs-work-directly-in-phpstorm" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-making-phpstan-psalm-and-phpcs-work-directly-in-phpstorm.webp</image:loc><image:title>Making PHPStan, Psalm and PHP_CodeSniffer Work Directly in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;PHPStan,&#x20;Psalm&#x20;and&#x20;PHP_CodeSniffer&#x20;Work&#x20;Directly&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-making-phpstan-psalm-and-phpcs-work-directly-in-phpstorm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-phpstorm-as-the-hub-for-docker-and-magento-projects-what-really-belongs-together</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-phpstorm-als-zentrale-fur-docker-und-magento-projekte-was-wirklich-zusammengehort" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-phpstorm-as-the-hub-for-docker-and-magento-projects-what-really-belongs-together" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-phpstorm-as-the-hub-for-docker-and-magento-projects-what-really-belongs-together.webp</image:loc><image:title>PhpStorm as the Hub for Docker and Magento Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PhpStorm&#x20;as&#x20;the&#x20;Hub&#x20;for&#x20;Docker&#x20;and&#x20;Magento&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-phpstorm-as-the-hub-for-docker-and-magento-projects-what-really-belongs-together.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-setup-for-magento-2-indexing-excludes-performance-autocomplete</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-phpstorm-fur-magento-2-einrichten-indexing-excludes-performance-autocomplete" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-setup-for-magento-2-indexing-excludes-performance-autocomplete" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-setup-for-magento-2-indexing-excludes-performance-autocomplete.webp</image:loc><image:title>Setting Up PhpStorm for Magento 2: Indexing, Excludes, Performance &amp; Autocomplete</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;PhpStorm&#x20;for&#x20;Magento&#x20;2&#x3A;&#x20;Indexing,&#x20;Excludes,&#x20;Performance&#x20;&amp;&#x20;Autocomplete"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-setup-for-magento-2-indexing-excludes-performance-autocomplete.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-phpstorm-setup-for-php-projects-interpreter-indexing-memory-quality-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-phpstorm-fur-php-projekte-richtig-einrichten-interpreter-indexing-memory-quality-tools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-phpstorm-setup-for-php-projects-interpreter-indexing-memory-quality-tools" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-phpstorm-setup-for-php-projects-interpreter-indexing-memory-quality-tools.webp</image:loc><image:title>Setting Up PhpStorm for PHP Projects: Interpreter, Indexing, Memory &amp; Quality Tools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;PhpStorm&#x20;for&#x20;PHP&#x20;Projects&#x3A;&#x20;Interpreter,&#x20;Indexing,&#x20;Memory&#x20;&amp;&#x20;Quality&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-phpstorm-setup-for-php-projects-interpreter-indexing-memory-quality-tools.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-phpunit-in-docker-and-magento-projects-clean-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-phpstorm-mit-phpunit-in-docker-und-magento-projekten-sauber-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-phpunit-in-docker-and-magento-projects-clean-setup" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-phpunit-in-docker-and-magento-projects-clean-setup.webp</image:loc><image:title>Using PhpStorm with PHPUnit Cleanly in Docker and Magento Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;PhpStorm&#x20;with&#x20;PHPUnit&#x20;Cleanly&#x20;in&#x20;Docker&#x20;and&#x20;Magento&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-phpunit-in-docker-and-magento-projects-clean-setup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-phpstorm-settings-for-large-monorepos-and-enterprise-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-phpstorm-settings-fur-groe-monorepos-und-enterprise-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-phpstorm-settings-for-large-monorepos-and-enterprise-projects" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-phpstorm-settings-for-large-monorepos-and-enterprise-projects.webp</image:loc><image:title>PhpStorm Settings for Large Monorepos and Enterprise Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PhpStorm&#x20;Settings&#x20;for&#x20;Large&#x20;Monorepos&#x20;and&#x20;Enterprise&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-phpstorm-settings-for-large-monorepos-and-enterprise-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-ci-cd-how-local-and-pipeline-checks-fit-together</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-und-ci-cd-wie-lokale-checks-und-pipeline-checks-zusammenpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-ci-cd-how-local-and-pipeline-checks-fit-together" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-ci-cd-how-local-and-pipeline-checks-fit-together.webp</image:loc><image:title>PhpStorm and CI/CD: How Local Checks and Pipeline Checks Fit Together</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PhpStorm&#x20;and&#x20;CI&#x2F;CD&#x3A;&#x20;How&#x20;Local&#x20;Checks&#x20;and&#x20;Pipeline&#x20;Checks&#x20;Fit&#x20;Together"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-ci-cd-how-local-and-pipeline-checks-fit-together.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-docker-compose-connecting-multiple-services-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-phpstorm-und-docker-compose-mehrere-services-richtig-anbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-docker-compose-connecting-multiple-services-correctly" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-docker-compose-connecting-multiple-services-correctly.webp</image:loc><image:title>PHPStorm and Docker Compose: Connecting Multiple Services Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPStorm&#x20;and&#x20;Docker&#x20;Compose&#x3A;&#x20;Connecting&#x20;Multiple&#x20;Services&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-docker-compose-connecting-multiple-services-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-phpunit-integration-tests-and-coverage-from-phpstorm-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-phpunit-integrationstests-und-coverage-aus-phpstorm-fur-magento-starten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-phpunit-integration-tests-and-coverage-from-phpstorm-for-magento" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-phpunit-integration-tests-and-coverage-from-phpstorm-for-magento.webp</image:loc><image:title>Run PHPUnit Integration Tests and Coverage from PHPStorm for Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Run&#x20;PHPUnit&#x20;Integration&#x20;Tests&#x20;and&#x20;Coverage&#x20;from&#x20;PHPStorm&#x20;for&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-phpunit-integration-tests-and-coverage-from-phpstorm-for-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-plugins-for-magento-and-hyva-which-help-and-which-slow-you-down</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-plugins-fur-magento-und-hyva-welche-wirklich-helfen-und-welche-nur-bremsen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-plugins-for-magento-and-hyva-which-help-and-which-slow-you-down" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-plugins-for-magento-and-hyva-which-help-and-which-slow-you-down.webp</image:loc><image:title>PHPStorm Plugins for Magento and Hyva: Which Ones Actually Help</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPStorm&#x20;Plugins&#x20;for&#x20;Magento&#x20;and&#x20;Hyva&#x3A;&#x20;Which&#x20;Ones&#x20;Actually&#x20;Help"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-plugins-for-magento-and-hyva-which-help-and-which-slow-you-down.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-plugins-for-testing-docker-sql-graphql-and-openapi-choosing-wisely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-plugins-fur-testing-docker-sql-graphql-und-openapi-sinnvoll-auswahlen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-plugins-for-testing-docker-sql-graphql-and-openapi-choosing-wisely" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-plugins-for-testing-docker-sql-graphql-and-openapi-choosing-wisely.webp</image:loc><image:title>Choosing PhpStorm Plugins for Testing, Docker, SQL, GraphQL and OpenAPI Wisely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Choosing&#x20;PhpStorm&#x20;Plugins&#x20;for&#x20;Testing,&#x20;Docker,&#x20;SQL,&#x20;GraphQL&#x20;and&#x20;OpenAPI&#x20;Wisely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-plugins-for-testing-docker-sql-graphql-and-openapi-choosing-wisely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-productive-phpstorm-checklist-docker-magento-php-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-produktive-phpstorm-checkliste-fur-docker-magento-und-php-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-productive-phpstorm-checklist-docker-magento-php-projects" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-productive-phpstorm-checklist-docker-magento-php-projects.webp</image:loc><image:title>Productive PHPStorm Checklist for Docker, Magento and PHP Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Productive&#x20;PHPStorm&#x20;Checklist&#x20;for&#x20;Docker,&#x20;Magento&#x20;and&#x20;PHP&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-productive-phpstorm-checklist-docker-magento-php-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-quality-gates-locally-in-phpstorm-phpstan-phpunit-phpcs-rector</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-quality-gates-lokal-in-phpstorm-bundeln-phpstan-phpunit-phpcs-rector" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-quality-gates-locally-in-phpstorm-phpstan-phpunit-phpcs-rector" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-quality-gates-locally-in-phpstorm-phpstan-phpunit-phpcs-rector.webp</image:loc><image:title>Bundling Quality Gates Locally in PhpStorm: PHPStan, PHPUnit, PHPCS, Rector</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bundling&#x20;Quality&#x20;Gates&#x20;Locally&#x20;in&#x20;PhpStorm&#x3A;&#x20;PHPStan,&#x20;PHPUnit,&#x20;PHPCS,&#x20;Rector"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-quality-gates-locally-in-phpstorm-phpstan-phpunit-phpcs-rector.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-refactorings-in-phpstorm-where-they-are-reliable-and-where-caution-is-needed</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-refactorings-in-phpstorm-wo-sie-zuverlassig-sind-und-wo-vorsicht-notig-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-refactorings-in-phpstorm-where-they-are-reliable-and-where-caution-is-needed" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-refactorings-in-phpstorm-where-they-are-reliable-and-where-caution-is-needed.webp</image:loc><image:title>Refactorings in PhpStorm: Where They Are Reliable and Where Caution Is Needed</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Refactorings&#x20;in&#x20;PhpStorm&#x3A;&#x20;Where&#x20;They&#x20;Are&#x20;Reliable&#x20;and&#x20;Where&#x20;Caution&#x20;Is&#x20;Needed"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-refactorings-in-phpstorm-where-they-are-reliable-and-where-caution-is-needed.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-remote-development-and-ssh-workflows-in-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-remote-development-und-ssh-workflows-in-phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-remote-development-and-ssh-workflows-in-phpstorm" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-remote-development-and-ssh-workflows-in-phpstorm.webp</image:loc><image:title>Remote Development and SSH Workflows in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Remote&#x20;Development&#x20;and&#x20;SSH&#x20;Workflows&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-remote-development-and-ssh-workflows-in-phpstorm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-remote-php-interpreter-vs-local-when-each-setup-is-better</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-remote-php-interpreter-vs-lokal-wann-welches-setup-besser-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-remote-php-interpreter-vs-local-when-each-setup-is-better" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-remote-php-interpreter-vs-local-when-each-setup-is-better.webp</image:loc><image:title>Remote PHP Interpreter vs. Local in PHPStorm: Which Setup Wins When</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Remote&#x20;PHP&#x20;Interpreter&#x20;vs.&#x20;Local&#x20;in&#x20;PHPStorm&#x3A;&#x20;Which&#x20;Setup&#x20;Wins&#x20;When"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-remote-php-interpreter-vs-local-when-each-setup-is-better.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-rest-and-graphql-testing-http-client-environments-variables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-rest-und-graphql-in-phpstorm-testen-http-client-environments-variables" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-rest-and-graphql-testing-http-client-environments-variables" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-rest-and-graphql-testing-http-client-environments-variables.webp</image:loc><image:title>Testing REST and GraphQL in PHPStorm: HTTP Client, Environments and Variables</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;REST&#x20;and&#x20;GraphQL&#x20;in&#x20;PHPStorm&#x3A;&#x20;HTTP&#x20;Client,&#x20;Environments&#x20;and&#x20;Variables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-rest-and-graphql-testing-http-client-environments-variables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-run-configurations-for-phpunit-magento-cli-and-custom-commands</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-run-configurations-fur-phpunit-magento-cli-und-custom-commands" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-run-configurations-for-phpunit-magento-cli-and-custom-commands" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-run-configurations-for-phpunit-magento-cli-and-custom-commands.webp</image:loc><image:title>Run Configurations in PhpStorm for PHPUnit, Magento CLI and Custom Commands</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Run&#x20;Configurations&#x20;in&#x20;PhpStorm&#x20;for&#x20;PHPUnit,&#x20;Magento&#x20;CLI&#x20;and&#x20;Custom&#x20;Commands"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-run-configurations-for-phpunit-magento-cli-and-custom-commands.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-sql-console-explain-plan-and-database-inspections</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-sql-konsole-explain-plan-und-datenbank-inspektionen-in-phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-sql-console-explain-plan-and-database-inspections" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-sql-console-explain-plan-and-database-inspections.webp</image:loc><image:title>SQL Console, EXPLAIN PLAN and Database Inspections in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SQL&#x20;Console,&#x20;EXPLAIN&#x20;PLAN&#x20;and&#x20;Database&#x20;Inspections&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-sql-console-explain-plan-and-database-inspections.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-structural-search-and-replace-for-clean-bulk-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-structural-search-and-replace-fur-saubere-massenanderungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-structural-search-and-replace-for-clean-bulk-changes" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-structural-search-and-replace-for-clean-bulk-changes.webp</image:loc><image:title>Structural Search and Replace in PhpStorm for Clean Bulk Changes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Structural&#x20;Search&#x20;and&#x20;Replace&#x20;in&#x20;PhpStorm&#x20;for&#x20;Clean&#x20;Bulk&#x20;Changes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-structural-search-and-replace-for-clean-bulk-changes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-terminal-in-phpstorm-when-its-enough-and-when-an-external-shell-is-better</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-terminal-in-phpstorm-wann-genug-und-wann-externe-shell-besser-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-terminal-in-phpstorm-when-its-enough-and-when-an-external-shell-is-better" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-terminal-in-phpstorm-when-its-enough-and-when-an-external-shell-is-better.webp</image:loc><image:title>Terminal in PHPStorm: When It's Enough and When an External Shell Is Better</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Terminal&#x20;in&#x20;PHPStorm&#x3A;&#x20;When&#x20;It&#x27;s&#x20;Enough&#x20;and&#x20;When&#x20;an&#x20;External&#x20;Shell&#x20;Is&#x20;Better"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-terminal-in-phpstorm-when-its-enough-and-when-an-external-shell-is-better.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm-xdebug-docker-stable-debugging-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpstorm-xdebug-in-phpstorm-mit-docker-stabil-zum-laufen-bringen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm-xdebug-docker-stable-debugging-setup" />
<lastmod>2026-07-19T19:00:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-xdebug-docker-stable-debugging-setup.webp</image:loc><image:title>Getting Xdebug in PHPStorm with Docker to Run Stably</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Getting&#x20;Xdebug&#x20;in&#x20;PHPStorm&#x20;with&#x20;Docker&#x20;to&#x20;Run&#x20;Stably"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-xdebug-docker-stable-debugging-setup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-50-patterns-for-productive-php-and-magento-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-50-phpunit-patterns-fur-produktive-php-und-magento-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-50-patterns-for-productive-php-and-magento-projects" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-50-patterns-for-productive-php-and-magento-projects.webp</image:loc><image:title>50 PHPUnit Patterns for Productive PHP and Magento Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="50&#x20;PHPUnit&#x20;Patterns&#x20;for&#x20;Productive&#x20;PHP&#x20;and&#x20;Magento&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-50-patterns-for-productive-php-and-magento-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-architecture-tests-dependencies-and-module-boundaries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-architekturtests-und-phpunit-abhangigkeiten-und-modulgrenzen-prufen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-architecture-tests-dependencies-and-module-boundaries" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-architecture-tests-dependencies-and-module-boundaries.webp</image:loc><image:title>Architecture Tests with PHPUnit: Checking Dependencies and Module Boundaries</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Architecture&#x20;Tests&#x20;with&#x20;PHPUnit&#x3A;&#x20;Checking&#x20;Dependencies&#x20;and&#x20;Module&#x20;Boundaries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-architecture-tests-dependencies-and-module-boundaries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-assertions-clarity-over-cleverness</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-bessere-assertions-schreiben-klarheit-vor-cleverness" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-assertions-clarity-over-cleverness" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-assertions-clarity-over-cleverness.webp</image:loc><image:title>Writing Better PHPUnit Assertions: Clarity Over Cleverness</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Better&#x20;PHPUnit&#x20;Assertions&#x3A;&#x20;Clarity&#x20;Over&#x20;Cleverness"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-assertions-clarity-over-cleverness.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-cli-commands-and-exit-codes-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-cli-commands-und-exit-codes-mit-phpunit-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-cli-commands-and-exit-codes-testing" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-cli-commands-and-exit-codes-testing.webp</image:loc><image:title>Testing CLI Commands and Exit Codes with PHPUnit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;CLI&#x20;Commands&#x20;and&#x20;Exit&#x20;Codes&#x20;with&#x20;PHPUnit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-cli-commands-and-exit-codes-testing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-coverage-signal-not-vanity-metric</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-coverage-richtig-lesen-signal-statt-vanity-metrik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-coverage-signal-not-vanity-metric" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-coverage-signal-not-vanity-metric.webp</image:loc><image:title>Reading PHPUnit Coverage Correctly: Signal, Not a Vanity Metric</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reading&#x20;PHPUnit&#x20;Coverage&#x20;Correctly&#x3A;&#x20;Signal,&#x20;Not&#x20;a&#x20;Vanity&#x20;Metric"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-coverage-signal-not-vanity-metric.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-coverage-and-xdebug-for-large-magento-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-coverage-und-xdebug-fur-groe-magento-projekte-nutzbar-machen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-coverage-and-xdebug-for-large-magento-projects" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-coverage-and-xdebug-for-large-magento-projects.webp</image:loc><image:title>Making PHPUnit Coverage and Xdebug Usable for Large Magento Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;PHPUnit&#x20;Coverage&#x20;and&#x20;Xdebug&#x20;Usable&#x20;for&#x20;Large&#x20;Magento&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-coverage-and-xdebug-for-large-magento-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-filesystem-io-testing-without-fragile-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-dateisystem-und-io-code-testen-ohne-fragile-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-filesystem-io-testing-without-fragile-tests" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-filesystem-io-testing-without-fragile-tests.webp</image:loc><image:title>PHPUnit: Testing Filesystem and IO Code Without Fragile Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x3A;&#x20;Testing&#x20;Filesystem&#x20;and&#x20;IO&#x20;Code&#x20;Without&#x20;Fragile&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-filesystem-io-testing-without-fragile-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-database-tests-when-real-db-access-makes-sense</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-datenbanktests-wann-echter-db-zugriff-sinnvoll-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-database-tests-when-real-db-access-makes-sense" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-database-tests-when-real-db-access-makes-sense.webp</image:loc><image:title>PHPUnit Database Tests: When Real DB Access Makes Sense</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;Database&#x20;Tests&#x3A;&#x20;When&#x20;Real&#x20;DB&#x20;Access&#x20;Makes&#x20;Sense"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-database-tests-when-real-db-access-makes-sense.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-dataprovider-vs-duplicate-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-datenprovider-sinnvoll-nutzen-statt-duplizierter-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-dataprovider-vs-duplicate-tests" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-dataprovider-vs-duplicate-tests.webp</image:loc><image:title>Using PHPUnit DataProvider Well Instead of Duplicated Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;PHPUnit&#x20;DataProvider&#x20;Well&#x20;Instead&#x20;of&#x20;Duplicated&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-dataprovider-vs-duplicate-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-deprecations-and-phpunit-upgrades-in-legacy-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-deprecations-und-phpunit-upgrades-in-altprojekten-sauber-fahren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-deprecations-and-phpunit-upgrades-in-legacy-projects" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-deprecations-and-phpunit-upgrades-in-legacy-projects.webp</image:loc><image:title>Handling PHPUnit Deprecations and Upgrades in Legacy Projects Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Handling&#x20;PHPUnit&#x20;Deprecations&#x20;and&#x20;Upgrades&#x20;in&#x20;Legacy&#x20;Projects&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-deprecations-and-phpunit-upgrades-in-legacy-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-testing-exceptions-in-phpunit-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-exceptions-in-phpunit-korrekt-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-testing-exceptions-in-phpunit-correctly" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-testing-exceptions-in-phpunit-correctly.webp</image:loc><image:title>Testing Exceptions in PHPUnit Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;Exceptions&#x20;in&#x20;PHPUnit&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-testing-exceptions-in-phpunit-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-debugging-broken-test-suites-systematic-approach</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-fehlersuche-in-kaputten-test-suites-systematisch-angehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-debugging-broken-test-suites-systematic-approach" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-debugging-broken-test-suites-systematic-approach.webp</image:loc><image:title>Debugging Broken PHPUnit Test Suites Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Debugging&#x20;Broken&#x20;PHPUnit&#x20;Test&#x20;Suites&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-debugging-broken-test-suites-systematic-approach.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-fixtures-builders-and-test-data-organization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-fixtures-builders-und-testdaten-sauber-organisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-fixtures-builders-and-test-data-organization" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-fixtures-builders-and-test-data-organization.webp</image:loc><image:title>PHPUnit Fixtures, Builders and Test Data Organized Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;Fixtures,&#x20;Builders&#x20;and&#x20;Test&#x20;Data&#x20;Organized&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-fixtures-builders-and-test-data-organization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-flaky-tests-detecting-and-eliminating-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-flaky-tests-erkennen-und-systematisch-beseitigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-flaky-tests-detecting-and-eliminating-systematically" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-flaky-tests-detecting-and-eliminating-systematically.webp</image:loc><image:title>Detecting and Systematically Eliminating Flaky Tests in PHPUnit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Detecting&#x20;and&#x20;Systematically&#x20;Eliminating&#x20;Flaky&#x20;Tests&#x20;in&#x20;PHPUnit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-flaky-tests-detecting-and-eliminating-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-golden-master-tests-for-refactorings</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-golden-master-tests-fur-refactorings" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-golden-master-tests-for-refactorings" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-golden-master-tests-for-refactorings.webp</image:loc><image:title>PHPUnit Golden Master Tests for Refactorings</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;Golden&#x20;Master&#x20;Tests&#x20;for&#x20;Refactorings"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-golden-master-tests-for-refactorings.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-graphql-and-rest-endpoints-in-magento-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-graphql-und-rest-endpoints-in-magento-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-graphql-and-rest-endpoints-in-magento-testing" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-graphql-and-rest-endpoints-in-magento-testing.webp</image:loc><image:title>Testing GraphQL and REST Endpoints in Magento with PHPUnit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;GraphQL&#x20;and&#x20;REST&#x20;Endpoints&#x20;in&#x20;Magento&#x20;with&#x20;PHPUnit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-graphql-and-rest-endpoints-in-magento-testing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-http-clients-fake-responses-retries-error-paths</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-http-clients-testen-fake-responses-retries-fehlerpfade" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-http-clients-fake-responses-retries-error-paths" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-http-clients-fake-responses-retries-error-paths.webp</image:loc><image:title>Testing HTTP Clients: Fake Responses, Retries and Error Paths with PHPUnit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;HTTP&#x20;Clients&#x3A;&#x20;Fake&#x20;Responses,&#x20;Retries&#x20;and&#x20;Error&#x20;Paths&#x20;with&#x20;PHPUnit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-http-clients-fake-responses-retries-error-paths.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-legacy-code-testable-characterization-tests-and-safe-refactoring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-legacy-code-testbar-machen-characterization-tests-und-sichere-refactorings" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-legacy-code-testable-characterization-tests-and-safe-refactoring" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-legacy-code-testable-characterization-tests-and-safe-refactoring.webp</image:loc><image:title>Making Legacy Code Testable: Characterization Tests and Safe Refactoring</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;Legacy&#x20;Code&#x20;Testable&#x3A;&#x20;Characterization&#x20;Tests&#x20;and&#x20;Safe&#x20;Refactoring"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-legacy-code-testable-characterization-tests-and-safe-refactoring.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-magento-fixtures-in-integration-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-magento-fixtures-in-integrationstests-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-magento-fixtures-in-integration-tests" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-magento-fixtures-in-integration-tests.webp</image:loc><image:title>Understanding Magento Fixtures in Integration Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Magento&#x20;Fixtures&#x20;in&#x20;Integration&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-magento-fixtures-in-integration-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-magento-integration-tests-setup-and-execution</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-magento-integration-tests-einrichten-und-ausfuhren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-magento-integration-tests-setup-and-execution" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-magento-integration-tests-setup-and-execution.webp</image:loc><image:title>PHPUnit Magento Integration Tests: Setup and Execution</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;Magento&#x20;Integration&#x20;Tests&#x3A;&#x20;Setup&#x20;and&#x20;Execution"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-magento-integration-tests-setup-and-execution.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-magento-repositories-services-and-viewmodels-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-magento-repositories-services-und-viewmodels-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-magento-repositories-services-and-viewmodels-testing" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-magento-repositories-services-and-viewmodels-testing.webp</image:loc><image:title>Magento 2: Testing Repositories, Services and ViewModels with PHPUnit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;2&#x3A;&#x20;Testing&#x20;Repositories,&#x20;Services&#x20;and&#x20;ViewModels&#x20;with&#x20;PHPUnit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-magento-repositories-services-and-viewmodels-testing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-magento-test-pyramide-unit-integration-and-mftf-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-magento-test-pyramide-was-unit-integration-und-mftf-jeweils-leisten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-magento-test-pyramide-unit-integration-and-mftf-explained" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-magento-test-pyramide-unit-integration-and-mftf-explained.webp</image:loc><image:title>Magento 2 Test Pyramid: Unit, Integration and MFTF Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;2&#x20;Test&#x20;Pyramid&#x3A;&#x20;Unit,&#x20;Integration&#x20;and&#x20;MFTF&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-magento-test-pyramide-unit-integration-and-mftf-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-magento-unit-tests-what-actually-works-without-bootstrap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-magento-unit-tests-was-ohne-bootstrap-wirklich-sinnvoll-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-magento-unit-tests-what-actually-works-without-bootstrap" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-magento-unit-tests-what-actually-works-without-bootstrap.webp</image:loc><image:title>Magento Unit Tests: What Actually Works Without Bootstrap</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Unit&#x20;Tests&#x3A;&#x20;What&#x20;Actually&#x20;Works&#x20;Without&#x20;Bootstrap"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-magento-unit-tests-what-actually-works-without-bootstrap.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-mftf-vs-phpunit-vs-api-tests-what-fits-when</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-mftf-vs-phpunit-vs-api-tests-was-wann-passt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-mftf-vs-phpunit-vs-api-tests-what-fits-when" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-mftf-vs-phpunit-vs-api-tests-what-fits-when.webp</image:loc><image:title>MFTF vs. PHPUnit vs. API Tests: What Fits When</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MFTF&#x20;vs.&#x20;PHPUnit&#x20;vs.&#x20;API&#x20;Tests&#x3A;&#x20;What&#x20;Fits&#x20;When"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-mftf-vs-phpunit-vs-api-tests-what-fits-when.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-mocking-anti-patterns-implementation-details-vs-behavior</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-mocking-anti-patterns-wenn-tests-nur-implementierungsdetails-abbilden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-mocking-anti-patterns-implementation-details-vs-behavior" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-mocking-anti-patterns-implementation-details-vs-behavior.webp</image:loc><image:title>Mocking Anti-Patterns: When Tests Only Mirror Implementation Details</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mocking&#x20;Anti-Patterns&#x3A;&#x20;When&#x20;Tests&#x20;Only&#x20;Mirror&#x20;Implementation&#x20;Details"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-mocking-anti-patterns-implementation-details-vs-behavior.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-mocks-stubs-spies-and-test-doubles-clean-conceptual-split</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-mocks-stubs-spies-und-test-doubles-fachlich-sauber-trennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-mocks-stubs-spies-and-test-doubles-clean-conceptual-split" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-mocks-stubs-spies-and-test-doubles-clean-conceptual-split.webp</image:loc><image:title>Mocks, Stubs, Spies and Test Doubles: A Clean Conceptual Split</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mocks,&#x20;Stubs,&#x20;Spies&#x20;and&#x20;Test&#x20;Doubles&#x3A;&#x20;A&#x20;Clean&#x20;Conceptual&#x20;Split"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-mocks-stubs-spies-and-test-doubles-clean-conceptual-split.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-mutation-testing-with-infection-as-a-quality-lever</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-mutation-testing-mit-infection-als-qualitatshebel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-mutation-testing-with-infection-as-a-quality-lever" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-mutation-testing-with-infection-as-a-quality-lever.webp</image:loc><image:title>Mutation Testing with Infection as a Quality Lever for PHPUnit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mutation&#x20;Testing&#x20;with&#x20;Infection&#x20;as&#x20;a&#x20;Quality&#x20;Lever&#x20;for&#x20;PHPUnit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-mutation-testing-with-infection-as-a-quality-lever.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-parallel-test-execution-and-its-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-parallel-testausfuhrung-und-ihre-tucken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-parallel-test-execution-and-its-pitfalls" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-parallel-test-execution-and-its-pitfalls.webp</image:loc><image:title>PHPUnit Parallel Test Execution and Its Pitfalls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;Parallel&#x20;Test&#x20;Execution&#x20;and&#x20;Its&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-parallel-test-execution-and-its-pitfalls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-improving-phpunit-suite-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-performance-von-phpunit-suites-verbessern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-improving-phpunit-suite-performance" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-improving-phpunit-suite-performance.webp</image:loc><image:title>Improving PHPUnit Suite Performance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Improving&#x20;PHPUnit&#x20;Suite&#x20;Performance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-improving-phpunit-suite-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-phpstan-psalm-and-phpunit-together-as-a-quality-chain</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-phpstan-psalm-und-phpunit-zusammen-als-qualitatskette-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-phpstan-psalm-and-phpunit-together-as-a-quality-chain" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-phpstan-psalm-and-phpunit-together-as-a-quality-chain.webp</image:loc><image:title>Using PHPStan, Psalm and PHPUnit Together as a Quality Chain</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;PHPStan,&#x20;Psalm&#x20;and&#x20;PHPUnit&#x20;Together&#x20;as&#x20;a&#x20;Quality&#x20;Chain"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-phpstan-psalm-and-phpunit-together-as-a-quality-chain.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-phpstorm-and-docker-running-tests-cleanly-in-the-container</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-phpstorm-und-docker-phpunit-im-container-sauber-ausfuhren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-phpstorm-and-docker-running-tests-cleanly-in-the-container" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-phpstorm-and-docker-running-tests-cleanly-in-the-container.webp</image:loc><image:title>PhpStorm and Docker: Running PHPUnit Cleanly in the Container</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PhpStorm&#x20;and&#x20;Docker&#x3A;&#x20;Running&#x20;PHPUnit&#x20;Cleanly&#x20;in&#x20;the&#x20;Container"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-phpstorm-and-docker-running-tests-cleanly-in-the-container.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-11-what-changed-and-what-teams-need-to-adjust</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-phpunit-11-was-sich-geandert-hat-und-was-teams-anpassen-mussen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-11-what-changed-and-what-teams-need-to-adjust" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-11-what-changed-and-what-teams-need-to-adjust.webp</image:loc><image:title>PHPUnit 11: What Changed and What Teams Need to Adjust</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;11&#x3A;&#x20;What&#x20;Changed&#x20;and&#x20;What&#x20;Teams&#x20;Need&#x20;to&#x20;Adjust"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-11-what-changed-and-what-teams-need-to-adjust.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-phpstorm-remote-interpreter-and-run-configurations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-phpunit-fur-magento-in-phpstorm-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-phpstorm-remote-interpreter-and-run-configurations" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-phpstorm-remote-interpreter-and-run-configurations.webp</image:loc><image:title>Configuring PHPUnit for Magento in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;PHPUnit&#x20;for&#x20;Magento&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-phpstorm-remote-interpreter-and-run-configurations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-gitlab-ci-and-github-actions-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-phpunit-in-gitlab-ci-und-github-actions-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-gitlab-ci-and-github-actions-integration" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-gitlab-ci-and-github-actions-integration.webp</image:loc><image:title>Integrating PHPUnit into GitLab CI and GitHub Actions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrating&#x20;PHPUnit&#x20;into&#x20;GitLab&#x20;CI&#x20;and&#x20;GitHub&#x20;Actions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-gitlab-ci-and-github-actions-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-phpstorm-run-configurations-coverage-and-test-filters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-in-phpstorm-run-configurations-coverage-test-filter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-phpstorm-run-configurations-coverage-and-test-filters" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-phpstorm-run-configurations-coverage-and-test-filters.webp</image:loc><image:title>PHPUnit in PhpStorm: Run Configurations, Coverage and Test Filters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;in&#x20;PhpStorm&#x3A;&#x20;Run&#x20;Configurations,&#x20;Coverage&#x20;and&#x20;Test&#x20;Filters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-phpstorm-run-configurations-coverage-and-test-filters.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-clean-setup-composer-bootstrap-phpunit-xml-test-suites</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-phpunit-sauber-einrichten-composer-bootstrap-phpunit-xml-suites" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-clean-setup-composer-bootstrap-phpunit-xml-test-suites" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-clean-setup-composer-bootstrap-phpunit-xml-test-suites.webp</image:loc><image:title>Setting Up PHPUnit Properly: Composer, Bootstrap, phpunit.xml and Test Suites</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;PHPUnit&#x20;Properly&#x3A;&#x20;Composer,&#x20;Bootstrap,&#x20;phpunit.xml&#x20;and&#x20;Test&#x20;Suites"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-clean-setup-composer-bootstrap-phpunit-xml-test-suites.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-magento-plugins-and-observer-testable-design</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-plugins-und-observer-in-magento-testbar-halten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-magento-plugins-and-observer-testable-design" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-magento-plugins-and-observer-testable-design.webp</image:loc><image:title>Keeping Plugins and Observers in Magento Testable with PHPUnit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Keeping&#x20;Plugins&#x20;and&#x20;Observers&#x20;in&#x20;Magento&#x20;Testable&#x20;with&#x20;PHPUnit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-magento-plugins-and-observer-testable-design.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-production-ready-checklist-structure-speed-docker-phpstorm-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-produktive-phpunit-checkliste-struktur-geschwindigkeit-docker-phpstorm-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-production-ready-checklist-structure-speed-docker-phpstorm-magento" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-production-ready-checklist-structure-speed-docker-phpstorm-magento.webp</image:loc><image:title>Production-Ready PHPUnit Checklist: Structure, Speed, Docker, PhpStorm, Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Production-Ready&#x20;PHPUnit&#x20;Checklist&#x3A;&#x20;Structure,&#x20;Speed,&#x20;Docker,&#x20;PhpStorm,&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-production-ready-checklist-structure-speed-docker-phpstorm-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-property-based-testing-for-php-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-property-based-testing-fur-php-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-property-based-testing-for-php-projects" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-property-based-testing-for-php-projects.webp</image:loc><image:title>Property-based Testing for PHP Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Property-based&#x20;Testing&#x20;for&#x20;PHP&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-property-based-testing-for-php-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-searchcriteria-collections-and-eav-access-in-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-searchcriteria-collections-und-eav-zugriffe-in-tests-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-searchcriteria-collections-and-eav-access-in-tests" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-searchcriteria-collections-and-eav-access-in-tests.webp</image:loc><image:title>Securing SearchCriteria, Collections and EAV Access in Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Securing&#x20;SearchCriteria,&#x20;Collections&#x20;and&#x20;EAV&#x20;Access&#x20;in&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-searchcriteria-collections-and-eav-access-in-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-snapshots-in-php-tests-when-useful-when-dangerous</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-snapshots-in-php-tests-wann-nutzlich-wann-gefahrlich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-snapshots-in-php-tests-when-useful-when-dangerous" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-snapshots-in-php-tests-when-useful-when-dangerous.webp</image:loc><image:title>PHPUnit Snapshots in PHP Tests: When Useful, When Dangerous</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;Snapshots&#x20;in&#x20;PHP&#x20;Tests&#x3A;&#x20;When&#x20;Useful,&#x20;When&#x20;Dangerous"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-snapshots-in-php-tests-when-useful-when-dangerous.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-tdd-in-php-realistically-applied</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-tdd-in-php-realistisch-anwenden-statt-nur-daruber-reden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-tdd-in-php-realistically-applied" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-tdd-in-php-realistically-applied.webp</image:loc><image:title>Applying TDD in PHP Realistically Instead of Just Talking About It</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Applying&#x20;TDD&#x20;in&#x20;PHP&#x20;Realistically&#x20;Instead&#x20;of&#x20;Just&#x20;Talking&#x20;About&#x20;It"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-tdd-in-php-realistically-applied.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-test-reviews-in-teams-what-tests-should-actually-check</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-test-reviews-in-teams-was-an-tests-wirklich-gepruft-werden-sollte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-test-reviews-in-teams-what-tests-should-actually-check" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-test-reviews-in-teams-what-tests-should-actually-check.webp</image:loc><image:title>PHPUnit Test Reviews in Teams: What Tests Should Actually Be Checked For</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;Test&#x20;Reviews&#x20;in&#x20;Teams&#x3A;&#x20;What&#x20;Tests&#x20;Should&#x20;Actually&#x20;Be&#x20;Checked&#x20;For"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-test-reviews-in-teams-what-tests-should-actually-check.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-testable-services-design-decisions-that-ease-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-testbare-services-bauen-wo-produktionscode-tests-erleichtert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-testable-services-design-decisions-that-ease-testing" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-testable-services-design-decisions-that-ease-testing.webp</image:loc><image:title>Building Testable Services: Where Production Code Makes Testing Easier</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Testable&#x20;Services&#x3A;&#x20;Where&#x20;Production&#x20;Code&#x20;Makes&#x20;Testing&#x20;Easier"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-testable-services-design-decisions-that-ease-testing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-test-reports-and-junit-xml-in-ci-clean-output</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-testberichte-und-junit-xml-in-ci-sauber-ausgeben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-test-reports-and-junit-xml-in-ci-clean-output" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-test-reports-and-junit-xml-in-ci-clean-output.webp</image:loc><image:title>PHPUnit Test Reports and JUnit XML in CI, Output Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;Test&#x20;Reports&#x20;and&#x20;JUnit&#x20;XML&#x20;in&#x20;CI,&#x20;Output&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-test-reports-and-junit-xml-in-ci-clean-output.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-test-data-magento-databuilder-not-fixture-hell</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-testdaten-in-magento-sauber-aufbauen-statt-fixture-holle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-test-data-magento-databuilder-not-fixture-hell" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-test-data-magento-databuilder-not-fixture-hell.webp</image:loc><image:title>Building Clean PHPUnit Test Data in Magento Instead of Fixture Hell</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Clean&#x20;PHPUnit&#x20;Test&#x20;Data&#x20;in&#x20;Magento&#x20;Instead&#x20;of&#x20;Fixture&#x20;Hell"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-test-data-magento-databuilder-not-fixture-hell.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-api-testing-and-dto-mapping-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-teststrategien-fur-apis-und-dto-mapping" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-api-testing-and-dto-mapping-strategies" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-api-testing-and-dto-mapping-strategies.webp</image:loc><image:title>PHPUnit Test Strategies for APIs and DTO Mapping</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;Test&#x20;Strategies&#x20;for&#x20;APIs&#x20;and&#x20;DTO&#x20;Mapping"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-api-testing-and-dto-mapping-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-unit-test-vs-integration-test-vs-functional-test-in-php-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-unit-test-vs-integration-test-vs-functional-test-in-php-projekten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-unit-test-vs-integration-test-vs-functional-test-in-php-projects" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-unit-test-vs-integration-test-vs-functional-test-in-php-projects.webp</image:loc><image:title>Unit Test vs. Integration Test vs. Functional Test in PHP Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Unit&#x20;Test&#x20;vs.&#x20;Integration&#x20;Test&#x20;vs.&#x20;Functional&#x20;Test&#x20;in&#x20;PHP&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-unit-test-vs-integration-test-vs-functional-test-in-php-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-xdebug-remote-debugging-in-docker-with-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-xdebug-und-phpunit-in-docker-mit-phpstorm-richtig-verbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-xdebug-remote-debugging-in-docker-with-phpstorm" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-xdebug-remote-debugging-in-docker-with-phpstorm.webp</image:loc><image:title>Connecting Xdebug and PHPUnit in Docker with PhpStorm the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Connecting&#x20;Xdebug&#x20;and&#x20;PHPUnit&#x20;in&#x20;Docker&#x20;with&#x20;PhpStorm&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-xdebug-remote-debugging-in-docker-with-phpstorm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit-controlling-time-uuids-and-randomness-in-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/phpunit-zeit-uuids-und-zufall-in-tests-kontrollieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit-controlling-time-uuids-and-randomness-in-tests" />
<lastmod>2026-07-19T19:14:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunit-controlling-time-uuids-and-randomness-in-tests.webp</image:loc><image:title>PHPUnit: Controlling Time, UUIDs, and Randomness in Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x3A;&#x20;Controlling&#x20;Time,&#x20;UUIDs,&#x20;and&#x20;Randomness&#x20;in&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunit-controlling-time-uuids-and-randomness-in-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-nextjs-app-router-migration-from-pages-router</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-next-js-app-router-migration-vom-pages-router" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-nextjs-app-router-migration-from-pages-router" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-nextjs-app-router-migration-from-pages-router.webp</image:loc><image:title>Next.js App Router Migration from the Pages Router: The Complete Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Next.js&#x20;App&#x20;Router&#x20;Migration&#x20;from&#x20;the&#x20;Pages&#x20;Router&#x3A;&#x20;The&#x20;Complete&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-nextjs-app-router-migration-from-pages-router.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-nextjs-caching-4-cache-layers-explained-demystified</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-next-js-caching-die-4-cache-layer-erklart-und-entmystifiziert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-nextjs-caching-4-cache-layers-explained-demystified" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-nextjs-caching-4-cache-layers-explained-demystified.webp</image:loc><image:title>Next.js Caching: The 4 Cache Layers Explained and Demystified</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Next.js&#x20;Caching&#x3A;&#x20;The&#x20;4&#x20;Cache&#x20;Layers&#x20;Explained&#x20;and&#x20;Demystified"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-nextjs-caching-4-cache-layers-explained-demystified.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-nextjs-vs-remix-vs-astro-2026-when-to-use-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-next-js-vs-remix-vs-astro-2026-wann-was" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-nextjs-vs-remix-vs-astro-2026-when-to-use-which" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-nextjs-vs-remix-vs-astro-2026-when-to-use-which.webp</image:loc><image:title>Next.js vs. Remix vs. Astro 2026: When to Use Which? The Honest Comparison</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Next.js&#x20;vs.&#x20;Remix&#x20;vs.&#x20;Astro&#x20;2026&#x3A;&#x20;When&#x20;to&#x20;Use&#x20;Which&#x3F;&#x20;The&#x20;Honest&#x20;Comparison"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-nextjs-vs-remix-vs-astro-2026-when-to-use-which.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-playwright-component-testing-e2e-for-individual-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-playwright-component-testing-e2e-fur-einzelne-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-playwright-component-testing-e2e-for-individual-components" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-playwright-component-testing-e2e-for-individual-components.webp</image:loc><image:title>Playwright Component Testing: E2E for Individual React Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Playwright&#x20;Component&#x20;Testing&#x3A;&#x20;E2E&#x20;for&#x20;Individual&#x20;React&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-playwright-component-testing-e2e-for-individual-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-radix-ui-headless-components-with-full-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-radix-ui-headless-komponenten-mit-voller-accessibility" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-radix-ui-headless-components-with-full-accessibility" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-radix-ui-headless-components-with-full-accessibility.webp</image:loc><image:title>Radix UI: Headless Components with Full Accessibility</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Radix&#x20;UI&#x3A;&#x20;Headless&#x20;Components&#x20;with&#x20;Full&#x20;Accessibility"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-radix-ui-headless-components-with-full-accessibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-19-hooks-cheat-sheet-all-hooks-and-when-to-use-them</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-19-hooks-cheatsheet-alle-hooks-und-wann-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-19-hooks-cheat-sheet-all-hooks-and-when-to-use-them" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-19-hooks-cheat-sheet-all-hooks-and-when-to-use-them.webp</image:loc><image:title>React 19 Hooks Cheat Sheet: All Hooks and When to Use Them</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;19&#x20;Hooks&#x20;Cheat&#x20;Sheet&#x3A;&#x20;All&#x20;Hooks&#x20;and&#x20;When&#x20;to&#x20;Use&#x20;Them"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-19-hooks-cheat-sheet-all-hooks-and-when-to-use-them.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-19-new-features-what-really-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-19-was-ist-neu-und-was-andert-sich-wirklich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-19-new-features-what-really-changes" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-19-new-features-what-really-changes.webp</image:loc><image:title>React 19: what is new and what really changes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;19&#x3A;&#x20;what&#x20;is&#x20;new&#x20;and&#x20;what&#x20;really&#x20;changes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-19-new-features-what-really-changes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-actions-forms-without-usestate-and-handlers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-actions-formulare-ohne-usestate-und-handler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-actions-forms-without-usestate-and-handlers" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-actions-forms-without-usestate-and-handlers.webp</image:loc><image:title>React Actions: Forms Without useState and Handlers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Actions&#x3A;&#x20;Forms&#x20;Without&#x20;useState&#x20;and&#x20;Handlers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-actions-forms-without-usestate-and-handlers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-animations-framer-motion-vs-css-transitions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-animations-framer-motion-vs-css-transitions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-animations-framer-motion-vs-css-transitions" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-animations-framer-motion-vs-css-transitions.webp</image:loc><image:title>React Animations: Framer Motion vs. CSS Transitions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Animations&#x3A;&#x20;Framer&#x20;Motion&#x20;vs.&#x20;CSS&#x20;Transitions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-animations-framer-motion-vs-css-transitions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-react-compiler-automatic-memoization-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-compiler-automatisches-memoizing-erklart" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-react-compiler-automatic-memoization-explained" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-react-compiler-automatic-memoization-explained.webp</image:loc><image:title>React Compiler: Automatic Memoization Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Compiler&#x3A;&#x20;Automatic&#x20;Memoization&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-react-compiler-automatic-memoization-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-context-vs-zustand-vs-jotai-when-to-use-what</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-context-vs-zustand-vs-jotai-was-wann-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-context-vs-zustand-vs-jotai-when-to-use-what" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-context-vs-zustand-vs-jotai-when-to-use-what.webp</image:loc><image:title>React Context vs. Zustand vs. Jotai - When to Use What</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Context&#x20;vs.&#x20;Zustand&#x20;vs.&#x20;Jotai&#x20;-&#x20;When&#x20;to&#x20;Use&#x20;What"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-context-vs-zustand-vs-jotai-when-to-use-what.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-compound-components-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-design-pattern-compound-components" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-compound-components-pattern" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-compound-components-pattern.webp</image:loc><image:title>React Design Pattern: Compound Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Design&#x20;Pattern&#x3A;&#x20;Compound&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-compound-components-pattern.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-custom-hook-extraction-design-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-design-pattern-custom-hook-extraction" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-custom-hook-extraction-design-pattern" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-custom-hook-extraction-design-pattern.webp</image:loc><image:title>React Design Pattern: Custom Hook Extraction</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Design&#x20;Pattern&#x3A;&#x20;Custom&#x20;Hook&#x20;Extraction"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-custom-hook-extraction-design-pattern.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-drag-and-drop-native-html5-api-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-drag-and-drop-ohne-dnd-kit-und-ohne-at-dnd-kit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-drag-and-drop-native-html5-api-guide" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-drag-and-drop-native-html5-api-guide.webp</image:loc><image:title>React Drag and Drop Without dnd-kit - Native HTML5 DnD Tutorial</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Drag&#x20;and&#x20;Drop&#x20;Without&#x20;dnd-kit&#x20;-&#x20;Native&#x20;HTML5&#x20;DnD&#x20;Tutorial"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-drag-and-drop-native-html5-api-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-error-boundaries-graceful-error-handling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-error-boundaries-fehler-graceful-abfangen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-error-boundaries-graceful-error-handling" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-error-boundaries-graceful-error-handling.webp</image:loc><image:title>React Error Boundaries: Catching Errors Gracefully</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Error&#x20;Boundaries&#x3A;&#x20;Catching&#x20;Errors&#x20;Gracefully"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-error-boundaries-graceful-error-handling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-react-fiber-concurrent-mode-and-priorities-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-fiber-concurrent-mode-und-prioritaten-erklart" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-react-fiber-concurrent-mode-and-priorities-explained" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-react-fiber-concurrent-mode-and-priorities-explained.webp</image:loc><image:title>React Fiber, Concurrent Mode and Priorities Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Fiber,&#x20;Concurrent&#x20;Mode&#x20;and&#x20;Priorities&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-react-fiber-concurrent-mode-and-priorities-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-react-hook-form-and-zod-performance-first-forms</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-hook-form-plus-zod-performance-first-forms" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-react-hook-form-and-zod-performance-first-forms" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-react-hook-form-and-zod-performance-first-forms.webp</image:loc><image:title>React Hook Form + Zod: Performance-First Forms</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Hook&#x20;Form&#x20;&#x2B;&#x20;Zod&#x3A;&#x20;Performance-First&#x20;Forms"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-react-hook-form-and-zod-performance-first-forms.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-internationalization-next-intl-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-internationalisierung-next-intl-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-internationalization-next-intl-in-practice" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-internationalization-next-intl-in-practice.webp</image:loc><image:title>React Internationalization: next-intl in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Internationalization&#x3A;&#x20;next-intl&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-internationalization-next-intl-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-lazy-loading-code-splitting-in-the-right-places</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-lazy-loading-code-splitting-an-der-richtigen-stelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-lazy-loading-code-splitting-in-the-right-places" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-lazy-loading-code-splitting-in-the-right-places.webp</image:loc><image:title>React Lazy Loading &amp; Code Splitting in the Right Places</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Lazy&#x20;Loading&#x20;&amp;&#x20;Code&#x20;Splitting&#x20;in&#x20;the&#x20;Right&#x20;Places"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-lazy-loading-code-splitting-in-the-right-places.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-react-memo-when-its-really-necessary-and-when-it-hurts-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-memo-wann-wirklich-notig-und-wann-schadet-es" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-react-memo-when-its-really-necessary-and-when-it-hurts-performance" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-react-memo-when-its-really-necessary-and-when-it-hurts-performance.webp</image:loc><image:title>React.memo: When Is It Really Necessary and When Does It Hurt?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React.memo&#x3A;&#x20;When&#x20;Is&#x20;It&#x20;Really&#x20;Necessary&#x20;and&#x20;When&#x20;Does&#x20;It&#x20;Hurt&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-react-memo-when-its-really-necessary-and-when-it-hurts-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-micro-frontends-module-federation-2-0</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-micro-frontends-module-federation-2-0" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-micro-frontends-module-federation-2-0" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-micro-frontends-module-federation-2-0.webp</image:loc><image:title>React Micro-Frontends with Module Federation 2.0</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Micro-Frontends&#x20;with&#x20;Module&#x20;Federation&#x20;2.0"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-micro-frontends-module-federation-2-0.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-measure-performance-before-optimizing-profiler</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-performance-messen-bevor-optimieren-profiler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-measure-performance-before-optimizing-profiler" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-measure-performance-before-optimizing-profiler.webp</image:loc><image:title>Measure React Performance Before Optimizing: Profiler, DevTools and Metrics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Measure&#x20;React&#x20;Performance&#x20;Before&#x20;Optimizing&#x3A;&#x20;Profiler,&#x20;DevTools&#x20;and&#x20;Metrics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-measure-performance-before-optimizing-profiler.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-fullstack-app-with-symfony-api-platform</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-plus-symfony-fullstack-app-mit-api-platform" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-fullstack-app-with-symfony-api-platform" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-fullstack-app-with-symfony-api-platform.webp</image:loc><image:title>React + Symfony Fullstack App with API Platform</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;&#x2B;&#x20;Symfony&#x20;Fullstack&#x20;App&#x20;with&#x20;API&#x20;Platform"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-fullstack-app-with-symfony-api-platform.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-tailwind-cn-utility-clsx-and-class-variance-authority</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-plus-tailwind-cn-utility-clsx-und-class-variance-authority" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-tailwind-cn-utility-clsx-and-class-variance-authority" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-tailwind-cn-utility-clsx-and-class-variance-authority.webp</image:loc><image:title>React + Tailwind: the cn Utility, clsx and class-variance-authority</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;&#x2B;&#x20;Tailwind&#x3A;&#x20;the&#x20;cn&#x20;Utility,&#x20;clsx&#x20;and&#x20;class-variance-authority"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-tailwind-cn-utility-clsx-and-class-variance-authority.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-typescript-satisfies-template-literals-generics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-plus-typescript-satisfies-template-literals-generics" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-typescript-satisfies-template-literals-generics" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-typescript-satisfies-template-literals-generics.webp</image:loc><image:title>React + TypeScript: satisfies, Template Literals and Generics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;&#x2B;&#x20;TypeScript&#x3A;&#x20;satisfies,&#x20;Template&#x20;Literals&#x20;and&#x20;Generics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-typescript-satisfies-template-literals-generics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-pwa-offline-first-workbox-next-pwa</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-pwa-offline-first-mit-workbox-und-next-pwa" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-pwa-offline-first-workbox-next-pwa" />
<lastmod>2026-07-19T19:34:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-pwa-offline-first-workbox-next-pwa.webp</image:loc><image:title>React PWA: Offline-First with Workbox and next-pwa</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;PWA&#x3A;&#x20;Offline-First&#x20;with&#x20;Workbox&#x20;and&#x20;next-pwa"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-pwa-offline-first-workbox-next-pwa.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-realtime-websocket-and-mercure-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-realtime-websocket-und-mercure-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-realtime-websocket-and-mercure-integration" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-realtime-websocket-and-mercure-integration.webp</image:loc><image:title>React Realtime: Integrating WebSocket and Mercure</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Realtime&#x3A;&#x20;Integrating&#x20;WebSocket&#x20;and&#x20;Mercure"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-realtime-websocket-and-mercure-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-reconciliation-virtual-dom-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-reconciliation-wie-der-virtual-dom-wirklich-arbeitet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-reconciliation-virtual-dom-explained" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-reconciliation-virtual-dom-explained.webp</image:loc><image:title>React Reconciliation: How the Virtual DOM Really Works</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Reconciliation&#x3A;&#x20;How&#x20;the&#x20;Virtual&#x20;DOM&#x20;Really&#x20;Works"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-reconciliation-virtual-dom-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-server-components-complete-conceptual-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-server-components-der-komplette-konzeptuelle-guide" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-server-components-complete-conceptual-guide" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-server-components-complete-conceptual-guide.webp</image:loc><image:title>React Server Components: The Complete Conceptual Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Server&#x20;Components&#x3A;&#x20;The&#x20;Complete&#x20;Conceptual&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-server-components-complete-conceptual-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-strict-mode-double-invocation-why-bugs-become-visible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-strict-mode-und-double-invocation-warum-bugs-dadurch-sichtbar-werden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-strict-mode-double-invocation-why-bugs-become-visible" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-strict-mode-double-invocation-why-bugs-become-visible.webp</image:loc><image:title>React Strict Mode and Double Invocation: Why Bugs Become Visible</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Strict&#x20;Mode&#x20;and&#x20;Double&#x20;Invocation&#x3A;&#x20;Why&#x20;Bugs&#x20;Become&#x20;Visible"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-strict-mode-double-invocation-why-bugs-become-visible.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-strict-mode-what-it-really-checks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-strict-mode-was-es-wirklich-pruft-und-nervt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-strict-mode-what-it-really-checks" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-strict-mode-what-it-really-checks.webp</image:loc><image:title>React Strict Mode: What It Really Checks (and Why It Nags)</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Strict&#x20;Mode&#x3A;&#x20;What&#x20;It&#x20;Really&#x20;Checks&#x20;&#x28;and&#x20;Why&#x20;It&#x20;Nags&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-strict-mode-what-it-really-checks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-suspense-loading-states-elegantly-managed</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-suspense-lade-zustande-elegant-managen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-suspense-loading-states-elegantly-managed" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-suspense-loading-states-elegantly-managed.webp</image:loc><image:title>React Suspense: Managing Loading States Elegantly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Suspense&#x3A;&#x20;Managing&#x20;Loading&#x20;States&#x20;Elegantly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-suspense-loading-states-elegantly-managed.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-testing-library-best-practices-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-testing-library-best-practices-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-testing-library-best-practices-2026" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-testing-library-best-practices-2026.webp</image:loc><image:title>React Testing Library Best Practices 2026</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Testing&#x20;Library&#x20;Best&#x20;Practices&#x20;2026"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-testing-library-best-practices-2026.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-virtual-list-100000-rows-without-lag</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-react-virtual-list-100-000-zeilen-ohne-lagmax" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-virtual-list-100000-rows-without-lag" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-virtual-list-100000-rows-without-lag.webp</image:loc><image:title>React Virtual List: 100,000 Rows Without Lag</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Virtual&#x20;List&#x3A;&#x20;100,000&#x20;Rows&#x20;Without&#x20;Lag"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-virtual-list-100000-rows-without-lag.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-shadcn-ui-custom-component-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-shadcn-ui-eigene-komponenten-bibliothek-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-shadcn-ui-custom-component-library" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-shadcn-ui-custom-component-library.webp</image:loc><image:title>shadcn/ui: Building Your Own Component Library</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="shadcn&#x2F;ui&#x3A;&#x20;Building&#x20;Your&#x20;Own&#x20;Component&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-shadcn-ui-custom-component-library.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-storybook-8-design-system-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-storybook-8-design-system-systematisch-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-storybook-8-design-system-systematically" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-storybook-8-design-system-systematically.webp</image:loc><image:title>Storybook 8: Building a Design System Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Storybook&#x20;8&#x3A;&#x20;Building&#x20;a&#x20;Design&#x20;System&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-storybook-8-design-system-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-tanstack-query-v5-mastering-server-state</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-tanstack-query-v5-server-state-meistern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-tanstack-query-v5-mastering-server-state" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-tanstack-query-v5-mastering-server-state.webp</image:loc><image:title>TanStack Query v5: Mastering Server State</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TanStack&#x20;Query&#x20;v5&#x3A;&#x20;Mastering&#x20;Server&#x20;State"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-tanstack-query-v5-mastering-server-state.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-tanstack-router-type-safe-routing-in-react</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-tanstack-router-typsicheres-routing-in-react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-tanstack-router-type-safe-routing-in-react" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-tanstack-router-type-safe-routing-in-react.webp</image:loc><image:title>TanStack Router: Type-Safe Routing in React</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TanStack&#x20;Router&#x3A;&#x20;Type-Safe&#x20;Routing&#x20;in&#x20;React"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-tanstack-router-type-safe-routing-in-react.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-tanstack-table-complex-tables-without-pain</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-tanstack-table-komplexe-tabellen-ohne-pain" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-tanstack-table-complex-tables-without-pain" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-tanstack-table-complex-tables-without-pain.webp</image:loc><image:title>TanStack Table: Complex Tables Without Pain</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TanStack&#x20;Table&#x3A;&#x20;Complex&#x20;Tables&#x20;Without&#x20;Pain"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-tanstack-table-complex-tables-without-pain.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-use-hook-resolving-promises-in-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-use-hook-promises-direkt-in-komponenten-auflosen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-use-hook-resolving-promises-in-components" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-use-hook-resolving-promises-in-components.webp</image:loc><image:title>React use() Hook: Resolving Promises Directly in Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;use&#x28;&#x29;&#x20;Hook&#x3A;&#x20;Resolving&#x20;Promises&#x20;Directly&#x20;in&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-use-hook-resolving-promises-in-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-usecallback-usememo-common-misconceptions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-usecallback-und-usememo-die-haufigsten-missverstandnisse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-usecallback-usememo-common-misconceptions" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-usecallback-usememo-common-misconceptions.webp</image:loc><image:title>useCallback and useMemo: The Most Common Misconceptions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="useCallback&#x20;and&#x20;useMemo&#x3A;&#x20;The&#x20;Most&#x20;Common&#x20;Misconceptions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-usecallback-usememo-common-misconceptions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-usedeferredvalue-lazy-search-without-debounce</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-usedeferredvalue-lazy-search-ohne-debounce" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-usedeferredvalue-lazy-search-without-debounce" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-usedeferredvalue-lazy-search-without-debounce.webp</image:loc><image:title>React useDeferredValue: Lazy Search Without Debounce</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;useDeferredValue&#x3A;&#x20;Lazy&#x20;Search&#x20;Without&#x20;Debounce"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-usedeferredvalue-lazy-search-without-debounce.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-useformstatus-loading-feedback-for-nested-forms</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-useformstatus-lade-feedback-fur-verschachtelte-formulare" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-useformstatus-loading-feedback-for-nested-forms" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-useformstatus-loading-feedback-for-nested-forms.webp</image:loc><image:title>React useFormStatus: Loading Feedback for Nested Forms</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;useFormStatus&#x3A;&#x20;Loading&#x20;Feedback&#x20;for&#x20;Nested&#x20;Forms"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-useformstatus-loading-feedback-for-nested-forms.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-useid-stable-ids-for-accessibility-attributes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-useid-stabile-ids-fur-accessibility-attribute" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-useid-stable-ids-for-accessibility-attributes" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-useid-stable-ids-for-accessibility-attributes.webp</image:loc><image:title>React useId: Stable IDs for Accessibility Attributes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;useId&#x3A;&#x20;Stable&#x20;IDs&#x20;for&#x20;Accessibility&#x20;Attributes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-useid-stable-ids-for-accessibility-attributes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-useimperativehandle-exposing-refs-correctly-to-the-outside</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-useimperativehandle-refs-richtig-nach-auen-exponieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-useimperativehandle-exposing-refs-correctly-to-the-outside" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-useimperativehandle-exposing-refs-correctly-to-the-outside.webp</image:loc><image:title>React useImperativeHandle: Exposing Refs Correctly to the Outside</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;useImperativeHandle&#x3A;&#x20;Exposing&#x20;Refs&#x20;Correctly&#x20;to&#x20;the&#x20;Outside"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-useimperativehandle-exposing-refs-correctly-to-the-outside.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-useoptimistic-instant-ui-updates-then-confirm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-useoptimistic-ui-sofort-aktualisieren-dann-bestatigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-useoptimistic-instant-ui-updates-then-confirm" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-useoptimistic-instant-ui-updates-then-confirm.webp</image:loc><image:title>useOptimistic: Update the UI Instantly, Then Confirm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="useOptimistic&#x3A;&#x20;Update&#x20;the&#x20;UI&#x20;Instantly,&#x20;Then&#x20;Confirm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-useoptimistic-instant-ui-updates-then-confirm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-usesyncexternalstore-subscribing-to-external-stores-cleanly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-usesyncexternalstore-external-store-sauber-subscriben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-usesyncexternalstore-subscribing-to-external-stores-cleanly" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-usesyncexternalstore-subscribing-to-external-stores-cleanly.webp</image:loc><image:title>useSyncExternalStore: Subscribing to External Stores Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="useSyncExternalStore&#x3A;&#x20;Subscribing&#x20;to&#x20;External&#x20;Stores&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-usesyncexternalstore-subscribing-to-external-stores-cleanly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-usetransition-non-blocking-ui-updates-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-usetransition-non-blocking-ui-updates-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-usetransition-non-blocking-ui-updates-explained" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-usetransition-non-blocking-ui-updates-explained.webp</image:loc><image:title>useTransition: Getting Non-Blocking UI Updates Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="useTransition&#x3A;&#x20;Getting&#x20;Non-Blocking&#x20;UI&#x20;Updates&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-usetransition-non-blocking-ui-updates-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-vite-why-create-react-app-is-dead</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-vite-fur-react-warum-create-react-app-tot-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-vite-why-create-react-app-is-dead" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-vite-why-create-react-app-is-dead.webp</image:loc><image:title>Vite for React: Why Create React App Is Dead</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vite&#x20;for&#x20;React&#x3A;&#x20;Why&#x20;Create&#x20;React&#x20;App&#x20;Is&#x20;Dead"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-vite-why-create-react-app-is-dead.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-vitest-faster-tests-than-jest-for-react</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-vitest-schnellere-tests-als-jest-fur-react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-vitest-faster-tests-than-jest-for-react" />
<lastmod>2026-07-19T19:34:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-vitest-faster-tests-than-jest-for-react.webp</image:loc><image:title>Vitest: Faster Tests Than Jest for React</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vitest&#x3A;&#x20;Faster&#x20;Tests&#x20;Than&#x20;Jest&#x20;for&#x20;React"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-vitest-faster-tests-than-jest-for-react.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-50-rest-and-openapi-patterns-for-production-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-50-rest-und-openapi-patterns-fur-produktive-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-50-rest-and-openapi-patterns-for-production-apis" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-50-rest-and-openapi-patterns-for-production-apis.webp</image:loc><image:title>50 REST and OpenAPI Patterns for Production-Grade APIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="50&#x20;REST&#x20;and&#x20;OpenAPI&#x20;Patterns&#x20;for&#x20;Production-Grade&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-50-rest-and-openapi-patterns-for-production-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-api-authentication-bearer-oauth2-signed-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-api-authentifizierung-bearer-oauth2-signed-requests-und-wann-was-passt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-api-authentication-bearer-oauth2-signed-requests" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-api-authentication-bearer-oauth2-signed-requests.webp</image:loc><image:title>API Authentication: Bearer, OAuth2, Signed Requests and What Fits When</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Authentication&#x3A;&#x20;Bearer,&#x20;OAuth2,&#x20;Signed&#x20;Requests&#x20;and&#x20;What&#x20;Fits&#x20;When"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-api-authentication-bearer-oauth2-signed-requests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-api-first-workflow-backend-frontend-qa</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-api-first-teams-workflow-zwischen-backend-frontend-und-qa" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-api-first-workflow-backend-frontend-qa" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-api-first-workflow-backend-frontend-qa.webp</image:loc><image:title>API-First: Workflow Between Backend, Frontend and QA</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API-First&#x3A;&#x20;Workflow&#x20;Between&#x20;Backend,&#x20;Frontend&#x20;and&#x20;QA"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-api-first-workflow-backend-frontend-qa.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-api-mocking-from-openapi-specifications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-api-mocking-aus-openapi-spezifikationen-erzeugen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-api-mocking-from-openapi-specifications" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-api-mocking-from-openapi-specifications.webp</image:loc><image:title>Generating API Mocks from OpenAPI Specifications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;API&#x20;Mocks&#x20;from&#x20;OpenAPI&#x20;Specifications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-api-mocking-from-openapi-specifications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-api-platform-openapi-automated-vs-manual-overrides</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-api-platform-und-openapi-was-automatisch-gut-ist-und-was-man-uberschreiben-muss" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-api-platform-openapi-automated-vs-manual-overrides" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-api-platform-openapi-automated-vs-manual-overrides.webp</image:loc><image:title>API Platform and OpenAPI: What Is Automatically Good and What You Must Override</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Platform&#x20;and&#x20;OpenAPI&#x3A;&#x20;What&#x20;Is&#x20;Automatically&#x20;Good&#x20;and&#x20;What&#x20;You&#x20;Must&#x20;Override"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-api-platform-openapi-automated-vs-manual-overrides.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-symfony-api-testing-httpclient-panther-phpunit-contract-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-api-tests-in-symfony-httpclient-panther-phpunit-und-contract-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-symfony-api-testing-httpclient-panther-phpunit-contract-tests" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-symfony-api-testing-httpclient-panther-phpunit-contract-tests.webp</image:loc><image:title>API Testing in Symfony: HttpClient, Panther, PHPUnit and Contract Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Testing&#x20;in&#x20;Symfony&#x3A;&#x20;HttpClient,&#x20;Panther,&#x20;PHPUnit&#x20;and&#x20;Contract&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-symfony-api-testing-httpclient-panther-phpunit-contract-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-backward-compatibility-in-api-schemas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-backward-compatibility-in-api-schemas-technisch-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-backward-compatibility-in-api-schemas" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-backward-compatibility-in-api-schemas.webp</image:loc><image:title>Enforcing Backward Compatibility in API Schemas</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Enforcing&#x20;Backward&#x20;Compatibility&#x20;in&#x20;API&#x20;Schemas"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-backward-compatibility-in-api-schemas.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-caching-etag-last-modified-cache-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-caching-in-rest-apis-etag-last-modified-cache-control-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-caching-etag-last-modified-cache-control" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-caching-etag-last-modified-cache-control.webp</image:loc><image:title>Caching in REST APIs: Using ETag, Last-Modified and Cache-Control Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Caching&#x20;in&#x20;REST&#x20;APIs&#x3A;&#x20;Using&#x20;ETag,&#x20;Last-Modified&#x20;and&#x20;Cache-Control&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-caching-etag-last-modified-cache-control.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-contract-testing-for-rest-apis-with-openapi</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-contract-testing-fur-rest-apis-mit-openapi" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-contract-testing-for-rest-apis-with-openapi" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-contract-testing-for-rest-apis-with-openapi.webp</image:loc><image:title>Contract Testing for REST APIs with OpenAPI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Contract&#x20;Testing&#x20;for&#x20;REST&#x20;APIs&#x20;with&#x20;OpenAPI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-contract-testing-for-rest-apis-with-openapi.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-csv-xml-bulk-endpoints-clean-api-design</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-csv-xml-und-bulk-endpoints-in-rest-apis-sauber-designen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-csv-xml-bulk-endpoints-clean-api-design" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-csv-xml-bulk-endpoints-clean-api-design.webp</image:loc><image:title>Designing CSV, XML and Bulk Endpoints in REST APIs Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;CSV,&#x20;XML&#x20;and&#x20;Bulk&#x20;Endpoints&#x20;in&#x20;REST&#x20;APIs&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-csv-xml-bulk-endpoints-clean-api-design.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-symfony-file-upload-endpoints-document-and-test</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-datei-upload-endpoints-in-symfony-dokumentieren-und-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-symfony-file-upload-endpoints-document-and-test" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-symfony-file-upload-endpoints-document-and-test.webp</image:loc><image:title>Documenting and Testing File Upload Endpoints in Symfony</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Documenting&#x20;and&#x20;Testing&#x20;File&#x20;Upload&#x20;Endpoints&#x20;in&#x20;Symfony"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-symfony-file-upload-endpoints-document-and-test.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-file-uploads-and-downloads-in-openapi</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-datei-uploads-und-downloads-sauber-in-openapi-beschreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-file-uploads-and-downloads-in-openapi" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-file-uploads-and-downloads-in-openapi.webp</image:loc><image:title>Describing File Uploads and Downloads Cleanly in OpenAPI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Describing&#x20;File&#x20;Uploads&#x20;and&#x20;Downloads&#x20;Cleanly&#x20;in&#x20;OpenAPI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-file-uploads-and-downloads-in-openapi.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-deprecations-breaking-changes-and-api-evolution-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-deprecations-breaking-changes-und-api-evolution-praktisch-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-deprecations-breaking-changes-and-api-evolution-in-practice" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-deprecations-breaking-changes-and-api-evolution-in-practice.webp</image:loc><image:title>Deprecations, Breaking Changes and API Evolution in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Deprecations,&#x20;Breaking&#x20;Changes&#x20;and&#x20;API&#x20;Evolution&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-deprecations-breaking-changes-and-api-evolution-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-api-documentation-for-external-integrators-that-really-helps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-dokumentation-fur-externe-integratoren-schreiben-die-wirklich-hilft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-api-documentation-for-external-integrators-that-really-helps" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-api-documentation-for-external-integrators-that-really-helps.webp</image:loc><image:title>Writing REST API Documentation for External Integrators That Really Helps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;REST&#x20;API&#x20;Documentation&#x20;for&#x20;External&#x20;Integrators&#x20;That&#x20;Really&#x20;Helps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-api-documentation-for-external-integrators-that-really-helps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-error-payloads-and-business-errors-in-openapi</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-error-payloads-und-business-errors-in-openapi-richtig-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-error-payloads-and-business-errors-in-openapi" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-error-payloads-and-business-errors-in-openapi.webp</image:loc><image:title>Modeling Error Payloads and Business Errors in OpenAPI Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modeling&#x20;Error&#x20;Payloads&#x20;and&#x20;Business&#x20;Errors&#x20;in&#x20;OpenAPI&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-error-payloads-and-business-errors-in-openapi.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-hateoas-pragmatic-rest-and-when-hypermedia-really-makes-sense</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-hateoas-pragmatische-rest-und-wann-hypermedia-wirklich-sinn-ergibt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-hateoas-pragmatic-rest-and-when-hypermedia-really-makes-sense" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-hateoas-pragmatic-rest-and-when-hypermedia-really-makes-sense.webp</image:loc><image:title>HATEOAS: Pragmatic REST and When Hypermedia Really Makes Sense</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="HATEOAS&#x3A;&#x20;Pragmatic&#x20;REST&#x20;and&#x20;When&#x20;Hypermedia&#x20;Really&#x20;Makes&#x20;Sense"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-hateoas-pragmatic-rest-and-when-hypermedia-really-makes-sense.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-idempotency-and-retry-post-put-patch-delete</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-idempotenz-und-retry-bei-post-put-patch-und-delete" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-idempotency-and-retry-post-put-patch-delete" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-idempotency-and-retry-post-put-patch-delete.webp</image:loc><image:title>Idempotency and Retry for POST, PUT, PATCH and DELETE</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Idempotency&#x20;and&#x20;Retry&#x20;for&#x20;POST,&#x20;PUT,&#x20;PATCH&#x20;and&#x20;DELETE"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-idempotency-and-retry-post-put-patch-delete.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-jwt-vs-session-authentication-in-symfony</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-jwt-und-session-basierte-rest-apis-in-symfony-vergleichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-jwt-vs-session-authentication-in-symfony" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-jwt-vs-session-authentication-in-symfony.webp</image:loc><image:title>JWT vs. Session-Based REST APIs in Symfony Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JWT&#x20;vs.&#x20;Session-Based&#x20;REST&#x20;APIs&#x20;in&#x20;Symfony&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-jwt-vs-session-authentication-in-symfony.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-observability-for-rest-apis-logging-tracing-metrics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-observability-fur-rest-apis-logging-tracing-metriken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-observability-for-rest-apis-logging-tracing-metrics" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-observability-for-rest-apis-logging-tracing-metrics.webp</image:loc><image:title>Observability for REST APIs: Logging, Tracing and Metrics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Observability&#x20;for&#x20;REST&#x20;APIs&#x3A;&#x20;Logging,&#x20;Tracing&#x20;and&#x20;Metrics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-observability-for-rest-apis-logging-tracing-metrics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-openapi-3-1-building-blocks-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-openapi-3-1-von-grund-auf-die-wichtigsten-bausteine-praktisch-erklart" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-openapi-3-1-building-blocks-explained" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-openapi-3-1-building-blocks-explained.webp</image:loc><image:title>OpenAPI 3.1 From the Ground Up: The Key Building Blocks Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="OpenAPI&#x20;3.1&#x20;From&#x20;the&#x20;Ground&#x20;Up&#x3A;&#x20;The&#x20;Key&#x20;Building&#x20;Blocks&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-openapi-3-1-building-blocks-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-openapi-examples-schemas-symfony-consistent</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-openapi-beispiele-und-schemas-in-symfony-konsistent-pflegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-openapi-examples-schemas-symfony-consistent" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-openapi-examples-schemas-symfony-consistent.webp</image:loc><image:title>Keeping OpenAPI Examples and Schemas Consistent in Symfony</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Keeping&#x20;OpenAPI&#x20;Examples&#x20;and&#x20;Schemas&#x20;Consistent&#x20;in&#x20;Symfony"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-openapi-examples-schemas-symfony-consistent.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-openapi-codegen-generating-clean-clients-and-server-stubs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-openapi-codegen-clients-und-server-stubs-ohne-mull-erzeugen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-openapi-codegen-generating-clean-clients-and-server-stubs" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-openapi-codegen-generating-clean-clients-and-server-stubs.webp</image:loc><image:title>OpenAPI Codegen: Generating Clients and Server Stubs Without Cruft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="OpenAPI&#x20;Codegen&#x3A;&#x20;Generating&#x20;Clients&#x20;and&#x20;Server&#x20;Stubs&#x20;Without&#x20;Cruft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-openapi-codegen-generating-clean-clients-and-server-stubs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-openapi-documentation-tags-examples-schemas-responses</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-openapi-dokumentieren-tags-examples-schemas-und-responses-sinnvoll-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-openapi-documentation-tags-examples-schemas-responses" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-openapi-documentation-tags-examples-schemas-responses.webp</image:loc><image:title>Documenting OpenAPI: Building Tags, Examples, Schemas and Responses That Work</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Documenting&#x20;OpenAPI&#x3A;&#x20;Building&#x20;Tags,&#x20;Examples,&#x20;Schemas&#x20;and&#x20;Responses&#x20;That&#x20;Work"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-openapi-documentation-tags-examples-schemas-responses.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-openapi-first-vs-code-first-which-workflow-for-which-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-openapi-first-vs-code-first-welcher-workflow-fur-welches-team" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-openapi-first-vs-code-first-which-workflow-for-which-team" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-openapi-first-vs-code-first-which-workflow-for-which-team.webp</image:loc><image:title>OpenAPI-First vs. Code-First: Which Workflow for Which Team?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="OpenAPI-First&#x20;vs.&#x20;Code-First&#x3A;&#x20;Which&#x20;Workflow&#x20;for&#x20;Which&#x20;Team&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-openapi-first-vs-code-first-which-workflow-for-which-team.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-openapi-generator-in-ci-cd-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-openapi-generator-in-ci-einbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-openapi-generator-in-ci-cd-pipelines" />
<lastmod>2026-07-19T19:57:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-openapi-generator-in-ci-cd-pipelines.webp</image:loc><image:title>OpenAPI Generator in CI: Generating Client SDKs and Stubs Automatically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="OpenAPI&#x20;Generator&#x20;in&#x20;CI&#x3A;&#x20;Generating&#x20;Client&#x20;SDKs&#x20;and&#x20;Stubs&#x20;Automatically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-openapi-generator-in-ci-cd-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-openapi-in-symfony-with-nelmioapidocbundle-clean-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-openapi-in-symfony-mit-nelmioapidocbundle-sauber-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-openapi-in-symfony-with-nelmioapidocbundle-clean-setup" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-openapi-in-symfony-with-nelmioapidocbundle-clean-setup.webp</image:loc><image:title>Setting Up OpenAPI in Symfony with NelmioApiDocBundle the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;OpenAPI&#x20;in&#x20;Symfony&#x20;with&#x20;NelmioApiDocBundle&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-openapi-in-symfony-with-nelmioapidocbundle-clean-setup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-openapi-mock-server-for-frontend-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-openapi-mock-server-fur-frontend-entwicklung-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-openapi-mock-server-for-frontend-development" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-openapi-mock-server-for-frontend-development.webp</image:loc><image:title>Setting Up an OpenAPI Mock Server for Frontend Development</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;an&#x20;OpenAPI&#x20;Mock&#x20;Server&#x20;for&#x20;Frontend&#x20;Development"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-openapi-mock-server-for-frontend-development.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-openapi-security-schemes-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-openapi-security-schemes-praktisch-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-openapi-security-schemes-explained" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-openapi-security-schemes-explained.webp</image:loc><image:title>Understanding OpenAPI Security Schemes in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;OpenAPI&#x20;Security&#x20;Schemes&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-openapi-security-schemes-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-openapi-and-postman-together-without-duplicate-maintenance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-openapi-und-postman-zusammen-nutzen-ohne-doppelpflege" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-openapi-and-postman-together-without-duplicate-maintenance" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-openapi-and-postman-together-without-duplicate-maintenance.webp</image:loc><image:title>Using OpenAPI and Postman Together Without Duplicate Maintenance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;OpenAPI&#x20;and&#x20;Postman&#x20;Together&#x20;Without&#x20;Duplicate&#x20;Maintenance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-openapi-and-postman-together-without-duplicate-maintenance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-openapi-and-security-audits-what-auditors-really-want-to-see</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-openapi-und-security-audits-was-prufer-wirklich-sehen-wollen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-openapi-and-security-audits-what-auditors-really-want-to-see" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-openapi-and-security-audits-what-auditors-really-want-to-see.webp</image:loc><image:title>OpenAPI and Security Audits: What Auditors Really Want to See</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="OpenAPI&#x20;and&#x20;Security&#x20;Audits&#x3A;&#x20;What&#x20;Auditors&#x20;Really&#x20;Want&#x20;to&#x20;See"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-openapi-and-security-audits-what-auditors-really-want-to-see.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-openapi-yaml-structuring-components-reuse-naming-versioning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-openapi-yaml-strukturieren-components-reuse-naming-versionierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-openapi-yaml-structuring-components-reuse-naming-versioning" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-openapi-yaml-structuring-components-reuse-naming-versioning.webp</image:loc><image:title>Structuring OpenAPI YAML: components, Reuse, Naming and Versioning</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Structuring&#x20;OpenAPI&#x20;YAML&#x3A;&#x20;components,&#x20;Reuse,&#x20;Naming&#x20;and&#x20;Versioning"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-openapi-yaml-structuring-components-reuse-naming-versioning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-pagination-filtering-and-sorting-clean-rest-api-design</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-pagination-filter-und-sortierung-in-rest-apis-sauber-entwerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-pagination-filtering-and-sorting-clean-rest-api-design" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-pagination-filtering-and-sorting-clean-rest-api-design.webp</image:loc><image:title>Designing Clean Pagination, Filtering and Sorting for REST APIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Clean&#x20;Pagination,&#x20;Filtering&#x20;and&#x20;Sorting&#x20;for&#x20;REST&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-pagination-filtering-and-sorting-clean-rest-api-design.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-patch-merge-patch-vs-json-patch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-patch-richtig-modellieren-merge-patch-vs-json-patch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-patch-merge-patch-vs-json-patch" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-patch-merge-patch-vs-json-patch.webp</image:loc><image:title>Modeling PATCH Correctly: Merge Patch vs. JSON Patch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modeling&#x20;PATCH&#x20;Correctly&#x3A;&#x20;Merge&#x20;Patch&#x20;vs.&#x20;JSON&#x20;Patch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-patch-merge-patch-vs-json-patch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-openapi-production-checklist-contracts-tests-errors-security-tooling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-produktive-openapi-symfony-checkliste-contracts-tests-errors-security-tooling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-openapi-production-checklist-contracts-tests-errors-security-tooling" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-openapi-production-checklist-contracts-tests-errors-security-tooling.webp</image:loc><image:title>Production-Ready OpenAPI in Symfony: A Checklist for Contracts, Tests, Errors, Security and Tooling</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Production-Ready&#x20;OpenAPI&#x20;in&#x20;Symfony&#x3A;&#x20;A&#x20;Checklist&#x20;for&#x20;Contracts,&#x20;Tests,&#x20;Errors,&#x20;Security&#x20;and&#x20;Tooling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-openapi-production-checklist-contracts-tests-errors-security-tooling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-rate-limiting-abuse-prevention-and-api-keys-in-symfony</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-rate-limiting-abuse-prevention-und-api-keys-in-symfony" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-rate-limiting-abuse-prevention-and-api-keys-in-symfony" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-rate-limiting-abuse-prevention-and-api-keys-in-symfony.webp</image:loc><image:title>Rate Limiting, Abuse Prevention and API Keys in Symfony</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Rate&#x20;Limiting,&#x20;Abuse&#x20;Prevention&#x20;and&#x20;API&#x20;Keys&#x20;in&#x20;Symfony"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-rate-limiting-abuse-prevention-and-api-keys-in-symfony.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-response-examples-frontend-teams-can-use-directly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-response-beispiele-so-schreiben-dass-frontend-teams-sie-direkt-nutzen-konnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-response-examples-frontend-teams-can-use-directly" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-response-examples-frontend-teams-can-use-directly.webp</image:loc><image:title>REST API Response Examples: Writing Them So Frontend Teams Can Use Them Directly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="REST&#x20;API&#x20;Response&#x20;Examples&#x3A;&#x20;Writing&#x20;Them&#x20;So&#x20;Frontend&#x20;Teams&#x20;Can&#x20;Use&#x20;Them&#x20;Directly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-response-examples-frontend-teams-can-use-directly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-rest-api-design-resources-verbs-idempotency-status-codes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-rest-api-design-ressourcen-verben-idempotenz-und-statuscodes-sauber-trennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-rest-api-design-resources-verbs-idempotency-status-codes" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-rest-api-design-resources-verbs-idempotency-status-codes.webp</image:loc><image:title>REST API Design: Cleanly Separating Resources, Verbs, Idempotency and Status Codes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="REST&#x20;API&#x20;Design&#x3A;&#x20;Cleanly&#x20;Separating&#x20;Resources,&#x20;Verbs,&#x20;Idempotency&#x20;and&#x20;Status&#x20;Codes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-rest-api-design-resources-verbs-idempotency-status-codes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-rest-api-performance-projection-streaming-compression-caching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-rest-api-performance-datenmenge-projection-streaming-compression" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-rest-api-performance-projection-streaming-compression-caching" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-rest-api-performance-projection-streaming-compression-caching.webp</image:loc><image:title>REST API Performance: Payload Size, Projection, Streaming and Compression</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="REST&#x20;API&#x20;Performance&#x3A;&#x20;Payload&#x20;Size,&#x20;Projection,&#x20;Streaming&#x20;and&#x20;Compression"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-rest-api-performance-projection-streaming-compression-caching.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-rest-api-review-checklist-for-symfony-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-rest-api-review-checkliste-fur-symfony-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-rest-api-review-checklist-for-symfony-teams" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-rest-api-review-checklist-for-symfony-teams.webp</image:loc><image:title>REST API Review Checklist for Symfony Teams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="REST&#x20;API&#x20;Review&#x20;Checklist&#x20;for&#x20;Symfony&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-rest-api-review-checklist-for-symfony-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-security-review-auth-rate-limiting-input-validation-ssrf-mass-assignment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/rest-api-security-review-auth-rate-limit-input-validation-ssrf-mass-assignment" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-security-review-auth-rate-limiting-input-validation-ssrf-mass-assignment" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-security-review-auth-rate-limiting-input-validation-ssrf-mass-assignment.webp</image:loc><image:title>REST API Security Review: Auth, Rate Limiting, Input Validation, SSRF and Mass Assignment</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="REST&#x20;API&#x20;Security&#x20;Review&#x3A;&#x20;Auth,&#x20;Rate&#x20;Limiting,&#x20;Input&#x20;Validation,&#x20;SSRF&#x20;and&#x20;Mass&#x20;Assignment"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-security-review-auth-rate-limiting-input-validation-ssrf-mass-assignment.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-backoffice-apis-vs-public-apis-different-design-principles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-rest-apis-fur-backoffice-systeme-vs-public-apis-unterschiedlich-entwerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-backoffice-apis-vs-public-apis-different-design-principles" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-backoffice-apis-vs-public-apis-different-design-principles.webp</image:loc><image:title>REST APIs for Backoffice Systems vs. Public APIs: Designing Them Differently</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="REST&#x20;APIs&#x20;for&#x20;Backoffice&#x20;Systems&#x20;vs.&#x20;Public&#x20;APIs&#x3A;&#x20;Designing&#x20;Them&#x20;Differently"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-backoffice-apis-vs-public-apis-different-design-principles.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-modeling-errors-problem-details-codes-field-errors-correlation-ids</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/rest-fehler-modellieren-problem-details-codes-feldfehler-correlation-ids" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-modeling-errors-problem-details-codes-field-errors-correlation-ids" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-modeling-errors-problem-details-codes-field-errors-correlation-ids.webp</image:loc><image:title>Modeling REST Errors: Problem Details, Error Codes, Field Errors and Correlation IDs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modeling&#x20;REST&#x20;Errors&#x3A;&#x20;Problem&#x20;Details,&#x20;Error&#x20;Codes,&#x20;Field&#x20;Errors&#x20;and&#x20;Correlation&#x20;IDs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-modeling-errors-problem-details-codes-field-errors-correlation-ids.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-swagger-ui-redoc-scalar-stoplight-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/swagger-ui-redoc-scalar-und-stoplight-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-swagger-ui-redoc-scalar-stoplight-comparison" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-swagger-ui-redoc-scalar-stoplight-comparison.webp</image:loc><image:title>Swagger UI, Redoc, Scalar and Stoplight Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Swagger&#x20;UI,&#x20;Redoc,&#x20;Scalar&#x20;and&#x20;Stoplight&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-swagger-ui-redoc-scalar-stoplight-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-symfony-request-response-dtos-instead-of-arrays</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-request-dtos-und-response-dtos-statt-arrays-uberall" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-symfony-request-response-dtos-instead-of-arrays" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-symfony-request-response-dtos-instead-of-arrays.webp</image:loc><image:title>Symfony Request DTOs and Response DTOs Instead of Arrays Everywhere</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Request&#x20;DTOs&#x20;and&#x20;Response&#x20;DTOs&#x20;Instead&#x20;of&#x20;Arrays&#x20;Everywhere"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-symfony-request-response-dtos-instead-of-arrays.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-symfony-rest-api-from-scratch-controllers-dtos-serializer-validator-error-handling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-rest-api-von-grund-auf-controller-dtos-serializer-validator-error-handling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-symfony-rest-api-from-scratch-controllers-dtos-serializer-validator-error-handling" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-symfony-rest-api-from-scratch-controllers-dtos-serializer-validator-error-handling.webp</image:loc><image:title>Symfony REST API From Scratch: Controller, DTOs, Serializer, Validator, Error Handling</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;REST&#x20;API&#x20;From&#x20;Scratch&#x3A;&#x20;Controller,&#x20;DTOs,&#x20;Serializer,&#x20;Validator,&#x20;Error&#x20;Handling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-symfony-rest-api-from-scratch-controllers-dtos-serializer-validator-error-handling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-symfony-serializer-groups-useful-or-maintenance-hell</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-symfony-serializer-gruppen-sinnvoll-oder-einstieg-in-wartungsholle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-symfony-serializer-groups-useful-or-maintenance-hell" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-symfony-serializer-groups-useful-or-maintenance-hell.webp</image:loc><image:title>Symfony Serializer Groups: Useful or the Start of Maintenance Hell?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Serializer&#x20;Groups&#x3A;&#x20;Useful&#x20;or&#x20;the&#x20;Start&#x20;of&#x20;Maintenance&#x20;Hell&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-symfony-serializer-groups-useful-or-maintenance-hell.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-symfony-validation-errors-as-problem-details</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-validation-errors-in-symfony-apis-als-problem-details-ausgeben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-symfony-validation-errors-as-problem-details" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-symfony-validation-errors-as-problem-details.webp</image:loc><image:title>Returning Validation Errors in Symfony APIs as Problem Details</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Returning&#x20;Validation&#x20;Errors&#x20;in&#x20;Symfony&#x20;APIs&#x20;as&#x20;Problem&#x20;Details"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-symfony-validation-errors-as-problem-details.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-versioning-in-rest-apis-without-chaos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-versionierung-in-rest-apis-ohne-chaos" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-versioning-in-rest-apis-without-chaos" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-versioning-in-rest-apis-without-chaos.webp</image:loc><image:title>REST API Versioning Without Chaos</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="REST&#x20;API&#x20;Versioning&#x20;Without&#x20;Chaos"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-versioning-in-rest-apis-without-chaos.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-webhooks-in-openapi-3-1-documentation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-webhooks-in-openapi-3-1-dokumentieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-webhooks-in-openapi-3-1-documentation" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-webhooks-in-openapi-3-1-documentation.webp</image:loc><image:title>Documenting Webhooks in OpenAPI 3.1</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Documenting&#x20;Webhooks&#x20;in&#x20;OpenAPI&#x20;3.1"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-webhooks-in-openapi-3-1-documentation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/restapi-webhooks-vs-polling-vs-rest-callbacks-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/restapi-webhooks-vs-polling-vs-rest-callbacks-wann-was" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/restapi-webhooks-vs-polling-vs-rest-callbacks-comparison" />
<lastmod>2026-07-19T19:57:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-webhooks-vs-polling-vs-rest-callbacks-comparison.webp</image:loc><image:title>Webhooks vs. Polling vs. REST Callbacks - when to use what?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Webhooks&#x20;vs.&#x20;Polling&#x20;vs.&#x20;REST&#x20;Callbacks&#x20;-&#x20;when&#x20;to&#x20;use&#x20;what&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-webhooks-vs-polling-vs-rest-callbacks-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-api-platform-4-rest-and-graphql-without-boilerplate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-api-platform-4-rest-und-graphql-ohne-boilerplate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-api-platform-4-rest-and-graphql-without-boilerplate" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-api-platform-4-rest-and-graphql-without-boilerplate.webp</image:loc><image:title>API Platform 4: REST and GraphQL Without Boilerplate in Symfony</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Platform&#x20;4&#x3A;&#x20;REST&#x20;and&#x20;GraphQL&#x20;Without&#x20;Boilerplate&#x20;in&#x20;Symfony"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-api-platform-4-rest-and-graphql-without-boilerplate.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-aseventlistener-event-listener-without-yaml-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-aseventlistener-event-listener-ohne-yaml-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-aseventlistener-event-listener-without-yaml-configuration" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-aseventlistener-event-listener-without-yaml-configuration.webp</image:loc><image:title>#[AsEventListener]: Event Listeners Without YAML Configuration in Symfony</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="&#x23;&#x5B;AsEventListener&#x5D;&#x3A;&#x20;Event&#x20;Listeners&#x20;Without&#x20;YAML&#x20;Configuration&#x20;in&#x20;Symfony"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-aseventlistener-event-listener-without-yaml-configuration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-autoconfigure-di-tags-without-manual-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-autoconfigure-di-tags-ohne-manuelle-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-autoconfigure-di-tags-without-manual-configuration" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-autoconfigure-di-tags-without-manual-configuration.webp</image:loc><image:title>autoconfigure in Symfony: DI Tags Without Manual Configuration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="autoconfigure&#x20;in&#x20;Symfony&#x3A;&#x20;DI&#x20;Tags&#x20;Without&#x20;Manual&#x20;Configuration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-autoconfigure-di-tags-without-manual-configuration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-doctrine-lifecycle-callbacks-vs-event-listeners</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-doctrine-events-lifecycle-callbacks-vs-event-listeners" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-doctrine-lifecycle-callbacks-vs-event-listeners" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-lifecycle-callbacks-vs-event-listeners.webp</image:loc><image:title>Doctrine Events: Lifecycle Callbacks vs. Event Listeners in Symfony</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Doctrine&#x20;Events&#x3A;&#x20;Lifecycle&#x20;Callbacks&#x20;vs.&#x20;Event&#x20;Listeners&#x20;in&#x20;Symfony"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-lifecycle-callbacks-vs-event-listeners.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-doctrine-n-plus-1-dql-querybuilder-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-doctrine-performance-n-plus-1-problem-dql-querybuilder" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-doctrine-n-plus-1-dql-querybuilder-performance" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-n-plus-1-dql-querybuilder-performance.webp</image:loc><image:title>Doctrine Performance: Solving the N+1 Problem with DQL and QueryBuilder</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Doctrine&#x20;Performance&#x3A;&#x20;Solving&#x20;the&#x20;N&#x2B;1&#x20;Problem&#x20;with&#x20;DQL&#x20;and&#x20;QueryBuilder"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-n-plus-1-dql-querybuilder-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-hexagonal-architecture-ports-and-adapters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-hexagonale-architektur-in-symfony-ports-und-adapters" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-hexagonal-architecture-ports-and-adapters" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-hexagonal-architecture-ports-and-adapters.webp</image:loc><image:title>Hexagonal Architecture in Symfony: Ports and Adapters Implemented in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hexagonal&#x20;Architecture&#x20;in&#x20;Symfony&#x3A;&#x20;Ports&#x20;and&#x20;Adapters&#x20;Implemented&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-hexagonal-architecture-ports-and-adapters.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-mapquerystring-maprequestpayload-typed-dtos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-mapquerystring-und-maprequestpayload-request-mapping" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-mapquerystring-maprequestpayload-typed-dtos" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-mapquerystring-maprequestpayload-typed-dtos.webp</image:loc><image:title>MapQueryString and MapRequestPayload: Request Mapping in Symfony 7</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MapQueryString&#x20;and&#x20;MapRequestPayload&#x3A;&#x20;Request&#x20;Mapping&#x20;in&#x20;Symfony&#x20;7"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-mapquerystring-maprequestpayload-typed-dtos.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-php-attributes-cheatsheet-complete-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-7-attribute-cheatsheet-alle-neuen-php-attribute" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-php-attributes-cheatsheet-complete-guide" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-php-attributes-cheatsheet-complete-guide.webp</image:loc><image:title>Symfony 7 Attribute Cheatsheet: All the New PHP Attributes at a Glance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;7&#x20;Attribute&#x20;Cheatsheet&#x3A;&#x20;All&#x20;the&#x20;New&#x20;PHP&#x20;Attributes&#x20;at&#x20;a&#x20;Glance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-php-attributes-cheatsheet-complete-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-7-whats-new-and-whats-removed</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-7-was-ist-neu-und-was-fallt-weg" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-7-whats-new-and-whats-removed" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-7-whats-new-and-whats-removed.webp</image:loc><image:title>Symfony 7: What's New and What's Removed?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;7&#x3A;&#x20;What&#x27;s&#x20;New&#x20;and&#x20;What&#x27;s&#x20;Removed&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-7-whats-new-and-whats-removed.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-admin-easyadmin-4-vs-sonata-admin-when-what</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-admin-easyadmin-4-vs-sonata-wann-was" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-admin-easyadmin-4-vs-sonata-admin-when-what" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-admin-easyadmin-4-vs-sonata-admin-when-what.webp</image:loc><image:title>Symfony Admin: EasyAdmin 4 vs. Sonata Admin, When to Use What?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Admin&#x3A;&#x20;EasyAdmin&#x20;4&#x20;vs.&#x20;Sonata&#x20;Admin,&#x20;When&#x20;to&#x20;Use&#x20;What&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-admin-easyadmin-4-vs-sonata-admin-when-what.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-api-versioning-strategies-without-breaking-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-api-versionierung-strategien-ohne-breaking-changes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-api-versioning-strategies-without-breaking-changes" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-api-versioning-strategies-without-breaking-changes.webp</image:loc><image:title>Symfony API Versioning: Strategies Without Breaking Changes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;API&#x20;Versioning&#x3A;&#x20;Strategies&#x20;Without&#x20;Breaking&#x20;Changes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-api-versioning-strategies-without-breaking-changes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-assetmapper-bundler-is-history</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-assetmapper-bundler-war-gestern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-assetmapper-bundler-is-history" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-assetmapper-bundler-is-history.webp</image:loc><image:title>Symfony AssetMapper: Bundlers Are History</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;AssetMapper&#x3A;&#x20;Bundlers&#x20;Are&#x20;History"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-assetmapper-bundler-is-history.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-async-events-messenger-event-bus-combined</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-async-events-messenger-plus-event-bus-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-async-events-messenger-event-bus-combined" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-async-events-messenger-event-bus-combined.webp</image:loc><image:title>Symfony Async Events: Combining Messenger and Event Bus</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Async&#x20;Events&#x3A;&#x20;Combining&#x20;Messenger&#x20;and&#x20;Event&#x20;Bus"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-async-events-messenger-event-bus-combined.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-cache-multi-layer-caching-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-cache-komplexe-multi-layer-caching-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-cache-multi-layer-caching-strategies" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-cache-multi-layer-caching-strategies.webp</image:loc><image:title>Symfony Cache: Complex Multi-Layer Caching Strategies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Cache&#x3A;&#x20;Complex&#x20;Multi-Layer&#x20;Caching&#x20;Strategies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-cache-multi-layer-caching-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-console-typesafe-commands-with-attributes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-console-typsichere-commands-mit-attributen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-console-typesafe-commands-with-attributes" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-console-typesafe-commands-with-attributes.webp</image:loc><image:title>Symfony Console: Type-Safe Commands with Attributes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Console&#x3A;&#x20;Type-Safe&#x20;Commands&#x20;with&#x20;Attributes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-console-typesafe-commands-with-attributes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-cqrs-pattern-commands-and-queries-cleanly-separated</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-cqrs-pattern-commands-und-queries-sauber-trennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-cqrs-pattern-commands-and-queries-cleanly-separated" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-cqrs-pattern-commands-and-queries-cleanly-separated.webp</image:loc><image:title>Symfony CQRS Pattern: Cleanly Separating Commands and Queries</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;CQRS&#x20;Pattern&#x3A;&#x20;Cleanly&#x20;Separating&#x20;Commands&#x20;and&#x20;Queries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-cqrs-pattern-commands-and-queries-cleanly-separated.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-deployment-zero-downtime-deployer-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-deployment-zero-downtime-mit-deployer-php" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-deployment-zero-downtime-deployer-php" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-deployment-zero-downtime-deployer-php.webp</image:loc><image:title>Symfony Deployment: Zero Downtime with Deployer PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Deployment&#x3A;&#x20;Zero&#x20;Downtime&#x20;with&#x20;Deployer&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-deployment-zero-downtime-deployer-php.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-di-decorators-and-compiler-passes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-di-dekoratoren-und-compiler-passes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-di-decorators-and-compiler-passes" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-di-decorators-and-compiler-passes.webp</image:loc><image:title>Symfony DI: Decorators and Compiler Passes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;DI&#x3A;&#x20;Decorators&#x20;and&#x20;Compiler&#x20;Passes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-di-decorators-and-compiler-passes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-event-sourcing-reconstructing-state-from-events</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-event-sourcing-den-zustand-aus-events-rekonstruieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-event-sourcing-reconstructing-state-from-events" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-event-sourcing-reconstructing-state-from-events.webp</image:loc><image:title>Symfony Event Sourcing: Reconstructing State from Events</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Event&#x20;Sourcing&#x3A;&#x20;Reconstructing&#x20;State&#x20;from&#x20;Events"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-event-sourcing-reconstructing-state-from-events.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-feature-flags-without-third-party</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-feature-flags-ohne-third-party-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-feature-flags-without-third-party" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-feature-flags-without-third-party.webp</image:loc><image:title>Symfony Feature Flags Without Third-Party Packages</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Feature&#x20;Flags&#x20;Without&#x20;Third-Party&#x20;Packages"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-feature-flags-without-third-party.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-form-custom-form-types-and-data-transformers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-form-custom-form-types-und-daten-transformatoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-form-custom-form-types-and-data-transformers" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-form-custom-form-types-and-data-transformers.webp</image:loc><image:title>Symfony Form: Custom Form Types and Data Transformers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Form&#x3A;&#x20;Custom&#x20;Form&#x20;Types&#x20;and&#x20;Data&#x20;Transformers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-form-custom-form-types-and-data-transformers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-httpclient-type-safe-resilient-api-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-httpclient-api-anfragen-typsicher-und-resilient" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-httpclient-type-safe-resilient-api-requests" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-httpclient-type-safe-resilient-api-requests.webp</image:loc><image:title>Symfony HttpClient: Type-Safe and Resilient API Requests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;HttpClient&#x3A;&#x20;Type-Safe&#x20;and&#x20;Resilient&#x20;API&#x20;Requests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-httpclient-type-safe-resilient-api-requests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-kernel-custom-bundles-in-2026-still-worth-it</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-kernel-custom-bundles-in-2026-noch-sinnvoll" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-kernel-custom-bundles-in-2026-still-worth-it" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-kernel-custom-bundles-in-2026-still-worth-it.webp</image:loc><image:title>Symfony Kernel &amp; Custom Bundles in 2026: still worth it?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Kernel&#x20;&amp;&#x20;Custom&#x20;Bundles&#x20;in&#x20;2026&#x3A;&#x20;still&#x20;worth&#x20;it&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-kernel-custom-bundles-in-2026-still-worth-it.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-lock-distributed-locks-with-redis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-lock-distributed-locks-mit-redis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-lock-distributed-locks-with-redis" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-lock-distributed-locks-with-redis.webp</image:loc><image:title>Symfony Lock: Distributed Locks with Redis</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Lock&#x3A;&#x20;Distributed&#x20;Locks&#x20;with&#x20;Redis"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-lock-distributed-locks-with-redis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-mailer-modern-type-safe-testable-emails</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-mailer-e-mails-modern-typsicher-und-testbar" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-mailer-modern-type-safe-testable-emails" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-mailer-modern-type-safe-testable-emails.webp</image:loc><image:title>Symfony Mailer: Modern, Type-Safe and Testable Emails</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Mailer&#x3A;&#x20;Modern,&#x20;Type-Safe&#x20;and&#x20;Testable&#x20;Emails"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-mailer-modern-type-safe-testable-emails.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-mercure-real-time-updates-without-polling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-mercure-echtzeit-updates-im-browser-ohne-polling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-mercure-real-time-updates-without-polling" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-mercure-real-time-updates-without-polling.webp</image:loc><image:title>Symfony Mercure: Real-Time Updates in the Browser Without Polling</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Mercure&#x3A;&#x20;Real-Time&#x20;Updates&#x20;in&#x20;the&#x20;Browser&#x20;Without&#x20;Polling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-mercure-real-time-updates-without-polling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-messenger-event-driven-architecture-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-messenger-event-driven-architecture-von-grund-auf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-messenger-event-driven-architecture-from-scratch" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-messenger-event-driven-architecture-from-scratch.webp</image:loc><image:title>Symfony Messenger: Event-Driven Architecture from Scratch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Messenger&#x3A;&#x20;Event-Driven&#x20;Architecture&#x20;from&#x20;Scratch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-messenger-event-driven-architecture-from-scratch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-multi-tenancy-one-codebase-many-tenants</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-multi-tenancy-ein-code-viele-mandanten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-multi-tenancy-one-codebase-many-tenants" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-multi-tenancy-one-codebase-many-tenants.webp</image:loc><image:title>Symfony Multi-Tenancy: One Codebase, Many Tenants</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Multi-Tenancy&#x3A;&#x20;One&#x20;Codebase,&#x20;Many&#x20;Tenants"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-multi-tenancy-one-codebase-many-tenants.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-notifier-slack-teams-sms-unified-interface</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-notifier-slack-teams-sms-mit-einem-interface" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-notifier-slack-teams-sms-unified-interface" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-notifier-slack-teams-sms-unified-interface.webp</image:loc><image:title>Symfony Notifier: Slack, Teams, SMS with One Interface</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Notifier&#x3A;&#x20;Slack,&#x20;Teams,&#x20;SMS&#x20;with&#x20;One&#x20;Interface"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-notifier-slack-teams-sms-unified-interface.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-phpstan-magic-methods-and-doctrine-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-phpstan-magische-methoden-und-doctrine-typen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-phpstan-magic-methods-and-doctrine-types" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-phpstan-magic-methods-and-doctrine-types.webp</image:loc><image:title>Symfony + PHPStan: Magic Methods and Doctrine Types</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;&#x2B;&#x20;PHPStan&#x3A;&#x20;Magic&#x20;Methods&#x20;and&#x20;Doctrine&#x20;Types"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-phpstan-magic-methods-and-doctrine-types.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-elasticsearch-full-text-search-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-plus-elasticsearch-full-text-search-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-elasticsearch-full-text-search-integration" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-elasticsearch-full-text-search-integration.webp</image:loc><image:title>Symfony + Elasticsearch: Integrating Full-Text Search</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;&#x2B;&#x20;Elasticsearch&#x3A;&#x20;Integrating&#x20;Full-Text&#x20;Search"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-elasticsearch-full-text-search-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-react-fullstack-app-with-api-platform</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-plus-react-fullstack-app-mit-api-platform" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-react-fullstack-app-with-api-platform" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-react-fullstack-app-with-api-platform.webp</image:loc><image:title>Symfony + React: Building a Fullstack App with API Platform</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;&#x2B;&#x20;React&#x3A;&#x20;Building&#x20;a&#x20;Fullstack&#x20;App&#x20;with&#x20;API&#x20;Platform"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-react-fullstack-app-with-api-platform.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-stripe-payments-clean-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-plus-stripe-zahlungen-sauber-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-stripe-payments-clean-integration" />
<lastmod>2026-07-19T20:15:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-stripe-payments-clean-integration.webp</image:loc><image:title>Symfony + Stripe: Clean Payment Integration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;&#x2B;&#x20;Stripe&#x3A;&#x20;Clean&#x20;Payment&#x20;Integration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-stripe-payments-clean-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-tailwind-css-v4-optimal-setup-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-plus-tailwind-css-v4-optimales-setup-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-tailwind-css-v4-optimal-setup-2026" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-tailwind-css-v4-optimal-setup-2026.webp</image:loc><image:title>Symfony + Tailwind CSS v4: The Optimal Setup for 2026</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;&#x2B;&#x20;Tailwind&#x20;CSS&#x20;v4&#x3A;&#x20;The&#x20;Optimal&#x20;Setup&#x20;for&#x20;2026"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-tailwind-css-v4-optimal-setup-2026.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-process-component-shell-processes-control-and-monitor</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-process-shell-prozesse-steuern-und-uberwachen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-process-component-shell-processes-control-and-monitor" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-process-component-shell-processes-control-and-monitor.webp</image:loc><image:title>Symfony Process: Control and Monitor Shell Processes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Process&#x3A;&#x20;Control&#x20;and&#x20;Monitor&#x20;Shell&#x20;Processes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-process-component-shell-processes-control-and-monitor.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-profiler-find-performance-bottlenecks-in-seconds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-profiler-performance-engpasse-in-sekunden-finden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-profiler-find-performance-bottlenecks-in-seconds" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-profiler-find-performance-bottlenecks-in-seconds.webp</image:loc><image:title>Symfony Profiler: Find Performance Bottlenecks in Seconds</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Profiler&#x3A;&#x20;Find&#x20;Performance&#x20;Bottlenecks&#x20;in&#x20;Seconds"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-profiler-find-performance-bottlenecks-in-seconds.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-rate-limiter-protecting-apis-from-abuse</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-rate-limiter-apis-vor-missbrauch-schutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-rate-limiter-protecting-apis-from-abuse" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-rate-limiter-protecting-apis-from-abuse.webp</image:loc><image:title>Symfony Rate Limiter: Protecting APIs from Abuse</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Rate&#x20;Limiter&#x3A;&#x20;Protecting&#x20;APIs&#x20;from&#x20;Abuse"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-rate-limiter-protecting-apis-from-abuse.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-scheduler-cron-jobs-with-messenger</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-scheduler-cron-jobs-mit-dem-messenger" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-scheduler-cron-jobs-with-messenger" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-scheduler-cron-jobs-with-messenger.webp</image:loc><image:title>Symfony Scheduler: Cron Jobs with the Messenger</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Scheduler&#x3A;&#x20;Cron&#x20;Jobs&#x20;with&#x20;the&#x20;Messenger"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-scheduler-cron-jobs-with-messenger.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-security-voters-instead-of-roles-for-granular-permissions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-security-voters-statt-roles-fur-granulare-rechte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-security-voters-instead-of-roles-for-granular-permissions" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-security-voters-instead-of-roles-for-granular-permissions.webp</image:loc><image:title>Symfony Security Voters Instead of Roles for Granular Permissions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Security&#x20;Voters&#x20;Instead&#x20;of&#x20;Roles&#x20;for&#x20;Granular&#x20;Permissions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-security-voters-instead-of-roles-for-granular-permissions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-serializer-dto-mapping-and-normalization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-serializer-dto-mapping-und-normalisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-serializer-dto-mapping-and-normalization" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-serializer-dto-mapping-and-normalization.webp</image:loc><image:title>Symfony Serializer: DTO Mapping and Normalization</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Serializer&#x3A;&#x20;DTO&#x20;Mapping&#x20;and&#x20;Normalization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-serializer-dto-mapping-and-normalization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-functional-tests-writing-efficiently</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-tests-functional-tests-effizient-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-functional-tests-writing-efficiently" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-functional-tests-writing-efficiently.webp</image:loc><image:title>Symfony Tests: Writing Functional Tests Efficiently</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Tests&#x3A;&#x20;Writing&#x20;Functional&#x20;Tests&#x20;Efficiently"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-functional-tests-writing-efficiently.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-translation-icu-message-format</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-translation-i18n-mit-icu-message-format" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-translation-icu-message-format" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-translation-icu-message-format.webp</image:loc><image:title>Symfony Translation &amp; i18n with ICU Message Format</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Translation&#x20;&amp;&#x20;i18n&#x20;with&#x20;ICU&#x20;Message&#x20;Format"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-translation-icu-message-format.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-turbo-spa-feel-without-javascript-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-turbo-spa-feeling-ohne-javascript-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-turbo-spa-feel-without-javascript-framework" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-turbo-spa-feel-without-javascript-framework.webp</image:loc><image:title>Symfony Turbo: SPA Feel Without a JavaScript Framework</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Turbo&#x3A;&#x20;SPA&#x20;Feel&#x20;Without&#x20;a&#x20;JavaScript&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-turbo-spa-feel-without-javascript-framework.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-ux-chartjs-data-visualization-without-custom-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-ux-chart-js-daten-ohne-custom-js-visualisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-ux-chartjs-data-visualization-without-custom-js" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-ux-chartjs-data-visualization-without-custom-js.webp</image:loc><image:title>Symfony UX Chart.js: Visualize Data Without Custom JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;UX&#x20;Chart.js&#x3A;&#x20;Visualize&#x20;Data&#x20;Without&#x20;Custom&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-ux-chartjs-data-visualization-without-custom-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-ux-live-component-reactive-php-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-ux-live-component-reactive-php-components" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-ux-live-component-reactive-php-components" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-ux-live-component-reactive-php-components.webp</image:loc><image:title>Symfony UX Live Component: Reactive PHP Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;UX&#x20;Live&#x20;Component&#x3A;&#x20;Reactive&#x20;PHP&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-ux-live-component-reactive-php-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-ux-twigcomponent-reusable-blocks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-ux-twigcomponent-wiederverwendbare-blocke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-ux-twigcomponent-reusable-blocks" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-ux-twigcomponent-reusable-blocks.webp</image:loc><image:title>Symfony UX TwigComponent: Building Reusable Blocks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;UX&#x20;TwigComponent&#x3A;&#x20;Building&#x20;Reusable&#x20;Blocks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-ux-twigcomponent-reusable-blocks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-validator-custom-constraint-classes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-validator-eigene-constraint-klassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-validator-custom-constraint-classes" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-validator-custom-constraint-classes.webp</image:loc><image:title>Symfony Validator: Writing Custom Constraint Classes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Validator&#x3A;&#x20;Writing&#x20;Custom&#x20;Constraint&#x20;Classes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-validator-custom-constraint-classes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-vs-laravel-2026-honest-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-vs-laravel-2026-sachlicher-fairer-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-vs-laravel-2026-honest-comparison" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-vs-laravel-2026-honest-comparison.webp</image:loc><image:title>Symfony vs. Laravel 2026: an honest, fair comparison</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;vs.&#x20;Laravel&#x20;2026&#x3A;&#x20;an&#x20;honest,&#x20;fair&#x20;comparison"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-vs-laravel-2026-honest-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-webhooks-external-events-type-safe</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-webhooks-externe-ereignisse-typsicher-verarbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-webhooks-external-events-type-safe" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-webhooks-external-events-type-safe.webp</image:loc><image:title>Symfony Webhooks: Processing External Events Type-Safely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Webhooks&#x3A;&#x20;Processing&#x20;External&#x20;Events&#x20;Type-Safely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-webhooks-external-events-type-safe.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-workflow-component-state-machine-for-processes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-symfony-workflow-component-state-machine-fur-prozesse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-workflow-component-state-machine-for-processes" />
<lastmod>2026-07-19T20:15:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-workflow-component-state-machine-for-processes.webp</image:loc><image:title>Symfony Workflow Component: State Machines for Processes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Workflow&#x20;Component&#x3A;&#x20;State&#x20;Machines&#x20;for&#x20;Processes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-workflow-component-state-machine-for-processes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-css-animations-keyframes-transitions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-animationen-keyframes-transitions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-css-animations-keyframes-transitions" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-css-animations-keyframes-transitions.webp</image:loc><image:title>Tailwind CSS Animations: Keyframes, Transitions and animate Utilities</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Animations&#x3A;&#x20;Keyframes,&#x20;Transitions&#x20;and&#x20;animate&#x20;Utilities"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-css-animations-keyframes-transitions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-apply-good-practice-or-antipattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-apply-sinnvoll-oder-antipattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-apply-good-practice-or-antipattern" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-apply-good-practice-or-antipattern.webp</image:loc><image:title>Tailwind @apply: Good Practice or Antipattern?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;&#x40;apply&#x3A;&#x20;Good&#x20;Practice&#x20;or&#x20;Antipattern&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-apply-good-practice-or-antipattern.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-aria-modifiers-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-aria-utilities-accessibility" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-aria-modifiers-accessibility" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-aria-modifiers-accessibility.webp</image:loc><image:title>Tailwind CSS ARIA Utilities: Accessibility with aria-* Modifiers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;ARIA&#x20;Utilities&#x3A;&#x20;Accessibility&#x20;with&#x20;aria-&#x2A;&#x20;Modifiers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-aria-modifiers-accessibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-aspect-ratio-responsive-media-embeds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-aspect-ratio-responsive-media" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-aspect-ratio-responsive-media-embeds" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-aspect-ratio-responsive-media-embeds.webp</image:loc><image:title>Tailwind CSS Aspect Ratio: Embedding Responsive Media Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Aspect&#x20;Ratio&#x3A;&#x20;Embedding&#x20;Responsive&#x20;Media&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-aspect-ratio-responsive-media-embeds.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-breakpoint-debugging-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-breakpoint-debugging" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-breakpoint-debugging-guide" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-breakpoint-debugging-guide.webp</image:loc><image:title>Tailwind CSS Breakpoint Debugging: Solving Responsive Problems Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Breakpoint&#x20;Debugging&#x3A;&#x20;Solving&#x20;Responsive&#x20;Problems&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-breakpoint-debugging-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-button-system-variant-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-button-system-variantenbibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-button-system-variant-library" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-button-system-variant-library.webp</image:loc><image:title>Tailwind CSS Button System: Building a Variant Library</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Button&#x20;System&#x3A;&#x20;Building&#x20;a&#x20;Variant&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-button-system-variant-library.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-card-variants</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-card-varianten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-card-variants" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-card-variants.webp</image:loc><image:title>Tailwind CSS Card Variants: Product Cards, Info Cards and More</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Card&#x20;Variants&#x3A;&#x20;Product&#x20;Cards,&#x20;Info&#x20;Cards&#x20;and&#x20;More"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-card-variants.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-clip-path-creative-shapes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-clip-path-kreative-formen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-clip-path-creative-shapes" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-clip-path-creative-shapes.webp</image:loc><image:title>Tailwind CSS clip-path: Creative Shapes and Transitions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;clip-path&#x3A;&#x20;Creative&#x20;Shapes&#x20;and&#x20;Transitions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-clip-path-creative-shapes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-container-queries-responsive-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-container-queries" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-container-queries-responsive-components" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-container-queries-responsive-components.webp</image:loc><image:title>Tailwind CSS Container Queries: Component-Responsive Layouts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Container&#x20;Queries&#x3A;&#x20;Component-Responsive&#x20;Layouts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-container-queries-responsive-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-css4-theme-layer-utility-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-css-4-theme-layer-utility-hyva-theme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-css4-theme-layer-utility-hyva" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-css4-theme-layer-utility-hyva.webp</image:loc><image:title>Tailwind CSS 4 Theme Layer and Utility Layer for Hyva Theme</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;4&#x20;Theme&#x20;Layer&#x20;and&#x20;Utility&#x20;Layer&#x20;for&#x20;Hyva&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-css4-theme-layer-utility-hyva.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-v4-css-first-theme-config</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-css-first-config-theme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-v4-css-first-theme-config" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-v4-css-first-theme-config.webp</image:loc><image:title>Tailwind CSS v4 CSS-First Config: Theming Without tailwind.config.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;v4&#x20;CSS-First&#x20;Config&#x3A;&#x20;Theming&#x20;Without&#x20;tailwind.config.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-v4-css-first-theme-config.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-css-v4-new-features-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-css-v4-neu" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-css-v4-new-features-explained" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-css-v4-new-features-explained.webp</image:loc><image:title>Tailwind CSS v4: What's New? All Features at a Glance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;v4&#x3A;&#x20;What&#x27;s&#x20;New&#x3F;&#x20;All&#x20;Features&#x20;at&#x20;a&#x20;Glance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-css-v4-new-features-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-custom-utilities-utility-v4-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-custom-utilities-utility-v4" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-custom-utilities-utility-v4-en" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-custom-utilities-utility-v4-en.webp</image:loc><image:title>Tailwind CSS Custom Utilities with @utility in v4</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Custom&#x20;Utilities&#x20;with&#x20;&#x40;utility&#x20;in&#x20;v4"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-custom-utilities-utility-v4-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-dark-mode-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-dark-mode-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-dark-mode-strategy" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-dark-mode-strategy.webp</image:loc><image:title>Tailwind CSS Dark Mode Strategy: class, media and @variant in v4</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Dark&#x20;Mode&#x20;Strategy&#x3A;&#x20;class,&#x20;media&#x20;and&#x20;&#x40;variant&#x20;in&#x20;v4"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-dark-mode-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-design-tokens-theme-system-v4</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-design-token-system-v4" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-design-tokens-theme-system-v4" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-design-tokens-theme-system-v4.webp</image:loc><image:title>Tailwind CSS Design Token System in v4: @theme as Single Source of Truth</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Design&#x20;Token&#x20;System&#x20;in&#x20;v4&#x3A;&#x20;&#x40;theme&#x20;as&#x20;Single&#x20;Source&#x20;of&#x20;Truth"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-design-tokens-theme-system-v4.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-figma-design-token-workflow-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-figma-design-token-workflow" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-figma-design-token-workflow-guide" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-figma-design-token-workflow-guide.webp</image:loc><image:title>Tailwind CSS &amp; Figma Design Token Workflow: Variables, Themes, CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;&amp;&#x20;Figma&#x20;Design&#x20;Token&#x20;Workflow&#x3A;&#x20;Variables,&#x20;Themes,&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-figma-design-token-workflow-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-focus-visible-accessible-focus-styles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-focus-visible" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-focus-visible-accessible-focus-styles" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-focus-visible-accessible-focus-styles.webp</image:loc><image:title>Tailwind CSS focus-visible: Accessible Focus Styles Without Visual Disruption</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;focus-visible&#x3A;&#x20;Accessible&#x20;Focus&#x20;Styles&#x20;Without&#x20;Visual&#x20;Disruption"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-focus-visible-accessible-focus-styles.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-forms-plugin-accessible-styling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-forms-plugin" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-forms-plugin-accessible-styling" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-forms-plugin-accessible-styling.webp</image:loc><image:title>Tailwind CSS Forms Plugin: Styling Forms Professionally</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Forms&#x20;Plugin&#x3A;&#x20;Styling&#x20;Forms&#x20;Professionally"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-forms-plugin-accessible-styling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-glassmorphism-frosted-glass-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-glassmorphism-frosted-glass" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-glassmorphism-frosted-glass-guide" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-glassmorphism-frosted-glass-guide.webp</image:loc><image:title>Tailwind CSS Glassmorphism: Implementing Frosted Glass Effects Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Glassmorphism&#x3A;&#x20;Implementing&#x20;Frosted&#x20;Glass&#x20;Effects&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-glassmorphism-frosted-glass-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-gradients-and-mesh-gradients</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-gradient-mesh-gradients" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-gradients-and-mesh-gradients" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-gradients-and-mesh-gradients.webp</image:loc><image:title>Tailwind CSS Gradients: Mesh Gradients, Conic and Radial Gradients</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Gradients&#x3A;&#x20;Mesh&#x20;Gradients,&#x20;Conic&#x20;and&#x20;Radial&#x20;Gradients"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-gradients-and-mesh-gradients.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-grid-mastery-complex-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-grid-mastery-komplexe-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-grid-mastery-complex-layouts" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-grid-mastery-complex-layouts.webp</image:loc><image:title>Tailwind Grid Mastery: Complex Layouts Without CSS Chaos</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;Grid&#x20;Mastery&#x3A;&#x20;Complex&#x20;Layouts&#x20;Without&#x20;CSS&#x20;Chaos"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-grid-mastery-complex-layouts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-group-peer-selectors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-group-peer-selektoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-group-peer-selectors" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-group-peer-selectors.webp</image:loc><image:title>Tailwind group and peer: selectors for interactive UI without JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;group&#x20;and&#x20;peer&#x3A;&#x20;selectors&#x20;for&#x20;interactive&#x20;UI&#x20;without&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-group-peer-selectors.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-has-variant-css-has-selector</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-has-css-has-variante" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-has-variant-css-has-selector" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-has-variant-css-has-selector.webp</image:loc><image:title>Tailwind has: The CSS :has() Variant for Context-Aware Styles</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;has&#x3A;&#x20;The&#x20;CSS&#x20;&#x3A;has&#x28;&#x29;&#x20;Variant&#x20;for&#x20;Context-Aware&#x20;Styles"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-has-variant-css-has-selector.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-hero-sections-variants</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-hero-sections-varianten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-hero-sections-variants" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-hero-sections-variants.webp</image:loc><image:title>Tailwind Hero Sections: 10 Variants for Strong Landing Pages</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;Hero&#x20;Sections&#x3A;&#x20;10&#x20;Variants&#x20;for&#x20;Strong&#x20;Landing&#x20;Pages"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-hero-sections-variants.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-icons-heroicons-phosphor-svg-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-icons-heroicons-phosphor-svg" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-icons-heroicons-phosphor-svg-guide" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-icons-heroicons-phosphor-svg-guide.webp</image:loc><image:title>Tailwind Icons: Using Heroicons, Phosphor and Inline SVG Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;Icons&#x3A;&#x20;Using&#x20;Heroicons,&#x20;Phosphor&#x20;and&#x20;Inline&#x20;SVG&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-icons-heroicons-phosphor-svg-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-jit-compiler-on-demand-css</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-jit-mode-compiler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-jit-compiler-on-demand-css" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-jit-compiler-on-demand-css.webp</image:loc><image:title>Tailwind JIT Mode &amp; Compiler: On-Demand CSS for Fast Build Times</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;JIT&#x20;Mode&#x20;&amp;&#x20;Compiler&#x3A;&#x20;On-Demand&#x20;CSS&#x20;for&#x20;Fast&#x20;Build&#x20;Times"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-jit-compiler-on-demand-css.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-component-library-cva-storybook</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-komponenten-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-component-library-cva-storybook" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-component-library-cva-storybook.webp</image:loc><image:title>Building a Tailwind Component Library: Reusable UI Without CSS Chaos</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Tailwind&#x20;Component&#x20;Library&#x3A;&#x20;Reusable&#x20;UI&#x20;Without&#x20;CSS&#x20;Chaos"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-component-library-cva-storybook.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-layer-base-components-utilities-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-layer-base-components-utilities" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-layer-base-components-utilities-explained" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-layer-base-components-utilities-explained.webp</image:loc><image:title>Tailwind Layer: @layer base, components and utilities explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;Layer&#x3A;&#x20;&#x40;layer&#x20;base,&#x20;components&#x20;and&#x20;utilities&#x20;explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-layer-base-components-utilities-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-logical-properties-rtl-support</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-logical-properties-rtl" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-logical-properties-rtl-support" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-logical-properties-rtl-support.webp</image:loc><image:title>Tailwind Logical Properties &amp; RTL Support: Bidirectional Layouts Without Hacks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;Logical&#x20;Properties&#x20;&amp;&#x20;RTL&#x20;Support&#x3A;&#x20;Bidirectional&#x20;Layouts&#x20;Without&#x20;Hacks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-logical-properties-rtl-support.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-masonry-layout-pinterest-grid</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-masonry-layout" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-masonry-layout-pinterest-grid" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-masonry-layout-pinterest-grid.webp</image:loc><image:title>Tailwind Masonry Layout: Pinterest Grid Without a JavaScript Library</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;Masonry&#x20;Layout&#x3A;&#x20;Pinterest&#x20;Grid&#x20;Without&#x20;a&#x20;JavaScript&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-masonry-layout-pinterest-grid.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-migration-v3-to-v4-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-migration-v3-zu-v4" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-migration-v3-to-v4-guide" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-migration-v3-to-v4-guide.webp</image:loc><image:title>Tailwind CSS Migration from v3 to v4: Complete Step-by-Step Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Migration&#x20;from&#x20;v3&#x20;to&#x20;v4&#x3A;&#x20;Complete&#x20;Step-by-Step&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-migration-v3-to-v4-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-motion-reduce-accessible-animations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-motion-reduce" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-motion-reduce-accessible-animations" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-motion-reduce-accessible-animations.webp</image:loc><image:title>Tailwind CSS motion-reduce: Building Accessible Animations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;motion-reduce&#x3A;&#x20;Building&#x20;Accessible&#x20;Animations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-motion-reduce-accessible-animations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-multi-brand-theming-design-tokens</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-multi-brand-theming" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-multi-brand-theming-design-tokens" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-multi-brand-theming-design-tokens.webp</image:loc><image:title>Tailwind CSS Multi-Brand Theming: One Codebase, Many Brands</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Multi-Brand&#x20;Theming&#x3A;&#x20;One&#x20;Codebase,&#x20;Many&#x20;Brands"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-multi-brand-theming-design-tokens.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-navigation-patterns-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-navigation-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-navigation-patterns-guide" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-navigation-patterns-guide.webp</image:loc><image:title>Tailwind CSS Navigation Patterns: Sticky Header, Mega Menu and Mobile Nav</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Navigation&#x20;Patterns&#x3A;&#x20;Sticky&#x20;Header,&#x20;Mega&#x20;Menu&#x20;and&#x20;Mobile&#x20;Nav"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-navigation-patterns-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-oklch-color-space-v4</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-oklch-farbraum-v4" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-oklch-color-space-v4" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-oklch-color-space-v4.webp</image:loc><image:title>Tailwind CSS OKLCH Color Space in v4: Perceptually Uniform Colors</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;OKLCH&#x20;Color&#x20;Space&#x20;in&#x20;v4&#x3A;&#x20;Perceptually&#x20;Uniform&#x20;Colors"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-oklch-color-space-v4.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-performance-smaller-css-bundle</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-performance-kleineres-css-bundle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-performance-smaller-css-bundle" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-performance-smaller-css-bundle.webp</image:loc><image:title>Tailwind CSS Performance: A Smaller CSS Bundle Without Compromise</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Performance&#x3A;&#x20;A&#x20;Smaller&#x20;CSS&#x20;Bundle&#x20;Without&#x20;Compromise"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-performance-smaller-css-bundle.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-prefix-third-party-css-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-prefix-drittanbieter-css" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-prefix-third-party-css-integration" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-prefix-third-party-css-integration.webp</image:loc><image:title>Tailwind CSS Prefix: Integrating Third-Party CSS Without Conflicts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Prefix&#x3A;&#x20;Integrating&#x20;Third-Party&#x20;CSS&#x20;Without&#x20;Conflicts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-prefix-third-party-css-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-print-styles-css-page-rules</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-print-styles" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-print-styles-css-page-rules" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-print-styles-css-page-rules.webp</image:loc><image:title>Tailwind CSS Print Styles: Print-Optimized Layouts with Tailwind</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Print&#x20;Styles&#x3A;&#x20;Print-Optimized&#x20;Layouts&#x20;with&#x20;Tailwind"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-print-styles-css-page-rules.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-clsx-cn-cva-react-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-react-best-practices-clsx-cn" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-clsx-cn-cva-react-guide" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-clsx-cn-cva-react-guide.webp</image:loc><image:title>Tailwind CSS in React: Best Practices with clsx and cn</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;in&#x20;React&#x3A;&#x20;Best&#x20;Practices&#x20;with&#x20;clsx&#x20;and&#x20;cn"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-clsx-cn-cva-react-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-responsive-tables-mobile-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-responsive-tabellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-responsive-tables-mobile-layouts" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-responsive-tables-mobile-layouts.webp</image:loc><image:title>Tailwind CSS Responsive Tables: Mobile-Optimized Layouts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Responsive&#x20;Tables&#x3A;&#x20;Mobile-Optimized&#x20;Layouts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-responsive-tables-mobile-layouts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-safelist-dynamic-classes-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-safelist-dynamische-klassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-safelist-dynamic-classes-guide" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-safelist-dynamic-classes-guide.webp</image:loc><image:title>Tailwind CSS Safelist: Securing Dynamic Classes Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Safelist&#x3A;&#x20;Securing&#x20;Dynamic&#x20;Classes&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-safelist-dynamic-classes-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-scroll-snap-slider-carousel</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-scroll-snap-slider" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-scroll-snap-slider-carousel" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-scroll-snap-slider-carousel.webp</image:loc><image:title>Tailwind CSS Scroll Snap Slider: A Carousel Without a JavaScript Library</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Scroll&#x20;Snap&#x20;Slider&#x3A;&#x20;A&#x20;Carousel&#x20;Without&#x20;a&#x20;JavaScript&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-scroll-snap-slider-carousel.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-sticky-layouts-header-sidebar-tables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-sticky-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-sticky-layouts-header-sidebar-tables" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-sticky-layouts-header-sidebar-tables.webp</image:loc><image:title>Tailwind CSS Sticky Layouts: Building Headers, Sidebars and Columns Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Sticky&#x20;Layouts&#x3A;&#x20;Building&#x20;Headers,&#x20;Sidebars&#x20;and&#x20;Columns&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-sticky-layouts-header-sidebar-tables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-storybook-component-documentation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-storybook-komponenten-dokumentieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-storybook-component-documentation" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-storybook-component-documentation.webp</image:loc><image:title>Documenting Tailwind CSS Components with Storybook</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Documenting&#x20;Tailwind&#x20;CSS&#x20;Components&#x20;with&#x20;Storybook"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-storybook-component-documentation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-symfony-assetmapper-setup-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-symfony-setup-assetmapper" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-symfony-assetmapper-setup-guide" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-symfony-assetmapper-setup-guide.webp</image:loc><image:title>Setting Up Tailwind CSS with Symfony AssetMapper: The Modern Setup Without Node.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;Tailwind&#x20;CSS&#x20;with&#x20;Symfony&#x20;AssetMapper&#x3A;&#x20;The&#x20;Modern&#x20;Setup&#x20;Without&#x20;Node.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-symfony-assetmapper-setup-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-typography-plugin-prose-classes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-typography-plugin-prose" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-typography-plugin-prose-classes" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-typography-plugin-prose-classes.webp</image:loc><image:title>Tailwind CSS Typography Plugin: Using prose Classes Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Typography&#x20;Plugin&#x3A;&#x20;Using&#x20;prose&#x20;Classes&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-typography-plugin-prose-classes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-v4-cheatsheet-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-v4-cheatsheet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-v4-cheatsheet-en" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-v4-cheatsheet-en.webp</image:loc><image:title>Tailwind CSS v4 Cheatsheet: All Key Classes and Concepts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;v4&#x20;Cheatsheet&#x3A;&#x20;All&#x20;Key&#x20;Classes&#x20;and&#x20;Concepts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-v4-cheatsheet-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-v4-oxide-compiler-rust-build-engine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-v4-oxide-compiler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-v4-oxide-compiler-rust-build-engine" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-v4-oxide-compiler-rust-build-engine.webp</image:loc><image:title>Tailwind CSS v4 Oxide Compiler: 10x Faster, How It Works</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;v4&#x20;Oxide&#x20;Compiler&#x3A;&#x20;10x&#x20;Faster,&#x20;How&#x20;It&#x20;Works"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-v4-oxide-compiler-rust-build-engine.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-v4-variants-selectors-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-v4-varianten-selektoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-v4-variants-selectors-guide" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-v4-variants-selectors-guide.webp</image:loc><image:title>Tailwind CSS v4 Variants and Selectors: hover, group, peer, @custom-variant</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;v4&#x20;Variants&#x20;and&#x20;Selectors&#x3A;&#x20;hover,&#x20;group,&#x20;peer,&#x20;&#x40;custom-variant"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-v4-variants-selectors-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-vs-bootstrap-5-framework-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-vs-bootstrap-5" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-vs-bootstrap-5-framework-comparison" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-vs-bootstrap-5-framework-comparison.webp</image:loc><image:title>Tailwind CSS vs. Bootstrap 5: which framework for which project?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;vs.&#x20;Bootstrap&#x20;5&#x3A;&#x20;which&#x20;framework&#x20;for&#x20;which&#x20;project&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-vs-bootstrap-5-framework-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-css-vs-css-modules-react-nextjs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-vs-css-modules" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-css-vs-css-modules-react-nextjs" />
<lastmod>2026-07-19T20:47:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-css-vs-css-modules-react-nextjs.webp</image:loc><image:title>Tailwind CSS vs. CSS Modules in React and Next.js: An Honest Comparison</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;vs.&#x20;CSS&#x20;Modules&#x20;in&#x20;React&#x20;and&#x20;Next.js&#x3A;&#x20;An&#x20;Honest&#x20;Comparison"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-css-vs-css-modules-react-nextjs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-50-vue-3-patterns-for-productive-frontends</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-50-vue-3-patterns-fur-produktive-frontends" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-50-vue-3-patterns-for-productive-frontends" />
<lastmod>2026-07-19T20:56:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-50-vue-3-patterns-for-productive-frontends.webp</image:loc><image:title>50 Vue 3 Patterns for Productive Frontends</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="50&#x20;Vue&#x20;3&#x20;Patterns&#x20;for&#x20;Productive&#x20;Frontends"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-50-vue-3-patterns-for-productive-frontends.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-accessibility-focus-aria-keyboard-support</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-accessibility-in-vue-komponenten-fokus-aria-keyboard-support" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-accessibility-focus-aria-keyboard-support" />
<lastmod>2026-07-19T20:56:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-accessibility-focus-aria-keyboard-support.webp</image:loc><image:title>Accessibility in Vue Components: Focus, ARIA and Keyboard Support</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessibility&#x20;in&#x20;Vue&#x20;Components&#x3A;&#x20;Focus,&#x20;ARIA&#x20;and&#x20;Keyboard&#x20;Support"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-accessibility-focus-aria-keyboard-support.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-admin-interfaces-with-vue-3-tables-filters-bulk-actions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-admin-oberflachen-mit-vue-3-tabellen-filter-bulk-actions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-admin-interfaces-with-vue-3-tables-filters-bulk-actions" />
<lastmod>2026-07-19T20:56:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-admin-interfaces-with-vue-3-tables-filters-bulk-actions.webp</image:loc><image:title>Admin Interfaces with Vue 3: Tables, Filters and Bulk Actions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Admin&#x20;Interfaces&#x20;with&#x20;Vue&#x20;3&#x3A;&#x20;Tables,&#x20;Filters&#x20;and&#x20;Bulk&#x20;Actions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-admin-interfaces-with-vue-3-tables-filters-bulk-actions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-charts-and-data-visualization-in-vue-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-charts-und-datenvisualisierung-in-vue-sauber-einbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-charts-and-data-visualization-in-vue-done-right" />
<lastmod>2026-07-19T20:56:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-charts-and-data-visualization-in-vue-done-right.webp</image:loc><image:title>Cleanly Integrating Charts and Data Visualization in Vue</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cleanly&#x20;Integrating&#x20;Charts&#x20;and&#x20;Data&#x20;Visualization&#x20;in&#x20;Vue"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-charts-and-data-visualization-in-vue-done-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-designing-component-apis-stable-interfaces-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-component-apis-designen-stabile-schnittstellen-fur-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-designing-component-apis-stable-interfaces-for-teams" />
<lastmod>2026-07-19T20:56:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-designing-component-apis-stable-interfaces-for-teams.webp</image:loc><image:title>Designing Component APIs: Stable Interfaces for Teams in Vue 3</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Component&#x20;APIs&#x3A;&#x20;Stable&#x20;Interfaces&#x20;for&#x20;Teams&#x20;in&#x20;Vue&#x20;3"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-designing-component-apis-stable-interfaces-for-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-composable-patterns-reusable-logic-without-copy-paste</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-composable-patterns-wiederverwendbare-logik-ohne-copy-paste" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-composable-patterns-reusable-logic-without-copy-paste" />
<lastmod>2026-07-19T20:56:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-composable-patterns-reusable-logic-without-copy-paste.webp</image:loc><image:title>Vue Composable Patterns: Reusable Logic Without Copy-Paste</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Composable&#x20;Patterns&#x3A;&#x20;Reusable&#x20;Logic&#x20;Without&#x20;Copy-Paste"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-composable-patterns-reusable-logic-without-copy-paste.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-composable-vs-pinia-stores-which-pattern-when</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-composable-stores-vs-pinia-stores-wann-welches-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-composable-vs-pinia-stores-which-pattern-when" />
<lastmod>2026-07-19T20:56:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-composable-vs-pinia-stores-which-pattern-when.webp</image:loc><image:title>Vue Composable Stores vs. Pinia Stores: Which Pattern When?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Composable&#x20;Stores&#x20;vs.&#x20;Pinia&#x20;Stores&#x3A;&#x20;Which&#x20;Pattern&#x20;When&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-composable-vs-pinia-stores-which-pattern-when.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-composable-testing-testing-reusable-logic-in-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-composable-testing-wie-man-wiederverwendbare-logik-isoliert-pruft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-composable-testing-testing-reusable-logic-in-isolation" />
<lastmod>2026-07-19T20:56:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-composable-testing-testing-reusable-logic-in-isolation.webp</image:loc><image:title>Vue Composable Testing: Testing Reusable Logic in Isolation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Composable&#x20;Testing&#x3A;&#x20;Testing&#x20;Reusable&#x20;Logic&#x20;in&#x20;Isolation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-composable-testing-testing-reusable-logic-in-isolation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-composition-api-clean-structure-instead-of-setup-chaos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-composition-api-sauber-strukturieren-statt-setup-chaos" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-composition-api-clean-structure-instead-of-setup-chaos" />
<lastmod>2026-07-19T20:56:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-composition-api-clean-structure-instead-of-setup-chaos.webp</image:loc><image:title>Structuring the Vue Composition API Cleanly Instead of Setup Chaos</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Structuring&#x20;the&#x20;Vue&#x20;Composition&#x20;API&#x20;Cleanly&#x20;Instead&#x20;of&#x20;Setup&#x20;Chaos"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-composition-api-clean-structure-instead-of-setup-chaos.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-dark-mode-theming-design-tokens</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-dark-mode-theming-und-design-tokens-in-vue-apps" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-dark-mode-theming-design-tokens" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-dark-mode-theming-design-tokens.webp</image:loc><image:title>Vue Dark Mode, Theming and Design Tokens in Vue Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Dark&#x20;Mode,&#x20;Theming&#x20;and&#x20;Design&#x20;Tokens&#x20;in&#x20;Vue&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-dark-mode-theming-design-tokens.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-file-based-architecture-for-larger-vue-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-dateibasierte-architektur-fur-groere-vue-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-file-based-architecture-for-larger-vue-projects" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-file-based-architecture-for-larger-vue-projects.webp</image:loc><image:title>File-Based Architecture for Larger Vue Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="File-Based&#x20;Architecture&#x20;for&#x20;Larger&#x20;Vue&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-file-based-architecture-for-larger-vue-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-file-uploads-progress-preview-error-paths</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-dateiuploads-in-vue-progress-preview-fehlerpfade" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-file-uploads-progress-preview-error-paths" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-file-uploads-progress-preview-error-paths.webp</image:loc><image:title>File Uploads in Vue: Progress, Preview and Error Paths</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="File&#x20;Uploads&#x20;in&#x20;Vue&#x3A;&#x20;Progress,&#x20;Preview&#x20;and&#x20;Error&#x20;Paths"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-file-uploads-progress-preview-error-paths.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-data-loading-nuxt-fetching-caching-error-handling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-daten-laden-in-vue-nuxt-fetching-caching-error-handling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-data-loading-nuxt-fetching-caching-error-handling" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-data-loading-nuxt-fetching-caching-error-handling.webp</image:loc><image:title>Loading Data in Vue &amp; Nuxt: Fetching, Caching and Error Handling</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Loading&#x20;Data&#x20;in&#x20;Vue&#x20;&amp;&#x20;Nuxt&#x3A;&#x20;Fetching,&#x20;Caching&#x20;and&#x20;Error&#x20;Handling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-data-loading-nuxt-fetching-caching-error-handling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-devtools-for-vue-3-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-devtools-fur-vue-3-produktiv-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-devtools-for-vue-3-in-practice" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-devtools-for-vue-3-in-practice.webp</image:loc><image:title>Using Vue DevTools Productively in Vue 3</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Vue&#x20;DevTools&#x20;Productively&#x20;in&#x20;Vue&#x20;3"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-devtools-for-vue-3-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-drag-and-drop-in-vue-without-ui-chaos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-drag-and-drop-in-vue-ohne-ui-chaos" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-drag-and-drop-in-vue-without-ui-chaos" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-drag-and-drop-in-vue-without-ui-chaos.webp</image:loc><image:title>Drag and Drop in Vue Without UI Chaos</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Drag&#x20;and&#x20;Drop&#x20;in&#x20;Vue&#x20;Without&#x20;UI&#x20;Chaos"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-drag-and-drop-in-vue-without-ui-chaos.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-error-pages-fallbacks-error-boundaries-in-vue-nuxt</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-fehlerseiten-fallbacks-und-error-boundaries-in-vue-nuxt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-error-pages-fallbacks-error-boundaries-in-vue-nuxt" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-error-pages-fallbacks-error-boundaries-in-vue-nuxt.webp</image:loc><image:title>Error Pages, Fallbacks and Error Boundaries in Vue &amp; Nuxt</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Error&#x20;Pages,&#x20;Fallbacks&#x20;and&#x20;Error&#x20;Boundaries&#x20;in&#x20;Vue&#x20;&amp;&#x20;Nuxt"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-error-pages-fallbacks-error-boundaries-in-vue-nuxt.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-form-builder-and-dynamic-forms-in-vue-3</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-form-builder-und-dynamische-formulare-in-vue-3" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-form-builder-and-dynamic-forms-in-vue-3" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-form-builder-and-dynamic-forms-in-vue-3.webp</image:loc><image:title>Form Builder and Dynamic Forms in Vue 3</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Form&#x20;Builder&#x20;and&#x20;Dynamic&#x20;Forms&#x20;in&#x20;Vue&#x20;3"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-form-builder-and-dynamic-forms-in-vue-3.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-3-form-validation-dirty-state-and-async-checks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-forms-in-vue-3-validation-dirty-state-async-checks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-3-form-validation-dirty-state-and-async-checks" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-3-form-validation-dirty-state-and-async-checks.webp</image:loc><image:title>Forms in Vue 3: Validation, Dirty State and Async Checks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Forms&#x20;in&#x20;Vue&#x20;3&#x3A;&#x20;Validation,&#x20;Dirty&#x20;State&#x20;and&#x20;Async&#x20;Checks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-3-form-validation-dirty-state-and-async-checks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-headless-ui-radix-vue-component-libraries-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-headless-ui-radix-vue-und-komponentenbibliotheken-vergleichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-headless-ui-radix-vue-component-libraries-compared" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-headless-ui-radix-vue-component-libraries-compared.webp</image:loc><image:title>Headless UI, Radix Vue and Component Libraries Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Headless&#x20;UI,&#x20;Radix&#x20;Vue&#x20;and&#x20;Component&#x20;Libraries&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-headless-ui-radix-vue-component-libraries-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-hydration-mismatches-understanding-and-avoiding-them</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-hydration-probleme-verstehen-und-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-hydration-mismatches-understanding-and-avoiding-them" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-hydration-mismatches-understanding-and-avoiding-them.webp</image:loc><image:title>Understanding and Avoiding Vue Hydration Issues</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;and&#x20;Avoiding&#x20;Vue&#x20;Hydration&#x20;Issues"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-hydration-mismatches-understanding-and-avoiding-them.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-infinite-scroll-pagination-and-search-filters-cleanly-connected</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-infinite-scroll-pagination-und-suchfilter-mit-vue-sauber-verbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-infinite-scroll-pagination-and-search-filters-cleanly-connected" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-infinite-scroll-pagination-and-search-filters-cleanly-connected.webp</image:loc><image:title>Connecting Infinite Scroll, Pagination and Search Filters Cleanly with Vue</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Connecting&#x20;Infinite&#x20;Scroll,&#x20;Pagination&#x20;and&#x20;Search&#x20;Filters&#x20;Cleanly&#x20;with&#x20;Vue"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-infinite-scroll-pagination-and-search-filters-cleanly-connected.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-micro-interactions-in-vue-without-overengineering</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-micro-interactions-in-vue-ohne-overengineering" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-micro-interactions-in-vue-without-overengineering" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-micro-interactions-in-vue-without-overengineering.webp</image:loc><image:title>Micro-Interactions in Vue Without Overengineering</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Micro-Interactions&#x20;in&#x20;Vue&#x20;Without&#x20;Overengineering"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-micro-interactions-in-vue-without-overengineering.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-migrating-from-vue-2-to-vue-3-realistically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-migration-von-vue-2-auf-vue-3-realistisch-planen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-migrating-from-vue-2-to-vue-3-realistically" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-migrating-from-vue-2-to-vue-3-realistically.webp</image:loc><image:title>Planning a Realistic Vue 2 to Vue 3 Migration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Planning&#x20;a&#x20;Realistic&#x20;Vue&#x20;2&#x20;to&#x20;Vue&#x20;3&#x20;Migration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-migrating-from-vue-2-to-vue-3-realistically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-nuxt-3-architecture-server-routes-composables-nitro</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-nuxt-3-architektur-verstehen-server-routes-composables-nitro" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-nuxt-3-architecture-server-routes-composables-nitro" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-3-architecture-server-routes-composables-nitro.webp</image:loc><image:title>Understanding Nuxt 3 Architecture: Server Routes, Composables and Nitro</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Nuxt&#x20;3&#x20;Architecture&#x3A;&#x20;Server&#x20;Routes,&#x20;Composables&#x20;and&#x20;Nitro"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-3-architecture-server-routes-composables-nitro.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-nuxt-caching-and-edge-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-nuxt-caching-und-edge-strategien-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-nuxt-caching-and-edge-strategies" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-caching-and-edge-strategies.webp</image:loc><image:title>Understanding Nuxt Caching and Edge Strategies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Nuxt&#x20;Caching&#x20;and&#x20;Edge&#x20;Strategies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-caching-and-edge-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-nuxt-middleware-auth-and-protected-routes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-nuxt-middleware-auth-und-geschutzte-bereiche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-nuxt-middleware-auth-and-protected-routes" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-middleware-auth-and-protected-routes.webp</image:loc><image:title>Nuxt Middleware, Auth and Protected Routes - Complete Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;Middleware,&#x20;Auth&#x20;and&#x20;Protected&#x20;Routes&#x20;-&#x20;Complete&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-middleware-auth-and-protected-routes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-nuxt-seo-meta-open-graph-canonicals-structured-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-nuxt-seo-meta-open-graph-canonicals-und-strukturierte-daten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-nuxt-seo-meta-open-graph-canonicals-structured-data" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-seo-meta-open-graph-canonicals-structured-data.webp</image:loc><image:title>Nuxt SEO: Meta, Open Graph, Canonicals and Structured Data</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;SEO&#x3A;&#x20;Meta,&#x20;Open&#x20;Graph,&#x20;Canonicals&#x20;and&#x20;Structured&#x20;Data"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-seo-meta-open-graph-canonicals-structured-data.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-production-ready-nuxt-checklist-performance-accessibility-testing-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-produktive-vue-nuxt-checkliste-performance-accessibility-testing-api-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-production-ready-nuxt-checklist-performance-accessibility-testing-api" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-production-ready-nuxt-checklist-performance-accessibility-testing-api.webp</image:loc><image:title>Production-Ready Vue/Nuxt Checklist: Performance, Accessibility, Testing &amp; API</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Production-Ready&#x20;Vue&#x2F;Nuxt&#x20;Checklist&#x3A;&#x20;Performance,&#x20;Accessibility,&#x20;Testing&#x20;&amp;&#x20;API"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-production-ready-nuxt-checklist-performance-accessibility-testing-api.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-props-emits-and-one-way-data-flow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-props-emits-und-one-way-data-flow-sauber-halten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-props-emits-and-one-way-data-flow" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-props-emits-and-one-way-data-flow.webp</image:loc><image:title>Vue.js Props, Emits and One-Way Data Flow Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue.js&#x20;Props,&#x20;Emits&#x20;and&#x20;One-Way&#x20;Data&#x20;Flow&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-props-emits-and-one-way-data-flow.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-provide-inject-instead-of-prop-drilling-or-global-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-provide-inject-richtig-nutzen-statt-prop-drilling-oder-globale-stores" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-provide-inject-instead-of-prop-drilling-or-global-stores" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-provide-inject-instead-of-prop-drilling-or-global-stores.webp</image:loc><image:title>Using Vue provide/inject Correctly Instead of Prop Drilling or Global Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Vue&#x20;provide&#x2F;inject&#x20;Correctly&#x20;Instead&#x20;of&#x20;Prop&#x20;Drilling&#x20;or&#x20;Global&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-provide-inject-instead-of-prop-drilling-or-global-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-realtime-in-vue-websocket-sse-and-polling-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-realtime-in-vue-websocket-sse-und-polling-vergleichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-realtime-in-vue-websocket-sse-and-polling-compared" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-realtime-in-vue-websocket-sse-and-polling-compared.webp</image:loc><image:title>Realtime in Vue: Comparing WebSocket, SSE and Polling</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Realtime&#x20;in&#x20;Vue&#x3A;&#x20;Comparing&#x20;WebSocket,&#x20;SSE&#x20;and&#x20;Polling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-realtime-in-vue-websocket-sse-and-polling-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-renderless-headless-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-renderless-components-und-headless-patterns-in-vue" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-renderless-headless-patterns" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-renderless-headless-patterns.webp</image:loc><image:title>Renderless Components and Headless Patterns in Vue.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Renderless&#x20;Components&#x20;and&#x20;Headless&#x20;Patterns&#x20;in&#x20;Vue.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-renderless-headless-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-slots-scoped-slots-flexible-ui-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-slots-und-scoped-slots-fur-flexible-ui-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-slots-scoped-slots-flexible-ui-components" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-slots-scoped-slots-flexible-ui-components.webp</image:loc><image:title>Slots and Scoped Slots for Flexible UI Components in Vue.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Slots&#x20;and&#x20;Scoped&#x20;Slots&#x20;for&#x20;Flexible&#x20;UI&#x20;Components&#x20;in&#x20;Vue.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-slots-scoped-slots-flexible-ui-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-ssr-ssg-and-hybrid-rendering-in-nuxt</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-ssr-ssg-und-hybrid-rendering-in-nuxt-sauber-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-ssr-ssg-and-hybrid-rendering-in-nuxt" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-ssr-ssg-and-hybrid-rendering-in-nuxt.webp</image:loc><image:title>Using SSR, SSG and Hybrid Rendering in Nuxt the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;SSR,&#x20;SSG&#x20;and&#x20;Hybrid&#x20;Rendering&#x20;in&#x20;Nuxt&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-ssr-ssg-and-hybrid-rendering-in-nuxt.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-state-explosion-prevent-small-calm-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-state-explosion-verhindern-kleine-ruhige-komponenten-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-state-explosion-prevent-small-calm-components" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-state-explosion-prevent-small-calm-components.webp</image:loc><image:title>Preventing State Explosion: Building Small, Calm Vue Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preventing&#x20;State&#x20;Explosion&#x3A;&#x20;Building&#x20;Small,&#x20;Calm&#x20;Vue&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-state-explosion-prevent-small-calm-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-state-management-with-pinia-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-state-management-mit-pinia-richtig-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-state-management-with-pinia-done-right" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-state-management-with-pinia-done-right.webp</image:loc><image:title>Building State Management with Pinia the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;State&#x20;Management&#x20;with&#x20;Pinia&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-state-management-with-pinia-done-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-team-patterns-for-vue-code-reviews</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-team-patterns-fur-vue-code-reviews" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-team-patterns-for-vue-code-reviews" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-team-patterns-for-vue-code-reviews.webp</image:loc><image:title>Team Patterns for Vue Code Reviews</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Team&#x20;Patterns&#x20;for&#x20;Vue&#x20;Code&#x20;Reviews"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-team-patterns-for-vue-code-reviews.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-teleport-suspense-async-components-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-teleport-suspense-und-async-components-sinnvoll-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-teleport-suspense-async-components-in-practice" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-teleport-suspense-async-components-in-practice.webp</image:loc><image:title>Using Teleport, Suspense and Async Components in Vue 3 the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Teleport,&#x20;Suspense&#x20;and&#x20;Async&#x20;Components&#x20;in&#x20;Vue&#x20;3&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-teleport-suspense-async-components-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-transitions-what-is-truly-smooth-and-what-just-flickers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-transitionen-in-vue-was-wirklich-smooth-ist-und-was-nur-blinkt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-transitions-what-is-truly-smooth-and-what-just-flickers" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-transitions-what-is-truly-smooth-and-what-just-flickers.webp</image:loc><image:title>Transitions in Vue: What's Truly Smooth and What Just Flickers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Transitions&#x20;in&#x20;Vue&#x3A;&#x20;What&#x27;s&#x20;Truly&#x20;Smooth&#x20;and&#x20;What&#x20;Just&#x20;Flickers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-transitions-what-is-truly-smooth-and-what-just-flickers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-3-reactivity-explained-ref-reactive-computed-watch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-vue-3-reaktivitat-wirklich-verstehen-ref-reactive-computed-watch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-3-reactivity-explained-ref-reactive-computed-watch" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-3-reactivity-explained-ref-reactive-computed-watch.webp</image:loc><image:title>Understanding Vue 3 Reactivity: ref, reactive, computed, watch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Vue&#x20;3&#x20;Reactivity&#x3A;&#x20;ref,&#x20;reactive,&#x20;computed,&#x20;watch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-3-reactivity-explained-ref-reactive-computed-watch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-graphql-queries-caching-tooling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-vue-graphql-queries-caching-tooling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-graphql-queries-caching-tooling" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-graphql-queries-caching-tooling.webp</image:loc><image:title>Vue GraphQL: Queries, Caching and Tooling in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;GraphQL&#x3A;&#x20;Queries,&#x20;Caching&#x20;and&#x20;Tooling&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-graphql-queries-caching-tooling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-integrating-vue-into-legacy-systems-instead-of-a-full-rewrite</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-vue-in-legacy-systeme-integrieren-statt-alles-neu-zu-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-integrating-vue-into-legacy-systems-instead-of-a-full-rewrite" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-integrating-vue-into-legacy-systems-instead-of-a-full-rewrite.webp</image:loc><image:title>Integrating Vue Into Legacy Systems Instead Of Rebuilding Everything</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrating&#x20;Vue&#x20;Into&#x20;Legacy&#x20;Systems&#x20;Instead&#x20;Of&#x20;Rebuilding&#x20;Everything"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-integrating-vue-into-legacy-systems-instead-of-a-full-rewrite.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-documenting-vue-components-with-storybook</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-vue-komponenten-dokumentieren-mit-storybook" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-documenting-vue-components-with-storybook" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-documenting-vue-components-with-storybook.webp</image:loc><image:title>Documenting Vue Components with Storybook</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Documenting&#x20;Vue&#x20;Components&#x20;with&#x20;Storybook"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-documenting-vue-components-with-storybook.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-performance-large-lists-memoization-virtualization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-vue-performance-groe-listen-memoisierung-virtualisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-performance-large-lists-memoization-virtualization" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-performance-large-lists-memoization-virtualization.webp</image:loc><image:title>Vue Performance: Large Lists, Memoization and Virtualization</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Performance&#x3A;&#x20;Large&#x20;Lists,&#x20;Memoization&#x20;and&#x20;Virtualization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-performance-large-lists-memoization-virtualization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-rest-api-dto-thinking-error-mapping-retry</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-vue-rest-api-dto-denken-error-mapping-retry" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-rest-api-dto-thinking-error-mapping-retry" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-rest-api-dto-thinking-error-mapping-retry.webp</image:loc><image:title>Vue REST API: DTO Thinking, Error Mapping, and Retry Strategies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;REST&#x20;API&#x3A;&#x20;DTO&#x20;Thinking,&#x20;Error&#x20;Mapping,&#x20;and&#x20;Retry&#x20;Strategies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-rest-api-dto-thinking-error-mapping-retry.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-router-nested-routes-guards-scroll-behavior</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-vue-router-praktisch-nutzen-nested-routes-guards-scroll-behavior" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-router-nested-routes-guards-scroll-behavior" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-router-nested-routes-guards-scroll-behavior.webp</image:loc><image:title>Using Vue Router in Practice: Nested Routes, Guards and Scroll Behavior</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Vue&#x20;Router&#x20;in&#x20;Practice&#x3A;&#x20;Nested&#x20;Routes,&#x20;Guards&#x20;and&#x20;Scroll&#x20;Behavior"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-router-nested-routes-guards-scroll-behavior.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-security-review-xss-unsafe-html-interpolation-third-party-risk</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-vue-security-review-xss-unsichere-html-interpolation-third-party-risk" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-security-review-xss-unsafe-html-interpolation-third-party-risk" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-security-review-xss-unsafe-html-interpolation-third-party-risk.webp</image:loc><image:title>Vue Security Review: XSS, Unsafe HTML Interpolation and Third-Party Risk</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Security&#x20;Review&#x3A;&#x20;XSS,&#x20;Unsafe&#x20;HTML&#x20;Interpolation&#x20;and&#x20;Third-Party&#x20;Risk"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-security-review-xss-unsafe-html-interpolation-third-party-risk.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-testing-with-vitest-and-testing-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-vue-testing-mit-vitest-und-testing-library" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-testing-with-vitest-and-testing-library" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-testing-with-vitest-and-testing-library.webp</image:loc><image:title>Vue Testing with Vitest and Testing Library: Testing Components the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Testing&#x20;with&#x20;Vitest&#x20;and&#x20;Testing&#x20;Library&#x3A;&#x20;Testing&#x20;Components&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-testing-with-vitest-and-testing-library.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-and-tailwind-sensible-patterns-instead-of-class-soup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-vue-und-tailwind-sinnvolle-patterns-statt-klassenmull" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-and-tailwind-sensible-patterns-instead-of-class-soup" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-and-tailwind-sensible-patterns-instead-of-class-soup.webp</image:loc><image:title>Vue and Tailwind: Sensible Patterns Instead of Class Soup</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;and&#x20;Tailwind&#x3A;&#x20;Sensible&#x20;Patterns&#x20;Instead&#x20;of&#x20;Class&#x20;Soup"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-and-tailwind-sensible-patterns-instead-of-class-soup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-watch-vs-watcheffect-vs-computed-when-to-use-what</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-watch-vs-watcheffect-vs-computed-wann-was" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-watch-vs-watcheffect-vs-computed-when-to-use-what" />
<lastmod>2026-07-19T20:56:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-watch-vs-watcheffect-vs-computed-when-to-use-what.webp</image:loc><image:title>watch vs watchEffect vs computed in Vue: when to use what?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="watch&#x20;vs&#x20;watchEffect&#x20;vs&#x20;computed&#x20;in&#x20;Vue&#x3A;&#x20;when&#x20;to&#x20;use&#x20;what&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-watch-vs-watcheffect-vs-computed-when-to-use-what.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-terms-checkbox-checkout-compliance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-agb-checkbox-checkout-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-terms-checkbox-checkout-compliance" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-terms-checkbox-checkout-compliance.webp</image:loc><image:title>Terms and Conditions Checkbox in the Hyvä Checkout, Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Terms&#x20;and&#x20;Conditions&#x20;Checkbox&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Checkout,&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-terms-checkbox-checkout-compliance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-implementing-b2b-features-in-the-theme</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-b2b-features-im-theme-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-implementing-b2b-features-in-the-theme" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-implementing-b2b-features-in-the-theme.webp</image:loc><image:title>Implementing B2B Features in the Hyvä Theme</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;B2B&#x20;Features&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-implementing-b2b-features-in-the-theme.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-block-cache-strategy-for-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-block-cache-strategie-fuer-templates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-block-cache-strategy-for-templates" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-block-cache-strategy-for-templates.webp</image:loc><image:title>Hyvä Block Cache Strategy: Setting Cache Tags Right Without Breaking the Full Page Cache</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Block&#x20;Cache&#x20;Strategy&#x3A;&#x20;Setting&#x20;Cache&#x20;Tags&#x20;Right&#x20;Without&#x20;Breaking&#x20;the&#x20;Full&#x20;Page&#x20;Cache"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-block-cache-strategy-for-templates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-checkout-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-checkout-customizing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-checkout-customization" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-checkout-customization.webp</image:loc><image:title>Extending the Hyvä Checkout: Custom Steps, Fields, Validation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Extending&#x20;the&#x20;Hyv&#xE4;&#x20;Checkout&#x3A;&#x20;Custom&#x20;Steps,&#x20;Fields,&#x20;Validation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-checkout-customization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-cms-blocks-and-widgets-in-the-theme</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-cms-blocks-und-widgets-im-theme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-cms-blocks-and-widgets-in-the-theme" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-cms-blocks-and-widgets-in-the-theme.webp</image:loc><image:title>Building Hyvä CMS Blocks and Widgets in the Theme</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Hyv&#xE4;&#x20;CMS&#x20;Blocks&#x20;and&#x20;Widgets&#x20;in&#x20;the&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-cms-blocks-and-widgets-in-the-theme.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-compatibility-modules-luma-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-compatibility-module-mit-luma-abgleichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-compatibility-modules-luma-comparison" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-compatibility-modules-luma-comparison.webp</image:loc><image:title>Understanding Compatibility Modules: Assessing Luma Remnants in a Hyvä Shop Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Compatibility&#x20;Modules&#x3A;&#x20;Assessing&#x20;Luma&#x20;Remnants&#x20;in&#x20;a&#x20;Hyv&#xE4;&#x20;Shop&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-compatibility-modules-luma-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-cookie-consent-module</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-cookie-consent-modul" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-cookie-consent-module" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-cookie-consent-module.webp</image:loc><image:title>Cookie Consent Module in the Hyvä Theme: GDPR-Compliant and CSP-Safe</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cookie&#x20;Consent&#x20;Module&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Theme&#x3A;&#x20;GDPR-Compliant&#x20;and&#x20;CSP-Safe"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-cookie-consent-module.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-csp-content-security-policy-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-csp-content-security-policy-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-csp-content-security-policy-setup" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-csp-content-security-policy-setup.webp</image:loc><image:title>Setting Up CSP in Hyva: registerInlineScript and Co</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;CSP&#x20;in&#x20;Hyva&#x3A;&#x20;registerInlineScript&#x20;and&#x20;Co"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-csp-content-security-policy-setup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-extending-customer-account-dashboard</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-customer-account-dashboard-erweitern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-extending-customer-account-dashboard" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-extending-customer-account-dashboard.webp</image:loc><image:title>Extending the Hyvä Customer Account Dashboard: Custom Tabs with a ViewModel and Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Extending&#x20;the&#x20;Hyv&#xE4;&#x20;Customer&#x20;Account&#x20;Dashboard&#x3A;&#x20;Custom&#x20;Tabs&#x20;with&#x20;a&#x20;ViewModel&#x20;and&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-extending-customer-account-dashboard.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-building-custom-alpine-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-eigene-alpine-komponenten-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-building-custom-alpine-components" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-building-custom-alpine-components.webp</image:loc><image:title>Building Custom Alpine Components for Hyvä Templates: A Structured Approach</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Custom&#x20;Alpine&#x20;Components&#x20;for&#x20;Hyv&#xE4;&#x20;Templates&#x3A;&#x20;A&#x20;Structured&#x20;Approach"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-building-custom-alpine-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-custom-payment-methods-checkout</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-eigene-zahlungsmethoden-im-checkout" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-custom-payment-methods-checkout" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-custom-payment-methods-checkout.webp</image:loc><image:title>Custom Payment Method in the Hyvä Checkout</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Payment&#x20;Method&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Checkout"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-custom-payment-methods-checkout.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-custom-theme-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-eigenes-theme-von-grund-auf-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-custom-theme-from-scratch" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-custom-theme-from-scratch.webp</image:loc><image:title>Building a custom Hyva theme from scratch: without compat modules</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;custom&#x20;Hyva&#x20;theme&#x20;from&#x20;scratch&#x3A;&#x20;without&#x20;compat&#x20;modules"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-custom-theme-from-scratch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-layered-navigation-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-facettierte-navigation-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-layered-navigation-customization" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-layered-navigation-customization.webp</image:loc><image:title>Customizing Layered Navigation in the Hyvä Theme</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Customizing&#x20;Layered&#x20;Navigation&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-layered-navigation-customization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-fallback-mechanism-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-fallback-mechanismus-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-fallback-mechanism-explained" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-fallback-mechanism-explained.webp</image:loc><image:title>Understanding the Hyvä Fallback Mechanism: Template Resolution in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;the&#x20;Hyv&#xE4;&#x20;Fallback&#x20;Mechanism&#x3A;&#x20;Template&#x20;Resolution&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-fallback-mechanism-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-designing-404-500-error-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-fehlerseiten-404-500-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-designing-404-500-error-pages" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-designing-404-500-error-pages.webp</image:loc><image:title>Designing 404 and 500 Error Pages in the Hyvä Theme, the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;404&#x20;and&#x20;500&#x20;Error&#x20;Pages&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Theme,&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-designing-404-500-error-pages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-formkey-csrf-protection-in-frontend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-formkey-csrf-schutz-im-frontend" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-formkey-csrf-protection-in-frontend" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-formkey-csrf-protection-in-frontend.webp</image:loc><image:title>Form Key CSRF Protection in Custom Hyvä Forms Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Form&#x20;Key&#x20;CSRF&#x20;Protection&#x20;in&#x20;Custom&#x20;Hyv&#xE4;&#x20;Forms&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-formkey-csrf-protection-in-frontend.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-graphql-queries-in-the-frontend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-graphql-queries-im-frontend" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-graphql-queries-in-the-frontend" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-graphql-queries-in-the-frontend.webp</image:loc><image:title>Hyvä GraphQL Queries in the Frontend: Build and Cache Them</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;GraphQL&#x20;Queries&#x20;in&#x20;the&#x20;Frontend&#x3A;&#x20;Build&#x20;and&#x20;Cache&#x20;Them"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-graphql-queries-in-the-frontend.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-header-footer-structural-layout-xml</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-header-footer-strukturell-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-header-footer-structural-layout-xml" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-header-footer-structural-layout-xml.webp</image:loc><image:title>Structuring Hyvä Header and Footer Layout XML Properly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Structuring&#x20;Hyv&#xE4;&#x20;Header&#x20;and&#x20;Footer&#x20;Layout&#x20;XML&#x20;Properly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-header-footer-structural-layout-xml.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-hot-reload-local-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-hot-reload-lokale-entwicklung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-hot-reload-local-development" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-hot-reload-local-development.webp</image:loc><image:title>Setting Up the Hyvä Watcher and Hot Reload in Local Docker Development</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;the&#x20;Hyv&#xE4;&#x20;Watcher&#x20;and&#x20;Hot&#x20;Reload&#x20;in&#x20;Local&#x20;Docker&#x20;Development"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-hot-reload-local-development.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-category-page-filter-ui-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-kategorieseite-filter-ui-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-category-page-filter-ui-customization" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-category-page-filter-ui-customization.webp</image:loc><image:title>Hyvä Category Page: Sorting, Grid/List and Pagination</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Category&#x20;Page&#x3A;&#x20;Sorting,&#x20;Grid&#x2F;List&#x20;and&#x20;Pagination"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-category-page-filter-ui-customization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-layout-xml-differences-from-luma</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-layout-xml-unterschiede-zu-luma" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-layout-xml-differences-from-luma" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-layout-xml-differences-from-luma.webp</image:loc><image:title>Hyvä Layout XML: Differences from Luma</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Layout&#x20;XML&#x3A;&#x20;Differences&#x20;from&#x20;Luma"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-layout-xml-differences-from-luma.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-lazy-loading-for-product-images</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-lazy-loading-fuer-produktbilder" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-lazy-loading-for-product-images" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-lazy-loading-for-product-images.webp</image:loc><image:title>Configuring Lazy Loading for Product Images in Hyvä Themes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Lazy&#x20;Loading&#x20;for&#x20;Product&#x20;Images&#x20;in&#x20;Hyv&#xE4;&#x20;Themes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-lazy-loading-for-product-images.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-live-search-autocomplete-header-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-live-search-autocomplete-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-live-search-autocomplete-header-integration" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-live-search-autocomplete-header-integration.webp</image:loc><image:title>Integrating Live Search Autocomplete into the Hyvä Header</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrating&#x20;Live&#x20;Search&#x20;Autocomplete&#x20;into&#x20;the&#x20;Hyv&#xE4;&#x20;Header"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-live-search-autocomplete-header-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-porting-luma-modules-to-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-luma-module-nach-hyva-portieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-porting-luma-modules-to-hyva" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-porting-luma-modules-to-hyva.webp</image:loc><image:title>Porting Luma Modules to Hyvä: Process, Effort, Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Porting&#x20;Luma&#x20;Modules&#x20;to&#x20;Hyv&#xE4;&#x3A;&#x20;Process,&#x20;Effort,&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-porting-luma-modules-to-hyva.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-minicart-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-minicart-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-minicart-customization" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-minicart-customization.webp</image:loc><image:title>Customizing the Hyvä Minicart: Behavior and Presentation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Customizing&#x20;the&#x20;Hyv&#xE4;&#x20;Minicart&#x3A;&#x20;Behavior&#x20;and&#x20;Presentation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-minicart-customization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-mobile-navigation-with-alpine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-mobile-navigation-mit-alpine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-mobile-navigation-with-alpine" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-mobile-navigation-with-alpine.webp</image:loc><image:title>Mobile Navigation in Hyvä as an Alpine Component</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mobile&#x20;Navigation&#x20;in&#x20;Hyv&#xE4;&#x20;as&#x20;an&#x20;Alpine&#x20;Component"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-mobile-navigation-with-alpine.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-modal-dialogs-with-alpine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-modal-dialoge-mit-alpine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-modal-dialogs-with-alpine" />
<lastmod>2026-07-24T07:14:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-modal-dialogs-with-alpine.webp</image:loc><image:title>Modal Dialogs with Alpine.js in Hyvä: Login and Size Chart</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modal&#x20;Dialogs&#x20;with&#x20;Alpine.js&#x20;in&#x20;Hyv&#xE4;&#x3A;&#x20;Login&#x20;and&#x20;Size&#x20;Chart"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-modal-dialogs-with-alpine.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-module-config-json-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-module-config-json-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-module-config-json-explained" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-module-config-json-explained.webp</image:loc><image:title>hyva-themes/module-config.json explained: structure, purpose, custom entries</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="hyva-themes&#x2F;module-config.json&#x20;explained&#x3A;&#x20;structure,&#x20;purpose,&#x20;custom&#x20;entries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-module-config-json-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-multi-store-theme-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-multi-store-theme-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-multi-store-theme-strategy" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-multi-store-theme-strategy.webp</image:loc><image:title>Hyvä Theme for Multiple Stores: Multi-Store Theme Strategy</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Theme&#x20;for&#x20;Multiple&#x20;Stores&#x3A;&#x20;Multi-Store&#x20;Theme&#x20;Strategy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-multi-store-theme-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-integrating-newsletter-module</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-newsletter-modul-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-integrating-newsletter-module" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-integrating-newsletter-module.webp</image:loc><image:title>Newsletter Integration in Hyvä Themes: CSP-Compliant with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Newsletter&#x20;Integration&#x20;in&#x20;Hyv&#xE4;&#x20;Themes&#x3A;&#x20;CSP-Compliant&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-integrating-newsletter-module.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-order-success-page-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-order-success-page-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-order-success-page-customization" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-order-success-page-customization.webp</image:loc><image:title>Customize the Order Success Page: Tracking, Cross-Sell, Custom Blocks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Customize&#x20;the&#x20;Order&#x20;Success&#x20;Page&#x3A;&#x20;Tracking,&#x20;Cross-Sell,&#x20;Custom&#x20;Blocks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-order-success-page-customization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-pagebuilder-content-types-integration-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-pagebuilder-content-types-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-pagebuilder-content-types-integration-guide" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-pagebuilder-content-types-integration-guide.webp</image:loc><image:title>Building and Styling Hyvä Page Builder Content Types</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;and&#x20;Styling&#x20;Hyv&#xE4;&#x20;Page&#x20;Builder&#x20;Content&#x20;Types"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-pagebuilder-content-types-integration-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-performance-optimization-lighthouse</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-performance-optimierung-lighthouse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-performance-optimization-lighthouse" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-performance-optimization-lighthouse.webp</image:loc><image:title>Hyvä Performance Optimization: Lighthouse Scores for Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Performance&#x20;Optimization&#x3A;&#x20;Lighthouse&#x20;Scores&#x20;for&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-performance-optimization-lighthouse.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-product-page-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-produktseite-customizing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-product-page-customization" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-product-page-customization.webp</image:loc><image:title>Extending the Hyvä Product Page: Gallery, Tabs, Attributes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Extending&#x20;the&#x20;Hyv&#xE4;&#x20;Product&#x20;Page&#x3A;&#x20;Gallery,&#x20;Tabs,&#x20;Attributes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-product-page-customization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-vs-pwa-studio-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-pwa-studio-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-vs-pwa-studio-comparison" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-vs-pwa-studio-comparison.webp</image:loc><image:title>Hyva vs. PWA Studio: Architecture Comparison for Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyva&#x20;vs.&#x20;PWA&#x20;Studio&#x3A;&#x20;Architecture&#x20;Comparison&#x20;for&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-vs-pwa-studio-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-implementing-reorder-functionality</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-reorder-funktion-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-implementing-reorder-functionality" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-implementing-reorder-functionality.webp</image:loc><image:title>Implementing a Reorder Function in Hyvä: Controller, ViewModel &amp; Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;a&#x20;Reorder&#x20;Function&#x20;in&#x20;Hyv&#xE4;&#x3A;&#x20;Controller,&#x20;ViewModel&#x20;&amp;&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-implementing-reorder-functionality.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-schema-org-integration-in-the-theme</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-schema-org-integration-im-theme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-schema-org-integration-in-the-theme" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-schema-org-integration-in-the-theme.webp</image:loc><image:title>Hyvä Schema.org Markup Directly in the Theme</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Schema.org&#x20;Markup&#x20;Directly&#x20;in&#x20;the&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-schema-org-integration-in-the-theme.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-store-switcher-currency-selector</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-store-switcher-waehrungsumschalter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-store-switcher-currency-selector" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-store-switcher-currency-selector.webp</image:loc><image:title>Hyvä Store Switcher &amp; Currency Switcher: Alpine Dropdown Tutorial</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Store&#x20;Switcher&#x20;&amp;&#x20;Currency&#x20;Switcher&#x3A;&#x20;Alpine&#x20;Dropdown&#x20;Tutorial"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-store-switcher-currency-selector.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-svg-icons-and-sprites-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-svg-icons-und-sprites-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-svg-icons-and-sprites-management" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-svg-icons-and-sprites-management.webp</image:loc><image:title>Organizing SVG Icon Sprites in the Hyvä Theme</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Organizing&#x20;SVG&#x20;Icon&#x20;Sprites&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-svg-icons-and-sprites-management.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-swatches-for-configurable-products</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-swatches-fuer-konfigurierbare-produkte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-swatches-for-configurable-products" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-swatches-for-configurable-products.webp</image:loc><image:title>Swatches for Configurable Products in Hyvä</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Swatches&#x20;for&#x20;Configurable&#x20;Products&#x20;in&#x20;Hyv&#xE4;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-swatches-for-configurable-products.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-tailwind-config-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-tailwind-config-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-tailwind-config-customization" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-tailwind-config-customization.webp</image:loc><image:title>Hyvä Tailwind Config Customization: Theme Values, Plugins, Purge Paths</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Tailwind&#x20;Config&#x20;Customization&#x3A;&#x20;Theme&#x20;Values,&#x20;Plugins,&#x20;Purge&#x20;Paths"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-tailwind-config-customization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-tailwind-css-purge-production-build</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-tailwind-css-purge-produktions-build" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-tailwind-css-purge-production-build" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-tailwind-css-purge-production-build.webp</image:loc><image:title>CSS Purge in Hyvä Themes: From 3 MB to a Few KB</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Purge&#x20;in&#x20;Hyv&#xE4;&#x20;Themes&#x3A;&#x20;From&#x20;3&#x20;MB&#x20;to&#x20;a&#x20;Few&#x20;KB"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-tailwind-css-purge-production-build.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-theme-architecture-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-theme-architektur-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-theme-architecture-fundamentals" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-theme-architecture-fundamentals.webp</image:loc><image:title>Hyvä Theme Architecture: Fundamentals and Structure for Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Theme&#x20;Architecture&#x3A;&#x20;Fundamentals&#x20;and&#x20;Structure&#x20;for&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-theme-architecture-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-theme-testing-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-theme-testing-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-theme-testing-strategy" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-theme-testing-strategy.webp</image:loc><image:title>Testing Strategy for Hyvä Themes: The Test Pyramid from PHPUnit to Playwright</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;Strategy&#x20;for&#x20;Hyv&#xE4;&#x20;Themes&#x3A;&#x20;The&#x20;Test&#x20;Pyramid&#x20;from&#x20;PHPUnit&#x20;to&#x20;Playwright"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-theme-testing-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-replacing-ui-components-with-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-ui-components-durch-templates-ersetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-replacing-ui-components-with-templates" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-replacing-ui-components-with-templates.webp</image:loc><image:title>Replacing Luma UI Components with Hyvä Templates</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Replacing&#x20;Luma&#x20;UI&#x20;Components&#x20;with&#x20;Hyv&#xE4;&#x20;Templates"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-replacing-ui-components-with-templates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-shipping-methods-frontend-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-versandmethoden-im-frontend-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-shipping-methods-frontend-customization" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-shipping-methods-frontend-customization.webp</image:loc><image:title>Customizing Shipping Methods in the Hyvä Checkout</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Customizing&#x20;Shipping&#x20;Methods&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Checkout"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-shipping-methods-frontend-customization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-viewmodel-pattern-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-viewmodel-pattern-frontend" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-viewmodel-pattern-explained" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-viewmodel-pattern-explained.webp</image:loc><image:title>Hyvä ViewModel Pattern in the Frontend: Keeping ViewModels Cleanly Separated From Blocks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;ViewModel&#x20;Pattern&#x20;in&#x20;the&#x20;Frontend&#x3A;&#x20;Keeping&#x20;ViewModels&#x20;Cleanly&#x20;Separated&#x20;From&#x20;Blocks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-viewmodel-pattern-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-vs-luma-migration-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-vs-luma-migrationsstrategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-vs-luma-migration-strategy" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-vs-luma-migration-strategy.webp</image:loc><image:title>Hyvä Migration: From Luma to Hyvä, Strategy and Pitfalls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Migration&#x3A;&#x20;From&#x20;Luma&#x20;to&#x20;Hyv&#xE4;,&#x20;Strategy&#x20;and&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-vs-luma-migration-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-webp-image-format-automation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-webp-bildformate-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-webp-image-format-automation" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-webp-image-format-automation.webp</image:loc><image:title>Automate WebP Conversion in the Hyvä Build Process</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automate&#x20;WebP&#x20;Conversion&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Build&#x20;Process"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-webp-image-format-automation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva-customizing-wishlist-functionality</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/hyva-wishlist-funktionalitaet-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva-customizing-wishlist-functionality" />
<lastmod>2026-07-24T07:14:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-customizing-wishlist-functionality.webp</image:loc><image:title>Customizing Wishlist Functionality in Hyvä: Alpine.js &amp; Ajax</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Customizing&#x20;Wishlist&#x20;Functionality&#x20;in&#x20;Hyv&#xE4;&#x3A;&#x20;Alpine.js&#x20;&amp;&#x20;Ajax"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-customizing-wishlist-functionality.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-2fa-admin-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-2fa-admin-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-2fa-admin-security" />
<lastmod>2026-07-24T07:15:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-2fa-admin-security.webp</image:loc><image:title>Two-Factor Authentication for the Magento Admin Panel</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Two-Factor&#x20;Authentication&#x20;for&#x20;the&#x20;Magento&#x20;Admin&#x20;Panel"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-2fa-admin-security.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-admin-acl-roles-permissions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-admin-acl-rollen-rechte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-admin-acl-roles-permissions" />
<lastmod>2026-07-24T07:15:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-admin-acl-roles-permissions.webp</image:loc><image:title>Admin ACL in Magento 2: Modeling Custom Roles and Permissions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Admin&#x20;ACL&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Modeling&#x20;Custom&#x20;Roles&#x20;and&#x20;Permissions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-admin-acl-roles-permissions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-admin-custom-notifications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-admin-notifications-custom" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-admin-custom-notifications" />
<lastmod>2026-07-24T07:15:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-admin-custom-notifications.webp</image:loc><image:title>Registering Custom Admin Notifications in the Magento Backend</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Registering&#x20;Custom&#x20;Admin&#x20;Notifications&#x20;in&#x20;the&#x20;Magento&#x20;Backend"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-admin-custom-notifications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-amazon-ebay-marketplace-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-amazon-ebay-anbindung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-amazon-ebay-marketplace-integration" />
<lastmod>2026-07-24T07:15:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-amazon-ebay-marketplace-integration.webp</image:loc><image:title>Amazon and eBay Integration in Magento 2: Data Sync, Order Sync, Pitfalls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Amazon&#x20;and&#x20;eBay&#x20;Integration&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Data&#x20;Sync,&#x20;Order&#x20;Sync,&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-amazon-ebay-marketplace-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-attribute-sets-governance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-attribute-sets-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-attribute-sets-governance" />
<lastmod>2026-07-24T07:15:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-attribute-sets-governance.webp</image:loc><image:title>Planning Attribute Sets Strategically Instead of Letting Them Sprawl</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Planning&#x20;Attribute&#x20;Sets&#x20;Strategically&#x20;Instead&#x20;of&#x20;Letting&#x20;Them&#x20;Sprawl"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-attribute-sets-governance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-b2b-company-accounts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-b2b-firmenkonten-rollen-freigaben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-b2b-company-accounts" />
<lastmod>2026-07-24T07:15:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-b2b-company-accounts.webp</image:loc><image:title>B2B Company Accounts in Magento 2: Roles, Structure and Approvals</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="B2B&#x20;Company&#x20;Accounts&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Roles,&#x20;Structure&#x20;and&#x20;Approvals"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-b2b-company-accounts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-backup-disaster-recovery-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-backup-disaster-recovery" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-backup-disaster-recovery-en" />
<lastmod>2026-07-30T17:32:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-backup-disaster-recovery-en.webp</image:loc><image:title>Backup Strategy and Disaster Recovery for Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Backup&#x20;Strategy&#x20;and&#x20;Disaster&#x20;Recovery&#x20;for&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-backup-disaster-recovery-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-backward-compatibility-policy-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-backward-compatibility-policy" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-backward-compatibility-policy-guide" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-backward-compatibility-policy-guide.webp</image:loc><image:title>Understanding and Following Magento's Backward Compatibility Policy</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;and&#x20;Following&#x20;Magento&#x27;s&#x20;Backward&#x20;Compatibility&#x20;Policy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-backward-compatibility-policy-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-block-vs-template-decision</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-block-vs-template-entscheidung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-block-vs-template-decision" />
<lastmod>2026-07-30T17:34:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-block-vs-template-decision.webp</image:loc><image:title>Block vs. Template: Where Which Logic Really Belongs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Block&#x20;vs.&#x20;Template&#x3A;&#x20;Where&#x20;Which&#x20;Logic&#x20;Really&#x20;Belongs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-block-vs-template-decision.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-blue-green-deployment-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-blue-green-deployment" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-blue-green-deployment-en" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-blue-green-deployment-en.webp</image:loc><image:title>Blue-Green Deployment for Magento: Releases Without Downtime</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Blue-Green&#x20;Deployment&#x20;for&#x20;Magento&#x3A;&#x20;Releases&#x20;Without&#x20;Downtime"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-blue-green-deployment-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-bundle-products-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-bundle-produkte-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-bundle-products-configuration" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-bundle-products-configuration.webp</image:loc><image:title>Bundle Products in Magento 2: Options, Pricing Logic and Stock Linkage</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bundle&#x20;Products&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Options,&#x20;Pricing&#x20;Logic&#x20;and&#x20;Stock&#x20;Linkage"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-bundle-products-configuration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-catalog-price-rules-vs-cart-price-rules</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-katalog-preisregeln-vs-warenkorb-preisregeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-catalog-price-rules-vs-cart-price-rules" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-catalog-price-rules-vs-cart-price-rules.webp</image:loc><image:title>Catalog Price Rules vs. Cart Price Rules in Magento 2: Which Rule Applies When?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Catalog&#x20;Price&#x20;Rules&#x20;vs.&#x20;Cart&#x20;Price&#x20;Rules&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Which&#x20;Rule&#x20;Applies&#x20;When&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-catalog-price-rules-vs-cart-price-rules.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-cli-hidden-gems-power-user-commands</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-cli-hidden-gems-power-user-befehle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-cli-hidden-gems-power-user-commands" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-cli-hidden-gems-power-user-commands.webp</image:loc><image:title>Magento CLI Hidden Gems: Power User Commands</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;CLI&#x20;Hidden&#x20;Gems&#x3A;&#x20;Power&#x20;User&#x20;Commands"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-cli-hidden-gems-power-user-commands.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-private-composer-repository-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-composer-private-repositories" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-private-composer-repository-setup" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-private-composer-repository-setup.webp</image:loc><image:title>Private Composer Repositories in Magento 2: Distributing Custom Modules Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Private&#x20;Composer&#x20;Repositories&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Distributing&#x20;Custom&#x20;Modules&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-private-composer-repository-setup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-configurable-products-variations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-configurable-produkte-varianten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-configurable-products-variations" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-configurable-products-variations.webp</image:loc><image:title>Configurable Products in Magento 2: Variation Generation and Performance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configurable&#x20;Products&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Variation&#x20;Generation&#x20;and&#x20;Performance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-configurable-products-variations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-customer-groups-pricing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-customer-groups-preisregeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-customer-groups-pricing" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-customer-groups-pricing.webp</image:loc><image:title>Using Customer Groups as a Pricing and Visibility Lever</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Customer&#x20;Groups&#x20;as&#x20;a&#x20;Pricing&#x20;and&#x20;Visibility&#x20;Lever"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-customer-groups-pricing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-deprecation-handling-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-deprecation-handling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-deprecation-handling-en" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-deprecation-handling-en.webp</image:loc><image:title>Deprecation Handling in Magento 2: Recognizing and Migrating Deprecated Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Deprecation&#x20;Handling&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Recognizing&#x20;and&#x20;Migrating&#x20;Deprecated&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-deprecation-handling-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-preference-vs-plugin-decision-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-di-preference-vs-plugin-entscheidung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-preference-vs-plugin-decision-framework" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-preference-vs-plugin-decision-framework.webp</image:loc><image:title>Preference or Plugin: Decision Framework for Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preference&#x20;or&#x20;Plugin&#x3A;&#x20;Decision&#x20;Framework&#x20;for&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-preference-vs-plugin-decision-framework.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-downloadable-products</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-downloadable-produkte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-downloadable-products" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-downloadable-products.webp</image:loc><image:title>Downloadable Products in Magento 2: Licenses, Link Security, Delivery</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Downloadable&#x20;Products&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Licenses,&#x20;Link&#x20;Security,&#x20;Delivery"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-downloadable-products.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-gdpr-compliance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-dsgvo-compliance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-gdpr-compliance" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-gdpr-compliance.webp</image:loc><image:title>GDPR Compliance in Magento 2: Export, Erasure, Consent</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GDPR&#x20;Compliance&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Export,&#x20;Erasure,&#x20;Consent"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-gdpr-compliance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-transactional-email-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-email-templates-transaktional" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-transactional-email-templates" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-transactional-email-templates.webp</image:loc><image:title>Transactional Email Templates in Magento 2: Variables, Layouts, Testing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Transactional&#x20;Email&#x20;Templates&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Variables,&#x20;Layouts,&#x20;Testing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-transactional-email-templates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-checkout-fraud-prevention</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-fraud-prevention" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-checkout-fraud-prevention" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-checkout-fraud-prevention.webp</image:loc><image:title>Fraud Prevention in the Magento 2 Checkout: Getting Fraud Detection Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Fraud&#x20;Prevention&#x20;in&#x20;the&#x20;Magento&#x20;2&#x20;Checkout&#x3A;&#x20;Getting&#x20;Fraud&#x20;Detection&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-checkout-fraud-prevention.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-gift-cards-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-gift-cards-implementierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-gift-cards-implementation" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-gift-cards-implementation.webp</image:loc><image:title>Implementing Gift Cards in Magento 2: Code, Redemption, Refund</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Gift&#x20;Cards&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Code,&#x20;Redemption,&#x20;Refund"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-gift-cards-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-graphql-caching-with-varnish</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-graphql-cache-mit-varnish" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-graphql-caching-with-varnish" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-graphql-caching-with-varnish.webp</image:loc><image:title>Caching GraphQL Responses with Varnish: Headers, Tags, Invalidation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Caching&#x20;GraphQL&#x20;Responses&#x20;with&#x20;Varnish&#x3A;&#x20;Headers,&#x20;Tags,&#x20;Invalidation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-graphql-caching-with-varnish.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-graphql-schema-extending</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-graphql-schema-erweitern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-graphql-schema-extending" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-graphql-schema-extending.webp</image:loc><image:title>Extending Your Own GraphQL Schema via schema.graphqls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Extending&#x20;Your&#x20;Own&#x20;GraphQL&#x20;Schema&#x20;via&#x20;schema.graphqls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-graphql-schema-extending.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-headless-commerce-pwa-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-headless-commerce-pwa" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-headless-commerce-pwa-en" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-headless-commerce-pwa-en.webp</image:loc><image:title>Headless Magento: When Separating Frontend and Backend Pays Off</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Headless&#x20;Magento&#x3A;&#x20;When&#x20;Separating&#x20;Frontend&#x20;and&#x20;Backend&#x20;Pays&#x20;Off"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-headless-commerce-pwa-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-invoice-creditmemo-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-invoice-creditmemo-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-invoice-creditmemo-customization" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-invoice-creditmemo-customization.webp</image:loc><image:title>Customizing Magento 2 Invoice Logic and Credit Memo via Plugin</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Customizing&#x20;Magento&#x20;2&#x20;Invoice&#x20;Logic&#x20;and&#x20;Credit&#x20;Memo&#x20;via&#x20;Plugin"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-invoice-creditmemo-customization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-layout-xml-handbook</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-layout-xml-handbuch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-layout-xml-handbook" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-layout-xml-handbook.webp</image:loc><image:title>Layout XML in Detail: Handles, Containers, References, Sorting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Layout&#x20;XML&#x20;in&#x20;Detail&#x3A;&#x20;Handles,&#x20;Containers,&#x20;References,&#x20;Sorting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-layout-xml-handbook.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-log-management-monitoring-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-log-management-monitoring" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-log-management-monitoring-en" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-log-management-monitoring-en.webp</image:loc><image:title>Log Management and Monitoring in Magento 2: from exception.log to Real Alerting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Log&#x20;Management&#x20;and&#x20;Monitoring&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;from&#x20;exception.log&#x20;to&#x20;Real&#x20;Alerting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-log-management-monitoring-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-message-queue-consumer-deep-dive-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-message-queue-consumer-deep-dive" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-message-queue-consumer-deep-dive-en" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-message-queue-consumer-deep-dive-en.webp</image:loc><image:title>Custom Message Queue Consumers in Magento 2: Retry Logic, Dead Letter Handling, Monitoring</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Message&#x20;Queue&#x20;Consumers&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Retry&#x20;Logic,&#x20;Dead&#x20;Letter&#x20;Handling,&#x20;Monitoring"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-message-queue-consumer-deep-dive-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-mftf-functional-testing-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-mftf-functional-testing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-mftf-functional-testing-framework" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-mftf-functional-testing-framework.webp</image:loc><image:title>MFTF in Magento 2: The Functional Testing Framework From Scratch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MFTF&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;The&#x20;Functional&#x20;Testing&#x20;Framework&#x20;From&#x20;Scratch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-mftf-functional-testing-framework.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-1-to-magento-2-migration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-migration-magento1-zu-magento2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-1-to-magento-2-migration" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-1-to-magento-2-migration.webp</image:loc><image:title>Migrating from Magento 1 to Magento 2: Data Migration and Pitfalls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Migrating&#x20;from&#x20;Magento&#x20;1&#x20;to&#x20;Magento&#x20;2&#x3A;&#x20;Data&#x20;Migration&#x20;and&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-1-to-magento-2-migration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-module-dependency-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-modul-abhaengigkeiten-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-module-dependency-management" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-module-dependency-management.webp</image:loc><image:title>Managing Magento Module Dependencies Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;Magento&#x20;Module&#x20;Dependencies&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-module-dependency-management.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-module-versioning-semver</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-module-versionierung-semver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-module-versioning-semver" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-module-versioning-semver.webp</image:loc><image:title>Module Versioning With SemVer in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Module&#x20;Versioning&#x20;With&#x20;SemVer&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-module-versioning-semver.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-paypal-adyen-payment-integration-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-paypal-adyen-payment-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-paypal-adyen-payment-integration-en" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-paypal-adyen-payment-integration-en.webp</image:loc><image:title>PayPal and Adyen Integration in Magento 2: Architecture and Webhooks Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PayPal&#x20;and&#x20;Adyen&#x20;Integration&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Architecture&#x20;and&#x20;Webhooks&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-paypal-adyen-payment-integration-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-pdf-invoice-generation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-pdf-generierung-rechnungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-pdf-invoice-generation" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-pdf-invoice-generation.webp</image:loc><image:title>Customizing Magento 2 PDF Generation for Invoices and Shipments</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Customizing&#x20;Magento&#x20;2&#x20;PDF&#x20;Generation&#x20;for&#x20;Invoices&#x20;and&#x20;Shipments"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-pdf-invoice-generation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-plugin-sort-order-conflicts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-plugin-sort-order-konflikte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-plugin-sort-order-conflicts" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-plugin-sort-order-conflicts.webp</image:loc><image:title>Magento 2 Plugin Sort Order: Resolving Conflicts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;2&#x20;Plugin&#x20;Sort&#x20;Order&#x3A;&#x20;Resolving&#x20;Conflicts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-plugin-sort-order-conflicts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-quote-management-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-warenkorb-quote-api-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-quote-management-api" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-quote-management-api.webp</image:loc><image:title>Quote Management API in Magento 2: Controlling Cart Logic Programmatically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Quote&#x20;Management&#x20;API&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Controlling&#x20;Cart&#x20;Logic&#x20;Programmatically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-quote-management-api.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-redis-session-storage-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-redis-session-storage" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-redis-session-storage-en" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-redis-session-storage-en.webp</image:loc><image:title>Sizing Redis as Session and Cache Backend in Magento 2 the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sizing&#x20;Redis&#x20;as&#x20;Session&#x20;and&#x20;Cache&#x20;Backend&#x20;in&#x20;Magento&#x20;2&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-redis-session-storage-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-rma-returns-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-rma-retouren-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-rma-returns-management" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-rma-returns-management.webp</image:loc><image:title>Magento RMA: Building Returns Management Without the Enterprise Feature</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;RMA&#x3A;&#x20;Building&#x20;Returns&#x20;Management&#x20;Without&#x20;the&#x20;Enterprise&#x20;Feature"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-rma-returns-management.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-sales-rules-promotions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-sales-rules-eigene-bedingungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-sales-rules-promotions" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-sales-rules-promotions.webp</image:loc><image:title>Extending Sales Rules in Magento 2: Cart Price Rules with Custom Conditions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Extending&#x20;Sales&#x20;Rules&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Cart&#x20;Price&#x20;Rules&#x20;with&#x20;Custom&#x20;Conditions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-sales-rules-promotions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-sequence-tables-entity-ids</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-sequence-tables" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-sequence-tables-entity-ids" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-sequence-tables-entity-ids.webp</image:loc><image:title>Sequence Tables in Magento 2: Collision-Free Entity IDs Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sequence&#x20;Tables&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Collision-Free&#x20;Entity&#x20;IDs&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-sequence-tables-entity-ids.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-static-tests-coding-standard</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-static-tests-code-sniffer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-static-tests-coding-standard" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-static-tests-coding-standard.webp</image:loc><image:title>Static Tests in Magento 2: Magento Coding Standard, Dependency and Legacy Checks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Static&#x20;Tests&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Magento&#x20;Coding&#x20;Standard,&#x20;Dependency&#x20;and&#x20;Legacy&#x20;Checks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-static-tests-coding-standard.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-store-credit-balance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-store-credit-guthaben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-store-credit-balance" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-store-credit-balance.webp</image:loc><image:title>Building Store Credit / Customer Balance in Magento 2 Yourself</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Store&#x20;Credit&#x20;&#x2F;&#x20;Customer&#x20;Balance&#x20;in&#x20;Magento&#x20;2&#x20;Yourself"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-store-credit-balance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-subscription-products-recurring-payments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-subscription-produkte-abo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-subscription-products-recurring-payments" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-subscription-products-recurring-payments.webp</image:loc><image:title>Subscription Products in Magento 2: Building Recurring Billing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Subscription&#x20;Products&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Building&#x20;Recurring&#x20;Billing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-subscription-products-recurring-payments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-tax-rules-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-tax-rules-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-tax-rules-configuration" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-tax-rules-configuration.webp</image:loc><image:title>Configuring Tax Rules and Tax Classes Correctly for Multiple Countries</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Tax&#x20;Rules&#x20;and&#x20;Tax&#x20;Classes&#x20;Correctly&#x20;for&#x20;Multiple&#x20;Countries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-tax-rules-configuration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-url-rewrites-verwalten-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-url-rewrites-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-url-rewrites-verwalten-en" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-url-rewrites-verwalten-en.webp</image:loc><image:title>Managing URL Rewrites in Magento 2: Redirects, SEO Slugs, Bulk Maintenance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;URL&#x20;Rewrites&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Redirects,&#x20;SEO&#x20;Slugs,&#x20;Bulk&#x20;Maintenance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-url-rewrites-verwalten-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-varnish-vs-built-in-cache-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-varnish-vs-built-in-cache" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-varnish-vs-built-in-cache-en" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-varnish-vs-built-in-cache-en.webp</image:loc><image:title>Varnish FPC vs. Built-in Cache in Magento 2: Decision Criteria for Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Varnish&#x20;FPC&#x20;vs.&#x20;Built-in&#x20;Cache&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Decision&#x20;Criteria&#x20;for&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-varnish-vs-built-in-cache-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-asynchronous-and-bulk-web-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-asynchrone-und-bulk-web-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-asynchronous-and-bulk-web-apis" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-asynchronous-and-bulk-web-apis.webp</image:loc><image:title>Asynchronous and Bulk Web APIs in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Asynchronous&#x20;and&#x20;Bulk&#x20;Web&#x20;APIs&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-asynchronous-and-bulk-web-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-webhooks-reliable-event-delivery</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-webhooks-events-zuverlaessig-versenden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-webhooks-reliable-event-delivery" />
<lastmod>2026-07-24T07:15:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-webhooks-reliable-event-delivery.webp</image:loc><image:title>Magento Webhooks: Sending Events Reliably to External Systems</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Webhooks&#x3A;&#x20;Sending&#x20;Events&#x20;Reliably&#x20;to&#x20;External&#x20;Systems"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-webhooks-reliable-event-delivery.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-84-new-features-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-84-neue-features-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-84-new-features-overview" />
<lastmod>2026-07-23T17:57:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-84-new-features-overview.webp</image:loc><image:title>PHP 8.4 Overview: All New Language Features Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHP&#x20;8.4&#x20;Overview&#x3A;&#x20;All&#x20;New&#x20;Language&#x20;Features&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-84-new-features-overview.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/abstract-classes-vs-interfaces-in-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-abstract-classes-vs-interfaces" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/abstract-classes-vs-interfaces-in-php" />
<lastmod>2026-07-23T17:57:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/abstract-classes-vs-interfaces-in-php.webp</image:loc><image:title>Abstract Classes vs. Interfaces: Making the Right Design Choice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Abstract&#x20;Classes&#x20;vs.&#x20;Interfaces&#x3A;&#x20;Making&#x20;the&#x20;Right&#x20;Design&#x20;Choice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/abstract-classes-vs-interfaces-in-php.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-array-functions-performance-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-array-funktionen-performance-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-array-functions-performance-comparison" />
<lastmod>2026-07-23T17:57:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-array-functions-performance-comparison.webp</image:loc><image:title>Array Functions Performance Comparison: array_map, foreach, Generators</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Array&#x20;Functions&#x20;Performance&#x20;Comparison&#x3A;&#x20;array_map,&#x20;foreach,&#x20;Generators"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-array-functions-performance-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-asymmetric-visibility-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-asymmetric-visibility" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-asymmetric-visibility-explained" />
<lastmod>2026-07-23T17:57:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-asymmetric-visibility-explained.webp</image:loc><image:title>Asymmetric Visibility in PHP 8.4: public get, private set</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Asymmetric&#x20;Visibility&#x20;in&#x20;PHP&#x20;8.4&#x3A;&#x20;public&#x20;get,&#x20;private&#x20;set"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-asymmetric-visibility-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-asynchronous-php-swoole-reactphp</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-async-php-swoole-reactphp" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-asynchronous-php-swoole-reactphp" />
<lastmod>2026-07-23T17:57:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-asynchronous-php-swoole-reactphp.webp</image:loc><image:title>Asynchronous PHP: Swoole and ReactPHP Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Asynchronous&#x20;PHP&#x3A;&#x20;Swoole&#x20;and&#x20;ReactPHP&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-asynchronous-php-swoole-reactphp.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-attributes-creating-your-own</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-attributes-eigene-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-attributes-creating-your-own" />
<lastmod>2026-07-23T17:57:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-attributes-creating-your-own.webp</image:loc><image:title>Defining Custom PHP Attributes and Reading Them via Reflection</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Defining&#x20;Custom&#x20;PHP&#x20;Attributes&#x20;and&#x20;Reading&#x20;Them&#x20;via&#x20;Reflection"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-attributes-creating-your-own.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-cli-scripts-with-symfony-console</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-cli-skripte-mit-symfony-console" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-cli-scripts-with-symfony-console" />
<lastmod>2026-07-23T17:57:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-cli-scripts-with-symfony-console.webp</image:loc><image:title>Building Robust CLI Scripts with Symfony Console</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Robust&#x20;CLI&#x20;Scripts&#x20;with&#x20;Symfony&#x20;Console"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-cli-scripts-with-symfony-console.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/enforcing-psr12-code-style</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-code-style-psr12-durchsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/enforcing-psr12-code-style" />
<lastmod>2026-07-23T17:57:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/enforcing-psr12-code-style.webp</image:loc><image:title>Enforcing PSR-12 in a Team: Tools Instead of Review Discussions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Enforcing&#x20;PSR-12&#x20;in&#x20;a&#x20;Team&#x3A;&#x20;Tools&#x20;Instead&#x20;of&#x20;Review&#x20;Discussions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/enforcing-psr12-code-style.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-composer-autoloading-psr4-internals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-composer-autoloading-psr4-intern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-composer-autoloading-psr4-internals" />
<lastmod>2026-07-23T17:57:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-composer-autoloading-psr4-internals.webp</image:loc><image:title>Composer Autoloading Internals: How PSR-4 Is Actually Resolved</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Composer&#x20;Autoloading&#x20;Internals&#x3A;&#x20;How&#x20;PSR-4&#x20;Is&#x20;Actually&#x20;Resolved"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-composer-autoloading-psr4-internals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-composer-scripts-and-lifecycle-hooks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-composer-scripts-und-hooks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-composer-scripts-and-lifecycle-hooks" />
<lastmod>2026-07-23T17:57:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-composer-scripts-and-lifecycle-hooks.webp</image:loc><image:title>Composer Scripts and Lifecycle Hooks for Custom Automation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Composer&#x20;Scripts&#x20;and&#x20;Lifecycle&#x20;Hooks&#x20;for&#x20;Custom&#x20;Automation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-composer-scripts-and-lifecycle-hooks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-constructor-property-promotion-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-constructor-property-promotion" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-constructor-property-promotion-guide" />
<lastmod>2026-07-23T17:57:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-constructor-property-promotion-guide.webp</image:loc><image:title>Constructor Property Promotion: Less Code, Same Type Safety</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Constructor&#x20;Property&#x20;Promotion&#x3A;&#x20;Less&#x20;Code,&#x20;Same&#x20;Type&#x20;Safety"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-constructor-property-promotion-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-datetimeimmutable-vs-datetime-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-datetime-immutable-vs-datetime" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-datetimeimmutable-vs-datetime-en" />
<lastmod>2026-07-23T17:57:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-datetimeimmutable-vs-datetime-en.webp</image:loc><image:title>DateTimeImmutable vs. DateTime in PHP 8.4: why immutability wins</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="DateTimeImmutable&#x20;vs.&#x20;DateTime&#x20;in&#x20;PHP&#x20;8.4&#x3A;&#x20;why&#x20;immutability&#x20;wins"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-datetimeimmutable-vs-datetime-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-dependency-injection-container-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-dependency-injection-container-eigenbau" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-dependency-injection-container-from-scratch" />
<lastmod>2026-07-23T17:57:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-dependency-injection-container-from-scratch.webp</image:loc><image:title>Building a Minimal DI Container From Scratch: Understanding PSR-11</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Minimal&#x20;DI&#x20;Container&#x20;From&#x20;Scratch&#x3A;&#x20;Understanding&#x20;PSR-11"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-dependency-injection-container-from-scratch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-deprecation-warnings-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-deprecations-migrations-guide" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-deprecation-warnings-guide" />
<lastmod>2026-07-23T17:57:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-deprecation-warnings-guide.webp</image:loc><image:title>Systematically Working Through Deprecation Warnings Instead of Ignoring Them</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Systematically&#x20;Working&#x20;Through&#x20;Deprecation&#x20;Warnings&#x20;Instead&#x20;of&#x20;Ignoring&#x20;Them"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-deprecation-warnings-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-custom-exception-hierarchies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-eigene-exception-hierarchien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-custom-exception-hierarchies" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-custom-exception-hierarchies.webp</image:loc><image:title>Custom Exception Hierarchies for Business and Technical Errors</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Exception&#x20;Hierarchies&#x20;for&#x20;Business&#x20;and&#x20;Technical&#x20;Errors"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-custom-exception-hierarchies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-design-patterns-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-entwurfsmuster-allgemein-uebersicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-design-patterns-overview" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-design-patterns-overview.webp</image:loc><image:title>Design Patterns in PHP: An Overview Independent of Magento/Symfony</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Design&#x20;Patterns&#x20;in&#x20;PHP&#x3A;&#x20;An&#x20;Overview&#x20;Independent&#x20;of&#x20;Magento&#x2F;Symfony"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-design-patterns-overview.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-enums-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-enums-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-enums-basics" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-enums-basics.webp</image:loc><image:title>PHP Enums: Backed vs. Pure Enums Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHP&#x20;Enums&#x3A;&#x20;Backed&#x20;vs.&#x20;Pure&#x20;Enums&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-enums-basics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-enums-with-interfaces-and-methods</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-enums-mit-interfaces-und-methoden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-enums-with-interfaces-and-methods" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-enums-with-interfaces-and-methods.webp</image:loc><image:title>Extending PHP Enums with Interfaces and Custom Methods</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Extending&#x20;PHP&#x20;Enums&#x20;with&#x20;Interfaces&#x20;and&#x20;Custom&#x20;Methods"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-enums-with-interfaces-and-methods.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-exceptions-and-error-handling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-exceptions-und-error-handling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-exceptions-and-error-handling" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-exceptions-and-error-handling.webp</image:loc><image:title>Exceptions and Error Handling in PHP 8.4: Structuring Error Classes the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Exceptions&#x20;and&#x20;Error&#x20;Handling&#x20;in&#x20;PHP&#x20;8.4&#x3A;&#x20;Structuring&#x20;Error&#x20;Classes&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-exceptions-and-error-handling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-fibers-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-fibers-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-fibers-fundamentals" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-fibers-fundamentals.webp</image:loc><image:title>Fibers in PHP: Cooperative Multitasking from the Ground Up</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Fibers&#x20;in&#x20;PHP&#x3A;&#x20;Cooperative&#x20;Multitasking&#x20;from&#x20;the&#x20;Ground&#x20;Up"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-fibers-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/first-class-callable-syntax-in-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-first-class-callable-syntax" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/first-class-callable-syntax-in-php" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/first-class-callable-syntax-in-php.webp</image:loc><image:title>First-Class Callable Syntax in PHP: Method References Without Strings and Arrays</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="First-Class&#x20;Callable&#x20;Syntax&#x20;in&#x20;PHP&#x3A;&#x20;Method&#x20;References&#x20;Without&#x20;Strings&#x20;and&#x20;Arrays"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/first-class-callable-syntax-in-php.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-generators-and-yield</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-generators-und-yield" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-generators-and-yield" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-generators-and-yield.webp</image:loc><image:title>Generators and yield: Processing Large Datasets Memory-Efficiently</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generators&#x20;and&#x20;yield&#x3A;&#x20;Processing&#x20;Large&#x20;Datasets&#x20;Memory-Efficiently"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-generators-and-yield.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-http-clients-guzzle-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-http-clients-guzzle-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-http-clients-guzzle-comparison" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-http-clients-guzzle-comparison.webp</image:loc><image:title>PHP HTTP Client Comparison: Guzzle, Symfony HttpClient, PSR-18</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHP&#x20;HTTP&#x20;Client&#x20;Comparison&#x3A;&#x20;Guzzle,&#x20;Symfony&#x20;HttpClient,&#x20;PSR-18"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-http-clients-guzzle-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/immutable-objects-in-php-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-immutable-objects-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/immutable-objects-in-php-practice" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/immutable-objects-in-php-practice.webp</image:loc><image:title>Immutable Objects: with-Methods Instead of Setters, Implemented in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Immutable&#x20;Objects&#x3A;&#x20;with-Methods&#x20;Instead&#x20;of&#x20;Setters,&#x20;Implemented&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/immutable-objects-in-php-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-jit-compiler-performance-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-jit-compiler-performance-analyse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-jit-compiler-performance-analysis" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-jit-compiler-performance-analysis.webp</image:loc><image:title>The JIT Compiler in PHP 8: When It Really Pays Off</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;JIT&#x20;Compiler&#x20;in&#x20;PHP&#x20;8&#x3A;&#x20;When&#x20;It&#x20;Really&#x20;Pays&#x20;Off"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-jit-compiler-performance-analysis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-match-expression-versus-switch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-match-expression-vs-switch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-match-expression-versus-switch" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-match-expression-versus-switch.webp</image:loc><image:title>match expression vs. switch in PHP 8.4: Strict Comparison in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="match&#x20;expression&#x20;vs.&#x20;switch&#x20;in&#x20;PHP&#x20;8.4&#x3A;&#x20;Strict&#x20;Comparison&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-match-expression-versus-switch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-memory-management-and-garbage-collection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-memory-management-garbage-collection" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-memory-management-and-garbage-collection" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-memory-management-and-garbage-collection.webp</image:loc><image:title>Understanding Memory Management and Garbage Collection in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Memory&#x20;Management&#x20;and&#x20;Garbage&#x20;Collection&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-memory-management-and-garbage-collection.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-mocking-strategies-test-doubles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-mocking-strategien-testdoubles" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-mocking-strategies-test-doubles" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-mocking-strategies-test-doubles.webp</image:loc><image:title>Test Doubles and Mocking Strategies: Dummy, Stub, Fake, Spy, Mock</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Test&#x20;Doubles&#x20;and&#x20;Mocking&#x20;Strategies&#x3A;&#x20;Dummy,&#x20;Stub,&#x20;Fake,&#x20;Spy,&#x20;Mock"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-mocking-strategies-test-doubles.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/named-arguments-in-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-named-arguments" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/named-arguments-in-php" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/named-arguments-in-php.webp</image:loc><image:title>Named Arguments: More Readable Calls with Many Optional Parameters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Named&#x20;Arguments&#x3A;&#x20;More&#x20;Readable&#x20;Calls&#x20;with&#x20;Many&#x20;Optional&#x20;Parameters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/named-arguments-in-php.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-nullsafe-operator-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-nullsafe-operator" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-nullsafe-operator-guide" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-nullsafe-operator-guide.webp</image:loc><image:title>The Nullsafe Operator: Elegantly Resolving Nested Null Checks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Nullsafe&#x20;Operator&#x3A;&#x20;Elegantly&#x20;Resolving&#x20;Nested&#x20;Null&#x20;Checks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-nullsafe-operator-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-opcache-tuning-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-opcache-tuning-produktion" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-opcache-tuning-production" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-opcache-tuning-production.webp</image:loc><image:title>OPcache Tuning for Production Environments: The Values That Actually Matter</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="OPcache&#x20;Tuning&#x20;for&#x20;Production&#x20;Environments&#x3A;&#x20;The&#x20;Values&#x20;That&#x20;Actually&#x20;Matter"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-opcache-tuning-production.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-password-hashing-argon2-vs-bcrypt</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-password-hashing-argon2-bcrypt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-password-hashing-argon2-vs-bcrypt" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-password-hashing-argon2-vs-bcrypt.webp</image:loc><image:title>Password Hashing with Argon2 and bcrypt in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Password&#x20;Hashing&#x20;with&#x20;Argon2&#x20;and&#x20;bcrypt&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-password-hashing-argon2-vs-bcrypt.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-performance-profiling-with-blackfire-and-xhprof</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-performance-profiling-blackfire-xhprof" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-performance-profiling-with-blackfire-and-xhprof" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-performance-profiling-with-blackfire-and-xhprof.webp</image:loc><image:title>Performance Profiling with Blackfire and XHProf: Finding Bottlenecks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Performance&#x20;Profiling&#x20;with&#x20;Blackfire&#x20;and&#x20;XHProf&#x3A;&#x20;Finding&#x20;Bottlenecks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-performance-profiling-with-blackfire-and-xhprof.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstan-level-max-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-phpstan-level-max-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstan-level-max-strategies" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstan-level-max-strategies.webp</image:loc><image:title>PHPStan at Level max: Strategies for a Growing Codebase</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPStan&#x20;at&#x20;Level&#x20;max&#x3A;&#x20;Strategies&#x20;for&#x20;a&#x20;Growing&#x20;Codebase"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstan-level-max-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-84-property-hooks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-property-hooks-84" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-84-property-hooks" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-84-property-hooks.webp</image:loc><image:title>Property Hooks in PHP 8.4: Getters and Setters Without Boilerplate</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Property&#x20;Hooks&#x20;in&#x20;PHP&#x20;8.4&#x3A;&#x20;Getters&#x20;and&#x20;Setters&#x20;Without&#x20;Boilerplate"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-84-property-hooks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/psalm-vs-phpstan-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-psalm-vs-phpstan-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/psalm-vs-phpstan-comparison" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/psalm-vs-phpstan-comparison.webp</image:loc><image:title>Psalm vs. PHPStan: Differences in Analysis Depth and Ecosystem</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Psalm&#x20;vs.&#x20;PHPStan&#x3A;&#x20;Differences&#x20;in&#x20;Analysis&#x20;Depth&#x20;and&#x20;Ecosystem"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/psalm-vs-phpstan-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-readonly-properties-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-readonly-properties" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-readonly-properties-explained" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-readonly-properties-explained.webp</image:loc><image:title>Readonly Properties in PHP: Enforcing Immutability</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Readonly&#x20;Properties&#x20;in&#x20;PHP&#x3A;&#x20;Enforcing&#x20;Immutability"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-readonly-properties-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/rector-automated-refactoring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-rector-automatisiertes-refactoring" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/rector-automated-refactoring" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/rector-automated-refactoring.webp</image:loc><image:title>Rector: Automated Refactoring for PHP Version Upgrades</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Rector&#x3A;&#x20;Automated&#x20;Refactoring&#x20;for&#x20;PHP&#x20;Version&#x20;Upgrades"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/rector-automated-refactoring.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-security-best-practices-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-security-best-practices-uebersicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-security-best-practices-overview" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-security-best-practices-overview.webp</image:loc><image:title>PHP Security: Best Practices Overview</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHP&#x20;Security&#x3A;&#x20;Best&#x20;Practices&#x20;Overview"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-security-best-practices-overview.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-serialization-json-vs-native</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-serialisierung-json-vs-nativ" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-serialization-json-vs-native" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-serialization-json-vs-native.webp</image:loc><image:title>PHP Serialization: JSON vs. serialize() Security Comparison</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHP&#x20;Serialization&#x3A;&#x20;JSON&#x20;vs.&#x20;serialize&#x28;&#x29;&#x20;Security&#x20;Comparison"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-serialization-json-vs-native.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-solid-principles-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-solid-prinzipien-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-solid-principles-in-practice" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-solid-principles-in-practice.webp</image:loc><image:title>SOLID Principles Through Real PHP Examples, Not Theory</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SOLID&#x20;Principles&#x20;Through&#x20;Real&#x20;PHP&#x20;Examples,&#x20;Not&#x20;Theory"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-solid-principles-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-sql-injection-prevention-pdo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-sql-injection-vermeiden-pdo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-sql-injection-prevention-pdo" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-sql-injection-prevention-pdo.webp</image:loc><image:title>Preventing SQL Injection with PDO Prepared Statements</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preventing&#x20;SQL&#x20;Injection&#x20;with&#x20;PDO&#x20;Prepared&#x20;Statements"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-sql-injection-prevention-pdo.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-strict-types-why-it-matters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-strict-types-warum-wichtig" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-strict-types-why-it-matters" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-strict-types-why-it-matters.webp</image:loc><image:title>declare(strict_types=1): Why It Belongs in Every New File</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="declare&#x28;strict_types&#x3D;1&#x29;&#x3A;&#x20;Why&#x20;It&#x20;Belongs&#x20;in&#x20;Every&#x20;New&#x20;File"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-strict-types-why-it-matters.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-string-functions-and-multibyte-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-string-funktionen-und-multibyte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-string-functions-and-multibyte-pitfalls" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-string-functions-and-multibyte-pitfalls.webp</image:loc><image:title>Multibyte Strings in PHP 8.4: Handling Umlauts and Unicode Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multibyte&#x20;Strings&#x20;in&#x20;PHP&#x20;8.4&#x3A;&#x20;Handling&#x20;Umlauts&#x20;and&#x20;Unicode&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-string-functions-and-multibyte-pitfalls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/traits-vs-interfaces-in-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-traits-vs-interfaces" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/traits-vs-interfaces-in-php" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/traits-vs-interfaces-in-php.webp</image:loc><image:title>Traits vs. Interfaces: Cleanly Separating Code Reuse</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Traits&#x20;vs.&#x20;Interfaces&#x3A;&#x20;Cleanly&#x20;Separating&#x20;Code&#x20;Reuse"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/traits-vs-interfaces-in-php.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-union-and-intersection-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-union-und-intersection-types" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-union-and-intersection-types" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-union-and-intersection-types.webp</image:loc><image:title>Union Types and Intersection Types in PHP 8.4 Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Union&#x20;Types&#x20;and&#x20;Intersection&#x20;Types&#x20;in&#x20;PHP&#x20;8.4&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-union-and-intersection-types.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-unit-testing-fundamentals-without-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-unit-testing-grundlagen-ohne-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-unit-testing-fundamentals-without-framework" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-unit-testing-fundamentals-without-framework.webp</image:loc><image:title>Testability as an Architecture Principle: Testable PHP Design</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testability&#x20;as&#x20;an&#x20;Architecture&#x20;Principle&#x3A;&#x20;Testable&#x20;PHP&#x20;Design"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-unit-testing-fundamentals-without-framework.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-value-objects-modeling-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-value-objects-richtig-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-value-objects-modeling-correctly" />
<lastmod>2026-07-23T17:57:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-value-objects-modeling-correctly.webp</image:loc><image:title>Modeling Value Objects Correctly: Equality, Validation, Boundaries</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modeling&#x20;Value&#x20;Objects&#x20;Correctly&#x3A;&#x20;Equality,&#x20;Validation,&#x20;Boundaries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-value-objects-modeling-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php7-to-php8-version-migration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-versionsvergleich-php8-vs-php7-migration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php7-to-php8-version-migration" />
<lastmod>2026-07-23T17:57:43+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php7-to-php8-version-migration.webp</image:loc><image:title>Migrating PHP 7 to PHP 8: Breaking Changes and a Practical Checklist</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Migrating&#x20;PHP&#x20;7&#x20;to&#x20;PHP&#x20;8&#x3A;&#x20;Breaking&#x20;Changes&#x20;and&#x20;a&#x20;Practical&#x20;Checklist"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php7-to-php8-version-migration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-xdebug-debugging-tricks-advanced</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-xdebug-debugging-tricks-fortgeschritten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-xdebug-debugging-tricks-advanced" />
<lastmod>2026-07-23T17:57:43+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-xdebug-debugging-tricks-advanced.webp</image:loc><image:title>Xdebug Beyond Breakpoints: Profiling, Trace, Coverage</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Xdebug&#x20;Beyond&#x20;Breakpoints&#x3A;&#x20;Profiling,&#x20;Trace,&#x20;Coverage"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-xdebug-debugging-tricks-advanced.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-answer-engine-optimization-vs-traditional-seo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-answer-engine-optimization-vs-klassisches-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-answer-engine-optimization-vs-traditional-seo" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-answer-engine-optimization-vs-traditional-seo.webp</image:loc><image:title>Answer Engine Optimization vs. Traditional SEO</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Answer&#x20;Engine&#x20;Optimization&#x20;vs.&#x20;Traditional&#x20;SEO"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-answer-engine-optimization-vs-traditional-seo.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bing-copilot-search-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bing-copilot-suchintegration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bing-copilot-search-integration" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bing-copilot-search-integration.webp</image:loc><image:title>Bing Copilot: Search Integration Compared to Google</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bing&#x20;Copilot&#x3A;&#x20;Search&#x20;Integration&#x20;Compared&#x20;to&#x20;Google"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bing-copilot-search-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-unlinked-brand-mentions-geo-value</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-brand-mentions-ohne-link-seo-wert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-unlinked-brand-mentions-geo-value" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-unlinked-brand-mentions-geo-value.webp</image:loc><image:title>Unlinked Brand Mentions: What They Are Really Worth for GEO</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Unlinked&#x20;Brand&#x20;Mentions&#x3A;&#x20;What&#x20;They&#x20;Are&#x20;Really&#x20;Worth&#x20;for&#x20;GEO"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-unlinked-brand-mentions-geo-value.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-brand-search-volume-social-media-growth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-brand-search-volume-durch-social-steigern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-brand-search-volume-social-media-growth" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-brand-search-volume-social-media-growth.webp</image:loc><image:title>Growing Branded Search Volume Through Social Media Presence</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Growing&#x20;Branded&#x20;Search&#x20;Volume&#x20;Through&#x20;Social&#x20;Media&#x20;Presence"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-brand-search-volume-social-media-growth.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/chatgpt-search-visibility-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/chatgpt-suche-sichtbarkeit-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/chatgpt-search-visibility-optimization" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/chatgpt-search-visibility-optimization.webp</image:loc><image:title>Optimizing Visibility in ChatGPT Search</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;Visibility&#x20;in&#x20;ChatGPT&#x20;Search"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/chatgpt-search-visibility-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-community-management-long-term-seo-impact</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-community-management-seo-langzeiteffekt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-community-management-long-term-seo-impact" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-community-management-long-term-seo-impact.webp</image:loc><image:title>Community Management as a Long-Term SEO Lever</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Community&#x20;Management&#x20;as&#x20;a&#x20;Long-Term&#x20;SEO&#x20;Lever"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-community-management-long-term-seo-impact.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-content-depth-vs-brevity-ai-summaries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-content-tiefe-vs-kuerze-ki-zusammenfassungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-content-depth-vs-brevity-ai-summaries" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-content-depth-vs-brevity-ai-summaries.webp</image:loc><image:title>Content Depth vs. Brevity: What Actually Lands in AI Summaries</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Content&#x20;Depth&#x20;vs.&#x20;Brevity&#x3A;&#x20;What&#x20;Actually&#x20;Lands&#x20;in&#x20;AI&#x20;Summaries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-content-depth-vs-brevity-ai-summaries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-conversational-search-changes-intent</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-conversational-search-intent-veraendert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-conversational-search-changes-intent" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-conversational-search-changes-intent.webp</image:loc><image:title>Conversational Search: How Multi-Turn Dialogue Changes Search Intent</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Conversational&#x20;Search&#x3A;&#x20;How&#x20;Multi-Turn&#x20;Dialogue&#x20;Changes&#x20;Search&#x20;Intent"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-conversational-search-changes-intent.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-e-e-a-t-signals-for-ai-search-engines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-e-e-a-t-signale-fuer-ki-suchmaschinen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-e-e-a-t-signals-for-ai-search-engines" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-e-e-a-t-signals-for-ai-search-engines.webp</image:loc><image:title>E-E-A-T Signals That AI Search Systems Weigh Too</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="E-E-A-T&#x20;Signals&#x20;That&#x20;AI&#x20;Search&#x20;Systems&#x20;Weigh&#x20;Too"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-e-e-a-t-signals-for-ai-search-engines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/geo-competitive-analysis-who-gets-cited-in-ai-answers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/geo-competitive-analyse-wer-wird-in-ki-antworten-zitiert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/geo-competitive-analysis-who-gets-cited-in-ai-answers" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/geo-competitive-analysis-who-gets-cited-in-ai-answers.webp</image:loc><image:title>Competitive Analysis: Who Gets Cited in AI Answers, and Why</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Competitive&#x20;Analysis&#x3A;&#x20;Who&#x20;Gets&#x20;Cited&#x20;in&#x20;AI&#x20;Answers,&#x20;and&#x20;Why"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/geo-competitive-analysis-who-gets-cited-in-ai-answers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/geo-content-audit-optimize-existing-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/geo-content-audit-bestehende-seiten-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/geo-content-audit-optimize-existing-pages" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/geo-content-audit-optimize-existing-pages.webp</image:loc><image:title>GEO Content Audit: Sharpening Existing Pages for AI Search</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GEO&#x20;Content&#x20;Audit&#x3A;&#x20;Sharpening&#x20;Existing&#x20;Pages&#x20;for&#x20;AI&#x20;Search"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/geo-content-audit-optimize-existing-pages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-content-formats-ai-search-engines-extract</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-geo-content-format-listen-tabellen-faq" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-content-formats-ai-search-engines-extract" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-content-formats-ai-search-engines-extract.webp</image:loc><image:title>Content Formats AI Search Engines Prefer to Extract</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Content&#x20;Formats&#x20;AI&#x20;Search&#x20;Engines&#x20;Prefer&#x20;to&#x20;Extract"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-content-formats-ai-search-engines-extract.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-geo-case-studies-what-actually-works</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-geo-fallstudien-was-tatsaechlich-wirkt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-geo-case-studies-what-actually-works" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-geo-case-studies-what-actually-works.webp</image:loc><image:title>GEO Case Studies: Evidence Instead of Gut Feeling</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GEO&#x20;Case&#x20;Studies&#x3A;&#x20;Evidence&#x20;Instead&#x20;of&#x20;Gut&#x20;Feeling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-geo-case-studies-what-actually-works.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-geo-for-magento-product-data-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-geo-fuer-magento-produktdaten-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-geo-for-magento-product-data-optimization" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-geo-for-magento-product-data-optimization.webp</image:loc><image:title>Optimizing Product Data in Magento Stores for AI Shopping Answers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;Product&#x20;Data&#x20;in&#x20;Magento&#x20;Stores&#x20;for&#x20;AI&#x20;Shopping&#x20;Answers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-geo-for-magento-product-data-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/generative-engine-optimization-geo-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/geo-generative-engine-optimization-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/generative-engine-optimization-geo-basics" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/generative-engine-optimization-geo-basics.webp</image:loc><image:title>GEO Basics: Generative Engine Optimization vs. SEO</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GEO&#x20;Basics&#x3A;&#x20;Generative&#x20;Engine&#x20;Optimization&#x20;vs.&#x20;SEO"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/generative-engine-optimization-geo-basics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-geo-measurability-tracking-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-geo-messbarkeit-tracking-tools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-geo-measurability-tracking-tools" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-geo-measurability-tracking-tools.webp</image:loc><image:title>Making GEO Measurable: Tools and Metrics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;GEO&#x20;Measurable&#x3A;&#x20;Tools&#x20;and&#x20;Metrics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-geo-measurability-tracking-tools.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/geo-strategy-for-b2b-content-long-buying-cycles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/geo-strategie-fuer-b2b-fachcontent-lange-entscheidungszyklen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/geo-strategy-for-b2b-content-long-buying-cycles" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/geo-strategy-for-b2b-content-long-buying-cycles.webp</image:loc><image:title>GEO Strategy for B2B Content With Long Buying Cycles</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GEO&#x20;Strategy&#x20;for&#x20;B2B&#x20;Content&#x20;With&#x20;Long&#x20;Buying&#x20;Cycles"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/geo-strategy-for-b2b-content-long-buying-cycles.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-geo-vs-traditional-ranking-metrics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-geo-vs-traditionelles-ranking-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-geo-vs-traditional-ranking-metrics" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-geo-vs-traditional-ranking-metrics.webp</image:loc><image:title>GEO vs. Traditional Ranking: Different Success Metrics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GEO&#x20;vs.&#x20;Traditional&#x20;Ranking&#x3A;&#x20;Different&#x20;Success&#x20;Metrics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-geo-vs-traditional-ranking-metrics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/google-ai-overviews-content-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/google-ai-overviews-content-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/google-ai-overviews-content-strategy" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/google-ai-overviews-content-strategy.webp</image:loc><image:title>Content Strategy for Google AI Overviews</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Content&#x20;Strategy&#x20;for&#x20;Google&#x20;AI&#x20;Overviews"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/google-ai-overviews-content-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-google-discover-social-media-like-mechanics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-google-discover-social-aehnliche-mechanik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-google-discover-social-media-like-mechanics" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-google-discover-social-media-like-mechanics.webp</image:loc><image:title>Google Discover: Why the Mechanics Resemble Social Feeds</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Google&#x20;Discover&#x3A;&#x20;Why&#x20;the&#x20;Mechanics&#x20;Resemble&#x20;Social&#x20;Feeds"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-google-discover-social-media-like-mechanics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-influencer-marketing-backlink-effects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-influencer-marketing-backlink-effekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-influencer-marketing-backlink-effects" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-influencer-marketing-backlink-effects.webp</image:loc><image:title>Influencer Marketing: Understanding Real Backlink and Visibility Effects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Influencer&#x20;Marketing&#x3A;&#x20;Understanding&#x20;Real&#x20;Backlink&#x20;and&#x20;Visibility&#x20;Effects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-influencer-marketing-backlink-effects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/instagram-seo-alt-text-and-hashtags</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/instagram-seo-alt-text-hashtags" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/instagram-seo-alt-text-and-hashtags" />
<lastmod>2026-07-24T06:08:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/instagram-seo-alt-text-and-hashtags.webp</image:loc><image:title>Instagram: Using Alt Text and Hashtags for Discoverability</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Instagram&#x3A;&#x20;Using&#x20;Alt&#x20;Text&#x20;and&#x20;Hashtags&#x20;for&#x20;Discoverability"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/instagram-seo-alt-text-and-hashtags.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-integrated-seo-social-media-strategy-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-integrierte-seo-social-media-strategie-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-integrated-seo-social-media-strategy-2026" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-integrated-seo-social-media-strategy-2026.webp</image:loc><image:title>Integrated SEO and Social Media Strategy for 2026</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrated&#x20;SEO&#x20;and&#x20;Social&#x20;Media&#x20;Strategy&#x20;for&#x20;2026"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-integrated-seo-social-media-strategy-2026.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-ai-search-crawlers-explained-gptbot-oai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-ki-suchmaschinen-crawler-verstehen-gptbot-oai" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-ai-search-crawlers-explained-gptbot-oai" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-ai-search-crawlers-explained-gptbot-oai.webp</image:loc><image:title>GPTBot, OAI-SearchBot &amp; Co: Understanding AI Crawlers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GPTBot,&#x20;OAI-SearchBot&#x20;&amp;&#x20;Co&#x3A;&#x20;Understanding&#x20;AI&#x20;Crawlers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-ai-search-crawlers-explained-gptbot-oai.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/ai-crawlers-robots-txt-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/ki-crawler-robots-txt-steuerung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/ai-crawlers-robots-txt-control" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/ai-crawlers-robots-txt-control.webp</image:loc><image:title>Controlling AI Crawlers Through robots.txt: Allow or Block</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Controlling&#x20;AI&#x20;Crawlers&#x20;Through&#x20;robots.txt&#x3A;&#x20;Allow&#x20;or&#x20;Block"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/ai-crawlers-robots-txt-control.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linkedin-seo-b2b-content-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linkedin-seo-b2b-content-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linkedin-seo-b2b-content-strategy" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linkedin-seo-b2b-content-strategy.webp</image:loc><image:title>LinkedIn Content Strategy with Real Impact on B2B SEO</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="LinkedIn&#x20;Content&#x20;Strategy&#x20;with&#x20;Real&#x20;Impact&#x20;on&#x20;B2B&#x20;SEO"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linkedin-seo-b2b-content-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-llm-training-data-brand-mentions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-llm-training-daten-markenerwaehnung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-llm-training-data-brand-mentions" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-llm-training-data-brand-mentions.webp</image:loc><image:title>How Brands Become Visible in LLM Training Data</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="How&#x20;Brands&#x20;Become&#x20;Visible&#x20;in&#x20;LLM&#x20;Training&#x20;Data"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-llm-training-data-brand-mentions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-multimodal-ai-search-images-video</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-multimodale-ki-suche-bilder-videos" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-multimodal-ai-search-images-video" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-multimodal-ai-search-images-video.webp</image:loc><image:title>Multimodal AI Search: Images and Video as a Ranking Factor</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multimodal&#x20;AI&#x20;Search&#x3A;&#x20;Images&#x20;and&#x20;Video&#x20;as&#x20;a&#x20;Ranking&#x20;Factor"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-multimodal-ai-search-images-video.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-open-graph-tags-configure-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-open-graph-tags-optimal-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-open-graph-tags-configure-correctly" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-open-graph-tags-configure-correctly.webp</image:loc><image:title>Configure Open Graph Tags Correctly for Clean Share Previews</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configure&#x20;Open&#x20;Graph&#x20;Tags&#x20;Correctly&#x20;for&#x20;Clean&#x20;Share&#x20;Previews"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-open-graph-tags-configure-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/perplexity-ai-search-engine-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/perplexity-ai-suchmaschine-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/perplexity-ai-search-engine-optimization" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/perplexity-ai-search-engine-optimization.webp</image:loc><image:title>Optimizing for Perplexity as an AI Search Engine</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;for&#x20;Perplexity&#x20;as&#x20;an&#x20;AI&#x20;Search&#x20;Engine"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/perplexity-ai-search-engine-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-pinterest-seo-rich-pins-ecommerce</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-pinterest-seo-rich-pins-e-commerce" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-pinterest-seo-rich-pins-ecommerce" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-pinterest-seo-rich-pins-ecommerce.webp</image:loc><image:title>Pinterest SEO and Rich Pins for Product Catalogs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Pinterest&#x20;SEO&#x20;and&#x20;Rich&#x20;Pins&#x20;for&#x20;Product&#x20;Catalogs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-pinterest-seo-rich-pins-ecommerce.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-reddit-quora-forum-seo-visibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-reddit-quora-foren-seo-sichtbarkeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-reddit-quora-forum-seo-visibility" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-reddit-quora-forum-seo-visibility.webp</image:loc><image:title>Reddit and Quora: Forum Visibility in Search and AI Answers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reddit&#x20;and&#x20;Quora&#x3A;&#x20;Forum&#x20;Visibility&#x20;in&#x20;Search&#x20;and&#x20;AI&#x20;Answers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-reddit-quora-forum-seo-visibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-social-commerce-product-page-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-social-commerce-produktseiten-verknuepfung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-social-commerce-product-page-integration" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-social-commerce-product-page-integration.webp</image:loc><image:title>Social Commerce: Connecting Product Pages Cleanly to Social Channels</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Social&#x20;Commerce&#x3A;&#x20;Connecting&#x20;Product&#x20;Pages&#x20;Cleanly&#x20;to&#x20;Social&#x20;Channels"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-social-commerce-product-page-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-social-listening-for-content-ideas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-social-listening-fuer-content-ideen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-social-listening-for-content-ideas" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-social-listening-for-content-ideas.webp</image:loc><image:title>Social Listening as a Source for Content and Keyword Ideas</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Social&#x20;Listening&#x20;as&#x20;a&#x20;Source&#x20;for&#x20;Content&#x20;and&#x20;Keyword&#x20;Ideas"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-social-listening-for-content-ideas.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-blog-content-repurposing-for-social-media</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-social-media-content-repurposing-blog" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-blog-content-repurposing-for-social-media" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-blog-content-repurposing-for-social-media.webp</image:loc><image:title>Systematically Repurposing Blog Content for Social Media Formats</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Systematically&#x20;Repurposing&#x20;Blog&#x20;Content&#x20;for&#x20;Social&#x20;Media&#x20;Formats"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-blog-content-repurposing-for-social-media.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-social-media-crossposting-duplicate-content-risks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-social-media-crossposting-duplicate-content" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-social-media-crossposting-duplicate-content-risks" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-social-media-crossposting-duplicate-content-risks.webp</image:loc><image:title>Crossposting Across Channels: Duplicate Content Risks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Crossposting&#x20;Across&#x20;Channels&#x3A;&#x20;Duplicate&#x20;Content&#x20;Risks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-social-media-crossposting-duplicate-content-risks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-social-media-kpis-vs-seo-kpis-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-social-media-kpis-vs-seo-kpis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-social-media-kpis-vs-seo-kpis-en" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-social-media-kpis-vs-seo-kpis-en.webp</image:loc><image:title>Connecting Social Media KPIs vs. SEO KPIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Connecting&#x20;Social&#x20;Media&#x20;KPIs&#x20;vs.&#x20;SEO&#x20;KPIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-social-media-kpis-vs-seo-kpis-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-social-media-crisis-management-seo-impact</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-social-media-krisenmanagement-seo-auswirkungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-social-media-crisis-management-seo-impact" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-social-media-crisis-management-seo-impact.webp</image:loc><image:title>Social Media Crisis Management: Impact on Brand SEO</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Social&#x20;Media&#x20;Crisis&#x20;Management&#x3A;&#x20;Impact&#x20;on&#x20;Brand&#x20;SEO"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-social-media-crisis-management-seo-impact.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sameas-social-profile-schema-markup-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/social-media-schema-markup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sameas-social-profile-schema-markup-guide" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sameas-social-profile-schema-markup-guide.webp</image:loc><image:title>Marking Up sameAs and Social Profile Schema Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Marking&#x20;Up&#x20;sameAs&#x20;and&#x20;Social&#x20;Profile&#x20;Schema&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sameas-social-profile-schema-markup-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-social-media-traffic-vs-organic-traffic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-social-media-traffic-vs-organischer-traffic" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-social-media-traffic-vs-organic-traffic" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-social-media-traffic-vs-organic-traffic.webp</image:loc><image:title>Social Media Traffic vs. Organic Traffic: Separating Attribution Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Social&#x20;Media&#x20;Traffic&#x20;vs.&#x20;Organic&#x20;Traffic&#x3A;&#x20;Separating&#x20;Attribution&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-social-media-traffic-vs-organic-traffic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-social-proof-reviews-seo-trust-signal</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-social-proof-bewertungen-seo-vertrauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-social-proof-reviews-seo-trust-signal" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-social-proof-reviews-seo-trust-signal.webp</image:loc><image:title>Social Proof and Reviews as a Trust and Ranking Signal</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Social&#x20;Proof&#x20;and&#x20;Reviews&#x20;as&#x20;a&#x20;Trust&#x20;and&#x20;Ranking&#x20;Signal"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-social-proof-reviews-seo-trust-signal.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-social-signals-ranking-factor-myth-reality</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-social-signals-rankingfaktor-mythos-realitaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-social-signals-ranking-factor-myth-reality" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-social-signals-ranking-factor-myth-reality.webp</image:loc><image:title>Social Signals as a Ranking Factor: Myth and Real Effect</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Social&#x20;Signals&#x20;as&#x20;a&#x20;Ranking&#x20;Factor&#x3A;&#x20;Myth&#x20;and&#x20;Real&#x20;Effect"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-social-signals-ranking-factor-myth-reality.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-structured-data-for-ai-search-engines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-strukturierte-daten-fuer-ki-suchmaschinen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-structured-data-for-ai-search-engines" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-structured-data-for-ai-search-engines.webp</image:loc><image:title>Marking Up Structured Data for AI Search Engines</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Marking&#x20;Up&#x20;Structured&#x20;Data&#x20;for&#x20;AI&#x20;Search&#x20;Engines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-structured-data-for-ai-search-engines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tiktok-seo-search-engine-for-younger-audiences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tiktok-seo-suchmaschine-der-jungen-zielgruppe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tiktok-seo-search-engine-for-younger-audiences" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tiktok-seo-search-engine-for-younger-audiences.webp</image:loc><image:title>TikTok as a Search Engine for Younger Audiences: The SEO-Relevant Mechanics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TikTok&#x20;as&#x20;a&#x20;Search&#x20;Engine&#x20;for&#x20;Younger&#x20;Audiences&#x3A;&#x20;The&#x20;SEO-Relevant&#x20;Mechanics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tiktok-seo-search-engine-for-younger-audiences.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-x-twitter-cards-social-seo-alignment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-twitter-x-cards-social-sharing-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-x-twitter-cards-social-seo-alignment" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-x-twitter-cards-social-seo-alignment.webp</image:loc><image:title>Implementing X/Twitter Cards Correctly and Aligning Them with SEO Data</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;X&#x2F;Twitter&#x20;Cards&#x20;Correctly&#x20;and&#x20;Aligning&#x20;Them&#x20;with&#x20;SEO&#x20;Data"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-x-twitter-cards-social-seo-alignment.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/user-generated-content-seo-value</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/user-generated-content-seo-wert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/user-generated-content-seo-value" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/user-generated-content-seo-value.webp</image:loc><image:title>User Generated Content: The SEO Value of Comments, Reviews, Posts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="User&#x20;Generated&#x20;Content&#x3A;&#x20;The&#x20;SEO&#x20;Value&#x20;of&#x20;Comments,&#x20;Reviews,&#x20;Posts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/user-generated-content-seo-value.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-video-transcripts-seo-value</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-video-transkripte-seo-mehrwert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-video-transcripts-seo-value" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-video-transcripts-seo-value.webp</image:loc><image:title>Video Transcripts: SEO Value Beyond Accessibility</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Video&#x20;Transcripts&#x3A;&#x20;SEO&#x20;Value&#x20;Beyond&#x20;Accessibility"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-video-transcripts-seo-value.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-youtube-seo-video-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-youtube-seo-video-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-youtube-seo-video-optimization" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-youtube-seo-video-optimization.webp</image:loc><image:title>YouTube SEO: Optimizing Title, Description, Chapters, and Transcripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="YouTube&#x20;SEO&#x3A;&#x20;Optimizing&#x20;Title,&#x20;Description,&#x20;Chapters,&#x20;and&#x20;Transcripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-youtube-seo-video-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo2-citability-content-for-ai-answers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/seo2-zitierfaehigkeit-content-fuer-ki-antworten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo2-citability-content-for-ai-answers" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-citability-content-for-ai-answers.webp</image:loc><image:title>Writing Citable Content for AI Answers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Citable&#x20;Content&#x20;for&#x20;AI&#x20;Answers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-citability-content-for-ai-answers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/future-of-search-seo-2030-outlook</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/zukunft-der-suche-seo-2030-ausblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/future-of-search-seo-2030-outlook" />
<lastmod>2026-07-24T06:08:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/future-of-search-seo-2030-outlook.webp</image:loc><image:title>The Future of Search: How SEO Likely Evolves Through 2030</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Future&#x20;of&#x20;Search&#x3A;&#x20;How&#x20;SEO&#x20;Likely&#x20;Evolves&#x20;Through&#x20;2030"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/future-of-search-seo-2030-outlook.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-8-vs-mariadb-differences-that-matter-in-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-8-vs-mariadb-unterschiede-die-zaehlen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-8-vs-mariadb-differences-that-matter-in-production" />
<lastmod>2026-07-24T06:09:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-8-vs-mariadb-differences-that-matter-in-production.webp</image:loc><image:title>MySQL 8 vs. MariaDB: Differences That Matter in Production</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MySQL&#x20;8&#x20;vs.&#x20;MariaDB&#x3A;&#x20;Differences&#x20;That&#x20;Matter&#x20;in&#x20;Production"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-8-vs-mariadb-differences-that-matter-in-production.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-backup-strategies-mysqldump-vs-xtrabackup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-backup-strategien-mysqldump-vs-xtrabackup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-backup-strategies-mysqldump-vs-xtrabackup" />
<lastmod>2026-07-24T06:09:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-backup-strategies-mysqldump-vs-xtrabackup.webp</image:loc><image:title>Backup Strategies Compared: mysqldump vs. XtraBackup</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Backup&#x20;Strategies&#x20;Compared&#x3A;&#x20;mysqldump&#x20;vs.&#x20;XtraBackup"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-backup-strategies-mysqldump-vs-xtrabackup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-binlog-formats-statement-row-mixed</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-binlog-formate-statement-row-mixed" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-binlog-formats-statement-row-mixed" />
<lastmod>2026-07-24T06:09:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-binlog-formats-statement-row-mixed.webp</image:loc><image:title>MySQL Binlog Formats: Statement, Row, Mixed</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MySQL&#x20;Binlog&#x20;Formats&#x3A;&#x20;Statement,&#x20;Row,&#x20;Mixed"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-binlog-formats-statement-row-mixed.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-charset-and-collation-using-utf8mb4-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-charset-und-collation-utf8mb4-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-charset-and-collation-using-utf8mb4-correctly" />
<lastmod>2026-07-24T06:09:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-charset-and-collation-using-utf8mb4-correctly.webp</image:loc><image:title>Charset and Collation: Using utf8mb4 Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Charset&#x20;and&#x20;Collation&#x3A;&#x20;Using&#x20;utf8mb4&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-charset-and-collation-using-utf8mb4-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-designing-composite-indexes-column-order</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-composite-indizes-richtig-entwerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-designing-composite-indexes-column-order" />
<lastmod>2026-07-24T06:09:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-designing-composite-indexes-column-order.webp</image:loc><image:title>Designing Composite Indexes Correctly: Column Order Matters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Composite&#x20;Indexes&#x20;Correctly&#x3A;&#x20;Column&#x20;Order&#x20;Matters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-designing-composite-indexes-column-order.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-configuring-connection-pooling-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-connection-pooling-richtig-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-configuring-connection-pooling-correctly" />
<lastmod>2026-07-24T06:09:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-configuring-connection-pooling-correctly.webp</image:loc><image:title>Configuring MySQL Connection Pooling Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;MySQL&#x20;Connection&#x20;Pooling&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-configuring-connection-pooling-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-covering-index-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-covering-index-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-covering-index-strategy" />
<lastmod>2026-07-24T06:09:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-covering-index-strategy.webp</image:loc><image:title>Covering Index Strategy: Forcing Index-Only Scans on Purpose</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Covering&#x20;Index&#x20;Strategy&#x3A;&#x20;Forcing&#x20;Index-Only&#x20;Scans&#x20;on&#x20;Purpose"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-covering-index-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-database-healthcheck-checklist-for-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-datenbank-healthcheck-checkliste-fuer-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-database-healthcheck-checklist-for-stores" />
<lastmod>2026-07-24T06:09:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-database-healthcheck-checklist-for-stores.webp</image:loc><image:title>Database Healthcheck: Checklist for Magento Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Database&#x20;Healthcheck&#x3A;&#x20;Checklist&#x20;for&#x20;Magento&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-database-healthcheck-checklist-for-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-choosing-the-right-data-types-to-save-storage-and-improve-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-datentypen-richtig-waehlen-speicherplatz-sparen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-choosing-the-right-data-types-to-save-storage-and-improve-performance" />
<lastmod>2026-07-24T06:09:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-choosing-the-right-data-types-to-save-storage-and-improve-performance.webp</image:loc><image:title>Choosing the Right Data Types: Save Storage and Improve Performance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Choosing&#x20;the&#x20;Right&#x20;Data&#x20;Types&#x3A;&#x20;Save&#x20;Storage&#x20;and&#x20;Improve&#x20;Performance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-choosing-the-right-data-types-to-save-storage-and-improve-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-deadlocks-detecting-and-avoiding</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-deadlocks-erkennen-und-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-deadlocks-detecting-and-avoiding" />
<lastmod>2026-07-24T06:09:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-deadlocks-detecting-and-avoiding.webp</image:loc><image:title>MySQL Deadlocks: Detecting, Analysing and Avoiding</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MySQL&#x20;Deadlocks&#x3A;&#x20;Detecting,&#x20;Analysing&#x20;and&#x20;Avoiding"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-deadlocks-detecting-and-avoiding.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-reading-explain-analyze-query-plans</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-explain-analyze-query-plaene-lesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-reading-explain-analyze-query-plans" />
<lastmod>2026-07-24T06:09:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-reading-explain-analyze-query-plans.webp</image:loc><image:title>EXPLAIN ANALYZE: Learning to Really Read Query Plans</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="EXPLAIN&#x20;ANALYZE&#x3A;&#x20;Learning&#x20;to&#x20;Really&#x20;Read&#x20;Query&#x20;Plans"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-reading-explain-analyze-query-plans.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-failover-strategies-without-data-loss</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-failover-strategien-ohne-datenverlust" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-failover-strategies-without-data-loss" />
<lastmod>2026-07-24T06:09:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-failover-strategies-without-data-loss.webp</image:loc><image:title>MySQL Failover Strategies Without Data Loss</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MySQL&#x20;Failover&#x20;Strategies&#x20;Without&#x20;Data&#x20;Loss"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-failover-strategies-without-data-loss.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-full-text-search-diy-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-full-text-search-eigene-implementierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-full-text-search-diy-implementation" />
<lastmod>2026-07-24T06:09:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-full-text-search-diy-implementation.webp</image:loc><image:title>MySQL Full-Text Search: A DIY Implementation Instead of External Search</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MySQL&#x20;Full-Text&#x20;Search&#x3A;&#x20;A&#x20;DIY&#x20;Implementation&#x20;Instead&#x20;of&#x20;External&#x20;Search"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-full-text-search-diy-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-galera-cluster-multi-master-setup-and-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-galera-cluster-multi-master-setup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-galera-cluster-multi-master-setup-and-pitfalls" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-galera-cluster-multi-master-setup-and-pitfalls.webp</image:loc><image:title>Galera Cluster: Multi-Master Setup and Its Pitfalls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Galera&#x20;Cluster&#x3A;&#x20;Multi-Master&#x20;Setup&#x20;and&#x20;Its&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-galera-cluster-multi-master-setup-and-pitfalls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-gap-locks-and-next-key-locks-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-gap-locks-und-next-key-locks-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-gap-locks-and-next-key-locks-explained" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-gap-locks-and-next-key-locks-explained.webp</image:loc><image:title>Gap Locks and Next-Key Locks in InnoDB Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Gap&#x20;Locks&#x20;and&#x20;Next-Key&#x20;Locks&#x20;in&#x20;InnoDB&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-gap-locks-and-next-key-locks-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-generated-columns-for-faster-queries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-generated-columns-fuer-schnellere-queries" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-generated-columns-for-faster-queries" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-generated-columns-for-faster-queries.webp</image:loc><image:title>Generated Columns for Faster Queries on Computed Values</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generated&#x20;Columns&#x20;for&#x20;Faster&#x20;Queries&#x20;on&#x20;Computed&#x20;Values"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-generated-columns-for-faster-queries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-group-replication-for-high-availability</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-group-replication-fuer-hochverfuegbarkeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-group-replication-for-high-availability" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-group-replication-for-high-availability.webp</image:loc><image:title>MySQL Group Replication for High Availability</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MySQL&#x20;Group&#x20;Replication&#x20;for&#x20;High&#x20;Availability"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-group-replication-for-high-availability.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-index-cardinality-and-selectivity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-index-cardinality-und-selektivitaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-index-cardinality-and-selectivity" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-index-cardinality-and-selectivity.webp</image:loc><image:title>Cardinality and Selectivity: Why Some Indexes Are Useless</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cardinality&#x20;and&#x20;Selectivity&#x3A;&#x20;Why&#x20;Some&#x20;Indexes&#x20;Are&#x20;Useless"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-index-cardinality-and-selectivity.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-innodb-buffer-pool-architecture-and-sizing-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-innodb-buffer-pool-architektur-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-innodb-buffer-pool-architecture-and-sizing-explained" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-innodb-buffer-pool-architecture-and-sizing-explained.webp</image:loc><image:title>InnoDB Buffer Pool: Understanding Architecture and Sizing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="InnoDB&#x20;Buffer&#x20;Pool&#x3A;&#x20;Understanding&#x20;Architecture&#x20;and&#x20;Sizing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-innodb-buffer-pool-architecture-and-sizing-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-innodb-doublewrite-buffer-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-innodb-doublewrite-buffer-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-innodb-doublewrite-buffer-explained" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-innodb-doublewrite-buffer-explained.webp</image:loc><image:title>The Doublewrite Buffer: Protection Against Torn Pages Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Doublewrite&#x20;Buffer&#x3A;&#x20;Protection&#x20;Against&#x20;Torn&#x20;Pages&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-innodb-doublewrite-buffer-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-innodb-redo-log-and-crash-recovery-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-innodb-redo-log-und-crash-recovery" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-innodb-redo-log-and-crash-recovery-explained" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-innodb-redo-log-and-crash-recovery-explained.webp</image:loc><image:title>Redo Log and Crash Recovery: How InnoDB Prevents Data Loss</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redo&#x20;Log&#x20;and&#x20;Crash&#x20;Recovery&#x3A;&#x20;How&#x20;InnoDB&#x20;Prevents&#x20;Data&#x20;Loss"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-innodb-redo-log-and-crash-recovery-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-innodb-vs-myisam-differences-that-still-matter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-innodb-storage-engine-vs-myisam-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-innodb-vs-myisam-differences-that-still-matter" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-innodb-vs-myisam-differences-that-still-matter.webp</image:loc><image:title>InnoDB vs. MyISAM: Differences That Still Matter</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="InnoDB&#x20;vs.&#x20;MyISAM&#x3A;&#x20;Differences&#x20;That&#x20;Still&#x20;Matter"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-innodb-vs-myisam-differences-that-still-matter.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-isolation-levels-understanding-the-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-isolation-levels-unterschiede-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-isolation-levels-understanding-the-differences" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-isolation-levels-understanding-the-differences.webp</image:loc><image:title>MySQL Isolation Levels: Understanding the Differences</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MySQL&#x20;Isolation&#x20;Levels&#x3A;&#x20;Understanding&#x20;the&#x20;Differences"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-isolation-levels-understanding-the-differences.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-json-columns-practical-use-and-indexing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-json-spalten-praktischer-einsatz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-json-columns-practical-use-and-indexing" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-json-columns-practical-use-and-indexing.webp</image:loc><image:title>JSON Columns in MySQL: Practical Use and Indexing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JSON&#x20;Columns&#x20;in&#x20;MySQL&#x3A;&#x20;Practical&#x20;Use&#x20;and&#x20;Indexing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-json-columns-practical-use-and-indexing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-avoiding-long-running-transactions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-long-running-transactions-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-avoiding-long-running-transactions" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-avoiding-long-running-transactions.webp</image:loc><image:title>Avoiding Long-Running Transactions in MySQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Long-Running&#x20;Transactions&#x20;in&#x20;MySQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-avoiding-long-running-transactions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-magento-cron-schedule-table-cleanup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-magento-cron-schedule-tabelle-aufraeumen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-magento-cron-schedule-table-cleanup" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-magento-cron-schedule-table-cleanup.webp</image:loc><image:title>Keeping the cron_schedule Table Clean and Tidy</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Keeping&#x20;the&#x20;cron_schedule&#x20;Table&#x20;Clean&#x20;and&#x20;Tidy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-magento-cron-schedule-table-cleanup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-magento-database-migration-zero-downtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-magento-datenbank-migration-zero-downtime" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-magento-database-migration-zero-downtime" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-magento-database-migration-zero-downtime.webp</image:loc><image:title>Zero-Downtime Migration for Magento Stores: Database Changes Without Outages</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Zero-Downtime&#x20;Migration&#x20;for&#x20;Magento&#x20;Stores&#x3A;&#x20;Database&#x20;Changes&#x20;Without&#x20;Outages"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-magento-database-migration-zero-downtime.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-magento-database-growth-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-magento-datenbank-wachstum-kontrollieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-magento-database-growth-control" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-magento-database-growth-control.webp</image:loc><image:title>Controlling Database Growth in Magento Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Controlling&#x20;Database&#x20;Growth&#x20;in&#x20;Magento&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-magento-database-growth-control.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-magento-eav-schema-performance-limits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-magento-eav-schema-performance-grenzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-magento-eav-schema-performance-limits" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-magento-eav-schema-performance-limits.webp</image:loc><image:title>Magento EAV Schema: Performance Limits and Workarounds</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;EAV&#x20;Schema&#x3A;&#x20;Performance&#x20;Limits&#x20;and&#x20;Workarounds"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-magento-eav-schema-performance-limits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-magento-indexer-tables-understanding-and-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-magento-indexer-tabellen-verstehen-und-tunen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-magento-indexer-tables-understanding-and-tuning" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-magento-indexer-tables-understanding-and-tuning.webp</image:loc><image:title>Understanding and Tuning Magento Indexer Tables at the DB Level</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;and&#x20;Tuning&#x20;Magento&#x20;Indexer&#x20;Tables&#x20;at&#x20;the&#x20;DB&#x20;Level"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-magento-indexer-tables-understanding-and-tuning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-magento-log-tables-cleanup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-magento-log-tabellen-bereinigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-magento-log-tables-cleanup" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-magento-log-tables-cleanup.webp</image:loc><image:title>Systematically Cleaning Up Magento Log and Report Tables</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Systematically&#x20;Cleaning&#x20;Up&#x20;Magento&#x20;Log&#x20;and&#x20;Report&#x20;Tables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-magento-log-tables-cleanup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-magento-multi-store-schema-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-magento-multi-store-schema-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-magento-multi-store-schema-strategies" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-magento-multi-store-schema-strategies.webp</image:loc><image:title>Multi-Store Schema Strategies for Magento Installations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi-Store&#x20;Schema&#x20;Strategies&#x20;for&#x20;Magento&#x20;Installations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-magento-multi-store-schema-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-magento-quote-and-sales-table-archiving</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-magento-quote-und-sales-tabellen-archivierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-magento-quote-and-sales-table-archiving" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-magento-quote-and-sales-table-archiving.webp</image:loc><image:title>Quote and Sales Table Archiving for Large Magento Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Quote&#x20;and&#x20;Sales&#x20;Table&#x20;Archiving&#x20;for&#x20;Large&#x20;Magento&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-magento-quote-and-sales-table-archiving.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-monitoring-the-metrics-that-matter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-monitoring-die-wichtigsten-metriken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-monitoring-the-metrics-that-matter" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-monitoring-the-metrics-that-matter.webp</image:loc><image:title>MySQL Monitoring: the Metrics That Actually Matter</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MySQL&#x20;Monitoring&#x3A;&#x20;the&#x20;Metrics&#x20;That&#x20;Actually&#x20;Matter"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-monitoring-the-metrics-that-matter.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-detecting-and-avoiding-n-plus-1-queries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-n-plus-1-queries-erkennen-und-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-detecting-and-avoiding-n-plus-1-queries" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-detecting-and-avoiding-n-plus-1-queries.webp</image:loc><image:title>Detecting and Avoiding N+1 Queries: A Practical Methodology</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Detecting&#x20;and&#x20;Avoiding&#x20;N&#x2B;1&#x20;Queries&#x3A;&#x20;A&#x20;Practical&#x20;Methodology"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-detecting-and-avoiding-n-plus-1-queries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-optimistic-vs-pessimistic-locking-in-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-optimistic-vs-pessimistic-locking-in-anwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-optimistic-vs-pessimistic-locking-in-applications" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-optimistic-vs-pessimistic-locking-in-applications.webp</image:loc><image:title>Optimistic vs. Pessimistic Locking in Applications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimistic&#x20;vs.&#x20;Pessimistic&#x20;Locking&#x20;in&#x20;Applications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-optimistic-vs-pessimistic-locking-in-applications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-using-optimizer-hints-deliberately</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-optimizer-hints-gezielt-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-using-optimizer-hints-deliberately" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-using-optimizer-hints-deliberately.webp</image:loc><image:title>Using Optimizer Hints Deliberately, Without Outsmarting the Optimizer</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Optimizer&#x20;Hints&#x20;Deliberately,&#x20;Without&#x20;Outsmarting&#x20;the&#x20;Optimizer"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-using-optimizer-hints-deliberately.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-partitioning-large-tables-strategies-and-limits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-partitionierung-grosser-tabellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-partitioning-large-tables-strategies-and-limits" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-partitioning-large-tables-strategies-and-limits.webp</image:loc><image:title>Partitioning Large Tables: Strategies and Limits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Partitioning&#x20;Large&#x20;Tables&#x3A;&#x20;Strategies&#x20;and&#x20;Limits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-partitioning-large-tables-strategies-and-limits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-percona-toolkit-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-percona-toolkit-fuer-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-percona-toolkit-for-magento-stores" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-percona-toolkit-for-magento-stores.webp</image:loc><image:title>Using the Percona Toolkit for Magento Stores in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;the&#x20;Percona&#x20;Toolkit&#x20;for&#x20;Magento&#x20;Stores&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-percona-toolkit-for-magento-stores.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-point-in-time-recovery-with-binlogs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-point-in-time-recovery-mit-binlogs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-point-in-time-recovery-with-binlogs" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-point-in-time-recovery-with-binlogs.webp</image:loc><image:title>Point-in-Time Recovery with Binlogs in MySQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Point-in-Time&#x20;Recovery&#x20;with&#x20;Binlogs&#x20;in&#x20;MySQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-point-in-time-recovery-with-binlogs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-prepared-statements-security-and-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-prepared-statements-sicherheit-und-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-prepared-statements-security-and-performance" />
<lastmod>2026-07-24T06:09:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-prepared-statements-security-and-performance.webp</image:loc><image:title>Prepared Statements: Security and Performance in MySQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Prepared&#x20;Statements&#x3A;&#x20;Security&#x20;and&#x20;Performance&#x20;in&#x20;MySQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-prepared-statements-security-and-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-proxysql-for-connection-pooling-and-routing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-proxysql-fuer-connection-pooling-und-routing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-proxysql-for-connection-pooling-and-routing" />
<lastmod>2026-07-24T06:09:20+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-proxysql-for-connection-pooling-and-routing.webp</image:loc><image:title>ProxySQL for Connection Pooling and Query Routing in MySQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ProxySQL&#x20;for&#x20;Connection&#x20;Pooling&#x20;and&#x20;Query&#x20;Routing&#x20;in&#x20;MySQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-proxysql-for-connection-pooling-and-routing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-query-cache-why-it-no-longer-exists</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-query-cache-warum-es-ihn-nicht-mehr-gibt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-query-cache-why-it-no-longer-exists" />
<lastmod>2026-07-24T06:09:20+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-query-cache-why-it-no-longer-exists.webp</image:loc><image:title>The MySQL Query Cache: Why It No Longer Exists</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;MySQL&#x20;Query&#x20;Cache&#x3A;&#x20;Why&#x20;It&#x20;No&#x20;Longer&#x20;Exists"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-query-cache-why-it-no-longer-exists.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-read-replicas-load-balancing-in-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-read-replicas-lastverteilung-in-anwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-read-replicas-load-balancing-in-applications" />
<lastmod>2026-07-24T06:09:20+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-read-replicas-load-balancing-in-applications.webp</image:loc><image:title>MySQL Read Replicas: Load Balancing in Applications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MySQL&#x20;Read&#x20;Replicas&#x3A;&#x20;Load&#x20;Balancing&#x20;in&#x20;Applications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-read-replicas-load-balancing-in-applications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-replication-basics-async-vs-semi-sync</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-replikation-grundlagen-async-vs-semi-sync" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-replication-basics-async-vs-semi-sync" />
<lastmod>2026-07-24T06:09:20+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-replication-basics-async-vs-semi-sync.webp</image:loc><image:title>MySQL Replication: Async vs. Semi-Sync Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MySQL&#x20;Replication&#x3A;&#x20;Async&#x20;vs.&#x20;Semi-Sync&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-replication-basics-async-vs-semi-sync.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-row-locking-vs-table-locking-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-row-level-locking-vs-table-locking" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-row-locking-vs-table-locking-explained" />
<lastmod>2026-07-24T06:09:20+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-row-locking-vs-table-locking-explained.webp</image:loc><image:title>Row-Level Locking vs. Table Locking in MySQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Row-Level&#x20;Locking&#x20;vs.&#x20;Table&#x20;Locking&#x20;in&#x20;MySQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-row-locking-vs-table-locking-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-savepoints-for-partial-rollbacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-savepoints-fuer-teilweise-rollbacks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-savepoints-for-partial-rollbacks" />
<lastmod>2026-07-24T06:09:20+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-savepoints-for-partial-rollbacks.webp</image:loc><image:title>Savepoints for Partial Rollbacks in MySQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Savepoints&#x20;for&#x20;Partial&#x20;Rollbacks&#x20;in&#x20;MySQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-savepoints-for-partial-rollbacks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-analyzing-the-slow-query-log-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-slow-query-log-systematisch-auswerten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-analyzing-the-slow-query-log-systematically" />
<lastmod>2026-07-24T06:09:20+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-analyzing-the-slow-query-log-systematically.webp</image:loc><image:title>Analyzing the Slow Query Log Systematically, Not Just Enabling It</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Analyzing&#x20;the&#x20;Slow&#x20;Query&#x20;Log&#x20;Systematically,&#x20;Not&#x20;Just&#x20;Enabling&#x20;It"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-analyzing-the-slow-query-log-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-tablespace-management-and-file-per-table-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-tablespace-verwaltung-und-file-per-table" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-tablespace-management-and-file-per-table-in-practice" />
<lastmod>2026-07-24T06:09:20+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-tablespace-management-and-file-per-table-in-practice.webp</image:loc><image:title>Tablespace Management and file-per-table in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tablespace&#x20;Management&#x20;and&#x20;file-per-table&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-tablespace-management-and-file-per-table-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql-transactions-acid-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysql-transaktionen-acid-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql-transactions-acid-in-practice" />
<lastmod>2026-07-24T06:09:20+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-transactions-acid-in-practice.webp</image:loc><image:title>Transactions and ACID in MySQL in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Transactions&#x20;and&#x20;ACID&#x20;in&#x20;MySQL&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-transactions-acid-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-as-a-message-queue-limits-and-alternatives</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-als-message-queue-grenzen-und-alternativen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-as-a-message-queue-limits-and-alternatives" />
<lastmod>2026-07-24T06:09:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-as-a-message-queue-limits-and-alternatives.webp</image:loc><image:title>Redis as a Message Queue: Limits and Alternatives</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;as&#x20;a&#x20;Message&#x20;Queue&#x3A;&#x20;Limits&#x20;and&#x20;Alternatives"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-as-a-message-queue-limits-and-alternatives.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-aof-persistence-fsync-strategies-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-aof-persistence-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-aof-persistence-fsync-strategies-compared" />
<lastmod>2026-07-24T06:09:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-aof-persistence-fsync-strategies-compared.webp</image:loc><image:title>AOF Persistence in Detail: fsync Strategies Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="AOF&#x20;Persistence&#x20;in&#x20;Detail&#x3A;&#x20;fsync&#x20;Strategies&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-aof-persistence-fsync-strategies-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-backup-and-restore-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-backup-und-restore-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-backup-and-restore-strategies" />
<lastmod>2026-07-24T06:09:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-backup-and-restore-strategies.webp</image:loc><image:title>Backup and Restore Strategies for Production Redis Instances</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Backup&#x20;and&#x20;Restore&#x20;Strategies&#x20;for&#x20;Production&#x20;Redis&#x20;Instances"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-backup-and-restore-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-bitmaps-for-efficient-flag-storage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-bitmaps-fuer-effiziente-flag-speicherung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-bitmaps-for-efficient-flag-storage" />
<lastmod>2026-07-24T06:09:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-bitmaps-for-efficient-flag-storage.webp</image:loc><image:title>Redis Bitmaps for Efficient Flag Storage</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Bitmaps&#x20;for&#x20;Efficient&#x20;Flag&#x20;Storage"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-bitmaps-for-efficient-flag-storage.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-cache-aside-pattern-implementation-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-cache-aside-pattern-richtig-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-cache-aside-pattern-implementation-guide" />
<lastmod>2026-07-24T06:09:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-cache-aside-pattern-implementation-guide.webp</image:loc><image:title>Implementing the Cache-Aside Pattern Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;the&#x20;Cache-Aside&#x20;Pattern&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-cache-aside-pattern-implementation-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-preventing-cache-stampede</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-cache-stampede-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-preventing-cache-stampede" />
<lastmod>2026-07-24T06:09:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-preventing-cache-stampede.webp</image:loc><image:title>Preventing Cache Stampede: Locking and Probabilistic Refresh</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preventing&#x20;Cache&#x20;Stampede&#x3A;&#x20;Locking&#x20;and&#x20;Probabilistic&#x20;Refresh"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-preventing-cache-stampede.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-cache-invalidation-strategies-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-caching-invalidierung-strategien-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-cache-invalidation-strategies-compared" />
<lastmod>2026-07-24T06:09:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-cache-invalidation-strategies-compared.webp</image:loc><image:title>Cache Invalidation Strategies Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cache&#x20;Invalidation&#x20;Strategies&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-cache-invalidation-strategies-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-cluster-resharding-without-downtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-cluster-resharding-ohne-downtime" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-cluster-resharding-without-downtime" />
<lastmod>2026-07-24T06:09:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-cluster-resharding-without-downtime.webp</image:loc><image:title>Performing Cluster Resharding Without Downtime</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Performing&#x20;Cluster&#x20;Resharding&#x20;Without&#x20;Downtime"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-cluster-resharding-without-downtime.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-cluster-sharding-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-cluster-sharding-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-cluster-sharding-fundamentals" />
<lastmod>2026-07-24T06:09:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-cluster-sharding-fundamentals.webp</image:loc><image:title>Redis Cluster: Understanding Sharding Fundamentals</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Cluster&#x3A;&#x20;Understanding&#x20;Sharding&#x20;Fundamentals"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-cluster-sharding-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-cluster-vs-sentinel-when-to-use-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-cluster-vs-sentinel-wann-was-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-cluster-vs-sentinel-when-to-use-which" />
<lastmod>2026-07-24T06:09:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-cluster-vs-sentinel-when-to-use-which.webp</image:loc><image:title>Cluster vs. Sentinel: When to Use Which Model</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cluster&#x20;vs.&#x20;Sentinel&#x3A;&#x20;When&#x20;to&#x20;Use&#x20;Which&#x20;Model"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-cluster-vs-sentinel-when-to-use-which.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-data-types-strings-hashes-lists-sets-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-datentypen-strings-hashes-listen-sets-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-data-types-strings-hashes-lists-sets-explained" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-data-types-strings-hashes-lists-sets-explained.webp</image:loc><image:title>Redis Data Types Explained: Strings, Hashes, Lists, Sets</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Data&#x20;Types&#x20;Explained&#x3A;&#x20;Strings,&#x20;Hashes,&#x20;Lists,&#x20;Sets"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-data-types-strings-hashes-lists-sets-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-data-loss-scenarios-and-safeguards</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-datenverlust-szenarien-und-absicherung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-data-loss-scenarios-and-safeguards" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-data-loss-scenarios-and-safeguards.webp</image:loc><image:title>Data Loss Scenarios in Redis and How to Guard Against Them</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Data&#x20;Loss&#x20;Scenarios&#x20;in&#x20;Redis&#x20;and&#x20;How&#x20;to&#x20;Guard&#x20;Against&#x20;Them"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-data-loss-scenarios-and-safeguards.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-configuring-diskless-replication</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-diskless-replication-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-configuring-diskless-replication" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-configuring-diskless-replication.webp</image:loc><image:title>Configuring Diskless Replication and Knowing Its Limits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Diskless&#x20;Replication&#x20;and&#x20;Knowing&#x20;Its&#x20;Limits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-configuring-diskless-replication.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-distributed-locks-with-redlock</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-distributed-locks-mit-redlock" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-distributed-locks-with-redlock" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-distributed-locks-with-redlock.webp</image:loc><image:title>Distributed Locks with the Redlock Algorithm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Distributed&#x20;Locks&#x20;with&#x20;the&#x20;Redlock&#x20;Algorithm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-distributed-locks-with-redlock.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-eviction-strategies-lru-lfu-random</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-eviction-strategien-lru-lfu-random" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-eviction-strategies-lru-lfu-random" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-eviction-strategies-lru-lfu-random.webp</image:loc><image:title>Eviction Strategies in Detail: LRU, LFU, Random</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Eviction&#x20;Strategies&#x20;in&#x20;Detail&#x3A;&#x20;LRU,&#x20;LFU,&#x20;Random"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-eviction-strategies-lru-lfu-random.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-expire-and-ttl-strategies-correctly-applied</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-expire-und-ttl-strategien-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-expire-and-ttl-strategies-correctly-applied" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-expire-and-ttl-strategies-correctly-applied.webp</image:loc><image:title>Redis Expire and TTL Strategies Correctly Applied</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Expire&#x20;and&#x20;TTL&#x20;Strategies&#x20;Correctly&#x20;Applied"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-expire-and-ttl-strategies-correctly-applied.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-geo-commands-for-location-based-queries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-geo-commands-fuer-standortbasierte-abfragen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-geo-commands-for-location-based-queries" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-geo-commands-for-location-based-queries.webp</image:loc><image:title>Redis Geo-Commands for Location-Based Queries</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Geo-Commands&#x20;for&#x20;Location-Based&#x20;Queries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-geo-commands-for-location-based-queries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/understanding-redis-hash-slots</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-hash-slots-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/understanding-redis-hash-slots" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/understanding-redis-hash-slots.webp</image:loc><image:title>Understanding Hash Slots: How Redis Cluster Distributes Data</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Hash&#x20;Slots&#x3A;&#x20;How&#x20;Redis&#x20;Cluster&#x20;Distributes&#x20;Data"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/understanding-redis-hash-slots.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-hyperloglog-for-approximate-counting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-hyperloglog-fuer-naeherungsweise-zaehlungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-hyperloglog-for-approximate-counting" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-hyperloglog-for-approximate-counting.webp</image:loc><image:title>Redis HyperLogLog for Approximate Counting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;HyperLogLog&#x20;for&#x20;Approximate&#x20;Counting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-hyperloglog-for-approximate-counting.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-keyspace-notifications-for-reactive-architectures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-keyspace-notifications-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-keyspace-notifications-for-reactive-architectures" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-keyspace-notifications-for-reactive-architectures.webp</image:loc><image:title>Redis Keyspace Notifications for Reactive Architectures</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Keyspace&#x20;Notifications&#x20;for&#x20;Reactive&#x20;Architectures"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-keyspace-notifications-for-reactive-architectures.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-leaderboards-with-sorted-sets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-leaderboards-mit-sorted-sets-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-leaderboards-with-sorted-sets" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-leaderboards-with-sorted-sets.webp</image:loc><image:title>Building Leaderboards with Sorted Sets</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Leaderboards&#x20;with&#x20;Sorted&#x20;Sets"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-leaderboards-with-sorted-sets.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-lua-scripting-for-atomic-operations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-lua-scripting-fuer-atomare-operationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-lua-scripting-for-atomic-operations" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-lua-scripting-for-atomic-operations.webp</image:loc><image:title>Redis Lua Scripting for Atomic Operations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Lua&#x20;Scripting&#x20;for&#x20;Atomic&#x20;Operations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-lua-scripting-for-atomic-operations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-magento-cache-backend-configuration-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-magento-cache-backend-konfiguration-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-magento-cache-backend-configuration-explained" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-magento-cache-backend-configuration-explained.webp</image:loc><image:title>Magento Cache Backend: Configuration in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Cache&#x20;Backend&#x3A;&#x20;Configuration&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-magento-cache-backend-configuration-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-magento-cache-warmup-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-magento-cache-warmup-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-magento-cache-warmup-strategies" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-magento-cache-warmup-strategies.webp</image:loc><image:title>Cache Warmup Strategies After Deployments in Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cache&#x20;Warmup&#x20;Strategies&#x20;After&#x20;Deployments&#x20;in&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-magento-cache-warmup-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-magento-cluster-setup-for-scaling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-magento-cluster-setup-fuer-skalierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-magento-cluster-setup-for-scaling" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-magento-cluster-setup-for-scaling.webp</image:loc><image:title>Redis Cluster Setup for Scaling Magento Stores</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Cluster&#x20;Setup&#x20;for&#x20;Scaling&#x20;Magento&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-magento-cluster-setup-for-scaling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-magento-full-page-cache-tag-invalidation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-magento-full-page-cache-tag-invalidierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-magento-full-page-cache-tag-invalidation" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-magento-full-page-cache-tag-invalidation.webp</image:loc><image:title>Full Page Cache: Understanding Tag Invalidation in Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Full&#x20;Page&#x20;Cache&#x3A;&#x20;Understanding&#x20;Tag&#x20;Invalidation&#x20;in&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-magento-full-page-cache-tag-invalidation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-magento-memory-sizing-capacity-planning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-magento-memory-sizing-richtig-planen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-magento-memory-sizing-capacity-planning" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-magento-memory-sizing-capacity-planning.webp</image:loc><image:title>Planning Redis Memory Sizing for Magento Shops Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Planning&#x20;Redis&#x20;Memory&#x20;Sizing&#x20;for&#x20;Magento&#x20;Shops&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-magento-memory-sizing-capacity-planning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-magento-multi-database-separation-cache-session-fpc</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-magento-multi-datenbank-trennung-cache-session-fpc" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-magento-multi-database-separation-cache-session-fpc" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-magento-multi-database-separation-cache-session-fpc.webp</image:loc><image:title>Multi-Database Separation: Isolating Cache, Session and FPC</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi-Database&#x20;Separation&#x3A;&#x20;Isolating&#x20;Cache,&#x20;Session&#x20;and&#x20;FPC"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-magento-multi-database-separation-cache-session-fpc.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-magento-session-backend-performance-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-magento-session-backend-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-magento-session-backend-performance-tuning" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-magento-session-backend-performance-tuning.webp</image:loc><image:title>Session Backend Tuning for Magento with Redis</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Session&#x20;Backend&#x20;Tuning&#x20;for&#x20;Magento&#x20;with&#x20;Redis"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-magento-session-backend-performance-tuning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-magento-troubleshooting-common-errors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-magento-troubleshooting-haeufige-fehler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-magento-troubleshooting-common-errors" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-magento-troubleshooting-common-errors.webp</image:loc><image:title>Redis Troubleshooting: Common Errors in Magento Environments</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Troubleshooting&#x3A;&#x20;Common&#x20;Errors&#x20;in&#x20;Magento&#x20;Environments"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-magento-troubleshooting-common-errors.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-maxmemory-policies-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-maxmemory-policies-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-maxmemory-policies-compared" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-maxmemory-policies-compared.webp</image:loc><image:title>maxmemory-policy Compared: Which Eviction Fits When</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="maxmemory-policy&#x20;Compared&#x3A;&#x20;Which&#x20;Eviction&#x20;Fits&#x20;When"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-maxmemory-policies-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-memory-fragmentation-understanding-and-fixing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-memory-fragmentation-verstehen-und-beheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-memory-fragmentation-understanding-and-fixing" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-memory-fragmentation-understanding-and-fixing.webp</image:loc><image:title>Understanding and Fixing Memory Fragmentation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;and&#x20;Fixing&#x20;Memory&#x20;Fragmentation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-memory-fragmentation-understanding-and-fixing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-monitoring-with-redis-cli-and-info</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-monitoring-mit-redis-cli-und-info" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-monitoring-with-redis-cli-and-info" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-monitoring-with-redis-cli-and-info.webp</image:loc><image:title>Systematic Redis Monitoring with redis-cli and INFO</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Systematic&#x20;Redis&#x20;Monitoring&#x20;with&#x20;redis-cli&#x20;and&#x20;INFO"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-monitoring-with-redis-cli-and-info.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-multi-az-deployment-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-multi-az-deployment-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-multi-az-deployment-strategies" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-multi-az-deployment-strategies.webp</image:loc><image:title>Multi-AZ Deployment Strategies for Redis</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi-AZ&#x20;Deployment&#x20;Strategies&#x20;for&#x20;Redis"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-multi-az-deployment-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-durability-latency-tradeoffs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-persistence-performance-tradeoffs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-durability-latency-tradeoffs" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-durability-latency-tradeoffs.webp</image:loc><image:title>Persistence-Performance Tradeoffs: Durability vs. Latency</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Persistence-Performance&#x20;Tradeoffs&#x3A;&#x20;Durability&#x20;vs.&#x20;Latency"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-durability-latency-tradeoffs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-pub-sub-for-real-time-events</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-pub-sub-fuer-echtzeit-events" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-pub-sub-for-real-time-events" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-pub-sub-for-real-time-events.webp</image:loc><image:title>Pub/Sub for Real-Time Events Between Services</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Pub&#x2F;Sub&#x20;for&#x20;Real-Time&#x20;Events&#x20;Between&#x20;Services"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-pub-sub-for-real-time-events.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-rate-limiting-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-rate-limiting-implementierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-rate-limiting-implementation" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-rate-limiting-implementation.webp</image:loc><image:title>Implementing Rate-Limiting with Redis Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Rate-Limiting&#x20;with&#x20;Redis&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-rate-limiting-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-rdb-snapshots-explained-and-configured</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-rdb-snapshots-verstehen-und-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-rdb-snapshots-explained-and-configured" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-rdb-snapshots-explained-and-configured.webp</image:loc><image:title>RDB Snapshots Explained and Configured Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="RDB&#x20;Snapshots&#x20;Explained&#x20;and&#x20;Configured&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-rdb-snapshots-explained-and-configured.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-rdb-vs-aof-choosing-the-right-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-rdb-vs-aof-die-richtige-wahl-treffen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-rdb-vs-aof-choosing-the-right-strategy" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-rdb-vs-aof-choosing-the-right-strategy.webp</image:loc><image:title>RDB vs. AOF: Choosing the Right Strategy for Your Use Case</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="RDB&#x20;vs.&#x20;AOF&#x3A;&#x20;Choosing&#x20;the&#x20;Right&#x20;Strategy&#x20;for&#x20;Your&#x20;Use&#x20;Case"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-rdb-vs-aof-choosing-the-right-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-master-replica-replication-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-replikation-master-replica-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-master-replica-replication-in-detail" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-master-replica-replication-in-detail.webp</image:loc><image:title>Master-Replica Replication in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Master-Replica&#x20;Replication&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-master-replica-replication-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-security-hardening-for-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-security-haertung-fuer-produktivbetrieb" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-security-hardening-for-production" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-security-hardening-for-production.webp</image:loc><image:title>Redis Security Hardening for Production</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Security&#x20;Hardening&#x20;for&#x20;Production"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-security-hardening-for-production.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-sentinel-automatic-failover-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-sentinel-fuer-automatisches-failover" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-sentinel-automatic-failover-setup" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-sentinel-automatic-failover-setup.webp</image:loc><image:title>Setting Up Redis Sentinel for Automatic Failover</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;Redis&#x20;Sentinel&#x20;for&#x20;Automatic&#x20;Failover"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-sentinel-automatic-failover-setup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-session-storage-architecture-decisions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-session-storage-architektur-entscheidungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-session-storage-architecture-decisions" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-session-storage-architecture-decisions.webp</image:loc><image:title>Session Storage: Architecture Decisions with Redis</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Session&#x20;Storage&#x3A;&#x20;Architecture&#x20;Decisions&#x20;with&#x20;Redis"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-session-storage-architecture-decisions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-slowlog-performance-diagnostics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-slowlog-fuer-performance-diagnose" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-slowlog-performance-diagnostics" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-slowlog-performance-diagnostics.webp</image:loc><image:title>Using the Slowlog for Targeted Performance Diagnostics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;the&#x20;Slowlog&#x20;for&#x20;Targeted&#x20;Performance&#x20;Diagnostics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-slowlog-performance-diagnostics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-sorted-sets-practical-use-cases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-sorted-sets-praktische-anwendungsfaelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-sorted-sets-practical-use-cases" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-sorted-sets-practical-use-cases.webp</image:loc><image:title>Redis Sorted Sets: Practical Use Cases Beyond Rankings</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Sorted&#x20;Sets&#x3A;&#x20;Practical&#x20;Use&#x20;Cases&#x20;Beyond&#x20;Rankings"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-sorted-sets-practical-use-cases.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/avoiding-redis-split-brain-scenarios</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-split-brain-szenarien-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/avoiding-redis-split-brain-scenarios" />
<lastmod>2026-07-24T06:09:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/avoiding-redis-split-brain-scenarios.webp</image:loc><image:title>Avoiding Split-Brain Scenarios in Redis Clusters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Split-Brain&#x20;Scenarios&#x20;in&#x20;Redis&#x20;Clusters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/avoiding-redis-split-brain-scenarios.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-streams-as-a-message-log</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-streams-als-message-log" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-streams-as-a-message-log" />
<lastmod>2026-07-24T06:09:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-streams-as-a-message-log.webp</image:loc><image:title>Using Redis Streams as a Persistent Message Log</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Redis&#x20;Streams&#x20;as&#x20;a&#x20;Persistent&#x20;Message&#x20;Log"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-streams-as-a-message-log.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-transactions-with-multi-exec</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-transaktionen-mit-multi-exec" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-transactions-with-multi-exec" />
<lastmod>2026-07-24T06:09:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-transactions-with-multi-exec.webp</image:loc><image:title>Redis Transactions with MULTI/EXEC: Capabilities and Limits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Transactions&#x20;with&#x20;MULTI&#x2F;EXEC&#x3A;&#x20;Capabilities&#x20;and&#x20;Limits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-transactions-with-multi-exec.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-vs-varnish-clear-roles-in-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-vs-varnish-rollenverteilung-in-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-vs-varnish-clear-roles-in-magento" />
<lastmod>2026-07-24T06:09:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-vs-varnish-clear-roles-in-magento.webp</image:loc><image:title>Redis vs. Varnish: Clear Roles in Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;vs.&#x20;Varnish&#x3A;&#x20;Clear&#x20;Roles&#x20;in&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-vs-varnish-clear-roles-in-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis-write-through-vs-write-back-caching-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/redis-write-through-vs-write-back-caching" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis-write-through-vs-write-back-caching-explained" />
<lastmod>2026-07-24T06:09:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-write-through-vs-write-back-caching-explained.webp</image:loc><image:title>Write-Through vs. Write-Back Caching Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Write-Through&#x20;vs.&#x20;Write-Back&#x20;Caching&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-write-through-vs-write-back-caching-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-acid-properties-explained-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-acid-eigenschaften-im-detail-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-acid-properties-explained-in-detail" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-acid-properties-explained-in-detail.webp</image:loc><image:title>ACID Properties Explained in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ACID&#x20;Properties&#x20;Explained&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-acid-properties-explained-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-building-analytics-queries-for-reporting-dashboards</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-analytics-queries-fuer-reporting-dashboards" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-building-analytics-queries-for-reporting-dashboards" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-building-analytics-queries-for-reporting-dashboards.webp</image:loc><image:title>Building Analytics Queries for Reporting Dashboards</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Analytics&#x20;Queries&#x20;for&#x20;Reporting&#x20;Dashboards"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-building-analytics-queries-for-reporting-dashboards.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-anti-joins-and-semi-joins-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-anti-joins-und-semi-joins-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-anti-joins-and-semi-joins-explained" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-anti-joins-and-semi-joins-explained.webp</image:loc><image:title>Anti-Joins and Semi-Joins Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Anti-Joins&#x20;and&#x20;Semi-Joins&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-anti-joins-and-semi-joins-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-batch-processing-vs-single-inserts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-batch-processing-vs-einzelne-inserts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-batch-processing-vs-single-inserts" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-batch-processing-vs-single-inserts.webp</image:loc><image:title>Batch Processing vs. Single INSERTs: the Performance Difference</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Batch&#x20;Processing&#x20;vs.&#x20;Single&#x20;INSERTs&#x3A;&#x20;the&#x20;Performance&#x20;Difference"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-batch-processing-vs-single-inserts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-bulk-operations-performant-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-bulk-operations-performant-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-bulk-operations-performant-implementation" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-bulk-operations-performant-implementation.webp</image:loc><image:title>Implementing Performant Bulk Operations: Batching, Locking, Constraints</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Performant&#x20;Bulk&#x20;Operations&#x3A;&#x20;Batching,&#x20;Locking,&#x20;Constraints"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-bulk-operations-performant-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-common-table-expressions-cte-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-common-table-expressions-cte-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-common-table-expressions-cte-basics" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-common-table-expressions-cte-basics.webp</image:loc><image:title>Common Table Expressions: CTE Basics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Common&#x20;Table&#x20;Expressions&#x3A;&#x20;CTE&#x20;Basics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-common-table-expressions-cte-basics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-constraints-check-unique-not-null-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-constraints-check-unique-not-null-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-constraints-check-unique-not-null-explained" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-constraints-check-unique-not-null-explained.webp</image:loc><image:title>Constraints Explained: CHECK, UNIQUE, NOT NULL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Constraints&#x20;Explained&#x3A;&#x20;CHECK,&#x20;UNIQUE,&#x20;NOT&#x20;NULL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-constraints-check-unique-not-null-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-correlated-subqueries-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-correlated-subqueries-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-correlated-subqueries-explained" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-correlated-subqueries-explained.webp</image:loc><image:title>Correlated Subqueries Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Correlated&#x20;Subqueries&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-correlated-subqueries-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/writing-database-agnostic-sql-portability-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-datenbank-agnostisches-sql-schreiben-portabilitaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/writing-database-agnostic-sql-portability-in-practice" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/writing-database-agnostic-sql-portability-in-practice.webp</image:loc><image:title>Writing Database-Agnostic SQL: Portability in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Database-Agnostic&#x20;SQL&#x3A;&#x20;Portability&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/writing-database-agnostic-sql-portability-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-data-modeling-entity-relationship-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-datenmodellierung-entity-relationship-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-data-modeling-entity-relationship-fundamentals" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-data-modeling-entity-relationship-fundamentals.webp</image:loc><image:title>Data Modeling: Entity-Relationship Fundamentals</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Data&#x20;Modeling&#x3A;&#x20;Entity-Relationship&#x20;Fundamentals"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-data-modeling-entity-relationship-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-data-type-choices-with-long-term-consequences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-datentyp-wahl-mit-langfristigen-folgen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-data-type-choices-with-long-term-consequences" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-data-type-choices-with-long-term-consequences.webp</image:loc><image:title>Data Type Choices With Long-Term Consequences</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Data&#x20;Type&#x20;Choices&#x20;With&#x20;Long-Term&#x20;Consequences"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-data-type-choices-with-long-term-consequences.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-deadlock-avoidance-application-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-deadlock-vermeidung-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-deadlock-avoidance-application-strategies" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-deadlock-avoidance-application-strategies.webp</image:loc><image:title>Deadlock Avoidance: Application-Level Strategies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Deadlock&#x20;Avoidance&#x3A;&#x20;Application-Level&#x20;Strategies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-deadlock-avoidance-application-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-denormalization-deliberate-tradeoffs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-denormalisierung-bewusste-tradeoffs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-denormalization-deliberate-tradeoffs" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-denormalization-deliberate-tradeoffs.webp</image:loc><image:title>Denormalization: Deliberate Tradeoffs, Not Chance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Denormalization&#x3A;&#x20;Deliberate&#x20;Tradeoffs,&#x20;Not&#x20;Chance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-denormalization-deliberate-tradeoffs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-dirty-read-phantom-read-non-repeatable-read-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-dirty-read-phantom-read-non-repeatable-read" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-dirty-read-phantom-read-non-repeatable-read-compared" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-dirty-read-phantom-read-non-repeatable-read-compared.webp</image:loc><image:title>Dirty Read, Phantom Read, Non-Repeatable Read Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Dirty&#x20;Read,&#x20;Phantom&#x20;Read,&#x20;Non-Repeatable&#x20;Read&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-dirty-read-phantom-read-non-repeatable-read-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-distributed-transactions-and-two-phase-commit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-distributed-transactions-und-two-phase-commit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-distributed-transactions-and-two-phase-commit" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-distributed-transactions-and-two-phase-commit.webp</image:loc><image:title>Distributed Transactions and Two-Phase Commit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Distributed&#x20;Transactions&#x20;and&#x20;Two-Phase&#x20;Commit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-distributed-transactions-and-two-phase-commit.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-exists-vs-in-performance-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-exists-vs-in-performance-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-exists-vs-in-performance-differences" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-exists-vs-in-performance-differences.webp</image:loc><image:title>EXISTS vs. IN: Performance Differences in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="EXISTS&#x20;vs.&#x20;IN&#x3A;&#x20;Performance&#x20;Differences&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-exists-vs-in-performance-differences.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-reading-explain-plans</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-explain-plans-lesen-lernen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-reading-explain-plans" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-reading-explain-plans.webp</image:loc><image:title>Learning to Read Execution Plans Across Databases</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Learning&#x20;to&#x20;Read&#x20;Execution&#x20;Plans&#x20;Across&#x20;Databases"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-reading-explain-plans.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-first-value-and-last-value-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-first-value-last-value-praktisch-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-first-value-and-last-value-explained" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-first-value-and-last-value-explained.webp</image:loc><image:title>FIRST_VALUE and LAST_VALUE Explained Practically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="FIRST_VALUE&#x20;and&#x20;LAST_VALUE&#x20;Explained&#x20;Practically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-first-value-and-last-value-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-foreign-keys-and-referential-integrity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-fremdschluessel-und-referentielle-integritaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-foreign-keys-and-referential-integrity" />
<lastmod>2026-07-24T06:10:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-foreign-keys-and-referential-integrity.webp</image:loc><image:title>Using Foreign Keys and Referential Integrity Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Foreign&#x20;Keys&#x20;and&#x20;Referential&#x20;Integrity&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-foreign-keys-and-referential-integrity.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-index-strategies-framework-agnostic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-index-strategien-framework-unabhaengig" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-index-strategies-framework-agnostic" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-index-strategies-framework-agnostic.webp</image:loc><image:title>Index Strategies Thought Through, Framework-Agnostic</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Index&#x20;Strategies&#x20;Thought&#x20;Through,&#x20;Framework-Agnostic"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-index-strategies-framework-agnostic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-isolation-levels-read-committed-to-serializable</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-isolation-levels-read-committed-bis-serializable" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-isolation-levels-read-committed-to-serializable" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-isolation-levels-read-committed-to-serializable.webp</image:loc><image:title>Isolation Levels: From Read Committed to Serializable</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Isolation&#x20;Levels&#x3A;&#x20;From&#x20;Read&#x20;Committed&#x20;to&#x20;Serializable"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-isolation-levels-read-committed-to-serializable.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-join-types-inner-left-right-full-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-join-typen-inner-left-right-full-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-join-types-inner-left-right-full-compared" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-join-types-inner-left-right-full-compared.webp</image:loc><image:title>SQL Join Types Compared: Inner, Left, Right, Full</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SQL&#x20;Join&#x20;Types&#x20;Compared&#x3A;&#x20;Inner,&#x20;Left,&#x20;Right,&#x20;Full"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-join-types-inner-left-right-full-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-lag-lead-for-previous-next-values</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-lag-lead-fuer-vorherige-naechste-werte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-lag-lead-for-previous-next-values" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-lag-lead-for-previous-next-values.webp</image:loc><image:title>LAG and LEAD for Previous and Next Values</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="LAG&#x20;and&#x20;LEAD&#x20;for&#x20;Previous&#x20;and&#x20;Next&#x20;Values"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-lag-lead-for-previous-next-values.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-lateral-joins-for-complex-queries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-lateral-joins-fuer-komplexe-abfragen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-lateral-joins-for-complex-queries" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-lateral-joins-for-complex-queries.webp</image:loc><image:title>LATERAL Joins for Complex, Correlated Queries</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="LATERAL&#x20;Joins&#x20;for&#x20;Complex,&#x20;Correlated&#x20;Queries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-lateral-joins-for-complex-queries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-many-to-many-relationships-modeled-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-many-to-many-beziehungen-richtig-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-many-to-many-relationships-modeled-correctly" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-many-to-many-relationships-modeled-correctly.webp</image:loc><image:title>Modeling Many-to-Many Relationships Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modeling&#x20;Many-to-Many&#x20;Relationships&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-many-to-many-relationships-modeled-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-calculating-moving-averages-in-sql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-moving-average-in-sql-berechnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-calculating-moving-averages-in-sql" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-calculating-moving-averages-in-sql.webp</image:loc><image:title>Calculating Moving Averages Directly in SQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Calculating&#x20;Moving&#x20;Averages&#x20;Directly&#x20;in&#x20;SQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-calculating-moving-averages-in-sql.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-understanding-mvcc-multi-version-concurrency-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-mvcc-multi-version-concurrency-control-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-understanding-mvcc-multi-version-concurrency-control" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-understanding-mvcc-multi-version-concurrency-control.webp</image:loc><image:title>Understanding MVCC: Multi-Version Concurrency Control</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;MVCC&#x3A;&#x20;Multi-Version&#x20;Concurrency&#x20;Control"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-understanding-mvcc-multi-version-concurrency-control.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-normalization-1nf-to-3nf-explained-practically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-normalisierung-1nf-bis-3nf-praktisch-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-normalization-1nf-to-3nf-explained-practically" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-normalization-1nf-to-3nf-explained-practically.webp</image:loc><image:title>Normalization: 1NF to 3NF Explained Practically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Normalization&#x3A;&#x20;1NF&#x20;to&#x20;3NF&#x20;Explained&#x20;Practically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-normalization-1nf-to-3nf-explained-practically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-ntile-for-percentile-calculations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-ntile-fuer-perzentil-berechnungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-ntile-for-percentile-calculations" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-ntile-for-percentile-calculations.webp</image:loc><image:title>Using NTILE for Percentile Calculations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;NTILE&#x20;for&#x20;Percentile&#x20;Calculations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-ntile-for-percentile-calculations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-optimistic-locking-with-version-columns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-optimistic-locking-mit-versionsspalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-optimistic-locking-with-version-columns" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-optimistic-locking-with-version-columns.webp</image:loc><image:title>Implementing Optimistic Locking with Version Columns</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Optimistic&#x20;Locking&#x20;with&#x20;Version&#x20;Columns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-optimistic-locking-with-version-columns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-pagination-strategies-offset-vs-keyset</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-pagination-strategien-offset-vs-keyset" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-pagination-strategies-offset-vs-keyset" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-pagination-strategies-offset-vs-keyset.webp</image:loc><image:title>Pagination Strategies: OFFSET vs. Keyset Pagination</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Pagination&#x20;Strategies&#x3A;&#x20;OFFSET&#x20;vs.&#x20;Keyset&#x20;Pagination"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-pagination-strategies-offset-vs-keyset.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-partition-by-practical-examples</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-partition-by-praktische-beispiele" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-partition-by-practical-examples" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-partition-by-practical-examples.webp</image:loc><image:title>PARTITION BY: Practical Examples for Group Analytics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PARTITION&#x20;BY&#x3A;&#x20;Practical&#x20;Examples&#x20;for&#x20;Group&#x20;Analytics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-partition-by-practical-examples.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-pessimistic-locking-with-select-for-update</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-pessimistic-locking-select-for-update" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-pessimistic-locking-with-select-for-update" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-pessimistic-locking-with-select-for-update.webp</image:loc><image:title>Pessimistic Locking with SELECT FOR UPDATE</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Pessimistic&#x20;Locking&#x20;with&#x20;SELECT&#x20;FOR&#x20;UPDATE"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-pessimistic-locking-with-select-for-update.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-primary-key-strategies-natural-vs-surrogate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-primaerschluessel-strategien-natural-vs-surrogate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-primary-key-strategies-natural-vs-surrogate" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-primary-key-strategies-natural-vs-surrogate.webp</image:loc><image:title>Primary Key Strategies: Natural Key vs. Surrogate Key</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Primary&#x20;Key&#x20;Strategies&#x3A;&#x20;Natural&#x20;Key&#x20;vs.&#x20;Surrogate&#x20;Key"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-primary-key-strategies-natural-vs-surrogate.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-query-optimization-checklist-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-query-optimierung-checkliste-fuer-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-query-optimization-checklist-for-developers" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-query-optimization-checklist-for-developers.webp</image:loc><image:title>Query Optimization: A Checklist for Developers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Query&#x20;Optimization&#x3A;&#x20;A&#x20;Checklist&#x20;for&#x20;Developers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-query-optimization-checklist-for-developers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-recursive-ctes-for-hierarchical-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-rekursive-ctes-fuer-hierarchische-daten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-recursive-ctes-for-hierarchical-data" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-recursive-ctes-for-hierarchical-data.webp</image:loc><image:title>Recursive CTEs for Hierarchical Data</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Recursive&#x20;CTEs&#x20;for&#x20;Hierarchical&#x20;Data"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-recursive-ctes-for-hierarchical-data.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-row-number-rank-dense-rank-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-row-number-rank-dense-rank-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-row-number-rank-dense-rank-compared" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-row-number-rank-dense-rank-compared.webp</image:loc><image:title>ROW_NUMBER, RANK, DENSE_RANK Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ROW_NUMBER,&#x20;RANK,&#x20;DENSE_RANK&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-row-number-rank-dense-rank-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-running-totals-with-window-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-running-totals-mit-window-functions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-running-totals-with-window-functions" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-running-totals-with-window-functions.webp</image:loc><image:title>Calculating Running Totals with Window Functions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Calculating&#x20;Running&#x20;Totals&#x20;with&#x20;Window&#x20;Functions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-running-totals-with-window-functions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-savepoints-for-granular-rollbacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-savepoints-fuer-granulare-rollbacks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-savepoints-for-granular-rollbacks" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-savepoints-for-granular-rollbacks.webp</image:loc><image:title>Using Savepoints for Granular Rollbacks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Savepoints&#x20;for&#x20;Granular&#x20;Rollbacks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-savepoints-for-granular-rollbacks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-schema-migrations-versioning-and-rollback-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-schema-migrationen-versionierung-und-rollback" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-schema-migrations-versioning-and-rollback-strategies" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-schema-migrations-versioning-and-rollback-strategies.webp</image:loc><image:title>Schema Migrations: Versioning and Rollback Strategies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Schema&#x20;Migrations&#x3A;&#x20;Versioning&#x20;and&#x20;Rollback&#x20;Strategies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-schema-migrations-versioning-and-rollback-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-self-join-practical-use-cases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-self-join-praktische-anwendungsfaelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-self-join-practical-use-cases" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-self-join-practical-use-cases.webp</image:loc><image:title>Self-Join: Practical Use Cases Beyond the Theory</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Self-Join&#x3A;&#x20;Practical&#x20;Use&#x20;Cases&#x20;Beyond&#x20;the&#x20;Theory"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-self-join-practical-use-cases.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-injection-prevention-at-the-database-level</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-sql-injection-praevention-auf-datenbankebene" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-injection-prevention-at-the-database-level" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-injection-prevention-at-the-database-level.webp</image:loc><image:title>SQL Injection Prevention at the Database Level</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SQL&#x20;Injection&#x20;Prevention&#x20;at&#x20;the&#x20;Database&#x20;Level"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-injection-prevention-at-the-database-level.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/stored-procedures-pros-and-cons-honestly-weighed</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-stored-procedures-vor-und-nachteile" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/stored-procedures-pros-and-cons-honestly-weighed" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/stored-procedures-pros-and-cons-honestly-weighed.webp</image:loc><image:title>Stored Procedures: Pros and Cons Honestly Weighed</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Stored&#x20;Procedures&#x3A;&#x20;Pros&#x20;and&#x20;Cons&#x20;Honestly&#x20;Weighed"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/stored-procedures-pros-and-cons-honestly-weighed.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-subqueries-vs-joins-when-to-use-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-subqueries-vs-joins-wann-was-verwenden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-subqueries-vs-joins-when-to-use-which" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-subqueries-vs-joins-when-to-use-which.webp</image:loc><image:title>Subqueries vs. Joins: When to Use Which</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Subqueries&#x20;vs.&#x20;Joins&#x3A;&#x20;When&#x20;to&#x20;Use&#x20;Which"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-subqueries-vs-joins-when-to-use-which.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-sizing-transaction-scope-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-transaction-scope-richtig-dimensionieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-sizing-transaction-scope-correctly" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-sizing-transaction-scope-correctly.webp</image:loc><image:title>Sizing Transaction Scope Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sizing&#x20;Transaction&#x20;Scope&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-sizing-transaction-scope-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-union-vs-union-all-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-union-vs-union-all-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-union-vs-union-all-differences" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-union-vs-union-all-differences.webp</image:loc><image:title>UNION vs. UNION ALL: The Difference That Costs Performance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="UNION&#x20;vs.&#x20;UNION&#x20;ALL&#x3A;&#x20;The&#x20;Difference&#x20;That&#x20;Costs&#x20;Performance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-union-vs-union-all-differences.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-inheritance-in-relational-databases-modeled-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-vererbung-in-relationalen-datenbanken-abbilden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-inheritance-in-relational-databases-modeled-correctly" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-inheritance-in-relational-databases-modeled-correctly.webp</image:loc><image:title>Modeling Inheritance in Relational Databases Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modeling&#x20;Inheritance&#x20;in&#x20;Relational&#x20;Databases&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-inheritance-in-relational-databases-modeled-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/view-vs-materialized-view-differences-that-matter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-view-vs-materialized-view-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/view-vs-materialized-view-differences-that-matter" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/view-vs-materialized-view-differences-that-matter.webp</image:loc><image:title>View vs. Materialized View: The Differences That Matter</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="View&#x20;vs.&#x20;Materialized&#x20;View&#x3A;&#x20;The&#x20;Differences&#x20;That&#x20;Matter"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/view-vs-materialized-view-differences-that-matter.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-window-frames-rows-vs-range-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-window-frames-rows-vs-range-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-window-frames-rows-vs-range-explained" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-window-frames-rows-vs-range-explained.webp</image:loc><image:title>Window Frames: Truly Understanding ROWS vs. RANGE</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Window&#x20;Frames&#x3A;&#x20;Truly&#x20;Understanding&#x20;ROWS&#x20;vs.&#x20;RANGE"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-window-frames-rows-vs-range-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-window-functions-basics-over-clause</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-window-functions-grundlagen-over-clause" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-window-functions-basics-over-clause" />
<lastmod>2026-07-24T06:10:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-window-functions-basics-over-clause.webp</image:loc><image:title>Window Functions: OVER Clause Basics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Window&#x20;Functions&#x3A;&#x20;OVER&#x20;Clause&#x20;Basics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-window-functions-basics-over-clause.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-aggregations-fundamentals-bucket-vs-metric-aggregation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-aggregationen-grundlagen-bucket-vs-metric" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-aggregations-fundamentals-bucket-vs-metric-aggregation" />
<lastmod>2026-07-24T06:11:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-aggregations-fundamentals-bucket-vs-metric-aggregation.webp</image:loc><image:title>Aggregation Fundamentals: Bucket vs. Metric Aggregation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Aggregation&#x20;Fundamentals&#x3A;&#x20;Bucket&#x20;vs.&#x20;Metric&#x20;Aggregation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-aggregations-fundamentals-bucket-vs-metric-aggregation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-analyzers-and-tokenizers-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-analyzer-und-tokenizer-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-analyzers-and-tokenizers-in-detail" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-analyzers-and-tokenizers-in-detail.webp</image:loc><image:title>Analyzers and Tokenizers in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Analyzers&#x20;and&#x20;Tokenizers&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-analyzers-and-tokenizers-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-implementing-autocomplete-and-suggest</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-autocomplete-und-suggest-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-implementing-autocomplete-and-suggest" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-implementing-autocomplete-and-suggest.webp</image:loc><image:title>Implementing Autocomplete and Suggest Features in Elasticsearch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Autocomplete&#x20;and&#x20;Suggest&#x20;Features&#x20;in&#x20;Elasticsearch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-implementing-autocomplete-and-suggest.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-cardinality-aggregation-approximate-counts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-cardinality-aggregation-naeherungswerte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-cardinality-aggregation-approximate-counts" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-cardinality-aggregation-approximate-counts.webp</image:loc><image:title>Cardinality Aggregation: Interpreting Approximate Counts Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cardinality&#x20;Aggregation&#x3A;&#x20;Interpreting&#x20;Approximate&#x20;Counts&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-cardinality-aggregation-approximate-counts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-cluster-architecture-master-and-data-nodes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-cluster-architektur-master-data-nodes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-cluster-architecture-master-and-data-nodes" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-cluster-architecture-master-and-data-nodes.webp</image:loc><image:title>Cluster Architecture: Distributing Master and Data Nodes Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cluster&#x20;Architecture&#x3A;&#x20;Distributing&#x20;Master&#x20;and&#x20;Data&#x20;Nodes&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-cluster-architecture-master-and-data-nodes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-cluster-health-monitoring-and-alerting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-cluster-health-monitoring-und-alerting" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-cluster-health-monitoring-and-alerting" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-cluster-health-monitoring-and-alerting.webp</image:loc><image:title>Setting Up Cluster Health Monitoring and Alerting Properly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;Cluster&#x20;Health&#x20;Monitoring&#x20;and&#x20;Alerting&#x20;Properly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-cluster-health-monitoring-and-alerting.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-composite-aggregation-for-pagination</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-composite-aggregation-fuer-pagination" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-composite-aggregation-for-pagination" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-composite-aggregation-for-pagination.webp</image:loc><image:title>Composite Aggregation for Pagination of Large Result Sets</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Composite&#x20;Aggregation&#x20;for&#x20;Pagination&#x20;of&#x20;Large&#x20;Result&#x20;Sets"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-composite-aggregation-for-pagination.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-custom-analyzers-for-multilingual-shops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-custom-analyzer-fuer-mehrsprachige-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-custom-analyzers-for-multilingual-shops" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-custom-analyzers-for-multilingual-shops.webp</image:loc><image:title>Configuring Custom Analyzers for Multilingual Shops</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Custom&#x20;Analyzers&#x20;for&#x20;Multilingual&#x20;Shops"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-custom-analyzers-for-multilingual-shops.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-date-histogram-for-time-series-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-date-histogram-fuer-zeitreihen-analysen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-date-histogram-for-time-series-analysis" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-date-histogram-for-time-series-analysis.webp</image:loc><image:title>Using the Date Histogram Aggregation for Time Series Analysis</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;the&#x20;Date&#x20;Histogram&#x20;Aggregation&#x20;for&#x20;Time&#x20;Series&#x20;Analysis"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-date-histogram-for-time-series-analysis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-dynamic-mapping-risks-and-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-dynamic-mapping-risiken-und-kontrolle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-dynamic-mapping-risks-and-control" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-dynamic-mapping-risks-and-control.webp</image:loc><image:title>Dynamic Mapping: Spotting the Risks and Controlling Them Deliberately</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Dynamic&#x20;Mapping&#x3A;&#x20;Spotting&#x20;the&#x20;Risks&#x20;and&#x20;Controlling&#x20;Them&#x20;Deliberately"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-dynamic-mapping-risks-and-control.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-explain-api-for-scoring-debugging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-explain-api-fuer-scoring-debugging" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-explain-api-for-scoring-debugging" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-explain-api-for-scoring-debugging.webp</image:loc><image:title>Using the Explain API for Systematic Scoring Debugging</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;the&#x20;Explain&#x20;API&#x20;for&#x20;Systematic&#x20;Scoring&#x20;Debugging"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-explain-api-for-scoring-debugging.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-faceted-navigation-mapping-for-aggregations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-faceted-navigation-mapping-auf-aggregationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-faceted-navigation-mapping-for-aggregations" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-faceted-navigation-mapping-for-aggregations.webp</image:loc><image:title>Faceted Navigation: Aligning Mapping Design with Aggregations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Faceted&#x20;Navigation&#x3A;&#x20;Aligning&#x20;Mapping&#x20;Design&#x20;with&#x20;Aggregations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-faceted-navigation-mapping-for-aggregations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-function-score-query-for-targeted-boosting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-function-score-query-fuer-boosting" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-function-score-query-for-targeted-boosting" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-function-score-query-for-targeted-boosting.webp</image:loc><image:title>Using the Function Score Query for Targeted Boosting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;the&#x20;Function&#x20;Score&#x20;Query&#x20;for&#x20;Targeted&#x20;Boosting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-function-score-query-for-targeted-boosting.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-fuzzy-search-and-typo-tolerance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-fuzzy-search-und-typo-toleranz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-fuzzy-search-and-typo-tolerance" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-fuzzy-search-and-typo-tolerance.webp</image:loc><image:title>Calibrating Fuzzy Search and Typo Tolerance Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Calibrating&#x20;Fuzzy&#x20;Search&#x20;and&#x20;Typo&#x20;Tolerance&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-fuzzy-search-and-typo-tolerance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-highlighting-search-results</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-highlighting-such-ergebnisse-hervorheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-highlighting-search-results" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-highlighting-search-results.webp</image:loc><image:title>Highlighting in Elasticsearch: Making Search Results Stand Out</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Highlighting&#x20;in&#x20;Elasticsearch&#x3A;&#x20;Making&#x20;Search&#x20;Results&#x20;Stand&#x20;Out"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-highlighting-search-results.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-hot-warm-cold-architecture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-hot-warm-cold-architektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-hot-warm-cold-architecture" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-hot-warm-cold-architecture.webp</image:loc><image:title>Hot-Warm-Cold Architecture for Growing Data Volumes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hot-Warm-Cold&#x20;Architecture&#x20;for&#x20;Growing&#x20;Data&#x20;Volumes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-hot-warm-cold-architecture.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-index-aliases-for-versioning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-index-aliases-strategisch-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-index-aliases-for-versioning" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-index-aliases-for-versioning.webp</image:loc><image:title>Using Index Aliases Strategically for Versioning</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Index&#x20;Aliases&#x20;Strategically&#x20;for&#x20;Versioning"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-index-aliases-for-versioning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-index-templates-and-component-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-index-templates-und-component-templates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-index-templates-and-component-templates" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-index-templates-and-component-templates.webp</image:loc><image:title>Using Index Templates and Component Templates the Structured Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Index&#x20;Templates&#x20;and&#x20;Component&#x20;Templates&#x20;the&#x20;Structured&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-index-templates-and-component-templates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-jvm-heap-tuning-a-practical-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-jvm-heap-tuning-praxisleitfaden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-jvm-heap-tuning-a-practical-guide" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-jvm-heap-tuning-a-practical-guide.webp</image:loc><image:title>JVM Heap Tuning: A Practical Guide Without Guesswork</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JVM&#x20;Heap&#x20;Tuning&#x3A;&#x20;A&#x20;Practical&#x20;Guide&#x20;Without&#x20;Guesswork"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-jvm-heap-tuning-a-practical-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-magento-catalogsearch-architecture-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-magento-catalogsearch-architektur-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-magento-catalogsearch-architecture-in-detail" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-catalogsearch-architecture-in-detail.webp</image:loc><image:title>Understanding Magento CatalogSearch Architecture in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Magento&#x20;CatalogSearch&#x20;Architecture&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-catalogsearch-architecture-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-magento-custom-attribute-mapping-extend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-magento-custom-attribute-mapping-erweitern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-magento-custom-attribute-mapping-extend" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-custom-attribute-mapping-extend.webp</image:loc><image:title>Extending Custom Attribute Mapping in Magento with Precision</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Extending&#x20;Custom&#x20;Attribute&#x20;Mapping&#x20;in&#x20;Magento&#x20;with&#x20;Precision"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-custom-attribute-mapping-extend.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-magento-indexer-performance-for-large-catalogs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-magento-indexer-performance-bei-grossen-katalogen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-magento-indexer-performance-for-large-catalogs" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-indexer-performance-for-large-catalogs.webp</image:loc><image:title>Indexer Performance for Very Large Catalogs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Indexer&#x20;Performance&#x20;for&#x20;Very&#x20;Large&#x20;Catalogs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-indexer-performance-for-large-catalogs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-magento-layered-navigation-aggregations-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-magento-layered-navigation-aggregationen-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-magento-layered-navigation-aggregations-explained" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-layered-navigation-aggregations-explained.webp</image:loc><image:title>Layered Navigation: Understanding the Aggregations Behind It</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Layered&#x20;Navigation&#x3A;&#x20;Understanding&#x20;the&#x20;Aggregations&#x20;Behind&#x20;It"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-layered-navigation-aggregations-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-magento-multilingual-search-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-magento-mehrsprachige-suche-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-magento-multilingual-search-configuration" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-multilingual-search-configuration.webp</image:loc><image:title>Configuring Multilingual Search in Magento Shops</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Multilingual&#x20;Search&#x20;in&#x20;Magento&#x20;Shops"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-multilingual-search-configuration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-magento-search-migration-from-solr</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-magento-such-migration-von-solr" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-magento-search-migration-from-solr" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-search-migration-from-solr.webp</image:loc><image:title>Search Migration from Solr to Elasticsearch/OpenSearch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Search&#x20;Migration&#x20;from&#x20;Solr&#x20;to&#x20;Elasticsearch&#x2F;OpenSearch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-search-migration-from-solr.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-magento-managing-search-synonyms</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-magento-such-synonyme-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-magento-managing-search-synonyms" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-managing-search-synonyms.webp</image:loc><image:title>Managing Search Synonyms in Magento Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;Search&#x20;Synonyms&#x20;in&#x20;Magento&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-managing-search-synonyms.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-magento-search-debugging-methodology</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-magento-suche-debugging-methodik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-magento-search-debugging-methodology" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-search-debugging-methodology.webp</image:loc><image:title>Search Debugging in Magento: a Systematic Methodology</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Search&#x20;Debugging&#x20;in&#x20;Magento&#x3A;&#x20;a&#x20;Systematic&#x20;Methodology"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-search-debugging-methodology.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-magento-search-relevance-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-magento-suche-relevanz-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-magento-search-relevance-tuning" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-search-relevance-tuning.webp</image:loc><image:title>Tuning Search Relevance in Magento with Precision</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tuning&#x20;Search&#x20;Relevance&#x20;in&#x20;Magento&#x20;with&#x20;Precision"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-search-relevance-tuning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-mapping-design-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-mapping-design-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-mapping-design-fundamentals" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-mapping-design-fundamentals.webp</image:loc><image:title>Mapping Design Fundamentals: Planning Your Elasticsearch Index Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mapping&#x20;Design&#x20;Fundamentals&#x3A;&#x20;Planning&#x20;Your&#x20;Elasticsearch&#x20;Index&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-mapping-design-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-preventing-mapping-explosion</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-mapping-explosion-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-preventing-mapping-explosion" />
<lastmod>2026-07-24T06:11:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-preventing-mapping-explosion.webp</image:loc><image:title>Preventing Mapping Explosion Before Your Cluster Suffers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preventing&#x20;Mapping&#x20;Explosion&#x20;Before&#x20;Your&#x20;Cluster&#x20;Suffers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-preventing-mapping-explosion.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-match-vs-term-query-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-match-vs-term-query-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-match-vs-term-query-differences" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-match-vs-term-query-differences.webp</image:loc><image:title>Match vs. Term Query: the Difference That Changes Results</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Match&#x20;vs.&#x20;Term&#x20;Query&#x3A;&#x20;the&#x20;Difference&#x20;That&#x20;Changes&#x20;Results"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-match-vs-term-query-differences.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-multi-field-mapping-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-multi-field-mapping-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-multi-field-mapping-strategies" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-multi-field-mapping-strategies.webp</image:loc><image:title>Multi-Field Mapping Strategies for Flexible Queries</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi-Field&#x20;Mapping&#x20;Strategies&#x20;for&#x20;Flexible&#x20;Queries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-multi-field-mapping-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-nested-aggregations-for-faceted-search</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-nested-aggregationen-fuer-facettierte-suche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-nested-aggregations-for-faceted-search" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-nested-aggregations-for-faceted-search.webp</image:loc><image:title>Nested Aggregations for Faceted Search</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nested&#x20;Aggregations&#x20;for&#x20;Faceted&#x20;Search"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-nested-aggregations-for-faceted-search.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-nested-vs-object-data-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-nested-vs-object-datentypen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-nested-vs-object-data-types" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-nested-vs-object-data-types.webp</image:loc><image:title>Nested vs. Object Data Types: The Difference That Matters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nested&#x20;vs.&#x20;Object&#x20;Data&#x20;Types&#x3A;&#x20;The&#x20;Difference&#x20;That&#x20;Matters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-nested-vs-object-data-types.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-percentile-aggregation-for-reliable-performance-metrics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-percentile-aggregation-fuer-performance-metriken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-percentile-aggregation-for-reliable-performance-metrics" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-percentile-aggregation-for-reliable-performance-metrics.webp</image:loc><image:title>Percentile Aggregation for Reliable Performance Metrics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Percentile&#x20;Aggregation&#x20;for&#x20;Reliable&#x20;Performance&#x20;Metrics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-percentile-aggregation-for-reliable-performance-metrics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-performance-troubleshooting-checklist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-performance-troubleshooting-checkliste" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-performance-troubleshooting-checklist" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-performance-troubleshooting-checklist.webp</image:loc><image:title>Performance Troubleshooting: A Solid Checklist</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Performance&#x20;Troubleshooting&#x3A;&#x20;A&#x20;Solid&#x20;Checklist"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-performance-troubleshooting-checklist.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-pipeline-aggregations-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-pipeline-aggregationen-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-pipeline-aggregations-explained" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-pipeline-aggregations-explained.webp</image:loc><image:title>Pipeline Aggregations Explained in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Pipeline&#x20;Aggregations&#x20;Explained&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-pipeline-aggregations-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-query-dsl-bool-query-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-query-dsl-bool-query-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-query-dsl-bool-query-in-detail" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-query-dsl-bool-query-in-detail.webp</image:loc><image:title>Query DSL: Understanding the Bool Query in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Query&#x20;DSL&#x3A;&#x20;Understanding&#x20;the&#x20;Bool&#x20;Query&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-query-dsl-bool-query-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-zero-downtime-reindexing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-reindexing-ohne-downtime" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-zero-downtime-reindexing" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-zero-downtime-reindexing.webp</image:loc><image:title>Zero-Downtime Reindexing with Alias Swapping</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Zero-Downtime&#x20;Reindexing&#x20;with&#x20;Alias&#x20;Swapping"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-zero-downtime-reindexing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-relevance-scoring-understanding-bm25</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-relevance-scoring-bm25-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-relevance-scoring-understanding-bm25" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-relevance-scoring-understanding-bm25.webp</image:loc><image:title>Relevance Scoring: Really Understanding BM25</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Relevance&#x20;Scoring&#x3A;&#x20;Really&#x20;Understanding&#x20;BM25"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-relevance-scoring-understanding-bm25.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-rolling-upgrades-without-downtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-rolling-upgrades-ohne-ausfallzeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-rolling-upgrades-without-downtime" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-rolling-upgrades-without-downtime.webp</image:loc><image:title>Rolling Upgrades Without Downtime</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Rolling&#x20;Upgrades&#x20;Without&#x20;Downtime"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-rolling-upgrades-without-downtime.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-runtime-fields-for-flexible-analytics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-runtime-fields-flexible-auswertungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-runtime-fields-for-flexible-analytics" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-runtime-fields-for-flexible-analytics.webp</image:loc><image:title>Runtime Fields for Flexible Analytics Without a Reindex</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Runtime&#x20;Fields&#x20;for&#x20;Flexible&#x20;Analytics&#x20;Without&#x20;a&#x20;Reindex"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-runtime-fields-for-flexible-analytics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-search-as-you-type-for-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-search-as-you-type-performant-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-search-as-you-type-for-performance" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-search-as-you-type-for-performance.webp</image:loc><image:title>Building search_as_you_type in Elasticsearch for Performance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;search_as_you_type&#x20;in&#x20;Elasticsearch&#x20;for&#x20;Performance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-search-as-you-type-for-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-security-authentication-and-roles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-security-authentifizierung-und-rollen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-security-authentication-and-roles" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-security-authentication-and-roles.webp</image:loc><image:title>Security: Configuring Authentication and Roles Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Security&#x3A;&#x20;Configuring&#x20;Authentication&#x20;and&#x20;Roles&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-security-authentication-and-roles.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-shard-sizing-finding-the-right-number</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-shard-sizing-die-richtige-anzahl-finden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-shard-sizing-finding-the-right-number" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-shard-sizing-finding-the-right-number.webp</image:loc><image:title>Shard Sizing: Finding the Right Number for Your Index</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Shard&#x20;Sizing&#x3A;&#x20;Finding&#x20;the&#x20;Right&#x20;Number&#x20;for&#x20;Your&#x20;Index"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-shard-sizing-finding-the-right-number.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-snapshot-and-restore-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-snapshot-und-restore-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-snapshot-and-restore-strategies" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-snapshot-and-restore-strategies.webp</image:loc><image:title>Snapshot and Restore Strategies for Production Elasticsearch Clusters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Snapshot&#x20;and&#x20;Restore&#x20;Strategies&#x20;for&#x20;Production&#x20;Elasticsearch&#x20;Clusters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-snapshot-and-restore-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-configuring-synonyms-and-stemming</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-synonyme-und-stemming-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-configuring-synonyms-and-stemming" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-configuring-synonyms-and-stemming.webp</image:loc><image:title>Configuring Synonyms and Stemming in Elasticsearch Properly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Synonyms&#x20;and&#x20;Stemming&#x20;in&#x20;Elasticsearch&#x20;Properly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-configuring-synonyms-and-stemming.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-terms-aggregation-performance-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-terms-aggregation-performance-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-terms-aggregation-performance-tuning" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-terms-aggregation-performance-tuning.webp</image:loc><image:title>Terms Aggregation: Tuning Performance Deliberately</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Terms&#x20;Aggregation&#x3A;&#x20;Tuning&#x20;Performance&#x20;Deliberately"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-terms-aggregation-performance-tuning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-vs-algolia-vs-klevu-for-magento-shops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-vs-algolia-vs-klevu-fuer-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-vs-algolia-vs-klevu-for-magento-shops" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-vs-algolia-vs-klevu-for-magento-shops.webp</image:loc><image:title>Elasticsearch vs. Algolia vs. Klevu for Magento Shops</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Elasticsearch&#x20;vs.&#x20;Algolia&#x20;vs.&#x20;Klevu&#x20;for&#x20;Magento&#x20;Shops"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-vs-algolia-vs-klevu-for-magento-shops.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch-vs-opensearch-differences-after-the-fork</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/elasticsearch-vs-opensearch-unterschiede-nach-dem-fork" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch-vs-opensearch-differences-after-the-fork" />
<lastmod>2026-07-24T06:11:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-vs-opensearch-differences-after-the-fork.webp</image:loc><image:title>Elasticsearch vs. OpenSearch: Differences After the Fork</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Elasticsearch&#x20;vs.&#x20;OpenSearch&#x3A;&#x20;Differences&#x20;After&#x20;the&#x20;Fork"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-vs-opensearch-differences-after-the-fork.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-data-reusable-components-registration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-data-wiederverwendbare-komponenten-registrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-data-reusable-components-registration" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-data-reusable-components-registration.webp</image:loc><image:title>Alpine.data(): Registering Reusable Components the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.data&#x28;&#x29;&#x3A;&#x20;Registering&#x20;Reusable&#x20;Components&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-data-reusable-components-registration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-astro-islands-interactivity-in-static-sites</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-astro-islands-interaktivitat-in-static-sites" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-astro-islands-interactivity-in-static-sites" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-astro-islands-interactivity-in-static-sites.webp</image:loc><image:title>Alpine.js and Astro Islands: Targeted Interactivity in Static Site Generators</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;and&#x20;Astro&#x20;Islands&#x3A;&#x20;Targeted&#x20;Interactivity&#x20;in&#x20;Static&#x20;Site&#x20;Generators"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-astro-islands-interactivity-in-static-sites.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-csp-build-content-security-policy-without-eval</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-csp-build-content-security-policy-ohne-eval" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-csp-build-content-security-policy-without-eval" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-csp-build-content-security-policy-without-eval.webp</image:loc><image:title>Alpine.js CSP Build: Strict Content Security Policy Without eval()</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;CSP&#x20;Build&#x3A;&#x20;Strict&#x20;Content&#x20;Security&#x20;Policy&#x20;Without&#x20;eval&#x28;&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-csp-build-content-security-policy-without-eval.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-livewire-integration-server-side-reactivity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-livewire-zusammenspiel-serverseitige-reaktivitat" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-livewire-integration-server-side-reactivity" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-livewire-integration-server-side-reactivity.webp</image:loc><image:title>Alpine.js and Livewire: Combining Server-Side Reactivity the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;and&#x20;Livewire&#x3A;&#x20;Combining&#x20;Server-Side&#x20;Reactivity&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-livewire-integration-server-side-reactivity.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-turbo-hotwire-combining-reactive-islands</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-turbo-hotwire-kombinieren-reaktive-inseln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-turbo-hotwire-combining-reactive-islands" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-turbo-hotwire-combining-reactive-islands.webp</image:loc><image:title>Combining Alpine.js and Turbo/Hotwire: Reactive Islands in Server-Rendered Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Combining&#x20;Alpine.js&#x20;and&#x20;Turbo&#x2F;Hotwire&#x3A;&#x20;Reactive&#x20;Islands&#x20;in&#x20;Server-Rendered&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-turbo-hotwire-combining-reactive-islands.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-web-components-custom-elements-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-alpine-js-web-components-custom-elements-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-web-components-custom-elements-integration" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-web-components-custom-elements-integration.webp</image:loc><image:title>Alpine.js as a Complement to Web Components: Integrating Custom Elements the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;as&#x20;a&#x20;Complement&#x20;to&#x20;Web&#x20;Components&#x3A;&#x20;Integrating&#x20;Custom&#x20;Elements&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-web-components-custom-elements-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-async-server-validation-while-typing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-asynchrone-server-validierung-wahrend-der-eingabe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-async-server-validation-while-typing" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-async-server-validation-while-typing.webp</image:loc><image:title>Async Server Validation While Typing with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Async&#x20;Server&#x20;Validation&#x20;While&#x20;Typing&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-async-server-validation-while-typing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-back-to-top-button-with-visibility-logic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-back-to-top-button-mit-sichtbarkeitslogik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-back-to-top-button-with-visibility-logic" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-back-to-top-button-with-visibility-logic.webp</image:loc><image:title>Back to Top Button with Visibility Logic in Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Back&#x20;to&#x20;Top&#x20;Button&#x20;with&#x20;Visibility&#x20;Logic&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-back-to-top-button-with-visibility-logic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-dynamic-breadcrumb-navigation-from-route</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-breadcrumb-dynamisch-aus-route-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-dynamic-breadcrumb-navigation-from-route" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-dynamic-breadcrumb-navigation-from-route.webp</image:loc><image:title>Generating a Dynamic Breadcrumb from the Route with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;a&#x20;Dynamic&#x20;Breadcrumb&#x20;from&#x20;the&#x20;Route&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-dynamic-breadcrumb-navigation-from-route.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/computed-values-and-getter-pattern-in-alpine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/computed-values-getter-pattern-in-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/computed-values-and-getter-pattern-in-alpine" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/computed-values-and-getter-pattern-in-alpine.webp</image:loc><image:title>Computed Values and the Getter Pattern in Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Computed&#x20;Values&#x20;and&#x20;the&#x20;Getter&#x20;Pattern&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/computed-values-and-getter-pattern-in-alpine.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-gdpr-compliant-cookie-consent-banner-with-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-cookie-consent-banner-dsgvo-konform-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-gdpr-compliant-cookie-consent-banner-with-alpine-js" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-gdpr-compliant-cookie-consent-banner-with-alpine-js.webp</image:loc><image:title>GDPR Compliant Cookie Consent Banner with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GDPR&#x20;Compliant&#x20;Cookie&#x20;Consent&#x20;Banner&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-gdpr-compliant-cookie-consent-banner-with-alpine-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-countdown-timer-for-sale-promotions-with-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-countdown-timer-fuer-sale-aktionen-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-countdown-timer-for-sale-promotions-with-alpine-js" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-countdown-timer-for-sale-promotions-with-alpine-js.webp</image:loc><image:title>Countdown Timer for Sale Promotions with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Countdown&#x20;Timer&#x20;for&#x20;Sale&#x20;Promotions&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-countdown-timer-for-sale-promotions-with-alpine-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-file-upload-with-preview-and-progress-bar</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-datei-upload-mit-vorschau-und-fortschrittsbalken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-file-upload-with-preview-and-progress-bar" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-file-upload-with-preview-and-progress-bar.webp</image:loc><image:title>File Upload with Preview and Progress Bar in Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="File&#x20;Upload&#x20;with&#x20;Preview&#x20;and&#x20;Progress&#x20;Bar&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-file-upload-with-preview-and-progress-bar.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-event-modifiers-prevent-stop-once-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-event-modifier-prevent-stop-once-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-event-modifiers-prevent-stop-once-explained" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-event-modifiers-prevent-stop-once-explained.webp</image:loc><image:title>Event Modifiers prevent, stop and once Explained | Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Event&#x20;Modifiers&#x20;prevent,&#x20;stop&#x20;and&#x20;once&#x20;Explained&#x20;&#x7C;&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-event-modifiers-prevent-stop-once-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-faq-accordion-connected-to-schema-markup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-faq-akkordeon-mit-schema-markup-verbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-faq-accordion-connected-to-schema-markup" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-faq-accordion-connected-to-schema-markup.webp</image:loc><image:title>FAQ Accordion Connected to Schema Markup with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="FAQ&#x20;Accordion&#x20;Connected&#x20;to&#x20;Schema&#x20;Markup&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-faq-accordion-connected-to-schema-markup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/form-autosave-draft-to-localstorage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/formular-autosave-entwurf-im-localstorage-speichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/form-autosave-draft-to-localstorage" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/form-autosave-draft-to-localstorage.webp</image:loc><image:title>Form Autosave: Saving a Draft to localStorage with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Form&#x20;Autosave&#x3A;&#x20;Saving&#x20;a&#x20;Draft&#x20;to&#x20;localStorage&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/form-autosave-draft-to-localstorage.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-bundle-size-and-csp-tradeoffs-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-bundle-groesse-und-csp-tradeoffs-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-bundle-size-and-csp-tradeoffs-explained" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-bundle-size-and-csp-tradeoffs-explained.webp</image:loc><image:title>Alpine.js Bundle Size and CSP Tradeoffs Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Bundle&#x20;Size&#x20;and&#x20;CSP&#x20;Tradeoffs&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-bundle-size-and-csp-tradeoffs-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-custom-events-as-component-bus</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-custom-events-als-komponenten-bus" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-custom-events-as-component-bus" />
<lastmod>2026-07-31T11:14:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-custom-events-as-component-bus.webp</image:loc><image:title>Using Custom Events as a Component Bus | Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Custom&#x20;Events&#x20;as&#x20;a&#x20;Component&#x20;Bus&#x20;&#x7C;&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-custom-events-as-component-bus.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-debounce-throttle-modifiers-event-listeners</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-debounce-throttle-modifier-bei-event-listenern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-debounce-throttle-modifiers-event-listeners" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-debounce-throttle-modifiers-event-listeners.webp</image:loc><image:title>Debounce and Throttle Modifiers for Event Listeners | Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Debounce&#x20;and&#x20;Throttle&#x20;Modifiers&#x20;for&#x20;Event&#x20;Listeners&#x20;&#x7C;&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-debounce-throttle-modifiers-event-listeners.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-devtools-debugging-inspect-x-data-live</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-devtools-debugging-x-data-inspizieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-devtools-debugging-inspect-x-data-live" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-devtools-debugging-inspect-x-data-live.webp</image:loc><image:title>Alpine.js Debugging: Using DevTools to Inspect x-data Live</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Debugging&#x3A;&#x20;Using&#x20;DevTools&#x20;to&#x20;Inspect&#x20;x-data&#x20;Live"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-devtools-debugging-inspect-x-data-live.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-event-delegation-pattern-in-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-event-delegation-pattern-in-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-event-delegation-pattern-in-components" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-event-delegation-pattern-in-components.webp</image:loc><image:title>Event Delegation Pattern in Alpine.js Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Event&#x20;Delegation&#x20;Pattern&#x20;in&#x20;Alpine.js&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-event-delegation-pattern-in-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-hydration-mismatches-with-server-rendered-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-hydration-mismatches-bei-server-gerenderten-inhalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-hydration-mismatches-with-server-rendered-content" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-hydration-mismatches-with-server-rendered-content.webp</image:loc><image:title>Alpine.js Hydration Mismatches with Server-Rendered Content</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alpine.js&#x20;Hydration&#x20;Mismatches&#x20;with&#x20;Server-Rendered&#x20;Content"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-hydration-mismatches-with-server-rendered-content.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-kanban-board-drag-and-drop-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-kanban-board-drag-and-drop-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-kanban-board-drag-and-drop-tutorial" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-kanban-board-drag-and-drop-tutorial.webp</image:loc><image:title>Kanban Board with Alpine.js: Building Drag and Drop Without a Library</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Kanban&#x20;Board&#x20;with&#x20;Alpine.js&#x3A;&#x20;Building&#x20;Drag&#x20;and&#x20;Drop&#x20;Without&#x20;a&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-kanban-board-drag-and-drop-tutorial.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-live-search-debounce-large-lists</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-live-suche-debounce-grosse-listen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-live-search-debounce-large-lists" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-live-search-debounce-large-lists.webp</image:loc><image:title>Live Search with Debounce Over Large Lists in Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Live&#x20;Search&#x20;with&#x20;Debounce&#x20;Over&#x20;Large&#x20;Lists&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-live-search-debounce-large-lists.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-profiling-component-re-renders</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-re-renders-von-komponenten-profilen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-profiling-component-re-renders" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-profiling-component-re-renders.webp</image:loc><image:title>Profiling Alpine.js Component Re-Renders</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Profiling&#x20;Alpine.js&#x20;Component&#x20;Re-Renders"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-profiling-component-re-renders.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-sortable-table-columns-without-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-sortierbare-tabellenspalten-ohne-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-sortable-table-columns-without-library" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-sortable-table-columns-without-library.webp</image:loc><image:title>Sortable Table Columns with Alpine.js, No Library</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sortable&#x20;Table&#x20;Columns&#x20;with&#x20;Alpine.js,&#x20;No&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-sortable-table-columns-without-library.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-preventing-memory-leaks-in-long-lived-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-speicherlecks-in-langlebigen-komponenten-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-preventing-memory-leaks-in-long-lived-components" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-preventing-memory-leaks-in-long-lived-components.webp</image:loc><image:title>Preventing Alpine.js Memory Leaks in Long-Lived Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preventing&#x20;Alpine.js&#x20;Memory&#x20;Leaks&#x20;in&#x20;Long-Lived&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-preventing-memory-leaks-in-long-lived-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-vertical-timeline-component-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-vertikale-timeline-komponente-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-vertical-timeline-component-tutorial" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-vertical-timeline-component-tutorial.webp</image:loc><image:title>Building a Vertical Timeline Component with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Vertical&#x20;Timeline&#x20;Component&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-vertical-timeline-component-tutorial.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-before-after-image-comparison-slider</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-vorher-nachher-bildvergleich-slider" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-before-after-image-comparison-slider" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-before-after-image-comparison-slider.webp</image:loc><image:title>Before/After Image Comparison Slider with Alpine.js, No Library</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Before&#x2F;After&#x20;Image&#x20;Comparison&#x20;Slider&#x20;with&#x20;Alpine.js,&#x20;No&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-before-after-image-comparison-slider.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-js-window-outside-modifier-global-event-listeners</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-js-window-outside-modifier-globale-event-listener" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-js-window-outside-modifier-global-event-listeners" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-js-window-outside-modifier-global-event-listeners.webp</image:loc><image:title>window and outside Modifiers for Global Event Listeners | Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="window&#x20;and&#x20;outside&#x20;Modifiers&#x20;for&#x20;Global&#x20;Event&#x20;Listeners&#x20;&#x7C;&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-js-window-outside-modifier-global-event-listeners.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-credit-card-input-mask-with-luhn-check</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-kreditkarten-eingabemaske-mit-luhn-check-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-credit-card-input-mask-with-luhn-check" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-credit-card-input-mask-with-luhn-check.webp</image:loc><image:title>Building a Correct Credit Card Input Mask with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Correct&#x20;Credit&#x20;Card&#x20;Input&#x20;Mask&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-credit-card-input-mask-with-luhn-check.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-accessible-mega-menu-dropdown-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-mega-menu-dropdown-barrierefrei-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-accessible-mega-menu-dropdown-alpine-js" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-accessible-mega-menu-dropdown-alpine-js.webp</image:loc><image:title>Accessible Mega Menu Dropdown with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessible&#x20;Mega&#x20;Menu&#x20;Dropdown&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-accessible-mega-menu-dropdown-alpine-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-multi-field-validation-groups-structuring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-mehrfeld-validierungsgruppen-strukturieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-multi-field-validation-groups-structuring" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-multi-field-validation-groups-structuring.webp</image:loc><image:title>Structuring Multi-Field Validation Groups in Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Structuring&#x20;Multi-Field&#x20;Validation&#x20;Groups&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-multi-field-validation-groups-structuring.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-quantity-stepper-input-component-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-mengenauswahl-stepper-input-komponente-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-quantity-stepper-input-component-alpine-js" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-quantity-stepper-input-component-alpine-js.webp</image:loc><image:title>Quantity Stepper Input Component with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Quantity&#x20;Stepper&#x20;Input&#x20;Component&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-quantity-stepper-input-component-alpine-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-mini-cart-preview-alpine-js-hyva-without-page-reload</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-mini-cart-vorschau-mit-alpine-js-in-hyva-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-mini-cart-preview-alpine-js-hyva-without-page-reload" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-mini-cart-preview-alpine-js-hyva-without-page-reload.webp</image:loc><image:title>Building a Mini Cart Preview with Alpine.js in Hyvä</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Mini&#x20;Cart&#x20;Preview&#x20;with&#x20;Alpine.js&#x20;in&#x20;Hyv&#xE4;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-mini-cart-preview-alpine-js-hyva-without-page-reload.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-pricing-table-with-monthly-yearly-toggle-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-preistabelle-monats-jahres-umschalter-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-pricing-table-with-monthly-yearly-toggle-alpine-js" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-pricing-table-with-monthly-yearly-toggle-alpine-js.webp</image:loc><image:title>Pricing Table with Monthly Yearly Toggle in Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Pricing&#x20;Table&#x20;with&#x20;Monthly&#x20;Yearly&#x20;Toggle&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-pricing-table-with-monthly-yearly-toggle-alpine-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-scroll-progress-bar-with-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-scroll-progress-bar-am-seitenrand-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-scroll-progress-bar-with-alpine-js" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-scroll-progress-bar-with-alpine-js.webp</image:loc><image:title>Scroll Progress Bar on the Page Edge with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Scroll&#x20;Progress&#x20;Bar&#x20;on&#x20;the&#x20;Page&#x20;Edge&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-scroll-progress-bar-with-alpine-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-collapsible-sidebar-navigation-with-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-sidebar-navigation-ein-und-ausklappen-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-collapsible-sidebar-navigation-with-alpine-js" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-collapsible-sidebar-navigation-with-alpine-js.webp</image:loc><image:title>Collapsible Sidebar Navigation with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Collapsible&#x20;Sidebar&#x20;Navigation&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-collapsible-sidebar-navigation-with-alpine-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-language-and-currency-switcher-dropdown</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-sprach-und-waehrungsumschalter-dropdown-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-language-and-currency-switcher-dropdown" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-language-and-currency-switcher-dropdown.webp</image:loc><image:title>Language and Currency Switcher Dropdown with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Language&#x20;and&#x20;Currency&#x20;Switcher&#x20;Dropdown&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-language-and-currency-switcher-dropdown.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/state-machine-pattern-for-complex-ui-states-in-alpine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/state-machine-pattern-komplexe-ui-zustande-mit-alpine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/state-machine-pattern-for-complex-ui-states-in-alpine" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/state-machine-pattern-for-complex-ui-states-in-alpine.webp</image:loc><image:title>State Machine Pattern for Complex UI States in Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="State&#x20;Machine&#x20;Pattern&#x20;for&#x20;Complex&#x20;UI&#x20;States&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/state-machine-pattern-for-complex-ui-states-in-alpine.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-sticky-add-to-cart-bar-on-scroll-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-sticky-add-to-cart-bar-beim-scrollen-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-sticky-add-to-cart-bar-on-scroll-alpine-js" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-sticky-add-to-cart-bar-on-scroll-alpine-js.webp</image:loc><image:title>Sticky Add to Cart Bar on Scroll with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sticky&#x20;Add&#x20;to&#x20;Cart&#x20;Bar&#x20;on&#x20;Scroll&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-sticky-add-to-cart-bar-on-scroll-alpine-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-testimonial-slider-without-external-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-testimonial-slider-ohne-externe-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-testimonial-slider-without-external-library" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-testimonial-slider-without-external-library.webp</image:loc><image:title>Testimonial Slider Without External Library with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testimonial&#x20;Slider&#x20;Without&#x20;External&#x20;Library&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-testimonial-slider-without-external-library.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/watching-deeply-nested-objects-with-watch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tief-verschachtelte-objekte-mit-watch-uberwachen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/watching-deeply-nested-objects-with-watch" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/watching-deeply-nested-objects-with-watch.webp</image:loc><image:title>Watching Deeply Nested Objects with watch() in Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Watching&#x20;Deeply&#x20;Nested&#x20;Objects&#x20;with&#x20;watch&#x28;&#x29;&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/watching-deeply-nested-objects-with-watch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-unsaved-changes-warning-beforeunload</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-warnung-bei-ungespeicherten-anderungen-beforeunload" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-unsaved-changes-warning-beforeunload" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-unsaved-changes-warning-beforeunload.webp</image:loc><image:title>Unsaved Changes Warning with Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Unsaved&#x20;Changes&#x20;Warning&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-unsaved-changes-warning-beforeunload.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-wishlist-toggle-button-alpine-state-magento-rest</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-wishlist-toggle-button-mit-alpine-state-und-magento-rest" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-wishlist-toggle-button-alpine-state-magento-rest" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-wishlist-toggle-button-alpine-state-magento-rest.webp</image:loc><image:title>Building a Wishlist Toggle Button with Alpine State</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Wishlist&#x20;Toggle&#x20;Button&#x20;with&#x20;Alpine&#x20;State"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-wishlist-toggle-button-alpine-state-magento-rest.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-bind-dynamic-attributes-and-classes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-bind-dynamische-attribute-und-klassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-bind-dynamic-attributes-and-classes" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-bind-dynamic-attributes-and-classes.webp</image:loc><image:title>x-bind in Alpine.js: Binding Dynamic Attributes and Classes Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="x-bind&#x20;in&#x20;Alpine.js&#x3A;&#x20;Binding&#x20;Dynamic&#x20;Attributes&#x20;and&#x20;Classes&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-bind-dynamic-attributes-and-classes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-cloak-preventing-fouc-the-right-way</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-cloak-fouc-vermeiden-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-cloak-preventing-fouc-the-right-way" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-cloak-preventing-fouc-the-right-way.webp</image:loc><image:title>Using x-cloak Correctly: Preventing FOUC in Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;x-cloak&#x20;Correctly&#x3A;&#x20;Preventing&#x20;FOUC&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-cloak-preventing-fouc-the-right-way.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-for-with-key-stable-list-updates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-for-mit-key-stabile-listen-updates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-for-with-key-stable-list-updates" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-for-with-key-stable-list-updates.webp</image:loc><image:title>x-for with key: Stable List Updates in Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="x-for&#x20;with&#x20;key&#x3A;&#x20;Stable&#x20;List&#x20;Updates&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-for-with-key-stable-list-updates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-ref-instead-of-document-queryselector</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-ref-statt-document-queryselector-im-template" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-ref-instead-of-document-queryselector" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-ref-instead-of-document-queryselector.webp</image:loc><image:title>x-ref Instead of document.querySelector: Using DOM References in Alpine.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="x-ref&#x20;Instead&#x20;of&#x20;document.querySelector&#x3A;&#x20;Using&#x20;DOM&#x20;References&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-ref-instead-of-document-queryselector.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpine-x-show-vs-x-if-when-to-use-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/alpine-x-show-vs-x-if-wann-welches-verhalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpine-x-show-vs-x-if-when-to-use-which" />
<lastmod>2026-07-31T11:14:02+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-x-show-vs-x-if-when-to-use-which.webp</image:loc><image:title>x-show vs. x-if in Alpine.js: When to Use Which</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="x-show&#x20;vs.&#x20;x-if&#x20;in&#x20;Alpine.js&#x3A;&#x20;When&#x20;to&#x20;Use&#x20;Which"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-x-show-vs-x-if-when-to-use-which.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-automated-changelog-generator-from-conventional-commits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-automatischer-changelog-generator-aus-conventional-commits" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-automated-changelog-generator-from-conventional-commits" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-automated-changelog-generator-from-conventional-commits.webp</image:loc><image:title>Automated Changelog Generator with Bash and Conventional Commits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automated&#x20;Changelog&#x20;Generator&#x20;with&#x20;Bash&#x20;and&#x20;Conventional&#x20;Commits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-automated-changelog-generator-from-conventional-commits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/awk-multi-column-reports-and-aggregation-in-the-shell</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/awk-mehrspaltige-reports-und-aggregation-in-der-shell" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/awk-multi-column-reports-and-aggregation-in-the-shell" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/awk-multi-column-reports-and-aggregation-in-the-shell.webp</image:loc><image:title>Awk for Multi-Column Reports and Aggregation in the Shell</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Awk&#x20;for&#x20;Multi-Column&#x20;Reports&#x20;and&#x20;Aggregation&#x20;in&#x20;the&#x20;Shell"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/awk-multi-column-reports-and-aggregation-in-the-shell.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-aws-and-gcloud-cli-scripting-patterns-in-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-aws-und-gcloud-cli-skriptmuster-fur-bash" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-aws-and-gcloud-cli-scripting-patterns-in-bash" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-aws-and-gcloud-cli-scripting-patterns-in-bash.webp</image:loc><image:title>AWS and gcloud CLI Scripting Patterns in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="AWS&#x20;and&#x20;gcloud&#x20;CLI&#x20;Scripting&#x20;Patterns&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-aws-and-gcloud-cli-scripting-patterns-in-bash.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-bashdb-debugger-step-by-step-bash-script-debugging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-bashdb-debugger-schritt-fur-schritt-bash-skripte-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-bashdb-debugger-step-by-step-bash-script-debugging" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-bashdb-debugger-step-by-step-bash-script-debugging.webp</image:loc><image:title>bashdb Debugger: Step by Step Bash Script Debugging</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="bashdb&#x20;Debugger&#x3A;&#x20;Step&#x20;by&#x20;Step&#x20;Bash&#x20;Script&#x20;Debugging"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-bashdb-debugger-step-by-step-bash-script-debugging.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/busybox-ash-limits-in-alpine-containers-and-how-to-work-around-them</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/busybox-ash-grenzen-in-alpine-containern-und-wie-man-sie-umgeht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/busybox-ash-limits-in-alpine-containers-and-how-to-work-around-them" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/busybox-ash-limits-in-alpine-containers-and-how-to-work-around-them.webp</image:loc><image:title>BusyBox ash Limits in Alpine Containers and How to Work Around Them</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="BusyBox&#x20;ash&#x20;Limits&#x20;in&#x20;Alpine&#x20;Containers&#x20;and&#x20;How&#x20;to&#x20;Work&#x20;Around&#x20;Them"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/busybox-ash-limits-in-alpine-containers-and-how-to-work-around-them.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-measuring-and-improving-code-coverage-for-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-code-coverage-fur-bash-skripte-messen-und-verbessern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-measuring-and-improving-code-coverage-for-bash-scripts" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-measuring-and-improving-code-coverage-for-bash-scripts.webp</image:loc><image:title>Measuring and Improving Code Coverage for Bash Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Measuring&#x20;and&#x20;Improving&#x20;Code&#x20;Coverage&#x20;for&#x20;Bash&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-measuring-and-improving-code-coverage-for-bash-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/column-and-paste-for-tabular-output-in-the-shell</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/column-und-paste-fuer-tabellarische-ausgabe-in-der-shell" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/column-and-paste-for-tabular-output-in-the-shell" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/column-and-paste-for-tabular-output-in-the-shell.webp</image:loc><image:title>Column and paste for Tabular Output in the Shell</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Column&#x20;and&#x20;paste&#x20;for&#x20;Tabular&#x20;Output&#x20;in&#x20;the&#x20;Shell"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/column-and-paste-for-tabular-output-in-the-shell.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-using-coprocesses-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-coprozesse-in-bash-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-using-coprocesses-in-practice" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-using-coprocesses-in-practice.webp</image:loc><image:title>Using Bash Coprocesses in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Bash&#x20;Coprocesses&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-using-coprocesses-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-csv-to-json-conversion-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-csv-zu-json-konvertierungspipelines-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-csv-to-json-conversion-pipelines" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-csv-to-json-conversion-pipelines.webp</image:loc><image:title>Build CSV-to-JSON Conversion Pipelines in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Build&#x20;CSV-to-JSON&#x20;Conversion&#x20;Pipelines&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-csv-to-json-conversion-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/dash-vs-bash-posix-differences-that-break-sh-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/dash-vs-bash-posix-unterschiede-die-sh-skripte-brechen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/dash-vs-bash-posix-differences-that-break-sh-scripts" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/dash-vs-bash-posix-differences-that-break-sh-scripts.webp</image:loc><image:title>Dash vs Bash: POSIX Differences That Break sh Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Dash&#x20;vs&#x20;Bash&#x3A;&#x20;POSIX&#x20;Differences&#x20;That&#x20;Break&#x20;sh&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/dash-vs-bash-posix-differences-that-break-sh-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-auditing-file-permissions-and-umask-in-bash-scripts-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-dateiberechtigungen-und-umask-in-bash-skripten-systematisch-pruefen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-auditing-file-permissions-and-umask-in-bash-scripts-systematically" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-auditing-file-permissions-and-umask-in-bash-scripts-systematically.webp</image:loc><image:title>Auditing File Permissions and umask in Bash Scripts Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Auditing&#x20;File&#x20;Permissions&#x20;and&#x20;umask&#x20;in&#x20;Bash&#x20;Scripts&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-auditing-file-permissions-and-umask-in-bash-scripts-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-analyze-database-dumps-automatically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-datenbank-dumps-automatisiert-analysieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-analyze-database-dumps-automatically" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-analyze-database-dumps-automatically.webp</image:loc><image:title>Analyze Database Dumps Automatically With Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Analyze&#x20;Database&#x20;Dumps&#x20;Automatically&#x20;With&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-analyze-database-dumps-automatically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-building-a-database-migration-runner-in-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-datenbank-migrations-runner-in-bash-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-building-a-database-migration-runner-in-bash" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-building-a-database-migration-runner-in-bash.webp</image:loc><image:title>Building a Database Migration Runner in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Database&#x20;Migration&#x20;Runner&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-building-a-database-migration-runner-in-bash.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-dependency-update-checker-for-composer-and-npm-in-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-dependency-update-checker-fur-composer-und-npm-in-bash" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-dependency-update-checker-for-composer-and-npm-in-bash" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-dependency-update-checker-for-composer-and-npm-in-bash.webp</image:loc><image:title>Dependency Update Checker for Composer and npm in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Dependency&#x20;Update&#x20;Checker&#x20;for&#x20;Composer&#x20;and&#x20;npm&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-dependency-update-checker-for-composer-and-npm-in-bash.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-automating-dns-lookups-with-dig-and-host</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-dns-abfragen-mit-dig-und-host-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-automating-dns-lookups-with-dig-and-host" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-automating-dns-lookups-with-dig-and-host.webp</image:loc><image:title>Automating DNS Lookups with dig and host in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;DNS&#x20;Lookups&#x20;with&#x20;dig&#x20;and&#x20;host&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-automating-dns-lookups-with-dig-and-host.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-build-etl-pipelines-extract-transform-load</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-etl-pipelines-bauen-extract-transform-load" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-build-etl-pipelines-extract-transform-load" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-build-etl-pipelines-extract-transform-load.webp</image:loc><image:title>Build Simple ETL Pipelines in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Build&#x20;Simple&#x20;ETL&#x20;Pipelines&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-build-etl-pipelines-extract-transform-load.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-mocking-and-stubbing-external-commands-in-bash-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-externe-kommandos-in-bash-tests-mocken-und-stubben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-mocking-and-stubbing-external-commands-in-bash-tests" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-mocking-and-stubbing-external-commands-in-bash-tests.webp</image:loc><image:title>Mocking and Stubbing External Commands in Bash Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mocking&#x20;and&#x20;Stubbing&#x20;External&#x20;Commands&#x20;in&#x20;Bash&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-mocking-and-stubbing-external-commands-in-bash-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-colored-diff-output-in-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-farbige-diff-ausgabe-in-bash-skripten-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-colored-diff-output-in-bash-scripts" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-colored-diff-output-in-bash-scripts.webp</image:loc><image:title>Designing Colored Diff Output in Bash Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Colored&#x20;Diff&#x20;Output&#x20;in&#x20;Bash&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-colored-diff-output-in-bash-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-building-progress-bars-in-bash-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-fortschrittsbalken-in-bash-von-grund-auf-selbst-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-building-progress-bars-in-bash-from-scratch" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-building-progress-bars-in-bash-from-scratch.webp</image:loc><image:title>Building Progress Bars in Bash From Scratch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Progress&#x20;Bars&#x20;in&#x20;Bash&#x20;From&#x20;Scratch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-building-progress-bars-in-bash-from-scratch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-fzf-interactive-selection-menus-in-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-fzf-interaktive-auswahlmenues-in-bash-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-fzf-interactive-selection-menus-in-bash" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-fzf-interactive-selection-menus-in-bash.webp</image:loc><image:title>fzf in Bash: Building Interactive Selection Menus for Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="fzf&#x20;in&#x20;Bash&#x3A;&#x20;Building&#x20;Interactive&#x20;Selection&#x20;Menus&#x20;for&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-fzf-interactive-selection-menus-in-bash.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-understanding-and-avoiding-the-dangers-of-eval-in-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-gefahren-von-eval-in-bash-erkennen-und-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-understanding-and-avoiding-the-dangers-of-eval-in-bash" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-understanding-and-avoiding-the-dangers-of-eval-in-bash.webp</image:loc><image:title>Understanding and Avoiding the Dangers of eval in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;and&#x20;Avoiding&#x20;the&#x20;Dangers&#x20;of&#x20;eval&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-understanding-and-avoiding-the-dangers-of-eval-in-bash.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-gum-whiptail-tui-menus-in-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-gum-und-whiptail-fuer-tui-menues-in-bash-skripten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-gum-whiptail-tui-menus-in-bash-scripts" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-gum-whiptail-tui-menus-in-bash-scripts.webp</image:loc><image:title>gum and whiptail: Building TUI Menus for Bash Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="gum&#x20;and&#x20;whiptail&#x3A;&#x20;Building&#x20;TUI&#x20;Menus&#x20;for&#x20;Bash&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-gum-whiptail-tui-menus-in-bash-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-automating-helm-chart-deployments-with-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-helm-chart-deployments-mit-bash-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-automating-helm-chart-deployments-with-bash" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-automating-helm-chart-deployments-with-bash.webp</image:loc><image:title>Automating Helm Chart Deployments with Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;Helm&#x20;Chart&#x20;Deployments&#x20;with&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-automating-helm-chart-deployments-with-bash.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-generate-html-reports-directly-from-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-html-reports-direkt-aus-bash-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-generate-html-reports-directly-from-bash" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-generate-html-reports-directly-from-bash.webp</image:loc><image:title>Generate HTML Reports Directly From Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generate&#x20;HTML&#x20;Reports&#x20;Directly&#x20;From&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-generate-html-reports-directly-from-bash.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-job-control-fg-bg-and-disown-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-job-control-fg-bg-disown-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-job-control-fg-bg-and-disown-explained" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-job-control-fg-bg-and-disown-explained.webp</image:loc><image:title>Bash Job Control: fg, bg and disown Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bash&#x20;Job&#x20;Control&#x3A;&#x20;fg,&#x20;bg&#x20;and&#x20;disown&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-job-control-fg-bg-and-disown-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-kubectl-wrapper-scripts-for-daily-devops-work</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-kubectl-wrapper-skripte-fur-den-alltag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-kubectl-wrapper-scripts-for-daily-devops-work" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-kubectl-wrapper-scripts-for-daily-devops-work.webp</image:loc><image:title>kubectl Wrapper Scripts for Daily DevOps Work</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="kubectl&#x20;Wrapper&#x20;Scripts&#x20;for&#x20;Daily&#x20;DevOps&#x20;Work"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-kubectl-wrapper-scripts-for-daily-devops-work.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/macos-vs-linux-bash-version-traps-and-coreutils-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/macos-vs-linux-bash-versionsfallen-und-coreutils-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/macos-vs-linux-bash-version-traps-and-coreutils-differences" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/macos-vs-linux-bash-version-traps-and-coreutils-differences.webp</image:loc><image:title>macOS vs Linux: Bash Version Traps and Coreutils Differences</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="macOS&#x20;vs&#x20;Linux&#x3A;&#x20;Bash&#x20;Version&#x20;Traps&#x20;and&#x20;Coreutils&#x20;Differences"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/macos-vs-linux-bash-version-traps-and-coreutils-differences.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-minimal-webhook-receiver-with-netcat</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-minimaler-webhook-empfanger-mit-netcat" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-minimal-webhook-receiver-with-netcat" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-minimal-webhook-receiver-with-netcat.webp</image:loc><image:title>Building a Minimal Webhook Receiver with netcat in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Minimal&#x20;Webhook&#x20;Receiver&#x20;with&#x20;netcat&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-minimal-webhook-receiver-with-netcat.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-multi-environment-config-generator-with-bash-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-multi-environment-config-generator-mit-bash-templates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-multi-environment-config-generator-with-bash-templates" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-multi-environment-config-generator-with-bash-templates.webp</image:loc><image:title>Multi Environment Config Generator with Bash Templates</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi&#x20;Environment&#x20;Config&#x20;Generator&#x20;with&#x20;Bash&#x20;Templates"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-multi-environment-config-generator-with-bash-templates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-preventing-path-and-environment-variable-hijacking-in-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-pfad-und-umgebungsvariablen-hijacking-in-bash-skripten-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-preventing-path-and-environment-variable-hijacking-in-bash-scripts" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-preventing-path-and-environment-variable-hijacking-in-bash-scripts.webp</image:loc><image:title>Preventing PATH and Environment Variable Hijacking in Bash Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preventing&#x20;PATH&#x20;and&#x20;Environment&#x20;Variable&#x20;Hijacking&#x20;in&#x20;Bash&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-preventing-path-and-environment-variable-hijacking-in-bash-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/posix-shell-checklist-for-portable-production-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/posix-shell-checkliste-fuer-portable-produktionsskripte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/posix-shell-checklist-for-portable-production-scripts" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/posix-shell-checklist-for-portable-production-scripts.webp</image:loc><image:title>POSIX Shell Checklist for Portable Production Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="POSIX&#x20;Shell&#x20;Checklist&#x20;for&#x20;Portable&#x20;Production&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/posix-shell-checklist-for-portable-production-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-rate-limited-api-requests-with-retry</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-rate-limitierte-api-abfragen-mit-retry" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-rate-limited-api-requests-with-retry" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-rate-limited-api-requests-with-retry.webp</image:loc><image:title>Implementing Rate-Limited API Requests with Retry in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Rate-Limited&#x20;API&#x20;Requests&#x20;with&#x20;Retry&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-rate-limited-api-requests-with-retry.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-generating-release-notes-from-git-log-automatically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-release-notes-aus-git-log-automatisch-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-generating-release-notes-from-git-log-automatically" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-generating-release-notes-from-git-log-automatically.webp</image:loc><image:title>Generating Release Notes from Git Log Automatically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;Release&#x20;Notes&#x20;from&#x20;Git&#x20;Log&#x20;Automatically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-generating-release-notes-from-git-log-automatically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-fetching-vault-secrets-in-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-secrets-aus-vault-in-bash-skripten-abrufen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-fetching-vault-secrets-in-bash-scripts" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-fetching-vault-secrets-in-bash-scripts.webp</image:loc><image:title>Fetching Vault Secrets in Bash Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Fetching&#x20;Vault&#x20;Secrets&#x20;in&#x20;Bash&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-fetching-vault-secrets-in-bash-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-never-leaving-secrets-and-passwords-in-bash-history</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-secrets-und-passwoerter-nicht-in-der-bash-history-hinterlassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-never-leaving-secrets-and-passwords-in-bash-history" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-never-leaving-secrets-and-passwords-in-bash-history.webp</image:loc><image:title>Never Leaving Secrets and Passwords in Bash History</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Never&#x20;Leaving&#x20;Secrets&#x20;and&#x20;Passwords&#x20;in&#x20;Bash&#x20;History"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-never-leaving-secrets-and-passwords-in-bash-history.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sed-multiline-substitutions-with-hold-space-and-pattern-space</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sed-mehrzeilige-ersetzungen-mit-hold-space-und-pattern-space" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sed-multiline-substitutions-with-hold-space-and-pattern-space" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sed-multiline-substitutions-with-hold-space-and-pattern-space.webp</image:loc><image:title>Sed: Multiline Substitutions with Hold Space and Pattern Space</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sed&#x3A;&#x20;Multiline&#x20;Substitutions&#x20;with&#x20;Hold&#x20;Space&#x20;and&#x20;Pattern&#x20;Space"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sed-multiline-substitutions-with-hold-space-and-pattern-space.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-set-x-tracing-in-bash-understanding-and-using-it-precisely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-set-x-tracing-in-bash-im-detail-verstehen-und-gezielt-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-set-x-tracing-in-bash-understanding-and-using-it-precisely" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-set-x-tracing-in-bash-understanding-and-using-it-precisely.webp</image:loc><image:title>set -x Tracing in Bash: Understanding and Using It Precisely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="set&#x20;-x&#x20;Tracing&#x20;in&#x20;Bash&#x3A;&#x20;Understanding&#x20;and&#x20;Using&#x20;It&#x20;Precisely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-set-x-tracing-in-bash-understanding-and-using-it-precisely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-hardening-bash-scripts-against-command-injection-from-user-input</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-skripte-gegen-command-injection-durch-nutzereingaben-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-hardening-bash-scripts-against-command-injection-from-user-input" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-hardening-bash-scripts-against-command-injection-from-user-input.webp</image:loc><image:title>Hardening Bash Scripts Against Command Injection from User Input</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hardening&#x20;Bash&#x20;Scripts&#x20;Against&#x20;Command&#x20;Injection&#x20;from&#x20;User&#x20;Input"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-hardening-bash-scripts-against-command-injection-from-user-input.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-running-scripts-as-a-proper-daemon</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-skripte-richtig-als-daemon-betreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-running-scripts-as-a-proper-daemon" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-running-scripts-as-a-proper-daemon.webp</image:loc><image:title>Running Bash Scripts as a Proper Daemon</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Running&#x20;Bash&#x20;Scripts&#x20;as&#x20;a&#x20;Proper&#x20;Daemon"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-running-scripts-as-a-proper-daemon.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sort-uniq-comm-for-comparing-datasets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sort-uniq-comm-fuer-den-abgleich-von-datensaetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sort-uniq-comm-for-comparing-datasets" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sort-uniq-comm-for-comparing-datasets.webp</image:loc><image:title>Sort, uniq and comm for Comparing Datasets</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sort,&#x20;uniq&#x20;and&#x20;comm&#x20;for&#x20;Comparing&#x20;Datasets"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sort-uniq-comm-for-comparing-datasets.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-spinner-animations-in-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-spinner-animationen-in-bash-skripten-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-spinner-animations-in-bash-scripts" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-spinner-animations-in-bash-scripts.webp</image:loc><image:title>Implementing Spinner Animations in Bash Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Spinner&#x20;Animations&#x20;in&#x20;Bash&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-spinner-animations-in-bash-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-subshells-vs-sourcing-performance-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-subshells-vs-sourcing-performance-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-subshells-vs-sourcing-performance-differences" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-subshells-vs-sourcing-performance-differences.webp</image:loc><image:title>Subshells vs. Sourcing: Performance Differences in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Subshells&#x20;vs.&#x20;Sourcing&#x3A;&#x20;Performance&#x20;Differences&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-subshells-vs-sourcing-performance-differences.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-build-terminal-dashboards-for-log-analytics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-terminal-dashboards-fur-log-analytics-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-build-terminal-dashboards-for-log-analytics" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-build-terminal-dashboards-for-log-analytics.webp</image:loc><image:title>Build Terminal Dashboards for Log Analytics in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Build&#x20;Terminal&#x20;Dashboards&#x20;for&#x20;Log&#x20;Analytics&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-build-terminal-dashboards-for-log-analytics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-connecting-terraform-and-ansible-with-bash-glue-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-terraform-und-ansible-mit-bash-glue-code-verbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-connecting-terraform-and-ansible-with-bash-glue-code" />
<lastmod>2026-07-31T11:15:59+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-connecting-terraform-and-ansible-with-bash-glue-code.webp</image:loc><image:title>Connecting Terraform and Ansible with Bash Glue Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Connecting&#x20;Terraform&#x20;and&#x20;Ansible&#x20;with&#x20;Bash&#x20;Glue&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-connecting-terraform-and-ansible-with-bash-glue-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-monitoring-tls-certificate-expiry</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-tls-zertifikat-ablauf-uberwachen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-monitoring-tls-certificate-expiry" />
<lastmod>2026-07-31T11:16:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-monitoring-tls-certificate-expiry.webp</image:loc><image:title>Monitoring TLS Certificate Expiry with Bash: openssl Scripts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Monitoring&#x20;TLS&#x20;Certificate&#x20;Expiry&#x20;with&#x20;Bash&#x3A;&#x20;openssl&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-monitoring-tls-certificate-expiry.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tr-practical-everyday-use-cases-in-the-shell</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tr-praktische-anwendungsfaelle-im-shell-alltag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tr-practical-everyday-use-cases-in-the-shell" />
<lastmod>2026-07-31T11:16:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tr-practical-everyday-use-cases-in-the-shell.webp</image:loc><image:title>Tr: Practical Everyday Use Cases in the Shell</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tr&#x3A;&#x20;Practical&#x20;Everyday&#x20;Use&#x20;Cases&#x20;in&#x20;the&#x20;Shell"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tr-practical-everyday-use-cases-in-the-shell.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/writing-scripts-that-work-in-both-bash-and-zsh</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-und-zsh-kompatibel-skripten-ohne-doppelten-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/writing-scripts-that-work-in-both-bash-and-zsh" />
<lastmod>2026-07-31T11:16:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/writing-scripts-that-work-in-both-bash-and-zsh.webp</image:loc><image:title>Writing Scripts That Work in Both Bash and zsh</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Scripts&#x20;That&#x20;Work&#x20;in&#x20;Both&#x20;Bash&#x20;and&#x20;zsh"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/writing-scripts-that-work-in-both-bash-and-zsh.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-unit-tests-for-bash-functions-writing-and-structuring-them</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-unit-tests-fur-bash-funktionen-schreiben-und-strukturieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-unit-tests-for-bash-functions-writing-and-structuring-them" />
<lastmod>2026-07-31T11:16:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-unit-tests-for-bash-functions-writing-and-structuring-them.webp</image:loc><image:title>Unit Tests for Bash Functions: Writing and Structuring Them</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Unit&#x20;Tests&#x20;for&#x20;Bash&#x20;Functions&#x3A;&#x20;Writing&#x20;and&#x20;Structuring&#x20;Them"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-unit-tests-for-bash-functions-writing-and-structuring-them.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-wait-n-for-parallel-job-harvesting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-wait-n-fuer-paralleles-job-harvesting" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-wait-n-for-parallel-job-harvesting" />
<lastmod>2026-07-31T11:16:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-wait-n-for-parallel-job-harvesting.webp</image:loc><image:title>wait -n for Parallel Job Harvesting in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="wait&#x20;-n&#x20;for&#x20;Parallel&#x20;Job&#x20;Harvesting&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-wait-n-for-parallel-job-harvesting.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-testing-websocket-connections-with-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bash-websocket-verbindungen-mit-bash-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-testing-websocket-connections-with-bash" />
<lastmod>2026-07-31T11:16:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-testing-websocket-connections-with-bash.webp</image:loc><image:title>Testing WebSocket Connections with Bash: Handshake, Ping/Pong and CI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;WebSocket&#x20;Connections&#x20;with&#x20;Bash&#x3A;&#x20;Handshake,&#x20;Ping&#x2F;Pong&#x20;and&#x20;CI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-testing-websocket-connections-with-bash.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-accent-color-form-controls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-accent-color-formularelemente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-accent-color-form-controls" />
<lastmod>2026-07-30T18:14:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-accent-color-form-controls.webp</image:loc><image:title>accent-color: Coloring Form Controls Without JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="accent-color&#x3A;&#x20;Coloring&#x20;Form&#x20;Controls&#x20;Without&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-accent-color-form-controls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/animation-composition-additive-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/animation-composition-additive-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/animation-composition-additive-explained" />
<lastmod>2026-07-30T18:14:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/animation-composition-additive-explained.webp</image:loc><image:title>Understanding animation-composition: Additive Animations Without Overwriting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;animation-composition&#x3A;&#x20;Additive&#x20;Animations&#x20;Without&#x20;Overwriting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/animation-composition-additive-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-appearance-none-custom-select-boxes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-appearance-none-custom-selects" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-appearance-none-custom-select-boxes" />
<lastmod>2026-07-30T18:14:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-appearance-none-custom-select-boxes.webp</image:loc><image:title>appearance: none for Custom Select Boxes: The Complete Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="appearance&#x3A;&#x20;none&#x20;for&#x20;Custom&#x20;Select&#x20;Boxes&#x3A;&#x20;The&#x20;Complete&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-appearance-none-custom-select-boxes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-aspect-ratio-in-media-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-aspect-ratio-media-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-aspect-ratio-in-media-layouts" />
<lastmod>2026-07-30T18:14:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-aspect-ratio-in-media-layouts.webp</image:loc><image:title>aspect-ratio in Media Layouts: Images, Video and Cards Without Distortion</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="aspect-ratio&#x20;in&#x20;Media&#x20;Layouts&#x3A;&#x20;Images,&#x20;Video&#x20;and&#x20;Cards&#x20;Without&#x20;Distortion"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-aspect-ratio-in-media-layouts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-at-page-rules-page-breaks-margin-boxes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-at-page-regeln-seitenumbrueche-margin-boxen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-at-page-rules-page-breaks-margin-boxes" />
<lastmod>2026-07-30T18:14:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-at-page-rules-page-breaks-margin-boxes.webp</image:loc><image:title>Using @page Rules in Practice: Page Breaks, Margins and Print Formats</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;&#x40;page&#x20;Rules&#x20;in&#x20;Practice&#x3A;&#x20;Page&#x20;Breaks,&#x20;Margins&#x20;and&#x20;Print&#x20;Formats"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-at-page-rules-page-breaks-margin-boxes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-attribute-selectors-advanced-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-attribut-selektoren-fortgeschrittene-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-attribute-selectors-advanced-patterns" />
<lastmod>2026-07-30T18:14:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-attribute-selectors-advanced-patterns.webp</image:loc><image:title>Attribute Selectors: Advanced Patterns</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Attribute&#x20;Selectors&#x3A;&#x20;Advanced&#x20;Patterns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-attribute-selectors-advanced-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-bem-utility-first-css-modules-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-bem-utility-first-css-modules-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-bem-utility-first-css-modules-comparison" />
<lastmod>2026-07-30T18:14:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-bem-utility-first-css-modules-comparison.webp</image:loc><image:title>BEM, Utility First and CSS Modules Compared in 2026</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="BEM,&#x20;Utility&#x20;First&#x20;and&#x20;CSS&#x20;Modules&#x20;Compared&#x20;in&#x20;2026"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-bem-utility-first-css-modules-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-only-image-zoom-product-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-bildzoom-produktseiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-only-image-zoom-product-pages" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-only-image-zoom-product-pages.webp</image:loc><image:title>CSS Only Image Zoom for Product Pages: Hover Zoom Without JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Only&#x20;Image&#x20;Zoom&#x20;for&#x20;Product&#x20;Pages&#x3A;&#x20;Hover&#x20;Zoom&#x20;Without&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-only-image-zoom-product-pages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-cascade-layers-component-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-cascade-layers-komponentenisolation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-cascade-layers-component-isolation" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-cascade-layers-component-isolation.webp</image:loc><image:title>Component Isolation with CSS Modules and Cascade Layers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Component&#x20;Isolation&#x20;with&#x20;CSS&#x20;Modules&#x20;and&#x20;Cascade&#x20;Layers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-cascade-layers-component-isolation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-color-contrast-function-for-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-color-contrast-funktion-barrierefreiheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-color-contrast-function-for-accessibility" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-color-contrast-function-for-accessibility.webp</image:loc><image:title>The color-contrast() Function for Accessibility: Automatic Contrast Selection in CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;color-contrast&#x28;&#x29;&#x20;Function&#x20;for&#x20;Accessibility&#x3A;&#x20;Automatic&#x20;Contrast&#x20;Selection&#x20;in&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-color-contrast-function-for-accessibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-container-type-size-queries-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-container-type-size-queries-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-container-type-size-queries-in-detail" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-container-type-size-queries-in-detail.webp</image:loc><image:title>container-type: size Queries in Detail: Using Size Based Container Queries Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="container-type&#x3A;&#x20;size&#x20;Queries&#x20;in&#x20;Detail&#x3A;&#x20;Using&#x20;Size&#x20;Based&#x20;Container&#x20;Queries&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-container-type-size-queries-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-content-visibility-long-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-content-visibility-lange-seiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-content-visibility-long-pages" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-content-visibility-long-pages.webp</image:loc><image:title>content-visibility: Rendering Long Pages Fast</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="content-visibility&#x3A;&#x20;Rendering&#x20;Long&#x20;Pages&#x20;Fast"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-content-visibility-long-pages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-automating-critical-css-extraction</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-critical-css-extraktion-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-automating-critical-css-extraction" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-automating-critical-css-extraction.webp</image:loc><image:title>Automating Critical CSS Extraction</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;Critical&#x20;CSS&#x20;Extraction"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-automating-critical-css-extraction.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-css-containment-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-css-containment-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-css-containment-strategies" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-css-containment-strategies.webp</image:loc><image:title>CSS Containment Strategies in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Containment&#x20;Strategies&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-css-containment-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-custom-properties-api-contract</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-custom-properties-api-vertrag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-custom-properties-api-contract" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-custom-properties-api-contract.webp</image:loc><image:title>Custom Properties as an API Contract for Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Properties&#x20;as&#x20;an&#x20;API&#x20;Contract&#x20;for&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-custom-properties-api-contract.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-custom-properties-as-a-dark-light-token-system</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-custom-properties-dark-light-token-system" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-custom-properties-as-a-dark-light-token-system" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-custom-properties-as-a-dark-light-token-system.webp</image:loc><image:title>Custom Properties as a Dark-Light Token System: a Three-Tier Token Architecture</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Properties&#x20;as&#x20;a&#x20;Dark-Light&#x20;Token&#x20;System&#x3A;&#x20;a&#x20;Three-Tier&#x20;Token&#x20;Architecture"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-custom-properties-as-a-dark-light-token-system.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-design-tokens-pipeline-build</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-design-tokens-pipeline-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-design-tokens-pipeline-build" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-design-tokens-pipeline-build.webp</image:loc><image:title>Building a Design Tokens to CSS Pipeline</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Design&#x20;Tokens&#x20;to&#x20;CSS&#x20;Pipeline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-design-tokens-pipeline-build.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-styling-native-dialog-element</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-dialog-element-nativ-stylen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-styling-native-dialog-element" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-styling-native-dialog-element.webp</image:loc><image:title>Styling the Native dialog Element: Modals Without a JS Framework</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Styling&#x20;the&#x20;Native&#x20;dialog&#x20;Element&#x3A;&#x20;Modals&#x20;Without&#x20;a&#x20;JS&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-styling-native-dialog-element.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-flexbox-sidebar-layout-gap-and-order</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-flexbox-sidebar-layouts-gap-order" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-flexbox-sidebar-layout-gap-and-order" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-flexbox-sidebar-layout-gap-and-order.webp</image:loc><image:title>Sidebar Layouts With Flexbox: Getting Gap, Order and flex-basis Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sidebar&#x20;Layouts&#x20;With&#x20;Flexbox&#x3A;&#x20;Getting&#x20;Gap,&#x20;Order&#x20;and&#x20;flex-basis&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-flexbox-sidebar-layout-gap-and-order.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-focus-within-vs-focus-visible-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-focus-within-vs-focus-visible-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-focus-within-vs-focus-visible-comparison" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-focus-within-vs-focus-visible-comparison.webp</image:loc><image:title>focus-within vs. focus-visible: The Comparison</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="focus-within&#x20;vs.&#x20;focus-visible&#x3A;&#x20;The&#x20;Comparison"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-focus-within-vs-focus-visible-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-font-loading-strategies-foit-fout</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-font-loading-strategien-foit-fout" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-font-loading-strategies-foit-fout" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-font-loading-strategies-foit-fout.webp</image:loc><image:title>Font Loading Strategies: FOIT, FOUT and Subsetting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Font&#x20;Loading&#x20;Strategies&#x3A;&#x20;FOIT,&#x20;FOUT&#x20;and&#x20;Subsetting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-font-loading-strategies-foit-fout.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-forced-colors-windows-high-contrast-mode</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-forced-colors-windows-hochkontrastmodus" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-forced-colors-windows-high-contrast-mode" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-forced-colors-windows-high-contrast-mode.webp</image:loc><image:title>The forced-colors Mode for Windows High Contrast: Making CSS Robust</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;forced-colors&#x20;Mode&#x20;for&#x20;Windows&#x20;High&#x20;Contrast&#x3A;&#x20;Making&#x20;CSS&#x20;Robust"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-forced-colors-windows-high-contrast-mode.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-grid-named-lines-and-areas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-grid-template-areas-und-benannte-linien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-grid-named-lines-and-areas" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-grid-named-lines-and-areas.webp</image:loc><image:title>CSS Grid: Named Lines and Areas for Readable Layouts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Grid&#x3A;&#x20;Named&#x20;Lines&#x20;and&#x20;Areas&#x20;for&#x20;Readable&#x20;Layouts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-grid-named-lines-and-areas.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-hanging-punctuation-for-quotes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-hanging-punctuation-fuer-zitate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-hanging-punctuation-for-quotes" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-hanging-punctuation-for-quotes.webp</image:loc><image:title>Hanging Punctuation for Quotes: Letting Marks Hang Cleanly Off the Text Block</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hanging&#x20;Punctuation&#x20;for&#x20;Quotes&#x3A;&#x20;Letting&#x20;Marks&#x20;Hang&#x20;Cleanly&#x20;Off&#x20;the&#x20;Text&#x20;Block"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-hanging-punctuation-for-quotes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-has-selector-recipes-beyond-the-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-has-selektor-rezepte-jenseits-der-basics" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-has-selector-recipes-beyond-the-basics" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-has-selector-recipes-beyond-the-basics.webp</image:loc><image:title>:has() Selector: Recipes Beyond the Basics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="&#x3A;has&#x28;&#x29;&#x20;Selector&#x3A;&#x20;Recipes&#x20;Beyond&#x20;the&#x20;Basics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-has-selector-recipes-beyond-the-basics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-holy-grail-layout-modern-css-grid</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-holy-grail-layout-modernes-css" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-holy-grail-layout-modern-css-grid" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-holy-grail-layout-modern-css-grid.webp</image:loc><image:title>Holy Grail Layout With Modern CSS: Grid Instead of Floats and Tables</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Holy&#x20;Grail&#x20;Layout&#x20;With&#x20;Modern&#x20;CSS&#x3A;&#x20;Grid&#x20;Instead&#x20;of&#x20;Floats&#x20;and&#x20;Tables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-holy-grail-layout-modern-css-grid.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-hyva-theme-css-architecture-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-hyva-theme-css-architektur-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-hyva-theme-css-architecture-patterns" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-hyva-theme-css-architecture-patterns.webp</image:loc><image:title>Hyvä Theme CSS Architecture: Scalable Patterns for Tailwind Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Theme&#x20;CSS&#x20;Architecture&#x3A;&#x20;Scalable&#x20;Patterns&#x20;for&#x20;Tailwind&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-hyva-theme-css-architecture-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-intrinsic-web-design-principles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-intrinsic-web-design-prinzipien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-intrinsic-web-design-principles" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-intrinsic-web-design-principles.webp</image:loc><image:title>Intrinsic Web Design: Principles for Layouts Beyond Fixed Breakpoints</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Intrinsic&#x20;Web&#x20;Design&#x3A;&#x20;Principles&#x20;for&#x20;Layouts&#x20;Beyond&#x20;Fixed&#x20;Breakpoints"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-intrinsic-web-design-principles.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-is-where-specificity-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-is-where-spezifitaetskontrolle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-is-where-specificity-control" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-is-where-specificity-control.webp</image:loc><image:title>is() and where() for Deliberate Specificity Control</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="is&#x28;&#x29;&#x20;and&#x20;where&#x28;&#x29;&#x20;for&#x20;Deliberate&#x20;Specificity&#x20;Control"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-is-where-specificity-control.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-itcss-scalable-architecture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-itcss-skalierbare-architektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-itcss-scalable-architecture" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-itcss-scalable-architecture.webp</image:loc><image:title>ITCSS: Scalable CSS Architecture for Large Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ITCSS&#x3A;&#x20;Scalable&#x20;CSS&#x20;Architecture&#x20;for&#x20;Large&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-itcss-scalable-architecture.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-avoiding-layout-thrashing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-layout-thrashing-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-avoiding-layout-thrashing" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-avoiding-layout-thrashing.webp</image:loc><image:title>Avoiding Layout Thrashing Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Layout&#x20;Thrashing&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-avoiding-layout-thrashing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-line-clamp-patterns-text-truncation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-line-clamp-muster-textkuerzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-line-clamp-patterns-text-truncation" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-line-clamp-patterns-text-truncation.webp</image:loc><image:title>line-clamp Patterns for Text Truncation: Multi-Line Ellipsis Without JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="line-clamp&#x20;Patterns&#x20;for&#x20;Text&#x20;Truncation&#x3A;&#x20;Multi-Line&#x20;Ellipsis&#x20;Without&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-line-clamp-patterns-text-truncation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-nth-child-advanced-formulas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-nth-child-fortgeschrittene-formeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-nth-child-advanced-formulas" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-nth-child-advanced-formulas.webp</image:loc><image:title>nth-child: Advanced Formulas</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="nth-child&#x3A;&#x20;Advanced&#x20;Formulas"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-nth-child-advanced-formulas.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-prefers-color-scheme-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-prefers-color-scheme-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-prefers-color-scheme-in-detail" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-prefers-color-scheme-in-detail.webp</image:loc><image:title>prefers-color-scheme in Detail: Implementing Dark Mode Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="prefers-color-scheme&#x20;in&#x20;Detail&#x3A;&#x20;Implementing&#x20;Dark&#x20;Mode&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-prefers-color-scheme-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-prefers-contrast-accessible-contrast-levels</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-prefers-contrast-barrierefreie-kontraststufen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-prefers-contrast-accessible-contrast-levels" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-prefers-contrast-accessible-contrast-levels.webp</image:loc><image:title>The prefers-contrast Media Feature: Accessible Contrast Levels with CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;prefers-contrast&#x20;Media&#x20;Feature&#x3A;&#x20;Accessible&#x20;Contrast&#x20;Levels&#x20;with&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-prefers-contrast-accessible-contrast-levels.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-print-stylesheets-modern-print-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-print-stylesheets-moderne-drucklayouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-print-stylesheets-modern-print-layouts" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-print-stylesheets-modern-print-layouts.webp</image:loc><image:title>Modern Print Stylesheets: Optimizing CSS for Print Output</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modern&#x20;Print&#x20;Stylesheets&#x3A;&#x20;Optimizing&#x20;CSS&#x20;for&#x20;Print&#x20;Output"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-print-stylesheets-modern-print-layouts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-product-gallery-pure-css-solution</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-produktgalerie-css-only-loesung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-product-gallery-pure-css-solution" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-product-gallery-pure-css-solution.webp</image:loc><image:title>Solving Product Galleries with Pure CSS: Carousel Without JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Solving&#x20;Product&#x20;Galleries&#x20;with&#x20;Pure&#x20;CSS&#x3A;&#x20;Carousel&#x20;Without&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-product-gallery-pure-css-solution.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-pseudo-elements-webkit-moz-inputs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-pseudo-elemente-webkit-moz-inputs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-pseudo-elements-webkit-moz-inputs" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-pseudo-elements-webkit-moz-inputs.webp</image:loc><image:title>Pseudo-Elements for Inputs: Using ::-webkit- and ::-moz- Precisely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Pseudo-Elements&#x20;for&#x20;Inputs&#x3A;&#x20;Using&#x20;&#x3A;&#x3A;-webkit-&#x20;and&#x20;&#x3A;&#x3A;-moz-&#x20;Precisely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-pseudo-elements-webkit-moz-inputs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-range-slider-styling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-range-input-styling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-range-slider-styling" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-range-slider-styling.webp</image:loc><image:title>Styling Range Inputs: Sliders Without a JavaScript Library</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Styling&#x20;Range&#x20;Inputs&#x3A;&#x20;Sliders&#x20;Without&#x20;a&#x20;JavaScript&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-range-slider-styling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/reduced-motion-design-tokens-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/reduced-motion-team-workflow-design-tokens" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/reduced-motion-design-tokens-for-teams" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/reduced-motion-design-tokens-for-teams.webp</image:loc><image:title>prefers-reduced-motion for Teams: Design Tokens, Testing and Binding Patterns</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="prefers-reduced-motion&#x20;for&#x20;Teams&#x3A;&#x20;Design&#x20;Tokens,&#x20;Testing&#x20;and&#x20;Binding&#x20;Patterns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/reduced-motion-design-tokens-for-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-relative-color-syntax-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-relative-color-syntax-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-relative-color-syntax-in-practice" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-relative-color-syntax-in-practice.webp</image:loc><image:title>Relative Color Syntax in Practice: Deriving Color Tones From CSS Variables</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Relative&#x20;Color&#x20;Syntax&#x20;in&#x20;Practice&#x3A;&#x20;Deriving&#x20;Color&#x20;Tones&#x20;From&#x20;CSS&#x20;Variables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-relative-color-syntax-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-responsive-product-grid-patterns-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-responsive-produktgrid-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-responsive-product-grid-patterns-magento" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-responsive-product-grid-patterns-magento.webp</image:loc><image:title>Responsive Product Grid Patterns: CSS Grid for Magento Category Pages</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Responsive&#x20;Product&#x20;Grid&#x20;Patterns&#x3A;&#x20;CSS&#x20;Grid&#x20;for&#x20;Magento&#x20;Category&#x20;Pages"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-responsive-product-grid-patterns-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-building-a-responsive-typography-scale-system</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-responsive-typografie-skalensystem-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-building-a-responsive-typography-scale-system" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-building-a-responsive-typography-scale-system.webp</image:loc><image:title>Building a Responsive Typography Scale System: From Modular Scale to CSS Custom Properties</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Responsive&#x20;Typography&#x20;Scale&#x20;System&#x3A;&#x20;From&#x20;Modular&#x20;Scale&#x20;to&#x20;CSS&#x20;Custom&#x20;Properties"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-building-a-responsive-typography-scale-system.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/scroll-timeline-advanced-view-timeline-techniques</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/scroll-timeline-fortgeschrittene-view-timeline-technik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/scroll-timeline-advanced-view-timeline-techniques" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/scroll-timeline-advanced-view-timeline-techniques.webp</image:loc><image:title>Advanced Scroll Timeline: Named Timelines, View Timeline and animation-range</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Advanced&#x20;Scroll&#x20;Timeline&#x3A;&#x20;Named&#x20;Timelines,&#x20;View&#x20;Timeline&#x20;and&#x20;animation-range"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/scroll-timeline-advanced-view-timeline-techniques.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/spring-easing-with-linear-function</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/spring-easing-linear-funktion-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/spring-easing-with-linear-function" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/spring-easing-with-linear-function.webp</image:loc><image:title>Building Spring-Like Easing Functions: linear() Instead of Spring Libraries</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Spring-Like&#x20;Easing&#x20;Functions&#x3A;&#x20;linear&#x28;&#x29;&#x20;Instead&#x20;of&#x20;Spring&#x20;Libraries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/spring-easing-with-linear-function.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-sticky-checkout-summary-with-css</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-sticky-checkout-summary" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-sticky-checkout-summary-with-css" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-sticky-checkout-summary-with-css.webp</image:loc><image:title>Sticky Checkout Summary with CSS: The Cart Overview That Scrolls Along</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sticky&#x20;Checkout&#x20;Summary&#x20;with&#x20;CSS&#x3A;&#x20;The&#x20;Cart&#x20;Overview&#x20;That&#x20;Scrolls&#x20;Along"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-sticky-checkout-summary-with-css.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-text-wrap-balance-and-pretty-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-text-wrap-balance-vs-pretty" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-text-wrap-balance-and-pretty-compared" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-text-wrap-balance-and-pretty-compared.webp</image:loc><image:title>text-wrap: balance vs. pretty Compared: Line Breaks Finally Under Control</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="text-wrap&#x3A;&#x20;balance&#x20;vs.&#x20;pretty&#x20;Compared&#x3A;&#x20;Line&#x20;Breaks&#x20;Finally&#x20;Under&#x20;Control"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-text-wrap-balance-and-pretty-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-variable-fonts-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-variable-fonts-praktisch-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-variable-fonts-in-practice" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-variable-fonts-in-practice.webp</image:loc><image:title>Variable Fonts in Practice: One Font File Instead of Ten Styles</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Variable&#x20;Fonts&#x20;in&#x20;Practice&#x3A;&#x20;One&#x20;Font&#x20;File&#x20;Instead&#x20;of&#x20;Ten&#x20;Styles"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-variable-fonts-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/view-transitions-cross-document-navigation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/view-transitions-multi-page-navigation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/view-transitions-cross-document-navigation" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/view-transitions-cross-document-navigation.webp</image:loc><image:title>View Transitions Between Pages: Cross-Document Navigation Without a Framework</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="View&#x20;Transitions&#x20;Between&#x20;Pages&#x3A;&#x20;Cross-Document&#x20;Navigation&#x20;Without&#x20;a&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/view-transitions-cross-document-navigation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css-wide-gamut-colors-with-display-p3</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/css-wide-gamut-farben-display-p3" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css-wide-gamut-colors-with-display-p3" />
<lastmod>2026-07-30T18:14:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-wide-gamut-colors-with-display-p3.webp</image:loc><image:title>Wide Gamut Colors With display-p3: More Vivid Colors for Modern Displays</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Wide&#x20;Gamut&#x20;Colors&#x20;With&#x20;display-p3&#x3A;&#x20;More&#x20;Vivid&#x20;Colors&#x20;for&#x20;Modern&#x20;Displays"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-wide-gamut-colors-with-display-p3.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-resource-alerting-for-containers-with-alertmanager</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-alerting-fur-container-ressourcen-mit-alertmanager-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-resource-alerting-for-containers-with-alertmanager" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-resource-alerting-for-containers-with-alertmanager.webp</image:loc><image:title>Setting Up Resource Alerting for Containers with Alertmanager</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;Resource&#x20;Alerting&#x20;for&#x20;Containers&#x20;with&#x20;Alertmanager"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-resource-alerting-for-containers-with-alertmanager.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-alternative-container-registries-beyond-docker-hub</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-alternative-container-registries-jenseits-von-docker-hub" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-alternative-container-registries-beyond-docker-hub" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-alternative-container-registries-beyond-docker-hub.webp</image:loc><image:title>Alternative Container Registries Beyond Docker Hub</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Alternative&#x20;Container&#x20;Registries&#x20;Beyond&#x20;Docker&#x20;Hub"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-alternative-container-registries-beyond-docker-hub.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-bench-security-cis-audit-container-hosts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-bench-security-audit-durchfuhren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-bench-security-cis-audit-container-hosts" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-bench-security-cis-audit-container-hosts.webp</image:loc><image:title>Docker Bench Security: Running a CIS Audit for Container Hosts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Bench&#x20;Security&#x3A;&#x20;Running&#x20;a&#x20;CIS&#x20;Audit&#x20;for&#x20;Container&#x20;Hosts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-bench-security-cis-audit-container-hosts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-build-once-deploy-many-images-across-every-stage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-build-once-deploy-many-images-durch-alle-stufen-schleusen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-build-once-deploy-many-images-across-every-stage" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-build-once-deploy-many-images-across-every-stage.webp</image:loc><image:title>Build Once, Deploy Many: Moving One Docker Image Through Every Stage</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Build&#x20;Once,&#x20;Deploy&#x20;Many&#x3A;&#x20;Moving&#x20;One&#x20;Docker&#x20;Image&#x20;Through&#x20;Every&#x20;Stage"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-build-once-deploy-many-images-across-every-stage.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-compose-depends-on-with-condition-service-healthy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-compose-depends-on-mit-condition-service-healthy-orchestrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-compose-depends-on-with-condition-service-healthy" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-compose-depends-on-with-condition-service-healthy.webp</image:loc><image:title>Docker Compose depends_on with condition service_healthy</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Compose&#x20;depends_on&#x20;with&#x20;condition&#x20;service_healthy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-compose-depends-on-with-condition-service-healthy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-compose-secrets-instead-of-environment-variables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-compose-secrets-statt-environment-variablen-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-compose-secrets-instead-of-environment-variables" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-compose-secrets-instead-of-environment-variables.webp</image:loc><image:title>Docker Compose Secrets Instead of Environment Variables</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Compose&#x20;Secrets&#x20;Instead&#x20;of&#x20;Environment&#x20;Variables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-compose-secrets-instead-of-environment-variables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-compose-scaling-services-locally-with-deploy-replicas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-compose-services-mit-deploy-replicas-lokal-skalieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-compose-scaling-services-locally-with-deploy-replicas" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-compose-scaling-services-locally-with-deploy-replicas.webp</image:loc><image:title>Docker Compose: Scaling Services Locally with deploy.replicas</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Compose&#x3A;&#x20;Scaling&#x20;Services&#x20;Locally&#x20;with&#x20;deploy.replicas"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-compose-scaling-services-locally-with-deploy-replicas.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-compose-watch-live-reload-for-local-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-compose-watch-fur-live-reload-im-entwicklungsalltag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-compose-watch-live-reload-for-local-development" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-compose-watch-live-reload-for-local-development.webp</image:loc><image:title>Docker Compose Watch: Live Reload for Local Development</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Compose&#x20;Watch&#x3A;&#x20;Live&#x20;Reload&#x20;for&#x20;Local&#x20;Development"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-compose-watch-live-reload-for-local-development.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-compose-yaml-anchors-and-aliases-for-dry-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-compose-yaml-anchors-und-aliases-fur-dry-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-compose-yaml-anchors-and-aliases-for-dry-configuration" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-compose-yaml-anchors-and-aliases-for-dry-configuration.webp</image:loc><image:title>Docker Compose YAML Anchors and Aliases for DRY Configuration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Compose&#x20;YAML&#x20;Anchors&#x20;and&#x20;Aliases&#x20;for&#x20;DRY&#x20;Configuration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-compose-yaml-anchors-and-aliases-for-dry-configuration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-container-based-test-matrices-for-multiple-runtime-versions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-container-basierte-test-matrix-fur-mehrere-laufzeitversionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-container-based-test-matrices-for-multiple-runtime-versions" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-container-based-test-matrices-for-multiple-runtime-versions.webp</image:loc><image:title>Building a Container Based Test Matrix for Multiple Runtime Versions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Container&#x20;Based&#x20;Test&#x20;Matrix&#x20;for&#x20;Multiple&#x20;Runtime&#x20;Versions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-container-based-test-matrices-for-multiple-runtime-versions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/container-escape-prevention-checklist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/container-escape-pravention-checkliste" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/container-escape-prevention-checklist" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/container-escape-prevention-checklist.webp</image:loc><image:title>Container Escape Prevention: A Checklist Against Breakout</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Container&#x20;Escape&#x20;Prevention&#x3A;&#x20;A&#x20;Checklist&#x20;Against&#x20;Breakout"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/container-escape-prevention-checklist.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-container-metrics-with-prometheus-and-cadvisor</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-container-metriken-mit-prometheus-und-cadvisor-erfassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-container-metrics-with-prometheus-and-cadvisor" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-container-metrics-with-prometheus-and-cadvisor.webp</image:loc><image:title>Collecting Container Metrics with Prometheus and cAdvisor</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Collecting&#x20;Container&#x20;Metrics&#x20;with&#x20;Prometheus&#x20;and&#x20;cAdvisor"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-container-metrics-with-prometheus-and-cadvisor.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-container-to-container-communication-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-container-zu-container-kommunikationsmuster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-container-to-container-communication-patterns" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-container-to-container-communication-patterns.webp</image:loc><image:title>Container-to-Container Communication Patterns</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Container-to-Container&#x20;Communication&#x20;Patterns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-container-to-container-communication-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-is-the-data-only-container-pattern-still-useful</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-data-only-container-pattern-heute-noch-sinnvoll" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-is-the-data-only-container-pattern-still-useful" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-is-the-data-only-container-pattern-still-useful.webp</image:loc><image:title>Is the Data-Only Container Pattern Still Useful?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Is&#x20;the&#x20;Data-Only&#x20;Container&#x20;Pattern&#x20;Still&#x20;Useful&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-is-the-data-only-container-pattern-still-useful.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-migrating-database-containers-between-hosts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-datenbank-container-zwischen-hosts-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-migrating-database-containers-between-hosts" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-migrating-database-containers-between-hosts.webp</image:loc><image:title>Migrating Database Containers Between Hosts: Dump vs. Volume Copy</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Migrating&#x20;Database&#x20;Containers&#x20;Between&#x20;Hosts&#x3A;&#x20;Dump&#x20;vs.&#x20;Volume&#x20;Copy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-migrating-database-containers-between-hosts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-desktop-alternatives-colima-and-podman-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-desktop-alternativen-colima-und-podman-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-desktop-alternatives-colima-and-podman-compared" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-desktop-alternatives-colima-and-podman-compared.webp</image:loc><image:title>Docker Desktop Alternatives: Colima and Podman Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Desktop&#x20;Alternatives&#x3A;&#x20;Colima&#x20;and&#x20;Podman&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-desktop-alternatives-colima-and-podman-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-setting-up-devcontainers-for-vs-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-devcontainers-fuer-vs-code-einrichten-und-produktiv-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-setting-up-devcontainers-for-vs-code" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-setting-up-devcontainers-for-vs-code.webp</image:loc><image:title>Setting Up Devcontainers for VS Code and Using Them Productively</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;Devcontainers&#x20;for&#x20;VS&#x20;Code&#x20;and&#x20;Using&#x20;Them&#x20;Productively"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-setting-up-devcontainers-for-vs-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/distroless-images-for-php-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/distroless-images-fuer-php-anwendungen-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/distroless-images-for-php-applications" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/distroless-images-for-php-applications.webp</image:loc><image:title>Distroless Images for PHP Applications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Distroless&#x20;Images&#x20;for&#x20;PHP&#x20;Applications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/distroless-images-for-php-applications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-debugging-dns-issues-in-docker-networks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-dns-probleme-im-docker-netzwerk-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-debugging-dns-issues-in-docker-networks" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-debugging-dns-issues-in-docker-networks.webp</image:loc><image:title>Debugging DNS Issues in Docker Networks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Debugging&#x20;DNS&#x20;Issues&#x20;in&#x20;Docker&#x20;Networks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-debugging-dns-issues-in-docker-networks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-custom-bridge-networks-for-container-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-eigene-bridge-netzwerke-fuer-container-isolation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-custom-bridge-networks-for-container-isolation" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-custom-bridge-networks-for-container-isolation.webp</image:loc><image:title>Custom Bridge Networks for Container Isolation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Bridge&#x20;Networks&#x20;for&#x20;Container&#x20;Isolation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-custom-bridge-networks-for-container-isolation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-ephemeral-review-app-containers-per-pull-request</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-ephemere-review-app-container-pro-pull-request" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-ephemeral-review-app-containers-per-pull-request" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-ephemeral-review-app-containers-per-pull-request.webp</image:loc><image:title>Ephemeral Review App Containers per Pull Request with Docker</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Ephemeral&#x20;Review&#x20;App&#x20;Containers&#x20;per&#x20;Pull&#x20;Request&#x20;with&#x20;Docker"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-ephemeral-review-app-containers-per-pull-request.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-setting-up-hot-reload-for-php-and-node-in-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-hot-reload-fuer-php-und-node-in-containern-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-setting-up-hot-reload-for-php-and-node-in-containers" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-setting-up-hot-reload-for-php-and-node-in-containers.webp</image:loc><image:title>Setting Up Hot Reload for PHP and Node in Containers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;Hot&#x20;Reload&#x20;for&#x20;PHP&#x20;and&#x20;Node&#x20;in&#x20;Containers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-setting-up-hot-reload-for-php-and-node-in-containers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-promoting-container-images-between-registries-and-environments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-image-promotion-zwischen-registries-und-umgebungen-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-promoting-container-images-between-registries-and-environments" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-promoting-container-images-between-registries-and-environments.webp</image:loc><image:title>Image Promotion: Moving Docker Images Safely Between Registries and Environments</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Image&#x20;Promotion&#x3A;&#x20;Moving&#x20;Docker&#x20;Images&#x20;Safely&#x20;Between&#x20;Registries&#x20;and&#x20;Environments"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-promoting-container-images-between-registries-and-environments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/image-scanning-with-trivy-and-grype-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/image-scanning-mit-trivy-und-grype-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/image-scanning-with-trivy-and-grype-comparison" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/image-scanning-with-trivy-and-grype-comparison.webp</image:loc><image:title>Image Scanning with Trivy and Grype: A Comparison</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Image&#x20;Scanning&#x20;with&#x20;Trivy&#x20;and&#x20;Grype&#x3A;&#x20;A&#x20;Comparison"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/image-scanning-with-trivy-and-grype-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/image-signing-and-sbom-with-cosign-and-syft</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/image-signing-und-sbom-mit-cosign-und-syft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/image-signing-and-sbom-with-cosign-and-syft" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/image-signing-and-sbom-with-cosign-and-syft.webp</image:loc><image:title>Image Signing and SBOM with Cosign and Syft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Image&#x20;Signing&#x20;and&#x20;SBOM&#x20;with&#x20;Cosign&#x20;and&#x20;Syft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/image-signing-and-sbom-with-cosign-and-syft.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/runtime-threat-detection-in-containers-with-falco</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/laufzeit-bedrohungserkennung-mit-falco" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/runtime-threat-detection-in-containers-with-falco" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/runtime-threat-detection-in-containers-with-falco.webp</image:loc><image:title>Runtime Threat Detection in Containers with Falco</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Runtime&#x20;Threat&#x20;Detection&#x20;in&#x20;Containers&#x20;with&#x20;Falco"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/runtime-threat-detection-in-containers-with-falco.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-log-driver-json-file-vs-journald-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-log-driver-json-file-vs-journald-richtig-wahlen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-log-driver-json-file-vs-journald-explained" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-log-driver-json-file-vs-journald-explained.webp</image:loc><image:title>Choosing the Right Docker Log Driver: json-file vs. journald</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Choosing&#x20;the&#x20;Right&#x20;Docker&#x20;Log&#x20;Driver&#x3A;&#x20;json-file&#x20;vs.&#x20;journald"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-log-driver-json-file-vs-journald-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-macvlan-networks-use-cases-and-limitations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-macvlan-netzwerke-einsatzgebiete-und-grenzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-macvlan-networks-use-cases-and-limitations" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-macvlan-networks-use-cases-and-limitations.webp</image:loc><image:title>Macvlan Networks: Use Cases and Limitations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Macvlan&#x20;Networks&#x3A;&#x20;Use&#x20;Cases&#x20;and&#x20;Limitations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-macvlan-networks-use-cases-and-limitations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-blue-green-deployments-with-containers-without-downtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-blue-green-deployments-mit-containern-ohne-downtime" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-blue-green-deployments-with-containers-without-downtime" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-blue-green-deployments-with-containers-without-downtime.webp</image:loc><image:title>Magento Blue Green Deployments with Containers Without Downtime</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Blue&#x20;Green&#x20;Deployments&#x20;with&#x20;Containers&#x20;Without&#x20;Downtime"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-blue-green-deployments-with-containers-without-downtime.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sizing-magento-containers-by-traffic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-container-groessen-nach-traffic-dimensionieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sizing-magento-containers-by-traffic" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sizing-magento-containers-by-traffic.webp</image:loc><image:title>Sizing Magento Containers by Traffic</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sizing&#x20;Magento&#x20;Containers&#x20;by&#x20;Traffic"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sizing-magento-containers-by-traffic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/running-magento-cron-and-message-queue-consumers-in-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-cron-und-message-queue-consumer-in-containern-betreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/running-magento-cron-and-message-queue-consumers-in-containers" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/running-magento-cron-and-message-queue-consumers-in-containers.webp</image:loc><image:title>Running Magento Cron and Message Queue Consumers in Containers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Running&#x20;Magento&#x20;Cron&#x20;and&#x20;Message&#x20;Queue&#x20;Consumers&#x20;in&#x20;Containers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/running-magento-cron-and-message-queue-consumers-in-containers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/running-multiple-magento-stores-in-one-docker-compose-stack</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mehrere-magento-stores-in-einem-docker-compose-stack-betreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/running-multiple-magento-stores-in-one-docker-compose-stack" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/running-multiple-magento-stores-in-one-docker-compose-stack.webp</image:loc><image:title>Running Multiple Magento Stores in One Docker Compose Stack</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Running&#x20;Multiple&#x20;Magento&#x20;Stores&#x20;in&#x20;One&#x20;Docker&#x20;Compose&#x20;Stack"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/running-multiple-magento-stores-in-one-docker-compose-stack.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/choosing-minimal-base-images-alpine-slim-distroless</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/minimale-basis-images-richtig-auswaehlen-alpine-slim-distroless" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/choosing-minimal-base-images-alpine-slim-distroless" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/choosing-minimal-base-images-alpine-slim-distroless.webp</image:loc><image:title>Choosing Minimal Base Images the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Choosing&#x20;Minimal&#x20;Base&#x20;Images&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/choosing-minimal-base-images-alpine-slim-distroless.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/multi-arch-images-with-docker-buildx</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/multi-arch-images-mit-docker-buildx-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/multi-arch-images-with-docker-buildx" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/multi-arch-images-with-docker-buildx.webp</image:loc><image:title>Multi-Arch Images with Docker Buildx</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi-Arch&#x20;Images&#x20;with&#x20;Docker&#x20;Buildx"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/multi-arch-images-with-docker-buildx.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-named-volumes-backup-strategies-with-tar-and-restic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-named-volumes-backup-strategien-mit-tar-und-restic" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-named-volumes-backup-strategies-with-tar-and-restic" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-named-volumes-backup-strategies-with-tar-and-restic.webp</image:loc><image:title>Named Volume Backup Strategies: tar, restic and Verification</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Named&#x20;Volume&#x20;Backup&#x20;Strategies&#x3A;&#x20;tar,&#x20;restic&#x20;and&#x20;Verification"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-named-volumes-backup-strategies-with-tar-and-restic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-overlay-networks-across-multiple-docker-hosts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-overlay-netzwerke-ueber-mehrere-docker-hosts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-overlay-networks-across-multiple-docker-hosts" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-overlay-networks-across-multiple-docker-hosts.webp</image:loc><image:title>Overlay Networks Across Multiple Docker Hosts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Overlay&#x20;Networks&#x20;Across&#x20;Multiple&#x20;Docker&#x20;Hosts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-overlay-networks-across-multiple-docker-hosts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-running-parallel-feature-environments-with-compose-project-names-and-profiles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-parallele-feature-umgebungen-mit-compose-projektnamen-und-profiles" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-running-parallel-feature-environments-with-compose-project-names-and-profiles" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-running-parallel-feature-environments-with-compose-project-names-and-profiles.webp</image:loc><image:title>Running Parallel Feature Environments with Compose Project Names and Profiles</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Running&#x20;Parallel&#x20;Feature&#x20;Environments&#x20;with&#x20;Compose&#x20;Project&#x20;Names&#x20;and&#x20;Profiles"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-running-parallel-feature-environments-with-compose-project-names-and-profiles.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/reproducible-docker-builds-with-source-date-epoch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/reproduzierbare-docker-builds-mit-source-date-epoch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/reproducible-docker-builds-with-source-date-epoch" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/reproducible-docker-builds-with-source-date-epoch.webp</image:loc><image:title>Reproducible Docker Builds with SOURCE_DATE_EPOCH</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reproducible&#x20;Docker&#x20;Builds&#x20;with&#x20;SOURCE_DATE_EPOCH"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/reproducible-docker-builds-with-source-date-epoch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/rolling-updates-in-docker-swarm-without-downtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/rolling-updates-im-docker-swarm-ohne-downtime" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/rolling-updates-in-docker-swarm-without-downtime" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/rolling-updates-in-docker-swarm-without-downtime.webp</image:loc><image:title>Rolling Updates in Docker Swarm Without Downtime</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Rolling&#x20;Updates&#x20;in&#x20;Docker&#x20;Swarm&#x20;Without&#x20;Downtime"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/rolling-updates-in-docker-swarm-without-downtime.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/service-discovery-in-docker-swarm-mode-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/service-discovery-im-docker-swarm-modus-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/service-discovery-in-docker-swarm-mode-explained" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/service-discovery-in-docker-swarm-mode-explained.webp</image:loc><image:title>Service Discovery in Docker Swarm Mode Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Service&#x20;Discovery&#x20;in&#x20;Docker&#x20;Swarm&#x20;Mode&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/service-discovery-in-docker-swarm-mode-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-stack-deploy-basics-for-swarm-stacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-stack-deploy-grundlagen-fur-swarm-stacks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-stack-deploy-basics-for-swarm-stacks" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-stack-deploy-basics-for-swarm-stacks.webp</image:loc><image:title>docker stack deploy: Basics for Swarm Stacks in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="docker&#x20;stack&#x20;deploy&#x3A;&#x20;Basics&#x20;for&#x20;Swarm&#x20;Stacks&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-stack-deploy-basics-for-swarm-stacks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/supply-chain-security-for-docker-base-images</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/supply-chain-security-fur-docker-basis-images" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/supply-chain-security-for-docker-base-images" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/supply-chain-security-for-docker-base-images.webp</image:loc><image:title>Supply Chain Security for Docker Base Images</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Supply&#x20;Chain&#x20;Security&#x20;for&#x20;Docker&#x20;Base&#x20;Images"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/supply-chain-security-for-docker-base-images.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-swarm-vs-kubernetes-when-to-use-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-swarm-vs-kubernetes-wann-was-passt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-swarm-vs-kubernetes-when-to-use-which" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-swarm-vs-kubernetes-when-to-use-which.webp</image:loc><image:title>Docker Swarm vs Kubernetes: When Each Orchestration Fits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Swarm&#x20;vs&#x20;Kubernetes&#x3A;&#x20;When&#x20;Each&#x20;Orchestration&#x20;Fits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-swarm-vs-kubernetes-when-to-use-which.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-seeding-test-data-for-databases-in-docker-dev-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-testdaten-und-seed-skripte-fuer-datenbanken-in-docker-dev-containern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-seeding-test-data-for-databases-in-docker-dev-containers" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-seeding-test-data-for-databases-in-docker-dev-containers.webp</image:loc><image:title>Seeding Test Data for Databases in Docker Dev Containers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Seeding&#x20;Test&#x20;Data&#x20;for&#x20;Databases&#x20;in&#x20;Docker&#x20;Dev&#x20;Containers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-seeding-test-data-for-databases-in-docker-dev-containers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-tmpfs-mounts-for-sensitive-data-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-tmpfs-mounts-fuer-sensible-daten-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-tmpfs-mounts-for-sensitive-data-explained" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-tmpfs-mounts-for-sensitive-data-explained.webp</image:loc><image:title>tmpfs Mounts for Sensitive Data in Docker Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="tmpfs&#x20;Mounts&#x20;for&#x20;Sensitive&#x20;Data&#x20;in&#x20;Docker&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-tmpfs-mounts-for-sensitive-data-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/fine-tuning-varnish-redis-opensearch-sidecars-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/varnish-redis-opensearch-sidecars-fur-magento-feintunen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/fine-tuning-varnish-redis-opensearch-sidecars-for-magento" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/fine-tuning-varnish-redis-opensearch-sidecars-for-magento.webp</image:loc><image:title>Fine-Tuning Varnish, Redis and OpenSearch Sidecars for Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Fine-Tuning&#x20;Varnish,&#x20;Redis&#x20;and&#x20;OpenSearch&#x20;Sidecars&#x20;for&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/fine-tuning-varnish-redis-opensearch-sidecars-for-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-distributed-tracing-for-containerized-applications-with-opentelemetry</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-verteiltes-tracing-fur-containerisierte-anwendungen-mit-opentelemetry" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-distributed-tracing-for-containerized-applications-with-opentelemetry" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-distributed-tracing-for-containerized-applications-with-opentelemetry.webp</image:loc><image:title>Distributed Tracing for Containerized Applications with OpenTelemetry</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Distributed&#x20;Tracing&#x20;for&#x20;Containerized&#x20;Applications&#x20;with&#x20;OpenTelemetry"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-distributed-tracing-for-containerized-applications-with-opentelemetry.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-volume-plugins-for-cloud-storage-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-volume-plugins-fuer-cloud-storage-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-volume-plugins-for-cloud-storage-explained" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-volume-plugins-for-cloud-storage-explained.webp</image:loc><image:title>Docker Volume Plugins for Cloud Storage Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Volume&#x20;Plugins&#x20;for&#x20;Cloud&#x20;Storage&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-volume-plugins-for-cloud-storage-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/when-kubernetes-is-actually-necessary</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/wann-kubernetes-wirklich-notig-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/when-kubernetes-is-actually-necessary" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/when-kubernetes-is-actually-necessary.webp</image:loc><image:title>When Kubernetes Is Actually Necessary (and When It Is Not)</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="When&#x20;Kubernetes&#x20;Is&#x20;Actually&#x20;Necessary&#x20;&#x28;and&#x20;When&#x20;It&#x20;Is&#x20;Not&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/when-kubernetes-is-actually-necessary.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker-centralized-container-logging-with-loki-and-promtail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/docker-zentrales-container-logging-mit-loki-und-promtail-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker-centralized-container-logging-with-loki-and-promtail" />
<lastmod>2026-07-30T18:14:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-centralized-container-logging-with-loki-and-promtail.webp</image:loc><image:title>Building Centralized Container Logging with Loki and Promtail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Centralized&#x20;Container&#x20;Logging&#x20;with&#x20;Loki&#x20;and&#x20;Promtail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-centralized-container-logging-with-loki-and-promtail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-cancellable-async-operations-as-a-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-abbrechbare-async-operationen-als-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-cancellable-async-operations-as-a-pattern" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-cancellable-async-operations-as-a-pattern.webp</image:loc><image:title>Cancellable Async Operations as a Pattern</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cancellable&#x20;Async&#x20;Operations&#x20;as&#x20;a&#x20;Pattern"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-cancellable-async-operations-as-a-pattern.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-abortsignal-timeout-and-any-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-abortsignal-timeout-und-any-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-abortsignal-timeout-and-any-explained" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-abortsignal-timeout-and-any-explained.webp</image:loc><image:title>AbortSignal.timeout() and AbortSignal.any() Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="AbortSignal.timeout&#x28;&#x29;&#x20;and&#x20;AbortSignal.any&#x28;&#x29;&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-abortsignal-timeout-and-any-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-array-fromasync-async-iterables-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-array-fromasync-async-iterables-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-array-fromasync-async-iterables-in-practice" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-array-fromasync-async-iterables-in-practice.webp</image:loc><image:title>Array.fromAsync in Practice: Turning Async Iterables into Arrays Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Array.fromAsync&#x20;in&#x20;Practice&#x3A;&#x20;Turning&#x20;Async&#x20;Iterables&#x20;into&#x20;Arrays&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-array-fromasync-async-iterables-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-async-generators-for-data-streams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-async-generatoren-fuer-datenstreams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-async-generators-for-data-streams" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-async-generators-for-data-streams.webp</image:loc><image:title>Async Generators for Data Streams in JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Async&#x20;Generators&#x20;for&#x20;Data&#x20;Streams&#x20;in&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-async-generators-for-data-streams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-closures-stale-closures-loops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-closures-stale-closures-schleifen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-closures-stale-closures-loops" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-closures-stale-closures-loops.webp</image:loc><image:title>Closures in Loops: Understanding Stale Closures</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Closures&#x20;in&#x20;Loops&#x3A;&#x20;Understanding&#x20;Stale&#x20;Closures"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-closures-stale-closures-loops.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-code-splitting-strategies-beyond-the-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-code-splitting-strategien-jenseits-der-basics" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-code-splitting-strategies-beyond-the-basics" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-code-splitting-strategies-beyond-the-basics.webp</image:loc><image:title>Code Splitting Strategies Beyond the Basics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Code&#x20;Splitting&#x20;Strategies&#x20;Beyond&#x20;the&#x20;Basics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-code-splitting-strategies-beyond-the-basics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-content-security-policy-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-content-security-policy-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-content-security-policy-in-practice" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-content-security-policy-in-practice.webp</image:loc><image:title>Content Security Policy in Practice: CSP for JavaScript Applications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Content&#x20;Security&#x20;Policy&#x20;in&#x20;Practice&#x3A;&#x20;CSP&#x20;for&#x20;JavaScript&#x20;Applications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-content-security-policy-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/contract-testing-between-frontend-and-backend-with-pact</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/contract-testing-frontend-backend-pact" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/contract-testing-between-frontend-and-backend-with-pact" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/contract-testing-between-frontend-and-backend-with-pact.webp</image:loc><image:title>Contract Testing Between Frontend and Backend with Pact</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Contract&#x20;Testing&#x20;Between&#x20;Frontend&#x20;and&#x20;Backend&#x20;with&#x20;Pact"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/contract-testing-between-frontend-and-backend-with-pact.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-cookie-store-api-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-cookie-store-api-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-cookie-store-api-in-detail" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-cookie-store-api-in-detail.webp</image:loc><image:title>Cookie Store API in Detail: Asynchronous Cookie Management Beyond document.cookie</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cookie&#x20;Store&#x20;API&#x20;in&#x20;Detail&#x3A;&#x20;Asynchronous&#x20;Cookie&#x20;Management&#x20;Beyond&#x20;document.cookie"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-cookie-store-api-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-csrf-protection-single-page-apps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-csrf-schutz-spa" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-csrf-protection-single-page-apps" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-csrf-protection-single-page-apps.webp</image:loc><image:title>CSRF Protection in Single Page Apps: Combining Tokens, SameSite and Fetch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSRF&#x20;Protection&#x20;in&#x20;Single&#x20;Page&#x20;Apps&#x3A;&#x20;Combining&#x20;Tokens,&#x20;SameSite&#x20;and&#x20;Fetch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-csrf-protection-single-page-apps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-deep-equality-without-external-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-deep-equality-ohne-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-deep-equality-without-external-library" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-deep-equality-without-external-library.webp</image:loc><image:title>Deep Equality Without an External Library: Writing Your Own Comparison Function</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Deep&#x20;Equality&#x20;Without&#x20;an&#x20;External&#x20;Library&#x3A;&#x20;Writing&#x20;Your&#x20;Own&#x20;Comparison&#x20;Function"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-deep-equality-without-external-library.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-dependency-injection-without-a-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-dependency-injection-ohne-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-dependency-injection-without-a-framework" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-dependency-injection-without-a-framework.webp</image:loc><image:title>Dependency Injection in Vanilla JavaScript: Loose Coupling Without a Framework</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Dependency&#x20;Injection&#x20;in&#x20;Vanilla&#x20;JavaScript&#x3A;&#x20;Loose&#x20;Coupling&#x20;Without&#x20;a&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-dependency-injection-without-a-framework.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-devtools-performance-panel-flame-charts-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-devtools-performance-panel-flame-charts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-devtools-performance-panel-flame-charts-explained" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-devtools-performance-panel-flame-charts-explained.webp</image:loc><image:title>Chrome DevTools Performance Panel in Depth: Reading Flame Charts Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Chrome&#x20;DevTools&#x20;Performance&#x20;Panel&#x20;in&#x20;Depth&#x3A;&#x20;Reading&#x20;Flame&#x20;Charts&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-devtools-performance-panel-flame-charts-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/dynamic-import-patterns-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/dynamic-import-muster-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/dynamic-import-patterns-in-detail" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/dynamic-import-patterns-in-detail.webp</image:loc><image:title>Dynamic Import: Patterns in Detail for Code Splitting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Dynamic&#x20;Import&#x3A;&#x20;Patterns&#x20;in&#x20;Detail&#x20;for&#x20;Code&#x20;Splitting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/dynamic-import-patterns-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-building-your-own-signals-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-eigene-signals-bibliothek-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-building-your-own-signals-library" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-building-your-own-signals-library.webp</image:loc><image:title>Building Your Own Signals Library: Reactivity Without Framework Lock-in</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Your&#x20;Own&#x20;Signals&#x20;Library&#x3A;&#x20;Reactivity&#x20;Without&#x20;Framework&#x20;Lock-in"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-building-your-own-signals-library.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/esm-cjs-interop-solving-problems</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/esm-cjs-interop-probleme-loesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/esm-cjs-interop-solving-problems" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/esm-cjs-interop-solving-problems.webp</image:loc><image:title>ESM/CJS Interop: Solving Problems Between Module Systems</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ESM&#x2F;CJS&#x20;Interop&#x3A;&#x20;Solving&#x20;Problems&#x20;Between&#x20;Module&#x20;Systems"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/esm-cjs-interop-solving-problems.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mocking-fetch-and-network-calls-in-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/fetch-und-netzwerk-in-tests-mocken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mocking-fetch-and-network-calls-in-tests" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mocking-fetch-and-network-calls-in-tests.webp</image:loc><image:title>Mocking Fetch and Network Calls in Tests with MSW</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mocking&#x20;Fetch&#x20;and&#x20;Network&#x20;Calls&#x20;in&#x20;Tests&#x20;with&#x20;MSW"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mocking-fetch-and-network-calls-in-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-file-system-access-api-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-file-system-access-api-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-file-system-access-api-in-practice" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-file-system-access-api-in-practice.webp</image:loc><image:title>File System Access API in Practice: Reading and Writing Files Directly in the Browser</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="File&#x20;System&#x20;Access&#x20;API&#x20;in&#x20;Practice&#x3A;&#x20;Reading&#x20;and&#x20;Writing&#x20;Files&#x20;Directly&#x20;in&#x20;the&#x20;Browser"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-file-system-access-api-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-floating-point-precision-rounding-errors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-gleitkomma-praezision-rundungsfehler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-floating-point-precision-rounding-errors" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-floating-point-precision-rounding-errors.webp</image:loc><image:title>Floating Point Precision in JavaScript: 0.1 + 0.2 ≠ 0.3</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Floating&#x20;Point&#x20;Precision&#x20;in&#x20;JavaScript&#x3A;&#x20;0.1&#x20;&#x2B;&#x20;0.2&#x20;&#x2260;&#x20;0.3"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-floating-point-precision-rounding-errors.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-profiling-memory-with-heap-snapshots</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-heap-snapshots-speicherprofiling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-profiling-memory-with-heap-snapshots" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-profiling-memory-with-heap-snapshots.webp</image:loc><image:title>Profiling Memory with Heap Snapshots: Finding Retainers and Detached Nodes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Profiling&#x20;Memory&#x20;with&#x20;Heap&#x20;Snapshots&#x3A;&#x20;Finding&#x20;Retainers&#x20;and&#x20;Detached&#x20;Nodes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-profiling-memory-with-heap-snapshots.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-sandboxed-iframes-postmessage-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-iframe-sandbox-postmessage-sicherheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-sandboxed-iframes-postmessage-security" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-sandboxed-iframes-postmessage-security.webp</image:loc><image:title>Sandboxed iframes and postMessage Security: Isolation Without Losing Functionality</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sandboxed&#x20;iframes&#x20;and&#x20;postMessage&#x20;Security&#x3A;&#x20;Isolation&#x20;Without&#x20;Losing&#x20;Functionality"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-sandboxed-iframes-postmessage-security.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/import-maps-native-browser-modules-without-bundler</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/import-maps-native-browser-module-ohne-bundler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/import-maps-native-browser-modules-without-bundler" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/import-maps-native-browser-modules-without-bundler.webp</image:loc><image:title>Import Maps: Native Browser Modules Without a Bundler</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Import&#x20;Maps&#x3A;&#x20;Native&#x20;Browser&#x20;Modules&#x20;Without&#x20;a&#x20;Bundler"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/import-maps-native-browser-modules-without-bundler.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-indexeddb-advanced-queries-cursors-indexes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-indexeddb-fortgeschrittene-abfragen-cursor-index" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-indexeddb-advanced-queries-cursors-indexes" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-indexeddb-advanced-queries-cursors-indexes.webp</image:loc><image:title>Advanced IndexedDB Queries: Cursors, Indexes and Compound Keys Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Advanced&#x20;IndexedDB&#x20;Queries&#x3A;&#x20;Cursors,&#x20;Indexes&#x20;and&#x20;Compound&#x20;Keys&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-indexeddb-advanced-queries-cursors-indexes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-indexeddb-schema-migration-and-versioning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-indexeddb-schema-migration-versionierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-indexeddb-schema-migration-and-versioning" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-indexeddb-schema-migration-and-versioning.webp</image:loc><image:title>IndexedDB Schema Migration: Versioning and onupgradeneeded Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="IndexedDB&#x20;Schema&#x20;Migration&#x3A;&#x20;Versioning&#x20;and&#x20;onupgradeneeded&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-indexeddb-schema-migration-and-versioning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-lazy-hydration-patterns-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-lazy-hydration-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-lazy-hydration-patterns-explained" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-lazy-hydration-patterns-explained.webp</image:loc><image:title>Lazy Hydration Patterns Explained: Deferring Interactivity on Purpose</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Lazy&#x20;Hydration&#x20;Patterns&#x20;Explained&#x3A;&#x20;Deferring&#x20;Interactivity&#x20;on&#x20;Purpose"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-lazy-hydration-patterns-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-optimizing-long-tasks-and-inp</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-long-tasks-inp-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-optimizing-long-tasks-and-inp" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-optimizing-long-tasks-and-inp.webp</image:loc><image:title>Optimizing Long Tasks and INP: Measurably Improving Responsiveness</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;Long&#x20;Tasks&#x20;and&#x20;INP&#x3A;&#x20;Measurably&#x20;Improving&#x20;Responsiveness"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-optimizing-long-tasks-and-inp.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/monorepo-js-tooling-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/monorepo-js-tooling-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/monorepo-js-tooling-fundamentals" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/monorepo-js-tooling-fundamentals.webp</image:loc><image:title>Monorepo JS Tooling: Fundamentals for Workspaces and Task Runners</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Monorepo&#x20;JS&#x20;Tooling&#x3A;&#x20;Fundamentals&#x20;for&#x20;Workspaces&#x20;and&#x20;Task&#x20;Runners"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/monorepo-js-tooling-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mutation-testing-for-javascript-with-stryker</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mutation-testing-javascript-stryker" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mutation-testing-for-javascript-with-stryker" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mutation-testing-for-javascript-with-stryker.webp</image:loc><image:title>Mutation Testing for JavaScript with Stryker Mutator</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mutation&#x20;Testing&#x20;for&#x20;JavaScript&#x20;with&#x20;Stryker&#x20;Mutator"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mutation-testing-for-javascript-with-stryker.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-network-information-and-battery-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-network-information-battery-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-network-information-and-battery-api" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-network-information-and-battery-api.webp</image:loc><image:title>Network Information API and Battery API: Building Adaptive Web Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Network&#x20;Information&#x20;API&#x20;and&#x20;Battery&#x20;API&#x3A;&#x20;Building&#x20;Adaptive&#x20;Web&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-network-information-and-battery-api.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-implementing-the-notifications-api-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-notifications-api-richtig-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-implementing-the-notifications-api-correctly" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-implementing-the-notifications-api-correctly.webp</image:loc><image:title>Implementing the Notifications API Correctly: Push Without Annoying Users</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;the&#x20;Notifications&#x20;API&#x20;Correctly&#x3A;&#x20;Push&#x20;Without&#x20;Annoying&#x20;Users"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-implementing-the-notifications-api-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-object-hasown-vs-hasownproperty-safe-checks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-object-hasown-vs-hasownproperty" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-object-hasown-vs-hasownproperty-safe-checks" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-object-hasown-vs-hasownproperty-safe-checks.webp</image:loc><image:title>Object.hasOwn vs. hasOwnProperty: Safe Property Checks Without Pitfalls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Object.hasOwn&#x20;vs.&#x20;hasOwnProperty&#x3A;&#x20;Safe&#x20;Property&#x20;Checks&#x20;Without&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-object-hasown-vs-hasownproperty-safe-checks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-implementing-observer-pattern-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-observer-pattern-javascript-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-implementing-observer-pattern-javascript" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-implementing-observer-pattern-javascript.webp</image:loc><image:title>Implementing the Observer Pattern in JavaScript: Loosely Coupled Event Systems</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;the&#x20;Observer&#x20;Pattern&#x20;in&#x20;JavaScript&#x3A;&#x20;Loosely&#x20;Coupled&#x20;Event&#x20;Systems"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-implementing-observer-pattern-javascript.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-origin-private-file-system-opfs-in-the-browser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-origin-private-file-system-opfs-im-browser" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-origin-private-file-system-opfs-in-the-browser" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-origin-private-file-system-opfs-in-the-browser.webp</image:loc><image:title>Origin Private File System: Fast Browser File Access with OPFS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Origin&#x20;Private&#x20;File&#x20;System&#x3A;&#x20;Fast&#x20;Browser&#x20;File&#x20;Access&#x20;with&#x20;OPFS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-origin-private-file-system-opfs-in-the-browser.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-page-visibility-api-effectively</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-page-visibility-api-sinnvoll-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-page-visibility-api-effectively" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-page-visibility-api-effectively.webp</image:loc><image:title>Using the Page Visibility API Effectively: Saving Resources in Background Tabs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;the&#x20;Page&#x20;Visibility&#x20;API&#x20;Effectively&#x3A;&#x20;Saving&#x20;Resources&#x20;in&#x20;Background&#x20;Tabs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-page-visibility-api-effectively.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-promise-allsettled-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-promise-allsettled-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-promise-allsettled-in-practice" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-promise-allsettled-in-practice.webp</image:loc><image:title>Promise.allSettled in Practice in JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Promise.allSettled&#x20;in&#x20;Practice&#x20;in&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-promise-allsettled-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-promise-error-handling-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-promise-fehlerbehandlung-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-promise-error-handling-pitfalls" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-promise-error-handling-pitfalls.webp</image:loc><image:title>Promise Error Handling in JavaScript: Common Pitfalls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Promise&#x20;Error&#x20;Handling&#x20;in&#x20;JavaScript&#x3A;&#x20;Common&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-promise-error-handling-pitfalls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/property-based-testing-in-javascript-with-fast-check</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/property-based-testing-javascript-fast-check" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/property-based-testing-in-javascript-with-fast-check" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/property-based-testing-in-javascript-with-fast-check.webp</image:loc><image:title>Property-Based Testing in JavaScript with fast-check</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Property-Based&#x20;Testing&#x20;in&#x20;JavaScript&#x20;with&#x20;fast-check"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/property-based-testing-in-javascript-with-fast-check.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-avoiding-race-conditions-in-async-ui-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-race-conditions-in-async-ui-code-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-avoiding-race-conditions-in-async-ui-code" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-avoiding-race-conditions-in-async-ui-code.webp</image:loc><image:title>Avoiding Race Conditions in Async UI Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Race&#x20;Conditions&#x20;in&#x20;Async&#x20;UI&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-avoiding-race-conditions-in-async-ui-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/source-maps-debugging-in-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/source-maps-produktion-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/source-maps-debugging-in-production" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/source-maps-debugging-in-production.webp</image:loc><image:title>Debugging Source Maps in Production: Safe Strategies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Debugging&#x20;Source&#x20;Maps&#x20;in&#x20;Production&#x3A;&#x20;Safe&#x20;Strategies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/source-maps-debugging-in-production.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-state-machines-with-xstate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-state-machines-mit-xstate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-state-machines-with-xstate" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-state-machines-with-xstate.webp</image:loc><image:title>State Machines With XState: Modeling State Logic Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="State&#x20;Machines&#x20;With&#x20;XState&#x3A;&#x20;Modeling&#x20;State&#x20;Logic&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-state-machines-with-xstate.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-storage-manager-api-quota-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-storage-manager-api-quota-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-storage-manager-api-quota-management" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-storage-manager-api-quota-management.webp</image:loc><image:title>Storage Manager API: Managing Browser Storage Quota with Precision</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Storage&#x20;Manager&#x20;API&#x3A;&#x20;Managing&#x20;Browser&#x20;Storage&#x20;Quota&#x20;with&#x20;Precision"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-storage-manager-api-quota-management.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-structural-sharing-persistent-data-structures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-structural-sharing-persistente-datenstrukturen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-structural-sharing-persistent-data-structures" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-structural-sharing-persistent-data-structures.webp</image:loc><image:title>Implementing Structural Sharing: Persistent Data Structures in JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Structural&#x20;Sharing&#x3A;&#x20;Persistent&#x20;Data&#x20;Structures&#x20;in&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-structural-sharing-persistent-data-structures.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-subresource-integrity-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-subresource-integrity-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-subresource-integrity-in-practice" />
<lastmod>2026-07-30T18:15:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-subresource-integrity-in-practice.webp</image:loc><image:title>Subresource Integrity in Practice: Securing CDN Scripts Against Tampering</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Subresource&#x20;Integrity&#x20;in&#x20;Practice&#x3A;&#x20;Securing&#x20;CDN&#x20;Scripts&#x20;Against&#x20;Tampering"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-subresource-integrity-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-this-binding-common-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-this-bindung-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-this-binding-common-pitfalls" />
<lastmod>2026-07-30T18:15:47+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-this-binding-common-pitfalls.webp</image:loc><image:title>This Binding in JavaScript: Common Pitfalls Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="This&#x20;Binding&#x20;in&#x20;JavaScript&#x3A;&#x20;Common&#x20;Pitfalls&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-this-binding-common-pitfalls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-trusted-types-api-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-trusted-types-api-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-trusted-types-api-explained" />
<lastmod>2026-07-30T18:15:47+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-trusted-types-api-explained.webp</image:loc><image:title>Trusted Types API Explained: Preventing DOM XSS Structurally</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Trusted&#x20;Types&#x20;API&#x20;Explained&#x3A;&#x20;Preventing&#x20;DOM&#x20;XSS&#x20;Structurally"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-trusted-types-api-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/visual-regression-testing-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/visual-regression-testing-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/visual-regression-testing-fundamentals" />
<lastmod>2026-07-30T18:15:47+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/visual-regression-testing-fundamentals.webp</image:loc><image:title>Visual Regression Testing Fundamentals for JavaScript Frontends</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Visual&#x20;Regression&#x20;Testing&#x20;Fundamentals&#x20;for&#x20;JavaScript&#x20;Frontends"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/visual-regression-testing-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-weakmap-weakset-private-object-state</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-weakmap-weakset-private-object-zustaende" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-weakmap-weakset-private-object-state" />
<lastmod>2026-07-30T18:15:47+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-weakmap-weakset-private-object-state.webp</image:loc><image:title>WeakMap and WeakSet: Private Object State Without Memory Leaks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="WeakMap&#x20;and&#x20;WeakSet&#x3A;&#x20;Private&#x20;Object&#x20;State&#x20;Without&#x20;Memory&#x20;Leaks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-weakmap-weakset-private-object-state.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-web-components-framework-agnostic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-web-components-framework-agnostisch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-web-components-framework-agnostic" />
<lastmod>2026-07-30T18:15:47+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-web-components-framework-agnostic.webp</image:loc><image:title>Web Components Without a Framework: Reusable UI Building Blocks in Plain JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Web&#x20;Components&#x20;Without&#x20;a&#x20;Framework&#x3A;&#x20;Reusable&#x20;UI&#x20;Building&#x20;Blocks&#x20;in&#x20;Plain&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-web-components-framework-agnostic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-web-locks-api-for-tab-coordination</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-web-locks-api-tab-koordination" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-web-locks-api-for-tab-coordination" />
<lastmod>2026-07-30T18:15:47+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-web-locks-api-for-tab-coordination.webp</image:loc><image:title>Web Locks API for Tab Coordination: Avoiding Race Conditions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Web&#x20;Locks&#x20;API&#x20;for&#x20;Tab&#x20;Coordination&#x3A;&#x20;Avoiding&#x20;Race&#x20;Conditions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-web-locks-api-for-tab-coordination.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript-timezones-dates-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/javascript-zeitzonen-datum-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript-timezones-dates-pitfalls" />
<lastmod>2026-07-30T18:15:47+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-timezones-dates-pitfalls.webp</image:loc><image:title>Timezones and Dates in JavaScript: The Most Common Pitfalls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Timezones&#x20;and&#x20;Dates&#x20;in&#x20;JavaScript&#x3A;&#x20;The&#x20;Most&#x20;Common&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-timezones-dates-pitfalls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-apollo-client-graphql-cache-normalization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-apollo-client-graphql-cache-normalisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-apollo-client-graphql-cache-normalization" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-apollo-client-graphql-cache-normalization.webp</image:loc><image:title>Apollo Client in React: Normalizing the GraphQL Cache Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Apollo&#x20;Client&#x20;in&#x20;React&#x3A;&#x20;Normalizing&#x20;the&#x20;GraphQL&#x20;Cache&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-apollo-client-graphql-cache-normalization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-aria-live-regions-dynamic-content-screen-readers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-aria-live-regions-dynamische-inhalte-screenreader" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-aria-live-regions-dynamic-content-screen-readers" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-aria-live-regions-dynamic-content-screen-readers.webp</image:loc><image:title>ARIA Live Regions in React: Announcing Dynamic Content</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ARIA&#x20;Live&#x20;Regions&#x20;in&#x20;React&#x3A;&#x20;Announcing&#x20;Dynamic&#x20;Content"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-aria-live-regions-dynamic-content-screen-readers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-accessible-component-library-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-barrierefreie-komponenten-bibliothek-von-grund-auf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-accessible-component-library-from-scratch" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-accessible-component-library-from-scratch.webp</image:loc><image:title>Accessible Component Library in React From Scratch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessible&#x20;Component&#x20;Library&#x20;in&#x20;React&#x20;From&#x20;Scratch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-accessible-component-library-from-scratch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-bundle-analysis-and-code-splitting-audits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-bundle-analyse-und-code-splitting-audits" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-bundle-analysis-and-code-splitting-audits" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-bundle-analysis-and-code-splitting-audits.webp</image:loc><image:title>Bundle Analysis and Code Splitting Audits for React</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bundle&#x20;Analysis&#x20;and&#x20;Code&#x20;Splitting&#x20;Audits&#x20;for&#x20;React"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-bundle-analysis-and-code-splitting-audits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-caching-strategies-compared-swr-tanstack-apollo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-caching-strategien-vergleich-swr-tanstack-apollo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-caching-strategies-compared-swr-tanstack-apollo" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-caching-strategies-compared-swr-tanstack-apollo.webp</image:loc><image:title>Caching Strategies Compared: SWR, TanStack Query and Apollo Client</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Caching&#x20;Strategies&#x20;Compared&#x3A;&#x20;SWR,&#x20;TanStack&#x20;Query&#x20;and&#x20;Apollo&#x20;Client"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-caching-strategies-compared-swr-tanstack-apollo.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-checkout-flow-best-practices-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-checkout-flow-best-practices-fuer-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-checkout-flow-best-practices-for-magento" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-checkout-flow-best-practices-for-magento.webp</image:loc><image:title>React Checkout Flow: Best Practices for Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Checkout&#x20;Flow&#x3A;&#x20;Best&#x20;Practices&#x20;for&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-checkout-flow-best-practices-for-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/migrating-class-components-to-hooks-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/class-components-zu-hooks-systematisch-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/migrating-class-components-to-hooks-systematically" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/migrating-class-components-to-hooks-systematically.webp</image:loc><image:title>Migrating Class Components to Hooks: A Systematic Roadmap</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Migrating&#x20;Class&#x20;Components&#x20;to&#x20;Hooks&#x3A;&#x20;A&#x20;Systematic&#x20;Roadmap"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/migrating-class-components-to-hooks-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sharing-code-between-react-web-and-react-native</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/code-teilen-zwischen-react-web-und-react-native" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sharing-code-between-react-web-and-react-native" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sharing-code-between-react-web-and-react-native.webp</image:loc><image:title>Sharing Code Between React Web and React Native</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sharing&#x20;Code&#x20;Between&#x20;React&#x20;Web&#x20;and&#x20;React&#x20;Native"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sharing-code-between-react-web-and-react-native.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/migrating-create-react-app-to-vite-step-by-step</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/create-react-app-zu-vite-migrieren-schritt-fuer-schritt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/migrating-create-react-app-to-vite-step-by-step" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/migrating-create-react-app-to-vite-step-by-step.webp</image:loc><image:title>Migrating Create React App to Vite: Step by Step</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Migrating&#x20;Create&#x20;React&#x20;App&#x20;to&#x20;Vite&#x3A;&#x20;Step&#x20;by&#x20;Step"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/migrating-create-react-app-to-vite-step-by-step.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-testing-custom-hooks-in-isolation-with-renderhook</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-custom-hooks-isoliert-testen-mit-renderhook" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-testing-custom-hooks-in-isolation-with-renderhook" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-testing-custom-hooks-in-isolation-with-renderhook.webp</image:loc><image:title>Testing Custom Hooks in Isolation: renderHook in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;Custom&#x20;Hooks&#x20;in&#x20;Isolation&#x3A;&#x20;renderHook&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-testing-custom-hooks-in-isolation-with-renderhook.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-deployment-strategies-vercel-netlify-self-hosted</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-deployment-strategien-vercel-netlify-self-hosted" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-deployment-strategies-vercel-netlify-self-hosted" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-deployment-strategies-vercel-netlify-self-hosted.webp</image:loc><image:title>React Deployment: Vercel, Netlify or Self-Hosted</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Deployment&#x3A;&#x20;Vercel,&#x20;Netlify&#x20;or&#x20;Self-Hosted"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-deployment-strategies-vercel-netlify-self-hosted.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-e2e-vs-component-testing-choosing-the-right-test-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-e2e-vs-component-testing-die-richtige-teststrategie-finden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-e2e-vs-component-testing-choosing-the-right-test-strategy" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-e2e-vs-component-testing-choosing-the-right-test-strategy.webp</image:loc><image:title>E2E vs. Component Testing in React: Choosing the Right Strategy</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="E2E&#x20;vs.&#x20;Component&#x20;Testing&#x20;in&#x20;React&#x3A;&#x20;Choosing&#x20;the&#x20;Right&#x20;Strategy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-e2e-vs-component-testing-choosing-the-right-test-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-environment-variables-in-builds-managed-securely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-environment-variablen-in-builds-sicher-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-environment-variables-in-builds-managed-securely" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-environment-variables-in-builds-managed-securely.webp</image:loc><image:title>Managing Environment Variables in React Builds Securely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;Environment&#x20;Variables&#x20;in&#x20;React&#x20;Builds&#x20;Securely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-environment-variables-in-builds-managed-securely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/expo-vs-bare-react-native-workflow-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/expo-vs-bare-react-native-workflow-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/expo-vs-bare-react-native-workflow-comparison" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/expo-vs-bare-react-native-workflow-comparison.webp</image:loc><image:title>Expo vs Bare React Native: Workflow Comparison</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Expo&#x20;vs&#x20;Bare&#x20;React&#x20;Native&#x3A;&#x20;Workflow&#x20;Comparison"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/expo-vs-bare-react-native-workflow-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-color-contrast-tooling-design-systems-wcag</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-farbkontrast-tooling-design-systeme-wcag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-color-contrast-tooling-design-systems-wcag" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-color-contrast-tooling-design-systems-wcag.webp</image:loc><image:title>Color Contrast Tooling for React Design Systems: Staying WCAG Compliant</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Color&#x20;Contrast&#x20;Tooling&#x20;for&#x20;React&#x20;Design&#x20;Systems&#x3A;&#x20;Staying&#x20;WCAG&#x20;Compliant"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-color-contrast-tooling-design-systems-wcag.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-feature-flags-controlled-rollouts-without-redeploy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-feature-flags-kontrollierte-rollouts-ohne-redeploy" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-feature-flags-controlled-rollouts-without-redeploy" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-feature-flags-controlled-rollouts-without-redeploy.webp</image:loc><image:title>Feature Flags in React Apps: Rollouts Without Redeploy</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Feature&#x20;Flags&#x20;in&#x20;React&#x20;Apps&#x3A;&#x20;Rollouts&#x20;Without&#x20;Redeploy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-feature-flags-controlled-rollouts-without-redeploy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-focus-traps-accessible-modals-and-dialogs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-focus-traps-barrierefreie-modals-und-dialoge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-focus-traps-accessible-modals-and-dialogs" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-focus-traps-accessible-modals-and-dialogs.webp</image:loc><image:title>Focus Traps and Accessible Modals in React: The Complete Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Focus&#x20;Traps&#x20;and&#x20;Accessible&#x20;Modals&#x20;in&#x20;React&#x3A;&#x20;The&#x20;Complete&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-focus-traps-accessible-modals-and-dialogs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-form-state-libraries-compared-rhf-formik-tanstack-form</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-formular-state-bibliotheken-im-vergleich-rhf-formik-tanstack-form" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-form-state-libraries-compared-rhf-formik-tanstack-form" />
<lastmod>2026-07-30T22:28:12+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-form-state-libraries-compared-rhf-formik-tanstack-form.webp</image:loc><image:title>Form State Libraries Compared: RHF, Formik, TanStack Form</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Form&#x20;State&#x20;Libraries&#x20;Compared&#x3A;&#x20;RHF,&#x20;Formik,&#x20;TanStack&#x20;Form"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-form-state-libraries-compared-rhf-formik-tanstack-form.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-headless-ui-patterns-beyond-radix</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-headless-ui-patterns-jenseits-von-radix" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-headless-ui-patterns-beyond-radix" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-headless-ui-patterns-beyond-radix.webp</image:loc><image:title>Headless UI Patterns in React: Beyond Radix</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Headless&#x20;UI&#x20;Patterns&#x20;in&#x20;React&#x3A;&#x20;Beyond&#x20;Radix"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-headless-ui-patterns-beyond-radix.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-magento-graphql-storefront-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-magento-graphql-storefront-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-magento-graphql-storefront-guide" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-magento-graphql-storefront-guide.webp</image:loc><image:title>Building a React Storefront on Magento GraphQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;React&#x20;Storefront&#x20;on&#x20;Magento&#x20;GraphQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-magento-graphql-storefront-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-monorepo-with-turborepo-building-it-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-monorepo-mit-turborepo-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-monorepo-with-turborepo-building-it-right" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-monorepo-with-turborepo-building-it-right.webp</image:loc><image:title>Building a React Monorepo with Turborepo</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;React&#x20;Monorepo&#x20;with&#x20;Turborepo"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-monorepo-with-turborepo-building-it-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-msw-mock-service-worker-for-api-tests-without-backend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-msw-mock-service-worker-fuer-api-tests-ohne-backend" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-msw-mock-service-worker-for-api-tests-without-backend" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-msw-mock-service-worker-for-api-tests-without-backend.webp</image:loc><image:title>MSW: Mock Service Worker for React API Tests Without a Backend</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MSW&#x3A;&#x20;Mock&#x20;Service&#x20;Worker&#x20;for&#x20;React&#x20;API&#x20;Tests&#x20;Without&#x20;a&#x20;Backend"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-msw-mock-service-worker-for-api-tests-without-backend.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-fundamentals-for-web-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-grundlagen-fuer-web-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-fundamentals-for-web-developers" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-fundamentals-for-web-developers.webp</image:loc><image:title>React Native Fundamentals for Web Developers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Fundamentals&#x20;for&#x20;Web&#x20;Developers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-fundamentals-for-web-developers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-performance-fundamentals-bridge-jsi-new-architecture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-performance-grundlagen-bridge-jsi-und-neue-architektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-performance-fundamentals-bridge-jsi-new-architecture" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-performance-fundamentals-bridge-jsi-new-architecture.webp</image:loc><image:title>React Native Performance Fundamentals: Bridge, JSI, New Architecture</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Performance&#x20;Fundamentals&#x3A;&#x20;Bridge,&#x20;JSI,&#x20;New&#x20;Architecture"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-performance-fundamentals-bridge-jsi-new-architecture.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-vs-pwa-decision-guide-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-vs-pwa-entscheidungshilfe-fuer-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-vs-pwa-decision-guide-for-teams" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-vs-pwa-decision-guide-for-teams.webp</image:loc><image:title>React Native vs PWA: A Decision Guide for Teams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;vs&#x20;PWA&#x3A;&#x20;A&#x20;Decision&#x20;Guide&#x20;for&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-vs-pwa-decision-guide-for-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-nextjs-edge-runtime-vs-node-runtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-next-js-edge-runtime-vs-node-runtime" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-nextjs-edge-runtime-vs-node-runtime" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-nextjs-edge-runtime-vs-node-runtime.webp</image:loc><image:title>Edge Runtime vs Node Runtime in Next.js: When to Use What</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Edge&#x20;Runtime&#x20;vs&#x20;Node&#x20;Runtime&#x20;in&#x20;Next.js&#x3A;&#x20;When&#x20;to&#x20;Use&#x20;What"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-nextjs-edge-runtime-vs-node-runtime.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-nextjs-image-optimization-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-next-js-image-optimierung-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-nextjs-image-optimization-in-depth" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-nextjs-image-optimization-in-depth.webp</image:loc><image:title>Next.js Image Optimization in Depth: sizes, Priority, and LCP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Next.js&#x20;Image&#x20;Optimization&#x20;in&#x20;Depth&#x3A;&#x20;sizes,&#x20;Priority,&#x20;and&#x20;LCP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-nextjs-image-optimization-in-depth.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-nextjs-isr-incremental-static-regeneration-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-next-js-isr-incremental-static-regeneration-praktisch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-nextjs-isr-incremental-static-regeneration-in-practice" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-nextjs-isr-incremental-static-regeneration-in-practice.webp</image:loc><image:title>ISR: Incremental Static Regeneration in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ISR&#x3A;&#x20;Incremental&#x20;Static&#x20;Regeneration&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-nextjs-isr-incremental-static-regeneration-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-nextjs-middleware-patterns-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-next-js-middleware-patterns-erklart" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-nextjs-middleware-patterns-explained" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-nextjs-middleware-patterns-explained.webp</image:loc><image:title>Next.js Middleware Patterns Explained: Routing, Auth, and Rewrites</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Next.js&#x20;Middleware&#x20;Patterns&#x20;Explained&#x3A;&#x20;Routing,&#x20;Auth,&#x20;and&#x20;Rewrites"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-nextjs-middleware-patterns-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-nextjs-streaming-ssr-suspense-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-next-js-streaming-ssr-suspense-im-detail-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-nextjs-streaming-ssr-suspense-in-depth" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-nextjs-streaming-ssr-suspense-in-depth.webp</image:loc><image:title>Streaming SSR in Depth: Suspense, Selective Hydration &amp; TTFB</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Streaming&#x20;SSR&#x20;in&#x20;Depth&#x3A;&#x20;Suspense,&#x20;Selective&#x20;Hydration&#x20;&amp;&#x20;TTFB"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-nextjs-streaming-ssr-suspense-in-depth.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-optimistic-updates-beyond-useoptimistic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-optimistic-updates-jenseits-von-useoptimistic" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-optimistic-updates-beyond-useoptimistic" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-optimistic-updates-beyond-useoptimistic.webp</image:loc><image:title>Optimistic Updates Beyond useOptimistic: Rollback with TanStack Query</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimistic&#x20;Updates&#x20;Beyond&#x20;useOptimistic&#x3A;&#x20;Rollback&#x20;with&#x20;TanStack&#x20;Query"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-optimistic-updates-beyond-useoptimistic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-polymorphic-components-with-as-prop</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-polymorphe-komponenten-mit-as-prop" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-polymorphic-components-with-as-prop" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-polymorphic-components-with-as-prop.webp</image:loc><image:title>Polymorphic Components with the as Prop in React</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Polymorphic&#x20;Components&#x20;with&#x20;the&#x20;as&#x20;Prop&#x20;in&#x20;React"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-polymorphic-components-with-as-prop.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-product-configurator-pattern-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-produktkonfigurator-pattern-fuer-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-product-configurator-pattern-for-magento" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-product-configurator-pattern-for-magento.webp</image:loc><image:title>React Product Configurator Pattern for Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Product&#x20;Configurator&#x20;Pattern&#x20;for&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-product-configurator-pattern-for-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/pwa-studio-vs-custom-react-frontend-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/pwa-studio-vs-eigenes-react-frontend-fuer-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/pwa-studio-vs-custom-react-frontend-for-magento" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/pwa-studio-vs-custom-react-frontend-for-magento.webp</image:loc><image:title>PWA Studio vs. Custom React Frontend for Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PWA&#x20;Studio&#x20;vs.&#x20;Custom&#x20;React&#x20;Frontend&#x20;for&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/pwa-studio-vs-custom-react-frontend-for-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-17-to-19-upgrade-checklist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-17-auf-19-upgrade-checkliste" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-17-to-19-upgrade-checklist" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-17-to-19-upgrade-checklist.webp</image:loc><image:title>React 17 to React 19 Upgrade: The Complete Checklist</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;17&#x20;to&#x20;React&#x20;19&#x20;Upgrade&#x3A;&#x20;The&#x20;Complete&#x20;Checklist"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-17-to-19-upgrade-checklist.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-recoil-vs-jotai-vs-zustand-state-management-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-recoil-vs-jotai-vs-zustand-state-management-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-recoil-vs-jotai-vs-zustand-state-management-comparison" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-recoil-vs-jotai-vs-zustand-state-management-comparison.webp</image:loc><image:title>Recoil vs Jotai vs Zustand: The State Management Decision Matrix</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Recoil&#x20;vs&#x20;Jotai&#x20;vs&#x20;Zustand&#x3A;&#x20;The&#x20;State&#x20;Management&#x20;Decision&#x20;Matrix"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-recoil-vs-jotai-vs-zustand-state-management-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-redux-toolkit-modern-patterns-rtk-query-and-createslice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-redux-toolkit-moderne-patterns-rtk-query-und-createslice" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-redux-toolkit-modern-patterns-rtk-query-and-createslice" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-redux-toolkit-modern-patterns-rtk-query-and-createslice.webp</image:loc><image:title>Redux Toolkit: Modern Patterns with RTK Query and createSlice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redux&#x20;Toolkit&#x3A;&#x20;Modern&#x20;Patterns&#x20;with&#x20;RTK&#x20;Query&#x20;and&#x20;createSlice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-redux-toolkit-modern-patterns-rtk-query-and-createslice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-rest-graphql-trpc-data-layer-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-rest-graphql-trpc-datenschicht-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-rest-graphql-trpc-data-layer-comparison" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-rest-graphql-trpc-data-layer-comparison.webp</image:loc><image:title>REST vs. GraphQL vs. tRPC in React Apps: Choosing the Right Data Layer</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="REST&#x20;vs.&#x20;GraphQL&#x20;vs.&#x20;tRPC&#x20;in&#x20;React&#x20;Apps&#x3A;&#x20;Choosing&#x20;the&#x20;Right&#x20;Data&#x20;Layer"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-rest-graphql-trpc-data-layer-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-screen-reader-testing-nvda-voiceover-jest-axe</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-screenreader-tests-nvda-voiceover-jest-axe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-screen-reader-testing-nvda-voiceover-jest-axe" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-screen-reader-testing-nvda-voiceover-jest-axe.webp</image:loc><image:title>Screen Reader Testing for React Apps: NVDA, VoiceOver, jest-axe</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Screen&#x20;Reader&#x20;Testing&#x20;for&#x20;React&#x20;Apps&#x3A;&#x20;NVDA,&#x20;VoiceOver,&#x20;jest-axe"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-screen-reader-testing-nvda-voiceover-jest-axe.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-slot-based-component-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-slot-basierte-komponenten-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-slot-based-component-apis" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-slot-based-component-apis.webp</image:loc><image:title>Slot Based Component APIs in React</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Slot&#x20;Based&#x20;Component&#x20;APIs&#x20;in&#x20;React"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-slot-based-component-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-snapshot-testing-pitfalls-and-better-alternatives</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-snapshot-testing-fallstricke-und-bessere-alternativen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-snapshot-testing-pitfalls-and-better-alternatives" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-snapshot-testing-pitfalls-and-better-alternatives.webp</image:loc><image:title>React Snapshot Testing: Pitfalls and Better Alternatives</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Snapshot&#x20;Testing&#x3A;&#x20;Pitfalls&#x20;and&#x20;Better&#x20;Alternatives"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-snapshot-testing-pitfalls-and-better-alternatives.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-tanstack-query-infinite-queries-pagination-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-tanstack-query-infinite-queries-pagination" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-tanstack-query-infinite-queries-pagination-patterns" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-tanstack-query-infinite-queries-pagination-patterns.webp</image:loc><image:title>Infinite Query Patterns with TanStack Query: Pain Free Pagination</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Infinite&#x20;Query&#x20;Patterns&#x20;with&#x20;TanStack&#x20;Query&#x3A;&#x20;Pain&#x20;Free&#x20;Pagination"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-tanstack-query-infinite-queries-pagination-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-keyboard-navigation-patterns-complex-ui-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-tastaturnavigation-muster-komplexe-ui-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-keyboard-navigation-patterns-complex-ui-components" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-keyboard-navigation-patterns-complex-ui-components.webp</image:loc><image:title>Keyboard Navigation in React: Patterns for Complex UI Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Keyboard&#x20;Navigation&#x20;in&#x20;React&#x3A;&#x20;Patterns&#x20;for&#x20;Complex&#x20;UI&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-keyboard-navigation-patterns-complex-ui-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-theming-system-with-css-variables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-theming-system-mit-css-variablen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-theming-system-with-css-variables" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-theming-system-with-css-variables.webp</image:loc><image:title>Theming System with CSS Variables in React</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Theming&#x20;System&#x20;with&#x20;CSS&#x20;Variables&#x20;in&#x20;React"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-theming-system-with-css-variables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/introducing-typescript-gradually-into-an-existing-react-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-schrittweise-in-bestehende-react-projekte-einfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/introducing-typescript-gradually-into-an-existing-react-project" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/introducing-typescript-gradually-into-an-existing-react-project.webp</image:loc><image:title>Introducing TypeScript Gradually into React</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Introducing&#x20;TypeScript&#x20;Gradually&#x20;into&#x20;React"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/introducing-typescript-gradually-into-an-existing-react-project.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-url-as-state-pattern-nuqs-and-searchparams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-url-als-state-pattern-nuqs-und-searchparams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-url-as-state-pattern-nuqs-and-searchparams" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-url-as-state-pattern-nuqs-and-searchparams.webp</image:loc><image:title>URL as State: Why SearchParams Often Beat useState</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="URL&#x20;as&#x20;State&#x3A;&#x20;Why&#x20;SearchParams&#x20;Often&#x20;Beat&#x20;useState"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-url-as-state-pattern-nuqs-and-searchparams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-visual-regression-testing-catching-ui-changes-automatically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-visual-regression-testing-ui-abweichungen-automatisch-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-visual-regression-testing-catching-ui-changes-automatically" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-visual-regression-testing-catching-ui-changes-automatically.webp</image:loc><image:title>Visual Regression Testing for React: Catching UI Changes Automatically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Visual&#x20;Regression&#x20;Testing&#x20;for&#x20;React&#x3A;&#x20;Catching&#x20;UI&#x20;Changes&#x20;Automatically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-visual-regression-testing-catching-ui-changes-automatically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/migrating-from-redux-to-zustand</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/von-redux-zu-zustand-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/migrating-from-redux-to-zustand" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/migrating-from-redux-to-zustand.webp</image:loc><image:title>Migrating from Redux to Zustand: Leaner State Management</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Migrating&#x20;from&#x20;Redux&#x20;to&#x20;Zustand&#x3A;&#x20;Leaner&#x20;State&#x20;Management"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/migrating-from-redux-to-zustand.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-cart-state-sync-with-magento-backend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-warenkorb-state-mit-magento-backend-synchronisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-cart-state-sync-with-magento-backend" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-cart-state-sync-with-magento-backend.webp</image:loc><image:title>Syncing React Cart State with the Magento Backend</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Syncing&#x20;React&#x20;Cart&#x20;State&#x20;with&#x20;the&#x20;Magento&#x20;Backend"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-cart-state-sync-with-magento-backend.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-xstate-state-machines-finite-automata-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-xstate-state-machines-endliche-automaten-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-xstate-state-machines-finite-automata-in-practice" />
<lastmod>2026-07-30T22:28:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-xstate-state-machines-finite-automata-in-practice.webp</image:loc><image:title>XState in React: State Machines for Complex UI States</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="XState&#x20;in&#x20;React&#x3A;&#x20;State&#x20;Machines&#x20;for&#x20;Complex&#x20;UI&#x20;States"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-xstate-state-machines-finite-automata-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-6-to-7-upgrade-checklist-step-by-step</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-6-auf-7-upgrade-checkliste-schritt-fur-schritt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-6-to-7-upgrade-checklist-step-by-step" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-6-to-7-upgrade-checklist-step-by-step.webp</image:loc><image:title>Symfony 6 to 7 Upgrade: The Step by Step Checklist</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;6&#x20;to&#x20;7&#x20;Upgrade&#x3A;&#x20;The&#x20;Step&#x20;by&#x20;Step&#x20;Checklist"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-6-to-7-upgrade-checklist-step-by-step.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-as-api-gateway-for-microservices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-als-api-gateway-fuer-microservices" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-as-api-gateway-for-microservices" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-as-api-gateway-for-microservices.webp</image:loc><image:title>Symfony as an API Gateway for Microservice Architectures</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;as&#x20;an&#x20;API&#x20;Gateway&#x20;for&#x20;Microservice&#x20;Architectures"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-as-api-gateway-for-microservices.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-api-platform-graphql-custom-resolvers-mutations-subscriptions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-api-platform-graphql-custom-resolver-mutations-subscriptions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-api-platform-graphql-custom-resolvers-mutations-subscriptions" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-api-platform-graphql-custom-resolvers-mutations-subscriptions.webp</image:loc><image:title>API Platform GraphQL: Custom Resolvers, Mutations and Subscriptions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Platform&#x20;GraphQL&#x3A;&#x20;Custom&#x20;Resolvers,&#x20;Mutations&#x20;and&#x20;Subscriptions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-api-platform-graphql-custom-resolvers-mutations-subscriptions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-api-platform-openapi-documentation-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-api-platform-openapi-dokumentation-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-api-platform-openapi-documentation-customization" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-api-platform-openapi-documentation-customization.webp</image:loc><image:title>Customizing API Platform OpenAPI Documentation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Customizing&#x20;API&#x20;Platform&#x20;OpenAPI&#x20;Documentation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-api-platform-openapi-documentation-customization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-api-platform-pagination-cursor-vs-offset-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-api-platform-paginierung-cursor-vs-offset-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-api-platform-pagination-cursor-vs-offset-strategies" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-api-platform-pagination-cursor-vs-offset-strategies.webp</image:loc><image:title>API Platform Pagination: Cursor vs Offset Strategies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Platform&#x20;Pagination&#x3A;&#x20;Cursor&#x20;vs&#x20;Offset&#x20;Strategies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-api-platform-pagination-cursor-vs-offset-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-api-platform-state-provider-processor-custom-data-sources</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-api-platform-state-provider-processor-eigene-datenquellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-api-platform-state-provider-processor-custom-data-sources" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-api-platform-state-provider-processor-custom-data-sources.webp</image:loc><image:title>API Platform State Provider and State Processor: Custom Data Sources</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Platform&#x20;State&#x20;Provider&#x20;and&#x20;State&#x20;Processor&#x3A;&#x20;Custom&#x20;Data&#x20;Sources"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-api-platform-state-provider-processor-custom-data-sources.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-api-platform-nested-resources-subresources-relations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-api-platform-verschachtelte-ressourcen-subresources-relationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-api-platform-nested-resources-subresources-relations" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-api-platform-nested-resources-subresources-relations.webp</image:loc><image:title>API Platform: Modeling Nested Resources and Subresources</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Platform&#x3A;&#x20;Modeling&#x20;Nested&#x20;Resources&#x20;and&#x20;Subresources"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-api-platform-nested-resources-subresources-relations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-api-token-authentication-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-api-token-authentifizierung-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-api-token-authentication-patterns" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-api-token-authentication-patterns.webp</image:loc><image:title>API Token Authentication in Symfony: Patterns for Secure APIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Token&#x20;Authentication&#x20;in&#x20;Symfony&#x3A;&#x20;Patterns&#x20;for&#x20;Secure&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-api-token-authentication-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-blackfire-profiling-performance-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-blackfire-profiling-performance-analyse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-blackfire-profiling-performance-analysis" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-blackfire-profiling-performance-analysis.webp</image:loc><image:title>Blackfire Profiling for Symfony Apps: Performance Bottlenecks in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Blackfire&#x20;Profiling&#x20;for&#x20;Symfony&#x20;Apps&#x3A;&#x20;Performance&#x20;Bottlenecks&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-blackfire-profiling-performance-analysis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-blue-green-deployment-with-zero-downtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-blue-green-deployment-ohne-ausfallzeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-blue-green-deployment-with-zero-downtime" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-blue-green-deployment-with-zero-downtime.webp</image:loc><image:title>Blue Green Deployment for Symfony Applications with Zero Downtime</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Blue&#x20;Green&#x20;Deployment&#x20;for&#x20;Symfony&#x20;Applications&#x20;with&#x20;Zero&#x20;Downtime"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-blue-green-deployment-with-zero-downtime.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-configuration-tree-builder-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-bundle-configuration-tree-builder-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-configuration-tree-builder-in-depth" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-configuration-tree-builder-in-depth.webp</image:loc><image:title>Symfony Configuration Tree Builder In Depth: Validating Bundle Configuration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Configuration&#x20;Tree&#x20;Builder&#x20;In&#x20;Depth&#x3A;&#x20;Validating&#x20;Bundle&#x20;Configuration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-configuration-tree-builder-in-depth.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-bundle-extension-class-and-compiler-pass-registration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-bundle-extension-klasse-und-compiler-pass-registrierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-bundle-extension-class-and-compiler-pass-registration" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-bundle-extension-class-and-compiler-pass-registration.webp</image:loc><image:title>Symfony Bundle Extension Class and Compiler Pass Registration In Depth</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Bundle&#x20;Extension&#x20;Class&#x20;and&#x20;Compiler&#x20;Pass&#x20;Registration&#x20;In&#x20;Depth"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-bundle-extension-class-and-compiler-pass-registration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-sharing-bundles-across-projects-composer-private-packagist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-bundles-projektuebergreifend-teilen-composer-private-packagist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-sharing-bundles-across-projects-composer-private-packagist" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-sharing-bundles-across-projects-composer-private-packagist.webp</image:loc><image:title>Sharing Symfony Bundles Across Projects: Composer, Private Packagist and Satis</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sharing&#x20;Symfony&#x20;Bundles&#x20;Across&#x20;Projects&#x3A;&#x20;Composer,&#x20;Private&#x20;Packagist&#x20;and&#x20;Satis"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-sharing-bundles-across-projects-composer-private-packagist.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/managing-composer-dependencies-during-symfony-major-upgrades</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-composer-abhaengigkeiten-bei-major-upgrades-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/managing-composer-dependencies-during-symfony-major-upgrades" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/managing-composer-dependencies-during-symfony-major-upgrades.webp</image:loc><image:title>Managing Composer Dependencies During Symfony Major Upgrades</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;Composer&#x20;Dependencies&#x20;During&#x20;Symfony&#x20;Major&#x20;Upgrades"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/managing-composer-dependencies-during-symfony-major-upgrades.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-container-warmup-compiled-container-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-container-warmup-kompilierter-container-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-container-warmup-compiled-container-performance" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-container-warmup-compiled-container-performance.webp</image:loc><image:title>Symfony Container Warmup: Compiled Container and Boot Performance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Container&#x20;Warmup&#x3A;&#x20;Compiled&#x20;Container&#x20;and&#x20;Boot&#x20;Performance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-container-warmup-compiled-container-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-contract-testing-apis-breaking-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-contract-testing-apis-breaking-changes-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-contract-testing-apis-breaking-changes" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-contract-testing-apis-breaking-changes.webp</image:loc><image:title>Contract Testing for Symfony APIs: Catching Breaking Changes Before Deployment</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Contract&#x20;Testing&#x20;for&#x20;Symfony&#x20;APIs&#x3A;&#x20;Catching&#x20;Breaking&#x20;Changes&#x20;Before&#x20;Deployment"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-contract-testing-apis-breaking-changes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-docker-production-images-multi-stage-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-docker-produktions-images-multi-stage-builds" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-docker-production-images-multi-stage-builds" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-docker-production-images-multi-stage-builds.webp</image:loc><image:title>Symfony Docker Images: Production Ready Multi Stage Builds</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Docker&#x20;Images&#x3A;&#x20;Production&#x20;Ready&#x20;Multi&#x20;Stage&#x20;Builds"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-docker-production-images-multi-stage-builds.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-doctrine-batch-processing-large-datasets-efficiently</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-doctrine-batch-processing-grosse-datenmengen-effizient-verarbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-doctrine-batch-processing-large-datasets-efficiently" />
<lastmod>2026-07-31T11:05:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-batch-processing-large-datasets-efficiently.webp</image:loc><image:title>Doctrine Batch Processing for Large Datasets</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Doctrine&#x20;Batch&#x20;Processing&#x20;for&#x20;Large&#x20;Datasets"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-batch-processing-large-datasets-efficiently.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-doctrine-custom-dql-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-doctrine-eigene-dql-funktionen-registrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-doctrine-custom-dql-functions" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-custom-dql-functions.webp</image:loc><image:title>Writing Custom DQL Functions in Doctrine</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Custom&#x20;DQL&#x20;Functions&#x20;in&#x20;Doctrine"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-custom-dql-functions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-doctrine-embeddables-value-objects-for-ddd</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-doctrine-embeddables-value-objects-domain-driven-design" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-doctrine-embeddables-value-objects-for-ddd" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-embeddables-value-objects-for-ddd.webp</image:loc><image:title>Embeddables and Value Objects in Doctrine</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Embeddables&#x20;and&#x20;Value&#x20;Objects&#x20;in&#x20;Doctrine"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-embeddables-value-objects-for-ddd.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-doctrine-migrations-best-practices-safe-schema-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-doctrine-migrations-best-practices-sichere-schema-migrationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-doctrine-migrations-best-practices-safe-schema-changes" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-migrations-best-practices-safe-schema-changes.webp</image:loc><image:title>Doctrine Migrations Best Practices</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Doctrine&#x20;Migrations&#x20;Best&#x20;Practices"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-migrations-best-practices-safe-schema-changes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/migrating-doctrine-orm-2-to-3-in-symfony</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-doctrine-orm-2-auf-3-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/migrating-doctrine-orm-2-to-3-in-symfony" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/migrating-doctrine-orm-2-to-3-in-symfony.webp</image:loc><image:title>Migrating Doctrine ORM 2 to 3: Breaking Changes in Symfony</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Migrating&#x20;Doctrine&#x20;ORM&#x20;2&#x20;to&#x20;3&#x3A;&#x20;Breaking&#x20;Changes&#x20;in&#x20;Symfony"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/migrating-doctrine-orm-2-to-3-in-symfony.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-doctrine-repository-tests-in-memory-sqlite</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-doctrine-repository-tests-sqlite-im-speicher" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-doctrine-repository-tests-in-memory-sqlite" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-repository-tests-in-memory-sqlite.webp</image:loc><image:title>Testing Doctrine Repositories with In-Memory SQLite: Fast Integration Tests in Symfony</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;Doctrine&#x20;Repositories&#x20;with&#x20;In-Memory&#x20;SQLite&#x3A;&#x20;Fast&#x20;Integration&#x20;Tests&#x20;in&#x20;Symfony"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-repository-tests-in-memory-sqlite.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-doctrine-second-level-cache-in-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-doctrine-second-level-cache-produktiv-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-doctrine-second-level-cache-in-production" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-second-level-cache-in-production.webp</image:loc><image:title>Doctrine Second Level Cache in Production</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Doctrine&#x20;Second&#x20;Level&#x20;Cache&#x20;in&#x20;Production"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-second-level-cache-in-production.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-domain-driven-design-tactical-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-domain-driven-design-taktische-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-domain-driven-design-tactical-patterns" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-domain-driven-design-tactical-patterns.webp</image:loc><image:title>Domain Driven Design in Symfony Projects: Tactical Patterns</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Domain&#x20;Driven&#x20;Design&#x20;in&#x20;Symfony&#x20;Projects&#x3A;&#x20;Tactical&#x20;Patterns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-domain-driven-design-tactical-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-custom-authenticator-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-eigener-authenticator-von-grund-auf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-custom-authenticator-from-scratch" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-custom-authenticator-from-scratch.webp</image:loc><image:title>Custom Symfony Authenticator From Scratch: Authentication Without a Bundle</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Symfony&#x20;Authenticator&#x20;From&#x20;Scratch&#x3A;&#x20;Authentication&#x20;Without&#x20;a&#x20;Bundle"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-custom-authenticator-from-scratch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-building-a-custom-bundle-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-eigenes-bundle-von-grund-auf-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-building-a-custom-bundle-from-scratch" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-building-a-custom-bundle-from-scratch.webp</image:loc><image:title>Building a Custom Symfony Bundle from Scratch: Reusable Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Custom&#x20;Symfony&#x20;Bundle&#x20;from&#x20;Scratch&#x3A;&#x20;Reusable&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-building-a-custom-bundle-from-scratch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-migrating-encore-to-assetmapper-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-encore-zu-assetmapper-migration-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-migrating-encore-to-assetmapper-in-practice" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-migrating-encore-to-assetmapper-in-practice.webp</image:loc><image:title>From Encore to AssetMapper: Migrating a Symfony Frontend in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="From&#x20;Encore&#x20;to&#x20;AssetMapper&#x3A;&#x20;Migrating&#x20;a&#x20;Symfony&#x20;Frontend&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-migrating-encore-to-assetmapper-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-event-driven-microservices-with-messenger</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-event-driven-microservices-mit-messenger" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-event-driven-microservices-with-messenger" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-event-driven-microservices-with-messenger.webp</image:loc><image:title>Event Driven Microservices with Symfony Messenger</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Event&#x20;Driven&#x20;Microservices&#x20;with&#x20;Symfony&#x20;Messenger"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-event-driven-microservices-with-messenger.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-flex-recipes-explained-and-custom-recipes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-flex-recipes-verstehen-und-eigene-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-flex-recipes-explained-and-custom-recipes" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-flex-recipes-explained-and-custom-recipes.webp</image:loc><image:title>Symfony Flex Recipes Explained: How They Work and Custom Recipes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Flex&#x20;Recipes&#x20;Explained&#x3A;&#x20;How&#x20;They&#x20;Work&#x20;and&#x20;Custom&#x20;Recipes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-flex-recipes-explained-and-custom-recipes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-http-cache-reverse-proxy-esi-without-varnish</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-http-cache-reverse-proxy-esi-ohne-varnish" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-http-cache-reverse-proxy-esi-without-varnish" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-http-cache-reverse-proxy-esi-without-varnish.webp</image:loc><image:title>HTTP Caching with the Symfony Reverse Proxy: ESI Without Varnish</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="HTTP&#x20;Caching&#x20;with&#x20;the&#x20;Symfony&#x20;Reverse&#x20;Proxy&#x3A;&#x20;ESI&#x20;Without&#x20;Varnish"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-http-cache-reverse-proxy-esi-without-varnish.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-internal-bundle-versioning-strategy-semver</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-interne-bundles-versionierungsstrategie-semver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-internal-bundle-versioning-strategy-semver" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-internal-bundle-versioning-strategy-semver.webp</image:loc><image:title>Internal Symfony Bundle Versioning Strategy: Applying SemVer Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Internal&#x20;Symfony&#x20;Bundle&#x20;Versioning&#x20;Strategy&#x3A;&#x20;Applying&#x20;SemVer&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-internal-bundle-versioning-strategy-semver.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-kernel-boot-performance-reducing-autowiring-overhead</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-kernel-boot-performance-lazy-services-autowiring" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-kernel-boot-performance-reducing-autowiring-overhead" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-kernel-boot-performance-reducing-autowiring-overhead.webp</image:loc><image:title>Symfony Kernel Boot Performance: Reducing Lazy Services and Autowiring Overhead</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Kernel&#x20;Boot&#x20;Performance&#x3A;&#x20;Reducing&#x20;Lazy&#x20;Services&#x20;and&#x20;Autowiring&#x20;Overhead"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-kernel-boot-performance-reducing-autowiring-overhead.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-kubernetes-health-checks-liveness-and-readiness-probes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-kubernetes-health-checks-liveness-und-readiness-probes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-kubernetes-health-checks-liveness-and-readiness-probes" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-kubernetes-health-checks-liveness-and-readiness-probes.webp</image:loc><image:title>Symfony and Kubernetes: Health Checks with Liveness and Readiness Probes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;and&#x20;Kubernetes&#x3A;&#x20;Health&#x20;Checks&#x20;with&#x20;Liveness&#x20;and&#x20;Readiness&#x20;Probes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-kubernetes-health-checks-liveness-and-readiness-probes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-migrating-legacy-symfony-4-applications-practical-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-legacy-symfony-4-anwendungen-migrieren-praxisleitfaden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-migrating-legacy-symfony-4-applications-practical-guide" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-migrating-legacy-symfony-4-applications-practical-guide.webp</image:loc><image:title>Migrating Legacy Symfony 4 Applications: A Practical Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Migrating&#x20;Legacy&#x20;Symfony&#x20;4&#x20;Applications&#x3A;&#x20;A&#x20;Practical&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-migrating-legacy-symfony-4-applications-practical-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-messenger-bus-mocking-in-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-messenger-bus-mocken-in-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-messenger-bus-mocking-in-tests" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-messenger-bus-mocking-in-tests.webp</image:loc><image:title>Mocking the Symfony Messenger Bus in Tests: Testing Async Handlers Without a Queue</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mocking&#x20;the&#x20;Symfony&#x20;Messenger&#x20;Bus&#x20;in&#x20;Tests&#x3A;&#x20;Testing&#x20;Async&#x20;Handlers&#x20;Without&#x20;a&#x20;Queue"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-messenger-bus-mocking-in-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-modular-monolith-structuring-with-bundles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-modularer-monolith-mit-bundles-strukturieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-modular-monolith-structuring-with-bundles" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-modular-monolith-structuring-with-bundles.webp</image:loc><image:title>Modular Monolith with Symfony Bundles: Structuring Large Applications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modular&#x20;Monolith&#x20;with&#x20;Symfony&#x20;Bundles&#x3A;&#x20;Structuring&#x20;Large&#x20;Applications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-modular-monolith-structuring-with-bundles.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-mutation-testing-infection-test-quality</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-mutation-testing-infection-testqualitaet-messen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-mutation-testing-infection-test-quality" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-mutation-testing-infection-test-quality.webp</image:loc><image:title>Mutation Testing with Infection in Symfony: Measuring Test Quality Beyond Coverage</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mutation&#x20;Testing&#x20;with&#x20;Infection&#x20;in&#x20;Symfony&#x3A;&#x20;Measuring&#x20;Test&#x20;Quality&#x20;Beyond&#x20;Coverage"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-mutation-testing-infection-test-quality.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-oauth2-and-openid-connect-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-oauth2-und-openid-connect-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-oauth2-and-openid-connect-integration" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-oauth2-and-openid-connect-integration.webp</image:loc><image:title>Integrating OAuth2 and OpenID Connect in Symfony: A Practical Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrating&#x20;OAuth2&#x20;and&#x20;OpenID&#x20;Connect&#x20;in&#x20;Symfony&#x3A;&#x20;A&#x20;Practical&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-oauth2-and-openid-connect-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-opcache-preloading-production-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-opcache-preloading-produktions-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-opcache-preloading-production-performance" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-opcache-preloading-production-performance.webp</image:loc><image:title>Symfony OPcache Preloading: Production Performance Without Cold Starts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;OPcache&#x20;Preloading&#x3A;&#x20;Production&#x20;Performance&#x20;Without&#x20;Cold&#x20;Starts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-opcache-preloading-production-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-php-84-features-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-php-84-features-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-php-84-features-in-practice" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-php-84-features-in-practice.webp</image:loc><image:title>PHP 8.4 in Symfony in Practice: Property Hooks, Asymmetric Visibility</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHP&#x20;8.4&#x20;in&#x20;Symfony&#x20;in&#x20;Practice&#x3A;&#x20;Property&#x20;Hooks,&#x20;Asymmetric&#x20;Visibility"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-php-84-features-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-phpunit-data-providers-parameterized-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-phpunit-data-provider-parametrisierte-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-phpunit-data-providers-parameterized-tests" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-phpunit-data-providers-parameterized-tests.webp</image:loc><image:title>PHPUnit Data Providers in Symfony: Parameterized Tests Without Duplication</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;Data&#x20;Providers&#x20;in&#x20;Symfony&#x3A;&#x20;Parameterized&#x20;Tests&#x20;Without&#x20;Duplication"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-phpunit-data-providers-parameterized-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-plus-inertia-js-spa-feel-without-a-dedicated-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-plus-inertia-js-spa-gefuehl-ohne-eigene-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-plus-inertia-js-spa-feel-without-a-dedicated-api" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-plus-inertia-js-spa-feel-without-a-dedicated-api.webp</image:loc><image:title>Combining Symfony with Inertia.js: SPA Feel Without a Dedicated API</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Combining&#x20;Symfony&#x20;with&#x20;Inertia.js&#x3A;&#x20;SPA&#x20;Feel&#x20;Without&#x20;a&#x20;Dedicated&#x20;API"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-plus-inertia-js-spa-feel-without-a-dedicated-api.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-remember-me-and-session-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-remember-me-und-session-sicherheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-remember-me-and-session-security" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-remember-me-and-session-security.webp</image:loc><image:title>Remember Me and Session Security in Symfony: The Complete Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Remember&#x20;Me&#x20;and&#x20;Session&#x20;Security&#x20;in&#x20;Symfony&#x3A;&#x20;The&#x20;Complete&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-remember-me-and-session-security.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-secrets-and-vault-management-with-hashicorp-vault</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-secrets-und-vault-management-mit-hashicorp-vault" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-secrets-and-vault-management-with-hashicorp-vault" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-secrets-and-vault-management-with-hashicorp-vault.webp</image:loc><image:title>Symfony Secrets and Vault Management with HashiCorp Vault</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Secrets&#x20;and&#x20;Vault&#x20;Management&#x20;with&#x20;HashiCorp&#x20;Vault"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-secrets-and-vault-management-with-hashicorp-vault.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-security-voters-advanced-composition</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-security-voters-fortgeschrittene-komposition" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-security-voters-advanced-composition" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-security-voters-advanced-composition.webp</image:loc><image:title>Symfony Security Voters: Advanced Composition and Inheritance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Security&#x20;Voters&#x3A;&#x20;Advanced&#x20;Composition&#x20;and&#x20;Inheritance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-security-voters-advanced-composition.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-shared-kernel-pattern-for-microservices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-shared-kernel-pattern-fuer-microservices" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-shared-kernel-pattern-for-microservices" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-shared-kernel-pattern-for-microservices.webp</image:loc><image:title>Shared Kernel Pattern for Microservices with Symfony</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Shared&#x20;Kernel&#x20;Pattern&#x20;for&#x20;Microservices&#x20;with&#x20;Symfony"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-shared-kernel-pattern-for-microservices.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-stimulus-controllers-lifecycle-targets-values-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-stimulus-controller-lifecycle-targets-values-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-stimulus-controllers-lifecycle-targets-values-explained" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-stimulus-controllers-lifecycle-targets-values-explained.webp</image:loc><image:title>Stimulus Controllers in Detail: Lifecycle, Targets and Values Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Stimulus&#x20;Controllers&#x20;in&#x20;Detail&#x3A;&#x20;Lifecycle,&#x20;Targets&#x20;and&#x20;Values&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-stimulus-controllers-lifecycle-targets-values-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/migrating-twig-2-to-twig-3-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-twig-2-auf-twig-3-migration-praxisleitfaden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/migrating-twig-2-to-twig-3-guide" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/migrating-twig-2-to-twig-3-guide.webp</image:loc><image:title>Migrating Twig 2 to Twig 3: A Practical Guide for Symfony</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Migrating&#x20;Twig&#x20;2&#x20;to&#x20;Twig&#x20;3&#x3A;&#x20;A&#x20;Practical&#x20;Guide&#x20;for&#x20;Symfony"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/migrating-twig-2-to-twig-3-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-ux-autocomplete-tom-select-without-custom-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-ux-autocomplete-tom-select-ohne-eigenes-javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-ux-autocomplete-tom-select-without-custom-javascript" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-ux-autocomplete-tom-select-without-custom-javascript.webp</image:loc><image:title>Symfony UX Autocomplete: Live Search with Tom Select and Zero Custom JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;UX&#x20;Autocomplete&#x3A;&#x20;Live&#x20;Search&#x20;with&#x20;Tom&#x20;Select&#x20;and&#x20;Zero&#x20;Custom&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-ux-autocomplete-tom-select-without-custom-javascript.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-ux-dropzone-drag-and-drop-file-uploads</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-ux-dropzone-datei-uploads-per-drag-and-drop" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-ux-dropzone-drag-and-drop-file-uploads" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-ux-dropzone-drag-and-drop-file-uploads.webp</image:loc><image:title>Symfony UX Dropzone: Drag-and-Drop File Uploads Without a JS Library</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;UX&#x20;Dropzone&#x3A;&#x20;Drag-and-Drop&#x20;File&#x20;Uploads&#x20;Without&#x20;a&#x20;JS&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-ux-dropzone-drag-and-drop-file-uploads.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-replacing-outdated-bundles-modern-alternatives-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-veraltete-bundles-ersetzen-moderne-alternativen-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-replacing-outdated-bundles-modern-alternatives-2026" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-replacing-outdated-bundles-modern-alternatives-2026.webp</image:loc><image:title>Replacing Outdated Symfony Bundles: Modern Alternatives for 2026</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Replacing&#x20;Outdated&#x20;Symfony&#x20;Bundles&#x3A;&#x20;Modern&#x20;Alternatives&#x20;for&#x20;2026"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-replacing-outdated-bundles-modern-alternatives-2026.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony-zero-downtime-database-migrations-with-doctrine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/symfony-zero-downtime-datenbankmigrationen-mit-doctrine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony-zero-downtime-database-migrations-with-doctrine" />
<lastmod>2026-07-31T11:05:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-zero-downtime-database-migrations-with-doctrine.webp</image:loc><image:title>Zero Downtime Database Migrations in Symfony with Doctrine</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Zero&#x20;Downtime&#x20;Database&#x20;Migrations&#x20;in&#x20;Symfony&#x20;with&#x20;Doctrine"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-zero-downtime-database-migrations-with-doctrine.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-alpinejs-advanced-combination-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-alpinejs-kombinationsmuster-fortgeschritten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-alpinejs-advanced-combination-patterns" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-alpinejs-advanced-combination-patterns.webp</image:loc><image:title>Tailwind CSS and Alpine.js: Advanced Combination Patterns</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;and&#x20;Alpine.js&#x3A;&#x20;Advanced&#x20;Combination&#x20;Patterns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-alpinejs-advanced-combination-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-angular-standalone-components-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-angular-standalone-components" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-angular-standalone-components-integration" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-angular-standalone-components-integration.webp</image:loc><image:title>Tailwind CSS with Angular Standalone Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;with&#x20;Angular&#x20;Standalone&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-angular-standalone-components-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-arbitrary-values-best-practices-anti-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-arbitrary-values-best-practices-antipatterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-arbitrary-values-best-practices-anti-patterns" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-arbitrary-values-best-practices-anti-patterns.webp</image:loc><image:title>Arbitrary Values in Tailwind: Best Practices and Anti Patterns</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Arbitrary&#x20;Values&#x20;in&#x20;Tailwind&#x3A;&#x20;Best&#x20;Practices&#x20;and&#x20;Anti&#x20;Patterns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-arbitrary-values-best-practices-anti-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-aria-live-regions-dynamic-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-aria-live-regions-dynamische-inhalte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-aria-live-regions-dynamic-content" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-aria-live-regions-dynamic-content.webp</image:loc><image:title>ARIA Live Regions for Dynamic Content: Controlling Screen Reader Announcements with Tailwind CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ARIA&#x20;Live&#x20;Regions&#x20;for&#x20;Dynamic&#x20;Content&#x3A;&#x20;Controlling&#x20;Screen&#x20;Reader&#x20;Announcements&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-aria-live-regions-dynamic-content.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-astro-islands-architecture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-astro-islands-architektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-astro-islands-architecture" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-astro-islands-architecture.webp</image:loc><image:title>Tailwind CSS with Astro: Islands Architecture Without Utility Bloat</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;with&#x20;Astro&#x3A;&#x20;Islands&#x20;Architecture&#x20;Without&#x20;Utility&#x20;Bloat"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-astro-islands-architecture.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-accessible-forms-labels-error-messages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-barrierefreie-formulare-labels-fehlermeldungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-accessible-forms-labels-error-messages" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-accessible-forms-labels-error-messages.webp</image:loc><image:title>Accessible Forms with Tailwind CSS: Designing Labels, Error Messages and Fieldsets Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessible&#x20;Forms&#x20;with&#x20;Tailwind&#x20;CSS&#x3A;&#x20;Designing&#x20;Labels,&#x20;Error&#x20;Messages&#x20;and&#x20;Fieldsets&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-accessible-forms-labels-error-messages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-accessible-tooltips-popover-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-barrierefreie-tooltips-popover-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-accessible-tooltips-popover-patterns" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-accessible-tooltips-popover-patterns.webp</image:loc><image:title>Accessible Tooltip and Popover Patterns with Tailwind CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessible&#x20;Tooltip&#x20;and&#x20;Popover&#x20;Patterns&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-accessible-tooltips-popover-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-migrating-from-bootstrap-phased-plan</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-bootstrap-migration-stufenplan" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-migrating-from-bootstrap-phased-plan" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-migrating-from-bootstrap-phased-plan.webp</image:loc><image:title>Migrating from Bootstrap to Tailwind: A Phased Plan for Large Legacy Codebases</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Migrating&#x20;from&#x20;Bootstrap&#x20;to&#x20;Tailwind&#x3A;&#x20;A&#x20;Phased&#x20;Plan&#x20;for&#x20;Large&#x20;Legacy&#x20;Codebases"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-migrating-from-bootstrap-phased-plan.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-build-time-optimization-monorepo-caching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-build-zeit-optimierung-monorepo-caching" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-build-time-optimization-monorepo-caching" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-build-time-optimization-monorepo-caching.webp</image:loc><image:title>Build Time Optimization for Tailwind CSS in Monorepos</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Build&#x20;Time&#x20;Optimization&#x20;for&#x20;Tailwind&#x20;CSS&#x20;in&#x20;Monorepos"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-build-time-optimization-monorepo-caching.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-bundle-analysis-tools-measuring-css-size</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-bundle-analyse-tools-css-groesse-messen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-bundle-analysis-tools-measuring-css-size" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-bundle-analysis-tools-measuring-css-size.webp</image:loc><image:title>Tailwind CSS Bundle Analysis: Tools to Measure Size</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Bundle&#x20;Analysis&#x3A;&#x20;Tools&#x20;to&#x20;Measure&#x20;Size"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-bundle-analysis-tools-measuring-css-size.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-cascade-layers-interplay</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-cascade-layers-zusammenspiel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-cascade-layers-interplay" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-cascade-layers-interplay.webp</image:loc><image:title>Tailwind and CSS Cascade Layers: Getting the Interplay Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;and&#x20;CSS&#x20;Cascade&#x20;Layers&#x3A;&#x20;Getting&#x20;the&#x20;Interplay&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-cascade-layers-interplay.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-content-configuration-pitfalls-monorepo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-content-konfiguration-fallstricke-monorepo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-content-configuration-pitfalls-monorepo" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-content-configuration-pitfalls-monorepo.webp</image:loc><image:title>Tailwind CSS Content Configuration: Pitfalls with Globs and Monorepos</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Content&#x20;Configuration&#x3A;&#x20;Pitfalls&#x20;with&#x20;Globs&#x20;and&#x20;Monorepos"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-content-configuration-pitfalls-monorepo.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-content-scanning-pitfalls-headless-cms-mdx</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-content-scanning-fallstricke-headless-cms-mdx" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-content-scanning-pitfalls-headless-cms-mdx" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-content-scanning-pitfalls-headless-cms-mdx.webp</image:loc><image:title>Content Scanning Pitfalls: Headless CMS, MDX &amp; More</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Content&#x20;Scanning&#x20;Pitfalls&#x3A;&#x20;Headless&#x20;CMS,&#x20;MDX&#x20;&amp;&#x20;More"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-content-scanning-pitfalls-headless-cms-mdx.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-splitting-css-per-page-route-multi-entry-build</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-css-pro-route-aufteilen-multi-entry-build" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-splitting-css-per-page-route-multi-entry-build" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-splitting-css-per-page-route-multi-entry-build.webp</image:loc><image:title>Splitting Tailwind CSS per Page: Multi-Entry Builds</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Splitting&#x20;Tailwind&#x20;CSS&#x20;per&#x20;Page&#x3A;&#x20;Multi-Entry&#x20;Builds"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-splitting-css-per-page-route-multi-entry-build.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-dashboard-layout-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-dashboard-layout-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-dashboard-layout-patterns" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-dashboard-layout-patterns.webp</image:loc><image:title>Tailwind CSS Dashboard Layout: Patterns for Admin Interfaces</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Dashboard&#x20;Layout&#x3A;&#x20;Patterns&#x20;for&#x20;Admin&#x20;Interfaces"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-dashboard-layout-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-data-attribute-variants-state-driven-ui</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-data-attribute-variants-state-ui" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-data-attribute-variants-state-driven-ui" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-data-attribute-variants-state-driven-ui.webp</image:loc><image:title>Data Attribute Variants and Custom Variants for State-Driven UI in Tailwind</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Data&#x20;Attribute&#x20;Variants&#x20;and&#x20;Custom&#x20;Variants&#x20;for&#x20;State-Driven&#x20;UI&#x20;in&#x20;Tailwind"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-data-attribute-variants-state-driven-ui.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-data-table-styling-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-datentabellen-styling-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-data-table-styling-patterns" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-data-table-styling-patterns.webp</image:loc><image:title>Tailwind CSS Data Tables: Styling Patterns for Readable Tables</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Data&#x20;Tables&#x3A;&#x20;Styling&#x20;Patterns&#x20;for&#x20;Readable&#x20;Tables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-data-table-styling-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/design-system-adoption-audit-metrics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-system-adoption-audit-metriken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/design-system-adoption-audit-metrics" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/design-system-adoption-audit-metrics.webp</image:loc><image:title>Measuring Design System Adoption: Audit and Metrics for Tailwind</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Measuring&#x20;Design&#x20;System&#x20;Adoption&#x3A;&#x20;Audit&#x20;and&#x20;Metrics&#x20;for&#x20;Tailwind"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/design-system-adoption-audit-metrics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-design-system-governance-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-system-governance-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-design-system-governance-teams" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-design-system-governance-teams.webp</image:loc><image:title>Tailwind Design System Governance for Teams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;Design&#x20;System&#x20;Governance&#x20;for&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-design-system-governance-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-design-system-versioning-semver</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-system-versionierung-semver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-design-system-versioning-semver" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-design-system-versioning-semver.webp</image:loc><image:title>Versioning a Tailwind Design System: Semver, Changelog, Breaking Changes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Versioning&#x20;a&#x20;Tailwind&#x20;Design&#x20;System&#x3A;&#x20;Semver,&#x20;Changelog,&#x20;Breaking&#x20;Changes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-design-system-versioning-semver.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-native-dialog-element-modal-styling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-dialog-element-modal-styling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-native-dialog-element-modal-styling" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-native-dialog-element-modal-styling.webp</image:loc><image:title>Styling Modal Dialogs with the Native dialog Element</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Styling&#x20;Modal&#x20;Dialogs&#x20;with&#x20;the&#x20;Native&#x20;dialog&#x20;Element"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-native-dialog-element-modal-styling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-divide-space-between-child-elements</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-divide-space-between-utilities" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-divide-space-between-child-elements" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-divide-space-between-child-elements.webp</image:loc><image:title>Divide and Space Between Utilities in Tailwind CSS in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Divide&#x20;and&#x20;Space&#x20;Between&#x20;Utilities&#x20;in&#x20;Tailwind&#x20;CSS&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-divide-space-between-child-elements.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/email-client-compatibility-tailwind-outlook-gmail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-email-client-kompatibilitaet-outlook-gmail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/email-client-compatibility-tailwind-outlook-gmail" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/email-client-compatibility-tailwind-outlook-gmail.webp</image:loc><image:title>Email Client Compatibility: Tailwind CSS for Outlook and Gmail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Email&#x20;Client&#x20;Compatibility&#x3A;&#x20;Tailwind&#x20;CSS&#x20;for&#x20;Outlook&#x20;and&#x20;Gmail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/email-client-compatibility-tailwind-outlook-gmail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-color-contrast-audit-palettes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-farbkontrast-audit-paletten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-color-contrast-audit-palettes" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-color-contrast-audit-palettes.webp</image:loc><image:title>Color Contrast Audit for Tailwind Palettes: Systematically Checking WCAG-Compliant Colors</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Color&#x20;Contrast&#x20;Audit&#x20;for&#x20;Tailwind&#x20;Palettes&#x3A;&#x20;Systematically&#x20;Checking&#x20;WCAG-Compliant&#x20;Colors"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-color-contrast-audit-palettes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-filter-backdrop-filter-utilities-effects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-filter-backdrop-filter-utilities" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-filter-backdrop-filter-utilities-effects" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-filter-backdrop-filter-utilities-effects.webp</image:loc><image:title>Filter and Backdrop-Filter Utilities in Tailwind CSS Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Filter&#x20;and&#x20;Backdrop-Filter&#x20;Utilities&#x20;in&#x20;Tailwind&#x20;CSS&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-filter-backdrop-filter-utilities-effects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-focus-ring-design-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-fokusring-design-barrierefreiheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-focus-ring-design-accessibility" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-focus-ring-design-accessibility.webp</image:loc><image:title>Focus Ring Design for Accessibility: WCAG-Compliant Focus Indicators with Tailwind CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Focus&#x20;Ring&#x20;Design&#x20;for&#x20;Accessibility&#x3A;&#x20;WCAG-Compliant&#x20;Focus&#x20;Indicators&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-focus-ring-design-accessibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-form-wizard-step-indicator</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-formular-wizard-schritt-indikator" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-form-wizard-step-indicator" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-form-wizard-step-indicator.webp</image:loc><image:title>Building a Form Wizard Step Indicator</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Form&#x20;Wizard&#x20;Step&#x20;Indicator"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-form-wizard-step-indicator.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-group-peer-advanced-state-chains</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-group-peer-zustandsketten-advanced" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-group-peer-advanced-state-chains" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-group-peer-advanced-state-chains.webp</image:loc><image:title>Advanced Group and Peer State Combinations: Nested State Chains in Tailwind</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Advanced&#x20;Group&#x20;and&#x20;Peer&#x20;State&#x20;Combinations&#x3A;&#x20;Nested&#x20;State&#x20;Chains&#x20;in&#x20;Tailwind"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-group-peer-advanced-state-chains.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-html-email-templates-table-layout</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-html-email-templates-tabellen-layout" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-html-email-templates-table-layout" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-html-email-templates-table-layout.webp</image:loc><image:title>Tailwind CSS for HTML Email Templates: Table Layout Instead of Flexbox</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;for&#x20;HTML&#x20;Email&#x20;Templates&#x3A;&#x20;Table&#x20;Layout&#x20;Instead&#x20;of&#x20;Flexbox"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-html-email-templates-table-layout.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-htmx-hypermedia-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-htmx-hypermedia-anwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-htmx-hypermedia-applications" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-htmx-hypermedia-applications.webp</image:loc><image:title>Tailwind CSS with htmx: Styling Hypermedia Applications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;with&#x20;htmx&#x3A;&#x20;Styling&#x20;Hypermedia&#x20;Applications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-htmx-hypermedia-applications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-hyva-checkout-styling-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-hyva-checkout-styling-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-hyva-checkout-styling-patterns" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-hyva-checkout-styling-patterns.webp</image:loc><image:title>Hyvä Checkout Styling Patterns with Tailwind CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Checkout&#x20;Styling&#x20;Patterns&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-hyva-checkout-styling-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-hyva-cms-block-styling-conventions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-hyva-cms-block-styling-konventionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-hyva-cms-block-styling-conventions" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-hyva-cms-block-styling-conventions.webp</image:loc><image:title>Hyvä CMS Block Styling Conventions with Tailwind CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;CMS&#x20;Block&#x20;Styling&#x20;Conventions&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-hyva-cms-block-styling-conventions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-hyva-multi-store-theming-with-tailwind</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-hyva-multi-store-theming-tailwind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-hyva-multi-store-theming-with-tailwind" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-hyva-multi-store-theming-with-tailwind.webp</image:loc><image:title>Hyvä Multi Store Theming with Tailwind CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Multi&#x20;Store&#x20;Theming&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-hyva-multi-store-theming-with-tailwind.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-custom-tailwind-plugins-for-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-eigene-tailwind-plugins-hyva-kompilieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-custom-tailwind-plugins-for-hyva" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-custom-tailwind-plugins-for-hyva.webp</image:loc><image:title>Building Custom Tailwind CSS Plugins for Hyvä</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Custom&#x20;Tailwind&#x20;CSS&#x20;Plugins&#x20;for&#x20;Hyv&#xE4;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-custom-tailwind-plugins-for-hyva.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-hyva-theme-fallback-overrides-with-tailwind</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-hyva-theme-fallback-overrides" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-hyva-theme-fallback-overrides-with-tailwind" />
<lastmod>2026-07-31T11:06:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-hyva-theme-fallback-overrides-with-tailwind.webp</image:loc><image:title>Hyvä Theme Fallback and Overrides with Tailwind CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hyv&#xE4;&#x20;Theme&#x20;Fallback&#x20;and&#x20;Overrides&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-hyva-theme-fallback-overrides-with-tailwind.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-important-modifier-specificity-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-important-modifier-spezifitaetskontrolle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-important-modifier-specificity-control" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-important-modifier-specificity-control.webp</image:loc><image:title>Tailwind Important Modifier: Specificity Control Without CSS Chaos</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;Important&#x20;Modifier&#x3A;&#x20;Specificity&#x20;Control&#x20;Without&#x20;CSS&#x20;Chaos"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-important-modifier-specificity-control.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/inline-styles-from-tailwind-for-email</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-inline-styles-generieren-email" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/inline-styles-from-tailwind-for-email" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/inline-styles-from-tailwind-for-email.webp</image:loc><image:title>Generating Inline Styles from Tailwind for Email</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;Inline&#x20;Styles&#x20;from&#x20;Tailwind&#x20;for&#x20;Email"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/inline-styles-from-tailwind-for-email.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-isolated-component-theming-css-layers-widgets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-isoliertes-component-theming-css-layers-widgets" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-isolated-component-theming-css-layers-widgets" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-isolated-component-theming-css-layers-widgets.webp</image:loc><image:title>Isolated Component Theming with CSS Layers for Embedded Widgets</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Isolated&#x20;Component&#x20;Theming&#x20;with&#x20;CSS&#x20;Layers&#x20;for&#x20;Embedded&#x20;Widgets"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-isolated-component-theming-css-layers-widgets.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-kanban-board-styling-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-kanban-board-styling-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-kanban-board-styling-patterns" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-kanban-board-styling-patterns.webp</image:loc><image:title>Kanban Board Styling Patterns with Tailwind CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Kanban&#x20;Board&#x20;Styling&#x20;Patterns&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-kanban-board-styling-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-debugging-class-conflicts-specificity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-klassenkonflikte-debuggen-spezifitaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-debugging-class-conflicts-specificity" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-debugging-class-conflicts-specificity.webp</image:loc><image:title>Debugging Tailwind Class Conflicts: Specificity, Cascade Layers and Order</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Debugging&#x20;Tailwind&#x20;Class&#x20;Conflicts&#x3A;&#x20;Specificity,&#x20;Cascade&#x20;Layers&#x20;and&#x20;Order"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-debugging-class-conflicts-specificity.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-class-naming-conventions-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/klassennamenskonventionen-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-class-naming-conventions-teams" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-class-naming-conventions-teams.webp</image:loc><image:title>Tailwind Class Naming Conventions for Teams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;Class&#x20;Naming&#x20;Conventions&#x20;for&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-class-naming-conventions-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-laravel-blade-components-and-props</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-laravel-blade-components-und-props" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-laravel-blade-components-and-props" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-laravel-blade-components-and-props.webp</image:loc><image:title>Tailwind CSS with Laravel Blade: Components, @props and Vite Integration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;with&#x20;Laravel&#x20;Blade&#x3A;&#x20;Components,&#x20;&#x40;props&#x20;and&#x20;Vite&#x20;Integration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-laravel-blade-components-and-props.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-coexisting-with-legacy-css-incremental-migration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-legacy-css-koexistenz-schrittweise-migration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-coexisting-with-legacy-css-incremental-migration" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-coexisting-with-legacy-css-incremental-migration.webp</image:loc><image:title>Tailwind Alongside Legacy CSS: Incremental Migration Without a Big Bang</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;Alongside&#x20;Legacy&#x20;CSS&#x3A;&#x20;Incremental&#x20;Migration&#x20;Without&#x20;a&#x20;Big&#x20;Bang"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-coexisting-with-legacy-css-incremental-migration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-negative-values-inset-transform-overlap-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-negative-values-inset-transform-overlap" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-negative-values-inset-transform-overlap-layouts" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-negative-values-inset-transform-overlap-layouts.webp</image:loc><image:title>Negative Values, Inset and Transform Utilities for Overlap Layouts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Negative&#x20;Values,&#x20;Inset&#x20;and&#x20;Transform&#x20;Utilities&#x20;for&#x20;Overlap&#x20;Layouts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-negative-values-inset-transform-overlap-layouts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-notification-toast-styling-system</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-notification-toast-system" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-notification-toast-styling-system" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-notification-toast-styling-system.webp</image:loc><image:title>Building a Notification and Toast Styling System</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Notification&#x20;and&#x20;Toast&#x20;Styling&#x20;System"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-notification-toast-styling-system.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-oxide-engine-scanning-internals-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-oxide-engine-scanning-internals" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-oxide-engine-scanning-internals-explained" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-oxide-engine-scanning-internals-explained.webp</image:loc><image:title>Oxide Engine: How the Tailwind v4 Scanner Finds Classes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Oxide&#x20;Engine&#x3A;&#x20;How&#x20;the&#x20;Tailwind&#x20;v4&#x20;Scanner&#x20;Finds&#x20;Classes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-oxide-engine-scanning-internals-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/pdf-generation-tailwind-puppeteer</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-pdf-generierung-puppeteer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/pdf-generation-tailwind-puppeteer" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/pdf-generation-tailwind-puppeteer.webp</image:loc><image:title>PDF Generation with Tailwind CSS and Puppeteer</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PDF&#x20;Generation&#x20;with&#x20;Tailwind&#x20;CSS&#x20;and&#x20;Puppeteer"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/pdf-generation-tailwind-puppeteer.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/pdf-invoices-tailwind-dompdf-wkhtmltopdf</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-pdf-rechnungen-dompdf-wkhtmltopdf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/pdf-invoices-tailwind-dompdf-wkhtmltopdf" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/pdf-invoices-tailwind-dompdf-wkhtmltopdf.webp</image:loc><image:title>PDF Invoices with Tailwind CSS: Dompdf vs. wkhtmltopdf</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PDF&#x20;Invoices&#x20;with&#x20;Tailwind&#x20;CSS&#x3A;&#x20;Dompdf&#x20;vs.&#x20;wkhtmltopdf"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/pdf-invoices-tailwind-dompdf-wkhtmltopdf.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-seasonal-campaign-theme-overrides</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-saisonale-kampagnen-theme-overrides" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-seasonal-campaign-theme-overrides" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-seasonal-campaign-theme-overrides.webp</image:loc><image:title>Seasonal Campaign Theme Overrides with Tailwind CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Seasonal&#x20;Campaign&#x20;Theme&#x20;Overrides&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-seasonal-campaign-theme-overrides.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-smooth-theme-transitions-view-transitions-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-sanfte-theme-uebergaenge-view-transitions-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-smooth-theme-transitions-view-transitions-api" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-smooth-theme-transitions-view-transitions-api.webp</image:loc><image:title>Smooth Theme Transitions with the View Transitions API in Tailwind CSS v4</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Smooth&#x20;Theme&#x20;Transitions&#x20;with&#x20;the&#x20;View&#x20;Transitions&#x20;API&#x20;in&#x20;Tailwind&#x20;CSS&#x20;v4"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-smooth-theme-transitions-view-transitions-api.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-skeleton-loading-screen-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-skeleton-loading-screens-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-skeleton-loading-screen-patterns" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-skeleton-loading-screen-patterns.webp</image:loc><image:title>Skeleton Loading Screen Patterns with Tailwind CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Skeleton&#x20;Loading&#x20;Screen&#x20;Patterns&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-skeleton-loading-screen-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-spacing-scale-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-spacing-skala-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-spacing-scale-customization" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-spacing-scale-customization.webp</image:loc><image:title>Customizing the Tailwind Spacing Scale: Strategies for Consistent Spacing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Customizing&#x20;the&#x20;Tailwind&#x20;Spacing&#x20;Scale&#x3A;&#x20;Strategies&#x20;for&#x20;Consistent&#x20;Spacing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-spacing-scale-customization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-sr-only-utilities-screen-reader-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-sr-only-utilities-screenreader-inhalte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-sr-only-utilities-screen-reader-content" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-sr-only-utilities-screen-reader-content.webp</image:loc><image:title>Using sr-only Utilities Correctly: Screen-Reader-Only Content with Tailwind CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;sr-only&#x20;Utilities&#x20;Correctly&#x3A;&#x20;Screen-Reader-Only&#x20;Content&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-sr-only-utilities-screen-reader-content.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-svelte-sveltekit-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-svelte-sveltekit-setup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-svelte-sveltekit-integration" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-svelte-sveltekit-integration.webp</image:loc><image:title>Setting Up Tailwind CSS with Svelte and SvelteKit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;Tailwind&#x20;CSS&#x20;with&#x20;Svelte&#x20;and&#x20;SvelteKit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-svelte-sveltekit-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-keyboard-navigation-skip-links-focus-order</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-tastaturnavigation-skip-links-fokus-reihenfolge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-keyboard-navigation-skip-links-focus-order" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-keyboard-navigation-skip-links-focus-order.webp</image:loc><image:title>Keyboard Navigation with Tailwind CSS: Implementing Skip Links and Focus Order Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Keyboard&#x20;Navigation&#x20;with&#x20;Tailwind&#x20;CSS&#x3A;&#x20;Implementing&#x20;Skip&#x20;Links&#x20;and&#x20;Focus&#x20;Order&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-keyboard-navigation-skip-links-focus-order.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-theme-function-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-theme-funktion-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-theme-function-in-depth" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-theme-function-in-depth.webp</image:loc><image:title>The theme() Function in Tailwind CSS v4 in Depth</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;theme&#x28;&#x29;&#x20;Function&#x20;in&#x20;Tailwind&#x20;CSS&#x20;v4&#x20;in&#x20;Depth"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-theme-function-in-depth.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-theme-generator-json-design-tokens-theme-blocks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-theme-generator-design-tokens-json-theme-block" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-theme-generator-json-design-tokens-theme-blocks" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-theme-generator-json-design-tokens-theme-blocks.webp</image:loc><image:title>Theme Generator: Compiling JSON Design Tokens into @theme Blocks Automatically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Theme&#x20;Generator&#x3A;&#x20;Compiling&#x20;JSON&#x20;Design&#x20;Tokens&#x20;into&#x20;&#x40;theme&#x20;Blocks&#x20;Automatically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-theme-generator-json-design-tokens-theme-blocks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-theme-presets-user-profiles-beyond-dark-mode</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-theme-presets-nutzerprofile" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-theme-presets-user-profiles-beyond-dark-mode" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-theme-presets-user-profiles-beyond-dark-mode.webp</image:loc><image:title>Tailwind CSS Theme Presets: User Profiles Beyond Dark Mode</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;Theme&#x20;Presets&#x3A;&#x20;User&#x20;Profiles&#x20;Beyond&#x20;Dark&#x20;Mode"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-theme-presets-user-profiles-beyond-dark-mode.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/transactional-emails-tailwind-mjml</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-transaktions-emails-mjml" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/transactional-emails-tailwind-mjml" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/transactional-emails-tailwind-mjml.webp</image:loc><image:title>Designing Transactional Emails with Tailwind CSS and MJML</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Transactional&#x20;Emails&#x20;with&#x20;Tailwind&#x20;CSS&#x20;and&#x20;MJML"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/transactional-emails-tailwind-mjml.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-auditing-unused-classes-content-scanning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-ungenutzte-klassen-auditieren-content-scanning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-auditing-unused-classes-content-scanning" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-auditing-unused-classes-content-scanning.webp</image:loc><image:title>Auditing Unused Tailwind Classes: Content Scanning and Bundle Hygiene</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Auditing&#x20;Unused&#x20;Tailwind&#x20;Classes&#x3A;&#x20;Content&#x20;Scanning&#x20;and&#x20;Bundle&#x20;Hygiene"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-auditing-unused-classes-content-scanning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-v3-to-v4-upgrade-tool-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-v3-zu-v4-upgrade-tool-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-v3-to-v4-upgrade-tool-pitfalls" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-v3-to-v4-upgrade-tool-pitfalls.webp</image:loc><image:title>Tailwind v3 to v4: The Pitfalls of the Upgrade Tool in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;v3&#x20;to&#x20;v4&#x3A;&#x20;The&#x20;Pitfalls&#x20;of&#x20;the&#x20;Upgrade&#x20;Tool&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-v3-to-v4-upgrade-tool-pitfalls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/visual-regression-testing-design-system</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/visuelle-regressionstests-design-system" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/visual-regression-testing-design-system" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/visual-regression-testing-design-system.webp</image:loc><image:title>Visual Regression Testing for a Tailwind Design System</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Visual&#x20;Regression&#x20;Testing&#x20;for&#x20;a&#x20;Tailwind&#x20;Design&#x20;System"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/visual-regression-testing-design-system.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-vue-3-composition-api-best-practices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-vue3-composition-api-best-practices" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-vue-3-composition-api-best-practices" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-vue-3-composition-api-best-practices.webp</image:loc><image:title>Tailwind CSS with Vue 3: Best Practices for the Composition API</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;with&#x20;Vue&#x20;3&#x3A;&#x20;Best&#x20;Practices&#x20;for&#x20;the&#x20;Composition&#x20;API"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-vue-3-composition-api-best-practices.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-web-components-shadow-dom-styling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-web-components-shadow-dom" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-web-components-shadow-dom-styling" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-web-components-shadow-dom-styling.webp</image:loc><image:title>Tailwind CSS with Web Components and Shadow DOM</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;CSS&#x20;with&#x20;Web&#x20;Components&#x20;and&#x20;Shadow&#x20;DOM"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-web-components-shadow-dom-styling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind-white-label-theming-without-rebuild-runtime-variables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/tailwind-white-label-theming-ohne-rebuild-laufzeit-variablen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind-white-label-theming-without-rebuild-runtime-variables" />
<lastmod>2026-07-31T11:06:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-white-label-theming-without-rebuild-runtime-variables.webp</image:loc><image:title>White-Label Theming Without a Rebuild: Runtime CSS Variables Per Tenant</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="White-Label&#x20;Theming&#x20;Without&#x20;a&#x20;Rebuild&#x3A;&#x20;Runtime&#x20;CSS&#x20;Variables&#x20;Per&#x20;Tenant"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-white-label-theming-without-rebuild-runtime-variables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-anacron-for-laptops-and-desktops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-anacron-fuer-laptops-und-desktops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-anacron-for-laptops-and-desktops" />
<lastmod>2026-07-31T11:10:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-anacron-for-laptops-and-desktops.webp</image:loc><image:title>Anacron for Laptops and Desktops: Reliably Catching Up on Cron Jobs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Anacron&#x20;for&#x20;Laptops&#x20;and&#x20;Desktops&#x3A;&#x20;Reliably&#x20;Catching&#x20;Up&#x20;on&#x20;Cron&#x20;Jobs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-anacron-for-laptops-and-desktops.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-encrypting-backups-properly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-backups-verschluesseln-richtig-gemacht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-encrypting-backups-properly" />
<lastmod>2026-07-31T11:10:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-encrypting-backups-properly.webp</image:loc><image:title>Encrypting Backups Properly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Encrypting&#x20;Backups&#x20;Properly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-encrypting-backups-properly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-bare-metal-recovery-planning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-bare-metal-recovery-planung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-bare-metal-recovery-planning" />
<lastmod>2026-07-31T11:10:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-bare-metal-recovery-planning.webp</image:loc><image:title>Bare Metal Recovery Planning: Fully Restoring a Server</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bare&#x20;Metal&#x20;Recovery&#x20;Planning&#x3A;&#x20;Fully&#x20;Restoring&#x20;a&#x20;Server"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-bare-metal-recovery-planning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash-startup-files-load-order</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bashrc-und-profile-ladereihenfolge-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash-startup-files-load-order" />
<lastmod>2026-07-31T11:10:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-startup-files-load-order.webp</image:loc><image:title>Bash Startup Files: Understanding the profile and bashrc Load Order</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bash&#x20;Startup&#x20;Files&#x3A;&#x20;Understanding&#x20;the&#x20;profile&#x20;and&#x20;bashrc&#x20;Load&#x20;Order"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-startup-files-load-order.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-capabilities-fine-grained-privileges</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-capabilities-rechte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-capabilities-fine-grained-privileges" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-capabilities-fine-grained-privileges.webp</image:loc><image:title>Linux Capabilities: Fine Grained Privileges Instead of Root</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Linux&#x20;Capabilities&#x3A;&#x20;Fine&#x20;Grained&#x20;Privileges&#x20;Instead&#x20;of&#x20;Root"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-capabilities-fine-grained-privileges.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/chroot-and-jails-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/chroot-und-jails-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/chroot-and-jails-fundamentals" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/chroot-and-jails-fundamentals.webp</image:loc><image:title>chroot and Jails: Fundamentals of Process Isolation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="chroot&#x20;and&#x20;Jails&#x3A;&#x20;Fundamentals&#x20;of&#x20;Process&#x20;Isolation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/chroot-and-jails-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/cis-benchmarks-linux-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/cis-benchmarks-linux-server" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/cis-benchmarks-linux-servers" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/cis-benchmarks-linux-servers.webp</image:loc><image:title>CIS Benchmarks for Linux Servers: Implementing Compliance Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CIS&#x20;Benchmarks&#x20;for&#x20;Linux&#x20;Servers&#x3A;&#x20;Implementing&#x20;Compliance&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/cis-benchmarks-linux-servers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/compliance-automation-openscap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/compliance-automatisierung-openscap" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/compliance-automation-openscap" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/compliance-automation-openscap.webp</image:loc><image:title>Compliance Automation with OpenSCAP: Continuously Auditing Linux Servers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Compliance&#x20;Automation&#x20;with&#x20;OpenSCAP&#x3A;&#x20;Continuously&#x20;Auditing&#x20;Linux&#x20;Servers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/compliance-automation-openscap.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-cpu-governor-and-frequency-scaling-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-cpu-governor-frequency-scaling-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-cpu-governor-and-frequency-scaling-tuning" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-cpu-governor-and-frequency-scaling-tuning.webp</image:loc><image:title>CPU Governor and Frequency Scaling Tuning for Latency-Sensitive Servers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CPU&#x20;Governor&#x20;and&#x20;Frequency&#x20;Scaling&#x20;Tuning&#x20;for&#x20;Latency-Sensitive&#x20;Servers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-cpu-governor-and-frequency-scaling-tuning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-cpu-pinning-with-taskset-and-cpuset-worker-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-cpu-pinning-taskset-cpuset-worker-isolation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-cpu-pinning-with-taskset-and-cpuset-worker-isolation" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-cpu-pinning-with-taskset-and-cpuset-worker-isolation.webp</image:loc><image:title>CPU Pinning with taskset and cpuset for Worker Isolation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CPU&#x20;Pinning&#x20;with&#x20;taskset&#x20;and&#x20;cpuset&#x20;for&#x20;Worker&#x20;Isolation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-cpu-pinning-with-taskset-and-cpuset-worker-isolation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-cron-jobs-prevent-overlap-flock-locking</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-cronjobs-ueberlappung-flock-locking" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-cron-jobs-prevent-overlap-flock-locking" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-cron-jobs-prevent-overlap-flock-locking.webp</image:loc><image:title>Preventing Overlapping Cron Jobs: Locking With flock in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preventing&#x20;Overlapping&#x20;Cron&#x20;Jobs&#x3A;&#x20;Locking&#x20;With&#x20;flock&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-cron-jobs-prevent-overlap-flock-locking.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/filesystem-check-and-repair-with-fsck</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/dateisystem-check-reparatur-fsck" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/filesystem-check-and-repair-with-fsck" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/filesystem-check-and-repair-with-fsck.webp</image:loc><image:title>Filesystem Check and Repair with fsck: Safely Fixing Damaged ext4 and XFS Filesystems</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Filesystem&#x20;Check&#x20;and&#x20;Repair&#x20;with&#x20;fsck&#x3A;&#x20;Safely&#x20;Fixing&#x20;Damaged&#x20;ext4&#x20;and&#x20;XFS&#x20;Filesystems"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/filesystem-check-and-repair-with-fsck.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/filesystem-quotas-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/dateisystem-quotas-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/filesystem-quotas-setup" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/filesystem-quotas-setup.webp</image:loc><image:title>Filesystem Quotas Setup: Limiting Storage per User and Group</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Filesystem&#x20;Quotas&#x20;Setup&#x3A;&#x20;Limiting&#x20;Storage&#x20;per&#x20;User&#x20;and&#x20;Group"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/filesystem-quotas-setup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-consistent-database-snapshots</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-datenbank-snapshots-konsistent-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-consistent-database-snapshots" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-consistent-database-snapshots.webp</image:loc><image:title>Creating Consistent Database Snapshots</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Creating&#x20;Consistent&#x20;Database&#x20;Snapshots"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-consistent-database-snapshots.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/full-disk-emergency-response-workflow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/datentraeger-voll-notfallmassnahmen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/full-disk-emergency-response-workflow" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/full-disk-emergency-response-workflow.webp</image:loc><image:title>Emergency Response for a Full Disk on Linux</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Emergency&#x20;Response&#x20;for&#x20;a&#x20;Full&#x20;Disk&#x20;on&#x20;Linux"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/full-disk-emergency-response-workflow.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-disk-io-scheduler-database-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-disk-io-scheduler-datenbankserver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-disk-io-scheduler-database-servers" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-disk-io-scheduler-database-servers.webp</image:loc><image:title>Choosing a Disk I/O Scheduler for Database Servers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Choosing&#x20;a&#x20;Disk&#x20;I&#x2F;O&#x20;Scheduler&#x20;for&#x20;Database&#x20;Servers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-disk-io-scheduler-database-servers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-dmesg-kernel-log-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-dmesg-kernel-log-analyse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-dmesg-kernel-log-analysis" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-dmesg-kernel-log-analysis.webp</image:loc><image:title>dmesg Kernel Log Analysis: Finding Errors in the Ring Buffer</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="dmesg&#x20;Kernel&#x20;Log&#x20;Analysis&#x3A;&#x20;Finding&#x20;Errors&#x20;in&#x20;the&#x20;Ring&#x20;Buffer"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-dmesg-kernel-log-analysis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gdpr-log-retention-linux</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/dsgvo-log-aufbewahrung-linux" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gdpr-log-retention-linux" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gdpr-log-retention-linux.webp</image:loc><image:title>GDPR Compliant Log Retention on Linux: Implementing Deadlines Technically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GDPR&#x20;Compliant&#x20;Log&#x20;Retention&#x20;on&#x20;Linux&#x3A;&#x20;Implementing&#x20;Deadlines&#x20;Technically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gdpr-log-retention-linux.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-testing-failover-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-failover-strategien-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-testing-failover-strategies" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-testing-failover-strategies.webp</image:loc><image:title>Testing Failover Strategies Properly: Chaos Engineering for Linux Clusters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;Failover&#x20;Strategies&#x20;Properly&#x3A;&#x20;Chaos&#x20;Engineering&#x20;for&#x20;Linux&#x20;Clusters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-testing-failover-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/disk-encryption-with-luks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/festplattenverschluesselung-mit-luks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/disk-encryption-with-luks" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/disk-encryption-with-luks.webp</image:loc><image:title>Disk Encryption with LUKS: Fully Securing Server Storage</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Disk&#x20;Encryption&#x20;with&#x20;LUKS&#x3A;&#x20;Fully&#x20;Securing&#x20;Server&#x20;Storage"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/disk-encryption-with-luks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/file-integrity-monitoring-aide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/file-integrity-monitoring-mit-aide" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/file-integrity-monitoring-aide" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/file-integrity-monitoring-aide.webp</image:loc><image:title>File Integrity Monitoring with AIDE: Reliably Detecting Unauthorized Changes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="File&#x20;Integrity&#x20;Monitoring&#x20;with&#x20;AIDE&#x3A;&#x20;Reliably&#x20;Detecting&#x20;Unauthorized&#x20;Changes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/file-integrity-monitoring-aide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-haproxy-load-balancer-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-haproxy-load-balancer-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-haproxy-load-balancer-setup" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-haproxy-load-balancer-setup.webp</image:loc><image:title>Load Balancer Setup with HAProxy: Distributing Traffic Safely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Load&#x20;Balancer&#x20;Setup&#x20;with&#x20;HAProxy&#x3A;&#x20;Distributing&#x20;Traffic&#x20;Safely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-haproxy-load-balancer-setup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-hardware-clock-hwclock-synchronization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-hardware-uhr-hwclock-synchronisation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-hardware-clock-hwclock-synchronization" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-hardware-clock-hwclock-synchronization.webp</image:loc><image:title>Hardware Clock and hwclock: Syncing the System Clock and RTC on Linux</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hardware&#x20;Clock&#x20;and&#x20;hwclock&#x3A;&#x20;Syncing&#x20;the&#x20;System&#x20;Clock&#x20;and&#x20;RTC&#x20;on&#x20;Linux"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-hardware-clock-hwclock-synchronization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-huge-pages-for-mysql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-huge-pages-mysql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-huge-pages-for-mysql" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-huge-pages-for-mysql.webp</image:loc><image:title>Using Huge Pages for MySQL on Linux</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Huge&#x20;Pages&#x20;for&#x20;MySQL&#x20;on&#x20;Linux"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-huge-pages-for-mysql.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-irq-affinity-network-interrupt-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-irq-affinity-netzwerkkarten-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-irq-affinity-network-interrupt-tuning" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-irq-affinity-network-interrupt-tuning.webp</image:loc><image:title>IRQ Affinity and Network Interrupt Tuning for Multi-Core Servers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="IRQ&#x20;Affinity&#x20;and&#x20;Network&#x20;Interrupt&#x20;Tuning&#x20;for&#x20;Multi-Core&#x20;Servers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-irq-affinity-network-interrupt-tuning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-keepalived-vrrp-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-keepalived-vrrp-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-keepalived-vrrp-basics" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-keepalived-vrrp-basics.webp</image:loc><image:title>keepalived and VRRP Basics: High Availability with a Virtual IP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="keepalived&#x20;and&#x20;VRRP&#x20;Basics&#x3A;&#x20;High&#x20;Availability&#x20;with&#x20;a&#x20;Virtual&#x20;IP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-keepalived-vrrp-basics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-kernel-modules-lsmod-modprobe</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-kernel-module-lsmod-modprobe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-kernel-modules-lsmod-modprobe" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-kernel-modules-lsmod-modprobe.webp</image:loc><image:title>Managing Linux Kernel Modules: lsmod, modprobe and Friends</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;Linux&#x20;Kernel&#x20;Modules&#x3A;&#x20;lsmod,&#x20;modprobe&#x20;and&#x20;Friends"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-kernel-modules-lsmod-modprobe.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-kernel-panic-crash-dump-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-kernel-panic-crash-dump-kdump" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-kernel-panic-crash-dump-analysis" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-kernel-panic-crash-dump-analysis.webp</image:loc><image:title>Analyzing Kernel Panics and Crash Dumps with kdump</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Analyzing&#x20;Kernel&#x20;Panics&#x20;and&#x20;Crash&#x20;Dumps&#x20;with&#x20;kdump"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-kernel-panic-crash-dump-analysis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-kernel-tracing-ftrace-perf-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-kernel-tracing-ftrace-perf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-kernel-tracing-ftrace-perf-analysis" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-kernel-tracing-ftrace-perf-analysis.webp</image:loc><image:title>Kernel Tracing with ftrace and perf: Making Bottlenecks Visible</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Kernel&#x20;Tracing&#x20;with&#x20;ftrace&#x20;and&#x20;perf&#x3A;&#x20;Making&#x20;Bottlenecks&#x20;Visible"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-kernel-tracing-ftrace-perf-analysis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-kernel-version-upgrade-planning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-kernel-versionsupgrade-planung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-kernel-version-upgrade-planning" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-kernel-version-upgrade-planning.webp</image:loc><image:title>Planning a Kernel Version Upgrade: LTS, Rollback and Compatibility</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Planning&#x20;a&#x20;Kernel&#x20;Version&#x20;Upgrade&#x3A;&#x20;LTS,&#x20;Rollback&#x20;and&#x20;Compatibility"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-kernel-version-upgrade-planning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/diagnosing-high-load-average-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/load-average-spitzen-systematisch-diagnostizieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/diagnosing-high-load-average-systematically" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/diagnosing-high-load-average-systematically.webp</image:loc><image:title>Diagnosing High Load Average Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Diagnosing&#x20;High&#x20;Load&#x20;Average&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/diagnosing-high-load-average-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/lvm-logical-volumes-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/lvm-logical-volumes-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/lvm-logical-volumes-in-practice" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/lvm-logical-volumes-in-practice.webp</image:loc><image:title>Using LVM Logical Volumes in Practice: Flexible Storage Management on Linux</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;LVM&#x20;Logical&#x20;Volumes&#x20;in&#x20;Practice&#x3A;&#x20;Flexible&#x20;Storage&#x20;Management&#x20;on&#x20;Linux"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/lvm-logical-volumes-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-mosh-for-unstable-connections</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-mosh-fuer-instabile-verbindungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-mosh-for-unstable-connections" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-mosh-for-unstable-connections.webp</image:loc><image:title>Mosh for Unstable Connections: The Robust SSH Alternative</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mosh&#x20;for&#x20;Unstable&#x20;Connections&#x3A;&#x20;The&#x20;Robust&#x20;SSH&#x20;Alternative"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-mosh-for-unstable-connections.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tracking-down-mysterious-cpu-usage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/mysterioesen-cpu-verbrauch-aufspueren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tracking-down-mysterious-cpu-usage" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tracking-down-mysterious-cpu-usage.webp</image:loc><image:title>Tracking Down Mysterious CPU Usage</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tracking&#x20;Down&#x20;Mysterious&#x20;CPU&#x20;Usage"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tracking-down-mysterious-cpu-usage.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/debugging-network-connections-step-by-step</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/netzwerkverbindung-schritt-fuer-schritt-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/debugging-network-connections-step-by-step" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/debugging-network-connections-step-by-step.webp</image:loc><image:title>Debugging Network Connections Step by Step</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Debugging&#x20;Network&#x20;Connections&#x20;Step&#x20;by&#x20;Step"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/debugging-network-connections-step-by-step.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-nice-ionice-process-io-priorities</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-nice-ionice-prozess-io-prioritaeten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-nice-ionice-process-io-priorities" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-nice-ionice-process-io-priorities.webp</image:loc><image:title>nice and ionice: Getting Process and I/O Priorities Right for Background Jobs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="nice&#x20;and&#x20;ionice&#x3A;&#x20;Getting&#x20;Process&#x20;and&#x20;I&#x2F;O&#x20;Priorities&#x20;Right&#x20;for&#x20;Background&#x20;Jobs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-nice-ionice-process-io-priorities.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/emergency-runbook-unresponsive-server</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/notfall-runbook-nicht-reagierender-server" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/emergency-runbook-unresponsive-server" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/emergency-runbook-unresponsive-server.webp</image:loc><image:title>Emergency Runbook for an Unresponsive Server</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Emergency&#x20;Runbook&#x20;for&#x20;an&#x20;Unresponsive&#x20;Server"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/emergency-runbook-unresponsive-server.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-ntp-chrony-time-synchronization-configured-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-ntp-chrony-zeitsynchronisation-richtig-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-ntp-chrony-time-synchronization-configured-correctly" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-ntp-chrony-time-synchronization-configured-correctly.webp</image:loc><image:title>NTP and chrony: Configuring Time Synchronization on Linux Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="NTP&#x20;and&#x20;chrony&#x3A;&#x20;Configuring&#x20;Time&#x20;Synchronization&#x20;on&#x20;Linux&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-ntp-chrony-time-synchronization-configured-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-numa-considerations-multi-cpu-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-numa-ueberlegungen-multi-cpu-server" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-numa-considerations-multi-cpu-servers" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-numa-considerations-multi-cpu-servers.webp</image:loc><image:title>NUMA Considerations for Multi-CPU Servers Running Magento and MySQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="NUMA&#x20;Considerations&#x20;for&#x20;Multi-CPU&#x20;Servers&#x20;Running&#x20;Magento&#x20;and&#x20;MySQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-numa-considerations-multi-cpu-servers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-offsite-backup-3-2-1-rule</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-offsite-backup-3-2-1-regel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-offsite-backup-3-2-1-rule" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-offsite-backup-3-2-1-rule.webp</image:loc><image:title>Offsite Backup Strategies Following the 3-2-1 Rule</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Offsite&#x20;Backup&#x20;Strategies&#x20;Following&#x20;the&#x20;3-2-1&#x20;Rule"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-offsite-backup-3-2-1-rule.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-opcache-filesystem-considerations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-opcache-dateisystem-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-opcache-filesystem-considerations" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-opcache-filesystem-considerations.webp</image:loc><image:title>OPcache Filesystem Considerations on Linux</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="OPcache&#x20;Filesystem&#x20;Considerations&#x20;on&#x20;Linux"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-opcache-filesystem-considerations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-pacemaker-corosync-cluster-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-pacemaker-corosync-cluster-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-pacemaker-corosync-cluster-basics" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-pacemaker-corosync-cluster-basics.webp</image:loc><image:title>Pacemaker and Corosync: High Availability Cluster Basics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Pacemaker&#x20;and&#x20;Corosync&#x3A;&#x20;High&#x20;Availability&#x20;Cluster&#x20;Basics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-pacemaker-corosync-cluster-basics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/pam-authentication-modules-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/pam-authentifizierungsmodule-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/pam-authentication-modules-fundamentals" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/pam-authentication-modules-fundamentals.webp</image:loc><image:title>PAM Authentication Modules: Fundamentals of Login Control</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PAM&#x20;Authentication&#x20;Modules&#x3A;&#x20;Fundamentals&#x20;of&#x20;Login&#x20;Control"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/pam-authentication-modules-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/pci-dss-linux-hardening</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/pci-dss-linux-haertung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/pci-dss-linux-hardening" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/pci-dss-linux-hardening.webp</image:loc><image:title>PCI-DSS Relevant Linux Hardening: Securing Servers for the Cardholder Data Environment</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PCI-DSS&#x20;Relevant&#x20;Linux&#x20;Hardening&#x3A;&#x20;Securing&#x20;Servers&#x20;for&#x20;the&#x20;Cardholder&#x20;Data&#x20;Environment"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/pci-dss-linux-hardening.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-php-fpm-process-manager-tuning-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-php-fpm-process-manager-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-php-fpm-process-manager-tuning-en" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-php-fpm-process-manager-tuning-en.webp</image:loc><image:title>PHP-FPM Process Manager Tuning on Linux</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHP-FPM&#x20;Process&#x20;Manager&#x20;Tuning&#x20;on&#x20;Linux"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-php-fpm-process-manager-tuning-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-proc-filesystem-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-proc-dateisystem-erkunden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-proc-filesystem-explained" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-proc-filesystem-explained.webp</image:loc><image:title>Exploring the proc Filesystem: Kernel State Without Extra Tools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Exploring&#x20;the&#x20;proc&#x20;Filesystem&#x3A;&#x20;Kernel&#x20;State&#x20;Without&#x20;Extra&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-proc-filesystem-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/raid-fundamentals-with-mdadm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/raid-grundlagen-mit-mdadm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/raid-fundamentals-with-mdadm" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/raid-fundamentals-with-mdadm.webp</image:loc><image:title>RAID Fundamentals with mdadm: Setting Up and Monitoring Software RAID on Linux</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="RAID&#x20;Fundamentals&#x20;with&#x20;mdadm&#x3A;&#x20;Setting&#x20;Up&#x20;and&#x20;Monitoring&#x20;Software&#x20;RAID&#x20;on&#x20;Linux"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/raid-fundamentals-with-mdadm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-remote-development-with-ssh</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-remote-entwicklung-mit-ssh" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-remote-development-with-ssh" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-remote-development-with-ssh.webp</image:loc><image:title>Remote Development via SSH: The Productivity Workflow</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Remote&#x20;Development&#x20;via&#x20;SSH&#x3A;&#x20;The&#x20;Productivity&#x20;Workflow"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-remote-development-with-ssh.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-automate-restore-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-restore-tests-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-automate-restore-tests" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-automate-restore-tests.webp</image:loc><image:title>Automating Restore Tests: Really Verifying Your Backups</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;Restore&#x20;Tests&#x3A;&#x20;Really&#x20;Verifying&#x20;Your&#x20;Backups"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-automate-restore-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-rtcwake-scheduled-wakeup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-rtcwake-geplantes-aufwachen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-rtcwake-scheduled-wakeup" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-rtcwake-scheduled-wakeup.webp</image:loc><image:title>rtcwake and Scheduled Wakeups: Reactivating Servers and Desktops on Time</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="rtcwake&#x20;and&#x20;Scheduled&#x20;Wakeups&#x3A;&#x20;Reactivating&#x20;Servers&#x20;and&#x20;Desktops&#x20;on&#x20;Time"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-rtcwake-scheduled-wakeup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-avoiding-scheduling-jitter-precise-timing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-scheduling-jitter-vermeiden-praezises-timing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-avoiding-scheduling-jitter-precise-timing" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-avoiding-scheduling-jitter-precise-timing.webp</image:loc><image:title>Avoiding Scheduling Jitter: Precise Timing for Cron and systemd</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Scheduling&#x20;Jitter&#x3A;&#x20;Precise&#x20;Timing&#x20;for&#x20;Cron&#x20;and&#x20;systemd"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-avoiding-scheduling-jitter-precise-timing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-sysfs-device-attributes-exploring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-sysfs-geraeteattribute-erkunden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-sysfs-device-attributes-exploring" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-sysfs-device-attributes-exploring.webp</image:loc><image:title>Exploring sysfs: Kernel and Device Attributes Under /sys</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Exploring&#x20;sysfs&#x3A;&#x20;Kernel&#x20;and&#x20;Device&#x20;Attributes&#x20;Under&#x20;&#x2F;sys"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-sysfs-device-attributes-exploring.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-systemd-oncalendar-timer-syntax-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-systemd-oncalendar-timer-syntax" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-systemd-oncalendar-timer-syntax-explained" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-systemd-oncalendar-timer-syntax-explained.webp</image:loc><image:title>systemd OnCalendar Syntax Explained: Writing Precise Timer Expressions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="systemd&#x20;OnCalendar&#x20;Syntax&#x20;Explained&#x3A;&#x20;Writing&#x20;Precise&#x20;Timer&#x20;Expressions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-systemd-oncalendar-timer-syntax-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/systemd-timers-targets-and-sockets-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/systemd-timer-targets-und-sockets-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/systemd-timers-targets-and-sockets-in-detail" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/systemd-timers-targets-and-sockets-in-detail.webp</image:loc><image:title>systemd Targets, Sockets and Timers in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="systemd&#x20;Targets,&#x20;Sockets&#x20;and&#x20;Timers&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/systemd-timers-targets-and-sockets-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-terminal-customization-for-productivity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-terminal-anpassung-fuer-produktivitaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-terminal-customization-for-productivity" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-terminal-customization-for-productivity.webp</image:loc><image:title>Terminal Customization for Productivity: Configuring Shell, Prompt and Multiplexer</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Terminal&#x20;Customization&#x20;for&#x20;Productivity&#x3A;&#x20;Configuring&#x20;Shell,&#x20;Prompt&#x20;and&#x20;Multiplexer"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-terminal-customization-for-productivity.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-tmux-and-screen-workflows</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-tmux-und-screen-workflows" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-tmux-and-screen-workflows" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-tmux-and-screen-workflows.webp</image:loc><image:title>tmux and Screen in Daily Use: Terminal Sessions Without Connection Loss</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="tmux&#x20;and&#x20;Screen&#x20;in&#x20;Daily&#x20;Use&#x3A;&#x20;Terminal&#x20;Sessions&#x20;Without&#x20;Connection&#x20;Loss"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-tmux-and-screen-workflows.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/environment-variables-scope-system-wide-vs-user</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/umgebungsvariablen-scope-systemweit-vs-nutzer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/environment-variables-scope-system-wide-vs-user" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/environment-variables-scope-system-wide-vs-user.webp</image:loc><image:title>Environment Variables on Linux: System Wide vs. User Scope</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Environment&#x20;Variables&#x20;on&#x20;Linux&#x3A;&#x20;System&#x20;Wide&#x20;vs.&#x20;User&#x20;Scope"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/environment-variables-scope-system-wide-vs-user.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-distributed-filesystems-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-verteilte-dateisysteme-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-distributed-filesystems-overview" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-distributed-filesystems-overview.webp</image:loc><image:title>Distributed Filesystems Overview: GlusterFS, Ceph and NFS Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Distributed&#x20;Filesystems&#x20;Overview&#x3A;&#x20;GlusterFS,&#x20;Ceph&#x20;and&#x20;NFS&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-distributed-filesystems-overview.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-x11-forwarding-vs-vnc-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-x11-forwarding-vs-vnc-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-x11-forwarding-vs-vnc-compared" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-x11-forwarding-vs-vnc-compared.webp</image:loc><image:title>X11 Forwarding vs. VNC Compared: Running Graphical Applications Remotely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="X11&#x20;Forwarding&#x20;vs.&#x20;VNC&#x20;Compared&#x3A;&#x20;Running&#x20;Graphical&#x20;Applications&#x20;Remotely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-x11-forwarding-vs-vnc-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-timezone-management-timedatectl-tzdata</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-zeitzonen-verwaltung-timedatectl-tzdata" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-timezone-management-timedatectl-tzdata" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-timezone-management-timedatectl-tzdata.webp</image:loc><image:title>Managing Linux Time Zones Correctly: timedatectl and tzdata</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;Linux&#x20;Time&#x20;Zones&#x20;Correctly&#x3A;&#x20;timedatectl&#x20;and&#x20;tzdata"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-timezone-management-timedatectl-tzdata.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-designing-agent-pipelines-for-complex-tasks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-agenten-pipelines-fuer-komplexe-aufgaben-designen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-designing-agent-pipelines-for-complex-tasks" />
<lastmod>2026-07-31T11:10:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-designing-agent-pipelines-for-complex-tasks.webp</image:loc><image:title>Designing Agent Pipelines for Complex Tasks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Agent&#x20;Pipelines&#x20;for&#x20;Complex&#x20;Tasks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-designing-agent-pipelines-for-complex-tasks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-api-design-assistance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-api-design-unterstuetzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-api-design-assistance" />
<lastmod>2026-07-31T11:10:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-api-design-assistance.webp</image:loc><image:title>API Design Assistance with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Design&#x20;Assistance&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-api-design-assistance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-architecture-tradeoffs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-architektur-tradeoffs-bewerten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-architecture-tradeoffs" />
<lastmod>2026-07-31T11:10:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-architecture-tradeoffs.webp</image:loc><image:title>Evaluating Architecture Tradeoffs with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Evaluating&#x20;Architecture&#x20;Tradeoffs&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-architecture-tradeoffs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-background-agents-and-parallel-tasks-in-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-background-agents-und-parallele-tasks-in-claude-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-background-agents-and-parallel-tasks-in-claude-code" />
<lastmod>2026-07-31T11:10:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-background-agents-and-parallel-tasks-in-claude-code.webp</image:loc><image:title>Background Agents and Parallel Tasks in Claude Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Background&#x20;Agents&#x20;and&#x20;Parallel&#x20;Tasks&#x20;in&#x20;Claude&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-background-agents-and-parallel-tasks-in-claude-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-accessibility-testing-with-ai-assistance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-barrierefreiheitstests-mit-ki-unterstuetzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-accessibility-testing-with-ai-assistance" />
<lastmod>2026-07-31T11:10:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-accessibility-testing-with-ai-assistance.webp</image:loc><image:title>Accessibility Testing with AI Assistance: Claude for WCAG-Compliant Reviews</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessibility&#x20;Testing&#x20;with&#x20;AI&#x20;Assistance&#x3A;&#x20;Claude&#x20;for&#x20;WCAG-Compliant&#x20;Reviews"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-accessibility-testing-with-ai-assistance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-claude-agent-sdk-overview-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-agent-sdk-ueberblick-fuer-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-claude-agent-sdk-overview-for-developers" />
<lastmod>2026-07-31T11:10:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-agent-sdk-overview-for-developers.webp</image:loc><image:title>Claude Agent SDK Overview for Developers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;Agent&#x20;SDK&#x20;Overview&#x20;for&#x20;Developers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-agent-sdk-overview-for-developers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-claude-api-pricing-and-model-selection-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-api-preise-und-modellwahl-guide" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-claude-api-pricing-and-model-selection-guide" />
<lastmod>2026-07-31T11:10:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-api-pricing-and-model-selection-guide.webp</image:loc><image:title>Claude API Pricing and Model Selection Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;API&#x20;Pricing&#x20;and&#x20;Model&#x20;Selection&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-api-pricing-and-model-selection-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-rolling-out-claude-code-company-wide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-code-unternehmensweit-einfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-rolling-out-claude-code-company-wide" />
<lastmod>2026-07-31T11:10:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-rolling-out-claude-code-company-wide.webp</image:loc><image:title>Rolling Out Claude Code Company Wide: The Adoption Plan</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Rolling&#x20;Out&#x20;Claude&#x20;Code&#x20;Company&#x20;Wide&#x3A;&#x20;The&#x20;Adoption&#x20;Plan"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-rolling-out-claude-code-company-wide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-for-dockerfile-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-fuer-dockerfile-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-for-dockerfile-optimization" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-for-dockerfile-optimization.webp</image:loc><image:title>Using Claude for Dockerfile Optimization</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Claude&#x20;for&#x20;Dockerfile&#x20;Optimization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-for-dockerfile-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-for-go-backend-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-fuer-go-backend-entwicklung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-for-go-backend-development" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-for-go-backend-development.webp</image:loc><image:title>Claude for Go Backend Development: Concurrency, APIs and Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;for&#x20;Go&#x20;Backend&#x20;Development&#x3A;&#x20;Concurrency,&#x20;APIs&#x20;and&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-for-go-backend-development.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-for-incident-postmortems</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-fuer-incident-postmortems" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-for-incident-postmortems" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-for-incident-postmortems.webp</image:loc><image:title>Using Claude for Incident Postmortems</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Claude&#x20;for&#x20;Incident&#x20;Postmortems"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-for-incident-postmortems.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-for-java-enterprise-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-fuer-java-enterprise-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-for-java-enterprise-projects" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-for-java-enterprise-projects.webp</image:loc><image:title>Claude for Java and Enterprise Projects: Spring, Legacy and Migration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;for&#x20;Java&#x20;and&#x20;Enterprise&#x20;Projects&#x3A;&#x20;Spring,&#x20;Legacy&#x20;and&#x20;Migration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-for-java-enterprise-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-for-kubernetes-manifest-reviews</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-fuer-kubernetes-manifest-reviews" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-for-kubernetes-manifest-reviews" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-for-kubernetes-manifest-reviews.webp</image:loc><image:title>Using Claude for Kubernetes Manifest Reviews</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Claude&#x20;for&#x20;Kubernetes&#x20;Manifest&#x20;Reviews"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-for-kubernetes-manifest-reviews.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-for-mobile-app-development-ios-android</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-fuer-mobile-app-entwicklung-ios-android" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-for-mobile-app-development-ios-android" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-for-mobile-app-development-ios-android.webp</image:loc><image:title>Claude for Mobile App Development: iOS with Swift, Android with Kotlin</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;for&#x20;Mobile&#x20;App&#x20;Development&#x3A;&#x20;iOS&#x20;with&#x20;Swift,&#x20;Android&#x20;with&#x20;Kotlin"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-for-mobile-app-development-ios-android.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-for-python-data-science-workflows</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-fuer-python-data-science-workflows" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-for-python-data-science-workflows" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-for-python-data-science-workflows.webp</image:loc><image:title>Claude for Python Data Science Workflows: From Exploration to Model</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;for&#x20;Python&#x20;Data&#x20;Science&#x20;Workflows&#x3A;&#x20;From&#x20;Exploration&#x20;to&#x20;Model"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-for-python-data-science-workflows.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-for-rust-systems-programming</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-fuer-rust-systemprogrammierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-for-rust-systems-programming" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-for-rust-systems-programming.webp</image:loc><image:title>Claude for Rust Systems Programming: Ownership, Lifetimes and unsafe</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;for&#x20;Rust&#x20;Systems&#x20;Programming&#x3A;&#x20;Ownership,&#x20;Lifetimes&#x20;and&#x20;unsafe"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-for-rust-systems-programming.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-for-terraform-infrastructure-as-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-fuer-terraform-infrastructure-as-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-for-terraform-infrastructure-as-code" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-for-terraform-infrastructure-as-code.webp</image:loc><image:title>Using Claude for Terraform and Infrastructure as Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Claude&#x20;for&#x20;Terraform&#x20;and&#x20;Infrastructure&#x20;as&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-for-terraform-infrastructure-as-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-claude-vs-github-copilot-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-vs-github-copilot-fuer-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-claude-vs-github-copilot-for-teams" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-vs-github-copilot-for-teams.webp</image:loc><image:title>Claude vs. GitHub Copilot for Teams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;vs.&#x20;GitHub&#x20;Copilot&#x20;for&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-vs-github-copilot-for-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-for-cicd-pipeline-debugging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-zur-cicd-pipeline-fehlersuche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-for-cicd-pipeline-debugging" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-for-cicd-pipeline-debugging.webp</image:loc><image:title>Using Claude for CI/CD Pipeline Debugging</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Claude&#x20;for&#x20;CI&#x2F;CD&#x20;Pipeline&#x20;Debugging"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-for-cicd-pipeline-debugging.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-data-pipeline-debugging-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-daten-pipeline-debugging-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-data-pipeline-debugging-with-claude" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-data-pipeline-debugging-with-claude.webp</image:loc><image:title>Data Pipeline Debugging with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Data&#x20;Pipeline&#x20;Debugging&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-data-pipeline-debugging-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-database-schema-design-review</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-datenbankschema-design-mit-ki-review" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-database-schema-design-review" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-database-schema-design-review.webp</image:loc><image:title>Database Schema Design with AI Review</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Database&#x20;Schema&#x20;Design&#x20;with&#x20;AI&#x20;Review"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-database-schema-design-review.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-generating-edge-case-tests-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-edge-case-tests-mit-claude-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-generating-edge-case-tests-with-claude" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-generating-edge-case-tests-with-claude.webp</image:loc><image:title>Generating Edge Case Tests with Claude: Finding Boundaries Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;Edge&#x20;Case&#x20;Tests&#x20;with&#x20;Claude&#x3A;&#x20;Finding&#x20;Boundaries&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-generating-edge-case-tests-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-building-custom-slash-commands-in-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-eigene-slash-commands-in-claude-code-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-building-custom-slash-commands-in-claude-code" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-building-custom-slash-commands-in-claude-code.webp</image:loc><image:title>Building Custom Slash Commands in Claude Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Custom&#x20;Slash&#x20;Commands&#x20;in&#x20;Claude&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-building-custom-slash-commands-in-claude-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-developing-etl-scripts-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-etl-skripte-mit-claude-entwickeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-developing-etl-scripts-with-claude" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-developing-etl-scripts-with-claude.webp</image:loc><image:title>Developing ETL Scripts with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Developing&#x20;ETL&#x20;Scripts&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-developing-etl-scripts-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-flaky-test-root-cause-analysis-with-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-flaky-tests-root-cause-analyse-mit-ki" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-flaky-test-root-cause-analysis-with-ai" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-flaky-test-root-cause-analysis-with-ai.webp</image:loc><image:title>Flaky Tests: Root Cause Analysis with AI and Claude, Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Flaky&#x20;Tests&#x3A;&#x20;Root&#x20;Cause&#x20;Analysis&#x20;with&#x20;AI&#x20;and&#x20;Claude,&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-flaky-test-root-cause-analysis-with-ai.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-approval-workflows-for-ai-generated-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-freigabeprozesse-fuer-ki-generierten-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-approval-workflows-for-ai-generated-code" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-approval-workflows-for-ai-generated-code.webp</image:loc><image:title>Approval Workflows for AI-Generated Code: From Commit to Merge</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Approval&#x20;Workflows&#x20;for&#x20;AI-Generated&#x20;Code&#x3A;&#x20;From&#x20;Commit&#x20;to&#x20;Merge"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-approval-workflows-for-ai-generated-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-using-claude-code-with-git-worktrees</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-code-mit-git-worktrees-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-using-claude-code-with-git-worktrees" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-using-claude-code-with-git-worktrees.webp</image:loc><image:title>Using Claude Code with Git Worktrees</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Claude&#x20;Code&#x20;with&#x20;Git&#x20;Worktrees"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-using-claude-code-with-git-worktrees.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-the-claude-code-hook-system-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-das-hook-system-von-claude-code-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-the-claude-code-hook-system-explained" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-the-claude-code-hook-system-explained.webp</image:loc><image:title>The Claude Code Hook System Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Claude&#x20;Code&#x20;Hook&#x20;System&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-the-claude-code-hook-system-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-ai-assisted-exploratory-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-ki-gestuetztes-exploratives-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-ai-assisted-exploratory-testing" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-ai-assisted-exploratory-testing.webp</image:loc><image:title>AI-Assisted Exploratory Testing with Claude: The Co-Pilot for Test Sessions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="AI-Assisted&#x20;Exploratory&#x20;Testing&#x20;with&#x20;Claude&#x3A;&#x20;The&#x20;Co-Pilot&#x20;for&#x20;Test&#x20;Sessions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-ai-assisted-exploratory-testing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-ai-usage-policy-governance-framework-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-ki-nutzungsrichtlinien-governance-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-ai-usage-policy-governance-framework-for-teams" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-ai-usage-policy-governance-framework-for-teams.webp</image:loc><image:title>AI Usage Policy for Development Teams: Building a Governance Framework</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="AI&#x20;Usage&#x20;Policy&#x20;for&#x20;Development&#x20;Teams&#x3A;&#x20;Building&#x20;a&#x20;Governance&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-ai-usage-policy-governance-framework-for-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-communication-patterns-between-ai-agents</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-kommunikationsmuster-zwischen-ki-agenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-communication-patterns-between-ai-agents" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-communication-patterns-between-ai-agents.webp</image:loc><image:title>Communication Patterns Between AI Agents</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Communication&#x20;Patterns&#x20;Between&#x20;AI&#x20;Agents"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-communication-patterns-between-ai-agents.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-log-analysis-and-anomaly-detection-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-log-analyse-und-anomalieerkennung-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-log-analysis-and-anomaly-detection-with-claude" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-log-analysis-and-anomaly-detection-with-claude.webp</image:loc><image:title>Log Analysis and Anomaly Detection with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Log&#x20;Analysis&#x20;and&#x20;Anomaly&#x20;Detection&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-log-analysis-and-anomaly-detection-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-multi-step-conversation-design</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-mehrschrittige-konversationsdesigns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-multi-step-conversation-design" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-multi-step-conversation-design.webp</image:loc><image:title>Multi-Step Conversation Design: Structuring Complex Workflows with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi-Step&#x20;Conversation&#x20;Design&#x3A;&#x20;Structuring&#x20;Complex&#x20;Workflows&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-multi-step-conversation-design.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-the-claude-code-memory-system-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-das-memory-system-von-claude-code-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-the-claude-code-memory-system-explained" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-the-claude-code-memory-system-explained.webp</image:loc><image:title>The Claude Code Memory System Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Claude&#x20;Code&#x20;Memory&#x20;System&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-the-claude-code-memory-system-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-multi-agent-workflows-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-multi-agent-workflows-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-multi-agent-workflows-explained" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-multi-agent-workflows-explained.webp</image:loc><image:title>Multi Agent Workflows with Claude Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi&#x20;Agent&#x20;Workflows&#x20;with&#x20;Claude&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-multi-agent-workflows-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-orchestrating-parallel-code-reviews-with-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-parallele-code-reviews-mit-ki-orchestrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-orchestrating-parallel-code-reviews-with-ai" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-orchestrating-parallel-code-reviews-with-ai.webp</image:loc><image:title>Orchestrating Parallel Code Reviews with AI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Orchestrating&#x20;Parallel&#x20;Code&#x20;Reviews&#x20;with&#x20;AI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-orchestrating-parallel-code-reviews-with-ai.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-prompt-caching-strategies-cost-savings</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-prompt-caching-strategien-kosteneinsparung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-prompt-caching-strategies-cost-savings" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-prompt-caching-strategies-cost-savings.webp</image:loc><image:title>Prompt Caching Strategies for Cost Savings with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Prompt&#x20;Caching&#x20;Strategies&#x20;for&#x20;Cost&#x20;Savings&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-prompt-caching-strategies-cost-savings.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-evaluating-prompt-quality-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-prompt-qualitaet-systematisch-evaluieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-evaluating-prompt-quality-systematically" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-evaluating-prompt-quality-systematically.webp</image:loc><image:title>Evaluating Prompt Quality Systematically: From Gut Feeling to Metrics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Evaluating&#x20;Prompt&#x20;Quality&#x20;Systematically&#x3A;&#x20;From&#x20;Gut&#x20;Feeling&#x20;to&#x20;Metrics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-evaluating-prompt-quality-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-calculating-roi-of-ai-coding-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-roi-von-ki-coding-tools-berechnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-calculating-roi-of-ai-coding-tools" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-calculating-roi-of-ai-coding-tools.webp</image:loc><image:title>Calculating the ROI of AI Coding Tools: Metrics for the Business Case</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Calculating&#x20;the&#x20;ROI&#x20;of&#x20;AI&#x20;Coding&#x20;Tools&#x3A;&#x20;Metrics&#x20;for&#x20;the&#x20;Business&#x20;Case"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-calculating-roi-of-ai-coding-tools.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-protecting-against-prompt-injection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-schutz-gegen-prompt-injection" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-protecting-against-prompt-injection" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-protecting-against-prompt-injection.webp</image:loc><image:title>Protecting Against Prompt Injection: Hardening Claude Applications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Protecting&#x20;Against&#x20;Prompt&#x20;Injection&#x3A;&#x20;Hardening&#x20;Claude&#x20;Applications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-protecting-against-prompt-injection.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-sql-query-generation-and-review</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-sql-query-generierung-und-review" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-sql-query-generation-and-review" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-sql-query-generation-and-review.webp</image:loc><image:title>Claude for SQL Query Generation and Review</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;for&#x20;SQL&#x20;Query&#x20;Generation&#x20;and&#x20;Review"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-sql-query-generation-and-review.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-structured-output-with-json-schemas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-strukturierte-ausgabe-json-schemas" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-structured-output-with-json-schemas" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-structured-output-with-json-schemas.webp</image:loc><image:title>Structured Output with JSON Schemas: Getting Reliable Structured Data from Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Structured&#x20;Output&#x20;with&#x20;JSON&#x20;Schemas&#x3A;&#x20;Getting&#x20;Reliable&#x20;Structured&#x20;Data&#x20;from&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-structured-output-with-json-schemas.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-system-design-reviews</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-system-design-reviews-durchfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-system-design-reviews" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-system-design-reviews.webp</image:loc><image:title>Using Claude for System Design Reviews</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Claude&#x20;for&#x20;System&#x20;Design&#x20;Reviews"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-system-design-reviews.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-technical-debt-assessment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-technische-schulden-einschaetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-technical-debt-assessment" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-technical-debt-assessment.webp</image:loc><image:title>Assessing Technical Debt with AI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Assessing&#x20;Technical&#x20;Debt&#x20;with&#x20;AI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-technical-debt-assessment.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-generating-test-data-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-testdaten-generierung-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-generating-test-data-with-claude" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-generating-test-data-with-claude.webp</image:loc><image:title>Generating Test Data with Claude: Realistic Datasets, Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;Test&#x20;Data&#x20;with&#x20;Claude&#x3A;&#x20;Realistic&#x20;Datasets,&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-generating-test-data-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-when-subagents-make-more-sense-than-a-single-agent</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-wann-subagents-statt-einem-agenten-sinnvoll-sind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-when-subagents-make-more-sense-than-a-single-agent" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-when-subagents-make-more-sense-than-a-single-agent.webp</image:loc><image:title>When Subagents Make More Sense Than a Single Agent</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="When&#x20;Subagents&#x20;Make&#x20;More&#x20;Sense&#x20;Than&#x20;a&#x20;Single&#x20;Agent"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-when-subagents-make-more-sense-than-a-single-agent.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-3-compiler-optimizations-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-3-compiler-optimierungen-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-3-compiler-optimizations-explained" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-3-compiler-optimizations-explained.webp</image:loc><image:title>Vue 3 Compiler Optimizations Explained: Block Tree, Patch Flags, Hoisting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;3&#x20;Compiler&#x20;Optimizations&#x20;Explained&#x3A;&#x20;Block&#x20;Tree,&#x20;Patch&#x20;Flags,&#x20;Hoisting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-3-compiler-optimizations-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bundle-splitting-for-vue-apps-with-vite-and-rollup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/bundle-splitting-fur-vue-apps-mit-vite-und-rollup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bundle-splitting-for-vue-apps-with-vite-and-rollup" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bundle-splitting-for-vue-apps-with-vite-and-rollup.webp</image:loc><image:title>Bundle Splitting for Vue Apps with Vite and Rollup</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bundle&#x20;Splitting&#x20;for&#x20;Vue&#x20;Apps&#x20;with&#x20;Vite&#x20;and&#x20;Rollup"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bundle-splitting-for-vue-apps-with-vite-and-rollup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-capacitor-mobile-apps-native-features-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-capacitor-mobile-apps-native-features" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-capacitor-mobile-apps-native-features-en" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-capacitor-mobile-apps-native-features-en.webp</image:loc><image:title>Vue with Capacitor: Native Mobile Apps From One Codebase</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;with&#x20;Capacitor&#x3A;&#x20;Native&#x20;Mobile&#x20;Apps&#x20;From&#x20;One&#x20;Codebase"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-capacitor-mobile-apps-native-features-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-checkout-flow-patterns-steps-validation-abandonment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-checkout-flow-patterns-schritte-validierung-abbruch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-checkout-flow-patterns-steps-validation-abandonment" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-checkout-flow-patterns-steps-validation-abandonment.webp</image:loc><image:title>Vue Checkout Flow Patterns: Steps, Validation and Abandonment Handling</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Checkout&#x20;Flow&#x20;Patterns&#x3A;&#x20;Steps,&#x20;Validation&#x20;and&#x20;Abandonment&#x20;Handling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-checkout-flow-patterns-steps-validation-abandonment.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-component-testing-with-cypress</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-component-testing-mit-cypress" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-component-testing-with-cypress" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-component-testing-with-cypress.webp</image:loc><image:title>Component Testing with Cypress for Vue: Setup, Mocking, and Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Component&#x20;Testing&#x20;with&#x20;Cypress&#x20;for&#x20;Vue&#x3A;&#x20;Setup,&#x20;Mocking,&#x20;and&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-component-testing-with-cypress.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mocking-composables-in-vue-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-composables-mocken-in-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mocking-composables-in-vue-tests" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mocking-composables-in-vue-tests.webp</image:loc><image:title>Mocking Composables in Vue Tests: Strategies and Pitfalls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mocking&#x20;Composables&#x20;in&#x20;Vue&#x20;Tests&#x3A;&#x20;Strategies&#x20;and&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mocking-composables-in-vue-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/content-collections-and-type-safety-in-nuxt-content-v3</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/content-collections-und-typsicherheit-in-nuxt-content-v3" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/content-collections-and-type-safety-in-nuxt-content-v3" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/content-collections-and-type-safety-in-nuxt-content-v3.webp</image:loc><image:title>Content Collections and Type Safety in Nuxt Content v3</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Content&#x20;Collections&#x20;and&#x20;Type&#x20;Safety&#x20;in&#x20;Nuxt&#x20;Content&#x20;v3"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/content-collections-and-type-safety-in-nuxt-content-v3.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/building-custom-refs-in-vue-3-with-customref</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/custom-refs-selbst-bauen-mit-customref" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/building-custom-refs-in-vue-3-with-customref" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/building-custom-refs-in-vue-3-with-customref.webp</image:loc><image:title>Building Custom Refs in Vue 3: customRef, track and trigger</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Custom&#x20;Refs&#x20;in&#x20;Vue&#x20;3&#x3A;&#x20;customRef,&#x20;track&#x20;and&#x20;trigger"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/building-custom-refs-in-vue-3-with-customref.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/database-integration-in-nuxt-server-routes-with-drizzle-and-prisma</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/datenbank-anbindung-in-nuxt-server-routes-mit-drizzle-und-prisma" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/database-integration-in-nuxt-server-routes-with-drizzle-and-prisma" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/database-integration-in-nuxt-server-routes-with-drizzle-and-prisma.webp</image:loc><image:title>Database Integration in Nuxt Server Routes with Drizzle and Prisma</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Database&#x20;Integration&#x20;in&#x20;Nuxt&#x20;Server&#x20;Routes&#x20;with&#x20;Drizzle&#x20;and&#x20;Prisma"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/database-integration-in-nuxt-server-routes-with-drizzle-and-prisma.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/building-a-design-system-with-vue-components-from-tokens-to-documentation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/design-system-mit-vue-komponenten-aufbauen-von-tokens-bis-dokumentation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/building-a-design-system-with-vue-components-from-tokens-to-documentation" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/building-a-design-system-with-vue-components-from-tokens-to-documentation.webp</image:loc><image:title>Building a Design System with Vue Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Design&#x20;System&#x20;with&#x20;Vue&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/building-a-design-system-with-vue-components-from-tokens-to-documentation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-e2e-tests-with-playwright</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-e2e-tests-mit-playwright" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-e2e-tests-with-playwright" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-e2e-tests-with-playwright.webp</image:loc><image:title>End to End Tests with Playwright for Vue Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="End&#x20;to&#x20;End&#x20;Tests&#x20;with&#x20;Playwright&#x20;for&#x20;Vue&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-e2e-tests-with-playwright.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/effect-scope-in-vue-3-for-clean-composable-cleanup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/effect-scope-in-vue-3-fuer-sauberes-cleanup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/effect-scope-in-vue-3-for-clean-composable-cleanup" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/effect-scope-in-vue-3-for-clean-composable-cleanup.webp</image:loc><image:title>Effect Scope in Vue 3: Clean Cleanup for Composables</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Effect&#x20;Scope&#x20;in&#x20;Vue&#x20;3&#x3A;&#x20;Clean&#x20;Cleanup&#x20;for&#x20;Composables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/effect-scope-in-vue-3-for-clean-composable-cleanup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/feature-flags-in-vue-apps-controlled-feature-rollouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/feature-flags-in-vue-apps-kontrolliertes-ausrollen-von-features" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/feature-flags-in-vue-apps-controlled-feature-rollouts" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/feature-flags-in-vue-apps-controlled-feature-rollouts.webp</image:loc><image:title>Feature Flags in Vue Apps: Controlled Rollouts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Feature&#x20;Flags&#x20;in&#x20;Vue&#x20;Apps&#x3A;&#x20;Controlled&#x20;Rollouts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/feature-flags-in-vue-apps-controlled-feature-rollouts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/ionic-vue-basics-native-ui-components-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/ionic-vue-grundlagen-native-ui-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/ionic-vue-basics-native-ui-components-en" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/ionic-vue-basics-native-ui-components-en.webp</image:loc><image:title>Ionic Vue Basics: Native UI Components for Mobile Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Ionic&#x20;Vue&#x20;Basics&#x3A;&#x20;Native&#x20;UI&#x20;Components&#x20;for&#x20;Mobile&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/ionic-vue-basics-native-ui-components-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/lazy-loading-routes-and-components-in-vue</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/lazy-loading-von-routen-und-komponenten-in-vue" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/lazy-loading-routes-and-components-in-vue" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/lazy-loading-routes-and-components-in-vue.webp</image:loc><image:title>Lazy Loading Routes and Components in Vue</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Lazy&#x20;Loading&#x20;Routes&#x20;and&#x20;Components&#x20;in&#x20;Vue"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/lazy-loading-routes-and-components-in-vue.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-macros-compiler-macros-beyond-definemodel-defineprops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-macros-compiler-makros-jenseits-von-definemodel-defineprops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-macros-compiler-macros-beyond-definemodel-defineprops" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-macros-compiler-macros-beyond-definemodel-defineprops.webp</image:loc><image:title>Vue Macros and Compiler Macros: Beyond defineModel and defineProps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Macros&#x20;and&#x20;Compiler&#x20;Macros&#x3A;&#x20;Beyond&#x20;defineModel&#x20;and&#x20;defineProps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-macros-compiler-macros-beyond-definemodel-defineprops.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/connecting-vue-magento-graphql-products-prices-stock</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-magento-graphql-verbinden-produkte-preise-lagerbestand" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/connecting-vue-magento-graphql-products-prices-stock" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/connecting-vue-magento-graphql-products-prices-stock.webp</image:loc><image:title>Connecting Vue to Magento GraphQL: Loading Products, Prices and Stock</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Connecting&#x20;Vue&#x20;to&#x20;Magento&#x20;GraphQL&#x3A;&#x20;Loading&#x20;Products,&#x20;Prices&#x20;and&#x20;Stock"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/connecting-vue-magento-graphql-products-prices-stock.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-finding-and-fixing-memory-leaks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-memory-leaks-aufspueren-und-beheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-finding-and-fixing-memory-leaks" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-finding-and-fixing-memory-leaks.webp</image:loc><image:title>Finding and Fixing Vue Memory Leaks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Finding&#x20;and&#x20;Fixing&#x20;Vue&#x20;Memory&#x20;Leaks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-finding-and-fixing-memory-leaks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/micro-frontends-with-vue-strategies-for-large-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/micro-frontends-mit-vue-strategien-fur-grosse-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/micro-frontends-with-vue-strategies-for-large-teams" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/micro-frontends-with-vue-strategies-for-large-teams.webp</image:loc><image:title>Micro Frontends with Vue: Strategies for Large Teams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Micro&#x20;Frontends&#x20;with&#x20;Vue&#x3A;&#x20;Strategies&#x20;for&#x20;Large&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/micro-frontends-with-vue-strategies-for-large-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/module-federation-in-vue-apps-shared-dependencies-and-runtime-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/module-federation-in-vue-apps-geteilte-abhangigkeiten-und-runtime-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/module-federation-in-vue-apps-shared-dependencies-and-runtime-integration" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/module-federation-in-vue-apps-shared-dependencies-and-runtime-integration.webp</image:loc><image:title>Module Federation in Vue Apps: Shared Dependencies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Module&#x20;Federation&#x20;in&#x20;Vue&#x20;Apps&#x3A;&#x20;Shared&#x20;Dependencies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/module-federation-in-vue-apps-shared-dependencies-and-runtime-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/monorepo-vue-projects-with-turborepo-caching-and-build-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/monorepo-vue-projekte-mit-turborepo-caching-und-build-pipelines" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/monorepo-vue-projects-with-turborepo-caching-and-build-pipelines" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/monorepo-vue-projects-with-turborepo-caching-and-build-pipelines.webp</image:loc><image:title>Monorepo Vue Projects with Turborepo: Caching, Pipelines</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Monorepo&#x20;Vue&#x20;Projects&#x20;with&#x20;Turborepo&#x3A;&#x20;Caching,&#x20;Pipelines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/monorepo-vue-projects-with-turborepo-caching-and-build-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-nuxt-2-to-nuxt-3-migration-practical-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-nuxt-2-zu-nuxt-3-migration-praxisleitfaden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-nuxt-2-to-nuxt-3-migration-practical-guide" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-2-to-nuxt-3-migration-practical-guide.webp</image:loc><image:title>Nuxt 2 to Nuxt 3 Migration: A Practical Guide with Nuxt Bridge</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;2&#x20;to&#x20;Nuxt&#x20;3&#x20;Migration&#x3A;&#x20;A&#x20;Practical&#x20;Guide&#x20;with&#x20;Nuxt&#x20;Bridge"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-2-to-nuxt-3-migration-practical-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/nuxt-auth-modules-compared-sidebase-nuxt-auth-utils-and-custom</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/nuxt-auth-module-im-vergleich-sidebase-nuxt-auth-utils-und-eigenbau" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/nuxt-auth-modules-compared-sidebase-nuxt-auth-utils-and-custom" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nuxt-auth-modules-compared-sidebase-nuxt-auth-utils-and-custom.webp</image:loc><image:title>Nuxt Auth Modules Compared: sidebase, nuxt-auth-utils, Custom</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;Auth&#x20;Modules&#x20;Compared&#x3A;&#x20;sidebase,&#x20;nuxt-auth-utils,&#x20;Custom"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nuxt-auth-modules-compared-sidebase-nuxt-auth-utils-and-custom.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/nuxt-content-module-markdown-based-pages-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/nuxt-content-modul-markdown-basierte-seiten-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/nuxt-content-module-markdown-based-pages-guide" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nuxt-content-module-markdown-based-pages-guide.webp</image:loc><image:title>Nuxt Content: Building Markdown Based Pages the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;Content&#x3A;&#x20;Building&#x20;Markdown&#x20;Based&#x20;Pages&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nuxt-content-module-markdown-based-pages-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/nuxt-content-preview-mode-managing-drafts-safely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/nuxt-content-preview-modus-entwuerfe-sicher-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/nuxt-content-preview-mode-managing-drafts-safely" />
<lastmod>2026-07-31T11:08:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nuxt-content-preview-mode-managing-drafts-safely.webp</image:loc><image:title>Nuxt Content Preview Mode: Managing Drafts Safely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;Content&#x20;Preview&#x20;Mode&#x3A;&#x20;Managing&#x20;Drafts&#x20;Safely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nuxt-content-preview-mode-managing-drafts-safely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-nuxt-devtools-embedded-developer-panel-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-nuxt-devtools-eingebettetes-entwickler-panel-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-nuxt-devtools-embedded-developer-panel-in-detail" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-devtools-embedded-developer-panel-in-detail.webp</image:loc><image:title>Nuxt DevTools: The Embedded Developer Panel in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;DevTools&#x3A;&#x20;The&#x20;Embedded&#x20;Developer&#x20;Panel&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-devtools-embedded-developer-panel-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-debugging-nuxt-hydration-mismatches-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-nuxt-hydration-mismatches-systematisch-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-debugging-nuxt-hydration-mismatches-systematically" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-debugging-nuxt-hydration-mismatches-systematically.webp</image:loc><image:title>Debugging Nuxt Hydration Mismatches Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Debugging&#x20;Nuxt&#x20;Hydration&#x20;Mismatches&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-debugging-nuxt-hydration-mismatches-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/nuxt-image-module-image-optimization-lazy-loading-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/nuxt-image-modul-bildoptimierung-lazy-loading-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/nuxt-image-module-image-optimization-lazy-loading-guide" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nuxt-image-module-image-optimization-lazy-loading-guide.webp</image:loc><image:title>Nuxt Image Module: Image Optimization and Lazy Loading in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;Image&#x20;Module&#x3A;&#x20;Image&#x20;Optimization&#x20;and&#x20;Lazy&#x20;Loading&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nuxt-image-module-image-optimization-lazy-loading-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/nuxt-server-middleware-patterns-logging-cors-and-request-context</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/nuxt-server-middleware-patterns-logging-cors-request-context" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/nuxt-server-middleware-patterns-logging-cors-and-request-context" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nuxt-server-middleware-patterns-logging-cors-and-request-context.webp</image:loc><image:title>Nuxt Server Middleware Patterns: Logging, CORS, Request Context</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;Server&#x20;Middleware&#x20;Patterns&#x3A;&#x20;Logging,&#x20;CORS,&#x20;Request&#x20;Context"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nuxt-server-middleware-patterns-logging-cors-and-request-context.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/nuxt-server-routes-as-rest-api-backend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/nuxt-server-routes-als-rest-api-backend-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/nuxt-server-routes-as-rest-api-backend" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nuxt-server-routes-as-rest-api-backend.webp</image:loc><image:title>Using Nuxt Server Routes as a REST API Backend</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Nuxt&#x20;Server&#x20;Routes&#x20;as&#x20;a&#x20;REST&#x20;API&#x20;Backend"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nuxt-server-routes-as-rest-api-backend.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/nuxt-3-ssg-deployment-static-hosts-netlify-vercel-cloudflare</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/nuxt-3-ssg-deployment-auf-static-hosts-netlify-vercel-cloudflare" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/nuxt-3-ssg-deployment-static-hosts-netlify-vercel-cloudflare" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nuxt-3-ssg-deployment-static-hosts-netlify-vercel-cloudflare.webp</image:loc><image:title>Nuxt 3 SSG Deployment on Static Hosts: Netlify, Vercel, Cloudflare</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;3&#x20;SSG&#x20;Deployment&#x20;on&#x20;Static&#x20;Hosts&#x3A;&#x20;Netlify,&#x20;Vercel,&#x20;Cloudflare"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nuxt-3-ssg-deployment-static-hosts-netlify-vercel-cloudflare.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-migrating-options-api-to-composition-api-step-by-step</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-options-api-zu-composition-api-schrittweise-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-migrating-options-api-to-composition-api-step-by-step" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-migrating-options-api-to-composition-api-step-by-step.webp</image:loc><image:title>Migrating Options API to Composition API Step by Step</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Migrating&#x20;Options&#x20;API&#x20;to&#x20;Composition&#x20;API&#x20;Step&#x20;by&#x20;Step"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-migrating-options-api-to-composition-api-step-by-step.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testing-pinia-stores-in-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-pinia-stores-isoliert-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testing-pinia-stores-in-isolation" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-pinia-stores-in-isolation.webp</image:loc><image:title>Testing Pinia Stores in Isolation: Actions, Getters, and Plugins</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;Pinia&#x20;Stores&#x20;in&#x20;Isolation&#x3A;&#x20;Actions,&#x20;Getters,&#x20;and&#x20;Plugins"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-pinia-stores-in-isolation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-product-configurator-variants-attributes-live-pricing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-produktkonfigurator-varianten-attribute-live-preisberechnung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-product-configurator-variants-attributes-live-pricing" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-product-configurator-variants-attributes-live-pricing.webp</image:loc><image:title>Vue Product Configurator: Variants, Attributes and Live Pricing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Product&#x20;Configurator&#x3A;&#x20;Variants,&#x20;Attributes&#x20;and&#x20;Live&#x20;Pricing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-product-configurator-variants-attributes-live-pricing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-3-proxy-reactivity-under-the-hood</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-proxy-reaktivitaet-unter-der-haube" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-3-proxy-reactivity-under-the-hood" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-3-proxy-reactivity-under-the-hood.webp</image:loc><image:title>Vue 3 Proxy Reactivity: How the Reactivity Core Really Works Under the Hood</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;3&#x20;Proxy&#x20;Reactivity&#x3A;&#x20;How&#x20;the&#x20;Reactivity&#x20;Core&#x20;Really&#x20;Works&#x20;Under&#x20;the&#x20;Hood"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-3-proxy-reactivity-under-the-hood.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/pwa-with-vue-and-vite-offline-installable-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/pwa-mit-vue-und-vite-offline-installierbar" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/pwa-with-vue-and-vite-offline-installable-en" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/pwa-with-vue-and-vite-offline-installable-en.webp</image:loc><image:title>PWA With Vue and Vite: Building Offline and Installable Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PWA&#x20;With&#x20;Vue&#x20;and&#x20;Vite&#x3A;&#x20;Building&#x20;Offline&#x20;and&#x20;Installable&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/pwa-with-vue-and-vite-offline-installable-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/rate-limiting-in-nuxt-server-routes-strategies-and-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/rate-limiting-in-nuxt-server-routes-strategien-und-implementierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/rate-limiting-in-nuxt-server-routes-strategies-and-implementation" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/rate-limiting-in-nuxt-server-routes-strategies-and-implementation.webp</image:loc><image:title>Rate Limiting in Nuxt Server Routes: Strategies and Implementation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Rate&#x20;Limiting&#x20;in&#x20;Nuxt&#x20;Server&#x20;Routes&#x3A;&#x20;Strategies&#x20;and&#x20;Implementation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/rate-limiting-in-nuxt-server-routes-strategies-and-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/understanding-the-vue-3-reactivity-scheduler-and-nexttick</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/reactivity-scheduler-und-nexttick-in-vue-3-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/understanding-the-vue-3-reactivity-scheduler-and-nexttick" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/understanding-the-vue-3-reactivity-scheduler-and-nexttick.webp</image:loc><image:title>Understanding the Vue 3 Reactivity Scheduler and nextTick</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;the&#x20;Vue&#x20;3&#x20;Reactivity&#x20;Scheduler&#x20;and&#x20;nextTick"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/understanding-the-vue-3-reactivity-scheduler-and-nexttick.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-3-reactivity-transform-experiment-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/reactivity-transform-experiment-vue-3-einordnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-3-reactivity-transform-experiment-explained" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-3-reactivity-transform-experiment-explained.webp</image:loc><image:title>Vue 3 Reactivity Transform: Understanding the Experiment</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;3&#x20;Reactivity&#x20;Transform&#x3A;&#x20;Understanding&#x20;the&#x20;Experiment"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-3-reactivity-transform-experiment-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-reactivity-performance-shallowref-markraw-and-toraw</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/reaktivitaets-performance-shallowref-markraw-und-toraw-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-reactivity-performance-shallowref-markraw-and-toraw" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-reactivity-performance-shallowref-markraw-and-toraw.webp</image:loc><image:title>Vue Reactivity Performance: shallowRef, markRaw, toRaw</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Reactivity&#x20;Performance&#x3A;&#x20;shallowRef,&#x20;markRaw,&#x20;toRaw"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-reactivity-performance-shallowref-markraw-and-toraw.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/responsive-vue-component-patterns-breakpoints-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/responsive-vue-komponenten-patterns-breakpoints" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/responsive-vue-component-patterns-breakpoints-en" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/responsive-vue-component-patterns-breakpoints-en.webp</image:loc><image:title>Responsive Vue Component Patterns: Solving Breakpoints Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Responsive&#x20;Vue&#x20;Component&#x20;Patterns&#x3A;&#x20;Solving&#x20;Breakpoints&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/responsive-vue-component-patterns-breakpoints-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/snapshot-testing-pitfalls-in-vue</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-snapshot-testing-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/snapshot-testing-pitfalls-in-vue" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/snapshot-testing-pitfalls-in-vue.webp</image:loc><image:title>Snapshot Testing Pitfalls in Vue: When It Tips Over</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Snapshot&#x20;Testing&#x20;Pitfalls&#x20;in&#x20;Vue&#x3A;&#x20;When&#x20;It&#x20;Tips&#x20;Over"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/snapshot-testing-pitfalls-in-vue.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/nuxt-ssr-performance-tuning-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-ssr-performance-tuning-in-nuxt-anwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/nuxt-ssr-performance-tuning-guide" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nuxt-ssr-performance-tuning-guide.webp</image:loc><image:title>Vue SSR Performance Tuning in Nuxt Applications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;SSR&#x20;Performance&#x20;Tuning&#x20;in&#x20;Nuxt&#x20;Applications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nuxt-ssr-performance-tuning-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-storefront-architecture-headless-commerce-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-storefront-architektur-headless-commerce-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-storefront-architecture-headless-commerce-fundamentals" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-storefront-architecture-headless-commerce-fundamentals.webp</image:loc><image:title>Vue Storefront Architecture: Headless Commerce Fundamentals for Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Storefront&#x20;Architecture&#x3A;&#x20;Headless&#x20;Commerce&#x20;Fundamentals&#x20;for&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-storefront-architecture-headless-commerce-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/toref-and-torefs-the-bridge-between-reactive-and-ref</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/toref-und-torefs-die-bruecke-zwischen-reactive-und-ref" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/toref-and-torefs-the-bridge-between-reactive-and-ref" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/toref-and-torefs-the-bridge-between-reactive-and-ref.webp</image:loc><image:title>toRef() and toRefs(): the Bridge Between reactive() and ref()</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="toRef&#x28;&#x29;&#x20;and&#x20;toRefs&#x28;&#x29;&#x3A;&#x20;the&#x20;Bridge&#x20;Between&#x20;reactive&#x28;&#x29;&#x20;and&#x20;ref&#x28;&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/toref-and-torefs-the-bridge-between-reactive-and-ref.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/touch-gestures-in-vue-apps-swipe-drag-pinch-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/touch-gesten-in-vue-apps-swipe-drag-pinch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/touch-gestures-in-vue-apps-swipe-drag-pinch-en" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/touch-gestures-in-vue-apps-swipe-drag-pinch-en.webp</image:loc><image:title>Touch Gestures in Vue Apps: Implementing Swipe, Drag, and Pinch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Touch&#x20;Gestures&#x20;in&#x20;Vue&#x20;Apps&#x3A;&#x20;Implementing&#x20;Swipe,&#x20;Drag,&#x20;and&#x20;Pinch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/touch-gestures-in-vue-apps-swipe-drag-pinch-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-vitest-ui-visual-test-dashboard-for-vue-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-vitest-ui-visuelles-test-dashboard-fuer-vue-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-vitest-ui-visual-test-dashboard-for-vue-projects" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-vitest-ui-visual-test-dashboard-for-vue-projects.webp</image:loc><image:title>Vitest UI: A Visual Test Dashboard for Vue Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vitest&#x20;UI&#x3A;&#x20;A&#x20;Visual&#x20;Test&#x20;Dashboard&#x20;for&#x20;Vue&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-vitest-ui-visual-test-dashboard-for-vue-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-volar-vs-vue-language-server-comparing-ide-tooling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-volar-vs-vue-language-server-ide-tooling-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-volar-vs-vue-language-server-comparing-ide-tooling" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-volar-vs-vue-language-server-comparing-ide-tooling.webp</image:loc><image:title>Volar vs. Vue Language Server: Comparing IDE Tooling for Vue 3</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Volar&#x20;vs.&#x20;Vue&#x20;Language&#x20;Server&#x3A;&#x20;Comparing&#x20;IDE&#x20;Tooling&#x20;for&#x20;Vue&#x20;3"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-volar-vs-vue-language-server-comparing-ide-tooling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-vue-3-breaking-changes-checklist-for-migration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-vue-3-breaking-changes-checkliste-fur-die-migration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-vue-3-breaking-changes-checklist-for-migration" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-vue-3-breaking-changes-checklist-for-migration.webp</image:loc><image:title>Vue 3 Breaking Changes Checklist for Migration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;3&#x20;Breaking&#x20;Changes&#x20;Checklist&#x20;for&#x20;Migration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-vue-3-breaking-changes-checklist-for-migration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-vueuse-library-in-practice-composables-for-everyday-use</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-vueuse-bibliothek-praktisch-nutzen-composables-fuer-den-alltag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-vueuse-library-in-practice-composables-for-everyday-use" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-vueuse-library-in-practice-composables-for-everyday-use.webp</image:loc><image:title>VueUse in Practice: Using Composables the Right Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="VueUse&#x20;in&#x20;Practice&#x3A;&#x20;Using&#x20;Composables&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-vueuse-library-in-practice-composables-for-everyday-use.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vue-cart-state-management-pinia-persistence-sync</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/vue-warenkorb-state-mit-pinia-persistenz-und-sync" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vue-cart-state-management-pinia-persistence-sync" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-cart-state-management-pinia-persistence-sync.webp</image:loc><image:title>Vue Cart State Management with Pinia: Persistence and Synchronization</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Cart&#x20;State&#x20;Management&#x20;with&#x20;Pinia&#x3A;&#x20;Persistence&#x20;and&#x20;Synchronization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-cart-state-management-pinia-persistence-sync.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/measuring-web-vitals-in-vue-apps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/web-vitals-in-vue-apps-messen-und-verbessern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/measuring-web-vitals-in-vue-apps" />
<lastmod>2026-07-31T11:08:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/measuring-web-vitals-in-vue-apps.webp</image:loc><image:title>Measuring and Improving Web Vitals in Vue Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Measuring&#x20;and&#x20;Improving&#x20;Web&#x20;Vitals&#x20;in&#x20;Vue&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/measuring-web-vitals-in-vue-apps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-api-extractor-for-libraries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-api-extractor-fuer-bibliotheken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-api-extractor-for-libraries" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-api-extractor-for-libraries.webp</image:loc><image:title>Using API Extractor for TypeScript Libraries</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;API&#x20;Extractor&#x20;for&#x20;TypeScript&#x20;Libraries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-api-extractor-for-libraries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-enforcing-validation-api-boundaries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-validierung-api-grenzen-durchsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-enforcing-validation-api-boundaries" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-enforcing-validation-api-boundaries.webp</image:loc><image:title>Enforcing Validation at API Boundaries: Trust Boundary Pattern</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Enforcing&#x20;Validation&#x20;at&#x20;API&#x20;Boundaries&#x3A;&#x20;Trust&#x20;Boundary&#x20;Pattern"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-enforcing-validation-api-boundaries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/architecture-decision-records-typescript-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/architecture-decision-records-typescript-typen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/architecture-decision-records-typescript-types" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/architecture-decision-records-typescript-types.webp</image:loc><image:title>Architecture Decision Records for TypeScript Type Decisions in a Team</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Architecture&#x20;Decision&#x20;Records&#x20;for&#x20;TypeScript&#x20;Type&#x20;Decisions&#x20;in&#x20;a&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/architecture-decision-records-typescript-types.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-backwards-compatibility-type-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-backwards-compatibility-bei-typ-aenderungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-backwards-compatibility-type-changes" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-backwards-compatibility-type-changes.webp</image:loc><image:title>Ensuring Backwards Compatibility for Type Changes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Ensuring&#x20;Backwards&#x20;Compatibility&#x20;for&#x20;Type&#x20;Changes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-backwards-compatibility-type-changes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/using-the-typescript-compiler-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-compiler-api-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/using-the-typescript-compiler-api" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/using-the-typescript-compiler-api.webp</image:loc><image:title>Using the TypeScript Compiler API: Building Custom Analysis Tools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;the&#x20;TypeScript&#x20;Compiler&#x20;API&#x3A;&#x20;Building&#x20;Custom&#x20;Analysis&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/using-the-typescript-compiler-api.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/writing-custom-typescript-compiler-transformers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-compiler-transformer-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/writing-custom-typescript-compiler-transformers" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/writing-custom-typescript-compiler-transformers.webp</image:loc><image:title>Writing Custom TypeScript Compiler Transformers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Custom&#x20;TypeScript&#x20;Compiler&#x20;Transformers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/writing-custom-typescript-compiler-transformers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-typing-the-react-context-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-context-api-typsicher-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-typing-the-react-context-api" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-typing-the-react-context-api.webp</image:loc><image:title>Typing the React Context API Safely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Typing&#x20;the&#x20;React&#x20;Context&#x20;API&#x20;Safely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-typing-the-react-context-api.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-declaration-maps-developer-experience</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-declaration-maps-entwicklererfahrung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-declaration-maps-developer-experience" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-declaration-maps-developer-experience.webp</image:loc><image:title>Using Declaration Maps for a Better Developer Experience</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Declaration&#x20;Maps&#x20;for&#x20;a&#x20;Better&#x20;Developer&#x20;Experience"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-declaration-maps-developer-experience.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/distributive-conditional-types-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/distributive-conditional-types-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/distributive-conditional-types-explained" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/distributive-conditional-types-explained.webp</image:loc><image:title>Understanding Distributive Conditional Types in TypeScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Distributive&#x20;Conditional&#x20;Types&#x20;in&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/distributive-conditional-types-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-docker-multi-stage-builds-lean-images</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-docker-multi-stage-builds-schlanke-images" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-docker-multi-stage-builds-lean-images" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-docker-multi-stage-builds-lean-images.webp</image:loc><image:title>TypeScript in Docker Multi-Stage Builds: Building Lean Production Images</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;in&#x20;Docker&#x20;Multi-Stage&#x20;Builds&#x3A;&#x20;Building&#x20;Lean&#x20;Production&#x20;Images"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-docker-multi-stage-builds-lean-images.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-error-handling-discriminated-unions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/error-handling-discriminated-unions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-error-handling-discriminated-unions" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-error-handling-discriminated-unions.webp</image:loc><image:title>Error Handling with Discriminated Unions in TypeScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Error&#x20;Handling&#x20;with&#x20;Discriminated&#x20;Unions&#x20;in&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-error-handling-discriminated-unions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-custom-error-class-hierarchies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/error-klassen-hierarchien-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-custom-error-class-hierarchies" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-custom-error-class-hierarchies.webp</image:loc><image:title>Building Custom Error Class Hierarchies in TypeScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Custom&#x20;Error&#x20;Class&#x20;Hierarchies&#x20;in&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-custom-error-class-hierarchies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-esbuild-vs-swc-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-esbuild-und-swc-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-esbuild-vs-swc-comparison" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-esbuild-vs-swc-comparison.webp</image:loc><image:title>TypeScript with esbuild and swc: Comparing Fast Compiler Alternatives</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;with&#x20;esbuild&#x20;and&#x20;swc&#x3A;&#x20;Comparing&#x20;Fast&#x20;Compiler&#x20;Alternatives"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-esbuild-vs-swc-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-esm-vs-commonjs-output-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-esm-vs-commonjs-output-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-esm-vs-commonjs-output-configuration" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-esm-vs-commonjs-output-configuration.webp</image:loc><image:title>ESM vs. CommonJS: Getting TypeScript Package Output Configuration Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ESM&#x20;vs.&#x20;CommonJS&#x3A;&#x20;Getting&#x20;TypeScript&#x20;Package&#x20;Output&#x20;Configuration&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-esm-vs-commonjs-output-configuration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-express-type-safe</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-express-typsicher" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-express-type-safe" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-express-type-safe.webp</image:loc><image:title>Making Express Type Safe with TypeScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;Express&#x20;Type&#x20;Safe&#x20;with&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-express-type-safe.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-fastify-schema-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-fastify-schema-validierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-fastify-schema-validation" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-fastify-schema-validation.webp</image:loc><image:title>TypeScript with Fastify: Schema Validation and Type Inference</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;with&#x20;Fastify&#x3A;&#x20;Schema&#x20;Validation&#x20;and&#x20;Type&#x20;Inference"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-fastify-schema-validation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-writing-generic-react-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-generische-react-komponenten-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-writing-generic-react-components" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-writing-generic-react-components.webp</image:loc><image:title>Writing Generic React Components with TypeScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Generic&#x20;React&#x20;Components&#x20;with&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-writing-generic-react-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-graphql-code-generator-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-graphql-code-generator" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-graphql-code-generator-guide" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-graphql-code-generator-guide.webp</image:loc><image:title>TypeScript with GraphQL Code Generator: Types from the Schema</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;with&#x20;GraphQL&#x20;Code&#x20;Generator&#x3A;&#x20;Types&#x20;from&#x20;the&#x20;Schema"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-graphql-code-generator-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/higher-kinded-types-simulation-english</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/higher-kinded-types-simulation-typescript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/higher-kinded-types-simulation-english" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/higher-kinded-types-simulation-english.webp</image:loc><image:title>Higher Kinded Types Simulation in TypeScript: the URI Pattern Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Higher&#x20;Kinded&#x20;Types&#x20;Simulation&#x20;in&#x20;TypeScript&#x3A;&#x20;the&#x20;URI&#x20;Pattern&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/higher-kinded-types-simulation-english.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-hono-edge-ready-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-hono-edge-backend" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-hono-edge-ready-framework" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-hono-edge-ready-framework.webp</image:loc><image:title>TypeScript with Hono: A Lean Edge Ready Backend Framework</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;with&#x20;Hono&#x3A;&#x20;A&#x20;Lean&#x20;Edge&#x20;Ready&#x20;Backend&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-hono-edge-ready-framework.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-io-ts-zod-valibot-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-io-ts-zod-valibot-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-io-ts-zod-valibot-comparison" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-io-ts-zod-valibot-comparison.webp</image:loc><image:title>io-ts vs. Zod vs. Valibot: Runtime Validation Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="io-ts&#x20;vs.&#x20;Zod&#x20;vs.&#x20;Valibot&#x3A;&#x20;Runtime&#x20;Validation&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-io-ts-zod-valibot-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/understanding-the-typescript-language-server</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-language-server-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/understanding-the-typescript-language-server" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/understanding-the-typescript-language-server.webp</image:loc><image:title>The TypeScript Language Server: How IntelliSense Really Works</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;TypeScript&#x20;Language&#x20;Server&#x3A;&#x20;How&#x20;IntelliSense&#x20;Really&#x20;Works"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/understanding-the-typescript-language-server.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-with-nestjs-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-mit-nestjs-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-with-nestjs-basics" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-with-nestjs-basics.webp</image:loc><image:title>TypeScript with NestJS: Basics of a Type Safe Backend Architecture</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;with&#x20;NestJS&#x3A;&#x20;Basics&#x20;of&#x20;a&#x20;Type&#x20;Safe&#x20;Backend&#x20;Architecture"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-with-nestjs-basics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-never-type-practical-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/never-type-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-never-type-practical-guide" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-never-type-practical-guide.webp</image:loc><image:title>Using the never Type Practically in TypeScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;the&#x20;never&#x20;Type&#x20;Practically&#x20;in&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-never-type-practical-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-npm-library-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-npm-bibliothek-von-grund-auf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-npm-library-from-scratch" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-npm-library-from-scratch.webp</image:loc><image:title>Building a Type-Safe npm Library From Scratch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Type-Safe&#x20;npm&#x20;Library&#x20;From&#x20;Scratch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-npm-library-from-scratch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/nx-vs-turborepo-typescript-monorepo-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/nx-vs-turborepo-typescript-monorepo-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/nx-vs-turborepo-typescript-monorepo-comparison" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nx-vs-turborepo-typescript-monorepo-comparison.webp</image:loc><image:title>Nx vs. Turborepo for TypeScript Monorepos: Comparing Build Caching</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nx&#x20;vs.&#x20;Turborepo&#x20;for&#x20;TypeScript&#x20;Monorepos&#x3A;&#x20;Comparing&#x20;Build&#x20;Caching"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nx-vs-turborepo-typescript-monorepo-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/onboarding-new-developers-typescript-codebase</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/onboarding-neue-entwickler-typescript-codebasis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/onboarding-new-developers-typescript-codebase" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/onboarding-new-developers-typescript-codebase.webp</image:loc><image:title>Onboarding New Developers into a TypeScript Codebase: A Practical Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Onboarding&#x20;New&#x20;Developers&#x20;into&#x20;a&#x20;TypeScript&#x20;Codebase&#x3A;&#x20;A&#x20;Practical&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/onboarding-new-developers-typescript-codebase.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/package-json-exports-field-typescript-packages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/package-json-exports-feld-typescript-pakete" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/package-json-exports-field-typescript-packages" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/package-json-exports-field-typescript-packages.webp</image:loc><image:title>Configuring the package.json Exports Field for TypeScript Packages</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;the&#x20;package.json&#x20;Exports&#x20;Field&#x20;for&#x20;TypeScript&#x20;Packages"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/package-json-exports-field-typescript-packages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-parse-dont-validate-principle</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-parsing-statt-validieren-prinzip" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-parse-dont-validate-principle" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-parse-dont-validate-principle.webp</image:loc><image:title>Parse, Don't Validate: An Architecture Principle for TypeScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Parse,&#x20;Don&#x27;t&#x20;Validate&#x3A;&#x20;An&#x20;Architecture&#x20;Principle&#x20;for&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-parse-dont-validate-principle.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-peer-dependencies-type-safe</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-peer-dependencies-typsicher-deklarieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-peer-dependencies-type-safe" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-peer-dependencies-type-safe.webp</image:loc><image:title>Declaring Peer Dependencies in a Type-Safe Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Declaring&#x20;Peer&#x20;Dependencies&#x20;in&#x20;a&#x20;Type-Safe&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-peer-dependencies-type-safe.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-react-event-handler-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-event-handler-types-in-react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-react-event-handler-types" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-react-event-handler-types.webp</image:loc><image:title>Getting React Event Handler Types Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Getting&#x20;React&#x20;Event&#x20;Handler&#x20;Types&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-react-event-handler-types.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-typing-react-hooks-safely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-react-hooks-typsicher-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-typing-react-hooks-safely" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-typing-react-hooks-safely.webp</image:loc><image:title>Typing React Hooks Safely with TypeScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Typing&#x20;React&#x20;Hooks&#x20;Safely&#x20;with&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-typing-react-hooks-safely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-typing-react-props-and-children</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-react-props-und-children-typisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-typing-react-props-and-children" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-typing-react-props-and-children.webp</image:loc><image:title>Typing React Props and Children in TypeScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Typing&#x20;React&#x20;Props&#x20;and&#x20;Children&#x20;in&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-typing-react-props-and-children.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/recursive-conditional-types-typescript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/rekursive-conditional-types-typescript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/recursive-conditional-types-typescript" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/recursive-conditional-types-typescript.webp</image:loc><image:title>Recursive Conditional Types in TypeScript: Deep Type Transformations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Recursive&#x20;Conditional&#x20;Types&#x20;in&#x20;TypeScript&#x3A;&#x20;Deep&#x20;Type&#x20;Transformations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/recursive-conditional-types-typescript.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-result-type-pattern-error-handling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/result-type-pattern-fehlerbehandlung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-result-type-pattern-error-handling" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-result-type-pattern-error-handling.webp</image:loc><image:title>Result Type Pattern in TypeScript: Error Handling Without Exceptions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Result&#x20;Type&#x20;Pattern&#x20;in&#x20;TypeScript&#x3A;&#x20;Error&#x20;Handling&#x20;Without&#x20;Exceptions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-result-type-pattern-error-handling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-generating-runtime-type-guards</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-runtime-type-guards-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-generating-runtime-type-guards" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-generating-runtime-type-guards.webp</image:loc><image:title>Generating Runtime Type Guards from Validation Schemas</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;Runtime&#x20;Type&#x20;Guards&#x20;from&#x20;Validation&#x20;Schemas"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-generating-runtime-type-guards.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/shared-types-frontend-backend-typescript-monorepo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/shared-types-frontend-backend-monorepo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/shared-types-frontend-backend-typescript-monorepo" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/shared-types-frontend-backend-typescript-monorepo.webp</image:loc><image:title>Shared Types Between Frontend and Backend in a TypeScript Monorepo</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Shared&#x20;Types&#x20;Between&#x20;Frontend&#x20;and&#x20;Backend&#x20;in&#x20;a&#x20;TypeScript&#x20;Monorepo"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/shared-types-frontend-backend-typescript-monorepo.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-source-maps-in-production-safely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-source-maps-in-produktion-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-source-maps-in-production-safely" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-source-maps-in-production-safely.webp</image:loc><image:title>Source Maps in Production for TypeScript: Debugging Without the Security Risk</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Source&#x20;Maps&#x20;in&#x20;Production&#x20;for&#x20;TypeScript&#x3A;&#x20;Debugging&#x20;Without&#x20;the&#x20;Security&#x20;Risk"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-source-maps-in-production-safely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/managing-technical-debt-any-type-governance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/technical-debt-any-typen-governance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/managing-technical-debt-any-type-governance" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/managing-technical-debt-any-type-governance.webp</image:loc><image:title>Managing Technical Debt from any: Governance, Not One-off Fixes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;Technical&#x20;Debt&#x20;from&#x20;any&#x3A;&#x20;Governance,&#x20;Not&#x20;One-off&#x20;Fixes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/managing-technical-debt-any-type-governance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-tree-shaking-for-libraries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-tree-shaking-bibliotheken-richtig-vorbereiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-tree-shaking-for-libraries" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-tree-shaking-for-libraries.webp</image:loc><image:title>Tree Shaking for TypeScript Libraries: Keeping Bundles Genuinely Lean</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tree&#x20;Shaking&#x20;for&#x20;TypeScript&#x20;Libraries&#x3A;&#x20;Keeping&#x20;Bundles&#x20;Genuinely&#x20;Lean"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-tree-shaking-for-libraries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-trpc-end-to-end-type-safety</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-trpc-ende-zu-ende-typsicherheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-trpc-end-to-end-type-safety" />
<lastmod>2026-07-31T19:09:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-trpc-end-to-end-type-safety.webp</image:loc><image:title>tRPC for End to End Type Safety Without REST or GraphQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="tRPC&#x20;for&#x20;End&#x20;to&#x20;End&#x20;Type&#x20;Safety&#x20;Without&#x20;REST&#x20;or&#x20;GraphQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-trpc-end-to-end-type-safety.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/ts-morph-code-generation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/ts-morph-codegenerierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/ts-morph-code-generation" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/ts-morph-code-generation.webp</image:loc><image:title>ts-morph for Code Generation: Building TypeScript Code Programmatically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ts-morph&#x20;for&#x20;Code&#x20;Generation&#x3A;&#x20;Building&#x20;TypeScript&#x20;Code&#x20;Programmatically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/ts-morph-code-generation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/measuring-improving-type-coverage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/type-coverage-messen-verbessern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/measuring-improving-type-coverage" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/measuring-improving-type-coverage.webp</image:loc><image:title>Measuring and Improving Type Coverage: Hunting Down any</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Measuring&#x20;and&#x20;Improving&#x20;Type&#x20;Coverage&#x3A;&#x20;Hunting&#x20;Down&#x20;any"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/measuring-improving-type-coverage.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/type-level-programming-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/type-level-programming-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/type-level-programming-fundamentals" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/type-level-programming-fundamentals.webp</image:loc><image:title>Type Level Programming Fundamentals in TypeScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Type&#x20;Level&#x20;Programming&#x20;Fundamentals&#x20;in&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/type-level-programming-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/creating-typescript-style-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-style-guide-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/creating-typescript-style-guide" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/creating-typescript-style-guide.webp</image:loc><image:title>Creating a TypeScript Style Guide Your Team Will Actually Follow</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Creating&#x20;a&#x20;TypeScript&#x20;Style&#x20;Guide&#x20;Your&#x20;Team&#x20;Will&#x20;Actually&#x20;Follow"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/creating-typescript-style-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-type-safe-error-boundaries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typsichere-error-boundaries" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-type-safe-error-boundaries" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-type-safe-error-boundaries.webp</image:loc><image:title>Type Safe Error Boundaries in TypeScript and React</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Type&#x20;Safe&#x20;Error&#x20;Boundaries&#x20;in&#x20;TypeScript&#x20;and&#x20;React"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-type-safe-error-boundaries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/establishing-type-safety-team-culture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typsicherheit-als-team-kultur-etablieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/establishing-type-safety-team-culture" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/establishing-type-safety-team-culture.webp</image:loc><image:title>Establishing Type Safety as a Team Culture: From Individual Tool to Shared Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Establishing&#x20;Type&#x20;Safety&#x20;as&#x20;a&#x20;Team&#x20;Culture&#x3A;&#x20;From&#x20;Individual&#x20;Tool&#x20;to&#x20;Shared&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/establishing-type-safety-team-culture.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/variadic-tuple-types-practical-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/variadic-tuple-types-praktisch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/variadic-tuple-types-practical-guide" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/variadic-tuple-types-practical-guide.webp</image:loc><image:title>Variadic Tuple Types in Practice: Currying, Concat, and Events</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Variadic&#x20;Tuple&#x20;Types&#x20;in&#x20;Practice&#x3A;&#x20;Currying,&#x20;Concat,&#x20;and&#x20;Events"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/variadic-tuple-types-practical-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/versioning-internal-typescript-packages-changesets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/versionierung-interne-typescript-pakete-changesets" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/versioning-internal-typescript-packages-changesets" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/versioning-internal-typescript-packages-changesets.webp</image:loc><image:title>Versioning Internal TypeScript Packages: Changesets and Semver in a Monorepo</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Versioning&#x20;Internal&#x20;TypeScript&#x20;Packages&#x3A;&#x20;Changesets&#x20;and&#x20;Semver&#x20;in&#x20;a&#x20;Monorepo"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/versioning-internal-typescript-packages-changesets.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/workspaces-package-linking-typescript-monorepo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/workspaces-paketverlinkung-typescript-monorepo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/workspaces-package-linking-typescript-monorepo" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/workspaces-package-linking-typescript-monorepo.webp</image:loc><image:title>npm, pnpm and Yarn Workspaces: Package Linking in a TypeScript Monorepo</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="npm,&#x20;pnpm&#x20;and&#x20;Yarn&#x20;Workspaces&#x3A;&#x20;Package&#x20;Linking&#x20;in&#x20;a&#x20;TypeScript&#x20;Monorepo"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/workspaces-package-linking-typescript-monorepo.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript-zod-schema-design-patterns-large-codebases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/typescript-zod-schema-design-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript-zod-schema-design-patterns-large-codebases" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-zod-schema-design-patterns-large-codebases.webp</image:loc><image:title>Zod Schema Design Patterns: Structuring Validation Schemas</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Zod&#x20;Schema&#x20;Design&#x20;Patterns&#x3A;&#x20;Structuring&#x20;Validation&#x20;Schemas"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-zod-schema-design-patterns-large-codebases.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-aggregation-after-joins-fan-out-problem</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-aggregation-nach-joins-fan-out-problem" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-aggregation-after-joins-fan-out-problem" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-aggregation-after-joins-fan-out-problem.webp</image:loc><image:title>Aggregation After Joins: Solving the SQL Fan-Out Problem</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Aggregation&#x20;After&#x20;Joins&#x3A;&#x20;Solving&#x20;the&#x20;SQL&#x20;Fan-Out&#x20;Problem"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-aggregation-after-joins-fan-out-problem.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-ansi-sql-standard-vs-vendor-dialects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-ansi-sql-standard-vs-hersteller-dialekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-ansi-sql-standard-vs-vendor-dialects" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-ansi-sql-standard-vs-vendor-dialects.webp</image:loc><image:title>ANSI SQL Standard vs. Vendor Dialects Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ANSI&#x20;SQL&#x20;Standard&#x20;vs.&#x20;Vendor&#x20;Dialects&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-ansi-sql-standard-vs-vendor-dialects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-audit-trails-change-history-tables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-audit-trails-und-change-history-tabellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-audit-trails-change-history-tables" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-audit-trails-change-history-tables.webp</image:loc><image:title>Audit Trails and Change History Tables in SQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Audit&#x20;Trails&#x20;and&#x20;Change&#x20;History&#x20;Tables&#x20;in&#x20;SQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-audit-trails-change-history-tables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-database-access-auditing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-auditing-von-datenbankzugriffen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-database-access-auditing" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-database-access-auditing.webp</image:loc><image:title>Database Access Auditing: Who Read or Changed What, and When</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Database&#x20;Access&#x20;Auditing&#x3A;&#x20;Who&#x20;Read&#x20;or&#x20;Changed&#x20;What,&#x20;and&#x20;When"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-database-access-auditing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-cap-theorem-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-cap-theorem-praktisch-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-cap-theorem-in-practice" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-cap-theorem-in-practice.webp</image:loc><image:title>Understanding the CAP Theorem in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;the&#x20;CAP&#x20;Theorem&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-cap-theorem-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-change-data-capture-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-change-data-capture-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-change-data-capture-fundamentals" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-change-data-capture-fundamentals.webp</image:loc><image:title>Change Data Capture Fundamentals: Reliably Capturing Data Changes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Change&#x20;Data&#x20;Capture&#x20;Fundamentals&#x3A;&#x20;Reliably&#x20;Capturing&#x20;Data&#x20;Changes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-change-data-capture-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-check-constraints-for-complex-business-rules</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-check-constraints-fuer-komplexe-geschaeftsregeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-check-constraints-for-complex-business-rules" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-check-constraints-for-complex-business-rules.webp</image:loc><image:title>Check Constraints for Complex Business Rules</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Check&#x20;Constraints&#x20;for&#x20;Complex&#x20;Business&#x20;Rules"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-check-constraints-for-complex-business-rules.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-code-review-checklist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-code-review-checkliste" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-code-review-checklist" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-code-review-checklist.webp</image:loc><image:title>SQL Code Review Checklist</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SQL&#x20;Code&#x20;Review&#x20;Checklist"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-code-review-checklist.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-understanding-connection-pooling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-connection-pooling-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-understanding-connection-pooling" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-understanding-connection-pooling.webp</image:loc><image:title>Understanding Connection Pooling: Why Every Connection Counts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Connection&#x20;Pooling&#x3A;&#x20;Why&#x20;Every&#x20;Connection&#x20;Counts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-understanding-connection-pooling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-data-warehousing-fundamentals-with-sql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-data-warehousing-grundlagen-mit-sql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-data-warehousing-fundamentals-with-sql" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-data-warehousing-fundamentals-with-sql.webp</image:loc><image:title>Data Warehousing Fundamentals with SQL: Star Schema, Facts, and Dimensions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Data&#x20;Warehousing&#x20;Fundamentals&#x20;with&#x20;SQL&#x3A;&#x20;Star&#x20;Schema,&#x20;Facts,&#x20;and&#x20;Dimensions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-data-warehousing-fundamentals-with-sql.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-granular-database-user-privileges</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-datenbank-benutzerrechte-granular-vergeben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-granular-database-user-privileges" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-granular-database-user-privileges.webp</image:loc><image:title>Granular Database User Privileges: GRANT, Roles, Least Privilege</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Granular&#x20;Database&#x20;User&#x20;Privileges&#x3A;&#x20;GRANT,&#x20;Roles,&#x20;Least&#x20;Privilege"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-granular-database-user-privileges.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-testing-database-migrations-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-datenbank-migrationen-systematisch-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-testing-database-migrations-systematically" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-testing-database-migrations-systematically.webp</image:loc><image:title>Testing Database Migrations Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;Database&#x20;Migrations&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-testing-database-migrations-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-database-replication-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-datenbank-replikation-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-database-replication-explained" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-database-replication-explained.webp</image:loc><image:title>Database Replication Explained: From Primary to Read Replica</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Database&#x20;Replication&#x20;Explained&#x3A;&#x20;From&#x20;Primary&#x20;to&#x20;Read&#x20;Replica"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-database-replication-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-automated-data-integrity-checks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-datenintegritaet-automatisiert-pruefen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-automated-data-integrity-checks" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-automated-data-integrity-checks.webp</image:loc><image:title>Automated Data Integrity Checks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automated&#x20;Data&#x20;Integrity&#x20;Checks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-automated-data-integrity-checks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-column-level-data-encryption</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-datenverschluesselung-auf-spaltenebene" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-column-level-data-encryption" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-column-level-data-encryption.webp</image:loc><image:title>Column-Level Data Encryption: Concepts, Key Management, and Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Column-Level&#x20;Data&#x20;Encryption&#x3A;&#x20;Concepts,&#x20;Key&#x20;Management,&#x20;and&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-column-level-data-encryption.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-date-functions-compared-across-databases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-datumsfunktionen-im-datenbankvergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-date-functions-compared-across-databases" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-date-functions-compared-across-databases.webp</image:loc><image:title>Date Functions Compared Across Databases: PostgreSQL, MySQL, SQL Server, Oracle</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Date&#x20;Functions&#x20;Compared&#x20;Across&#x20;Databases&#x3A;&#x20;PostgreSQL,&#x20;MySQL,&#x20;SQL&#x20;Server,&#x20;Oracle"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-date-functions-compared-across-databases.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-analyzing-deadlocks-from-logs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-deadlocks-aus-logs-analysieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-analyzing-deadlocks-from-logs" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-analyzing-deadlocks-from-logs.webp</image:loc><image:title>Analyzing Deadlocks from Logs: Reconstructing Root Causes Precisely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Analyzing&#x20;Deadlocks&#x20;from&#x20;Logs&#x3A;&#x20;Reconstructing&#x20;Root&#x20;Causes&#x20;Precisely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-analyzing-deadlocks-from-logs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-understanding-deferred-constraints</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-deferred-constraints-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-understanding-deferred-constraints" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-understanding-deferred-constraints.webp</image:loc><image:title>Understanding Deferred Constraints</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Deferred&#x20;Constraints"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-understanding-deferred-constraints.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-domain-types-for-reusable-constraints</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-domain-typen-fuer-wiederverwendbare-constraints" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-domain-types-for-reusable-constraints" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-domain-types-for-reusable-constraints.webp</image:loc><image:title>Domain Types for Reusable Constraints</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Domain&#x20;Types&#x20;for&#x20;Reusable&#x20;Constraints"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-domain-types-for-reusable-constraints.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-etl-patterns-with-sql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-etl-patterns-mit-sql-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-etl-patterns-with-sql" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-etl-patterns-with-sql.webp</image:loc><image:title>ETL Patterns in SQL: Implementing Extract, Transform, Load in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ETL&#x20;Patterns&#x20;in&#x20;SQL&#x3A;&#x20;Implementing&#x20;Extract,&#x20;Transform,&#x20;Load&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-etl-patterns-with-sql.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-understanding-eventual-consistency-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-eventual-consistency-praktisch-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-understanding-eventual-consistency-in-practice" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-understanding-eventual-consistency-in-practice.webp</image:loc><image:title>Understanding Eventual Consistency in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Eventual&#x20;Consistency&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-understanding-eventual-consistency-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-full-text-search-standard-vs-proprietary</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-full-text-search-standard-vs-proprietaer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-full-text-search-standard-vs-proprietary" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-full-text-search-standard-vs-proprietary.webp</image:loc><image:title>Full Text Search: SQL Standard vs. Proprietary Features</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Full&#x20;Text&#x20;Search&#x3A;&#x20;SQL&#x20;Standard&#x20;vs.&#x20;Proprietary&#x20;Features"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-full-text-search-standard-vs-proprietary.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-generated-columns-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-generated-columns-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-generated-columns-in-practice" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-generated-columns-in-practice.webp</image:loc><image:title>Generated Columns in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generated&#x20;Columns&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-generated-columns-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-simulating-graph-queries-in-relational-databases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-graph-abfragen-in-relationalen-datenbanken-simulieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-simulating-graph-queries-in-relational-databases" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-simulating-graph-queries-in-relational-databases.webp</image:loc><image:title>Simulating Graph Queries in Relational Databases</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Simulating&#x20;Graph&#x20;Queries&#x20;in&#x20;Relational&#x20;Databases"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-simulating-graph-queries-in-relational-databases.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-group-by-rollup-and-cube-for-multi-level-aggregation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-group-by-rollup-und-cube-fuer-mehrstufige-aggregation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-group-by-rollup-and-cube-for-multi-level-aggregation" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-group-by-rollup-and-cube-for-multi-level-aggregation.webp</image:loc><image:title>GROUP BY with ROLLUP and CUBE: Multi-Level Aggregation in SQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GROUP&#x20;BY&#x20;with&#x20;ROLLUP&#x20;and&#x20;CUBE&#x3A;&#x20;Multi-Level&#x20;Aggregation&#x20;in&#x20;SQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-group-by-rollup-and-cube-for-multi-level-aggregation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-having-vs-where-explained-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-having-vs-where-im-detail-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-having-vs-where-explained-in-detail" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-having-vs-where-explained-in-detail.webp</image:loc><image:title>HAVING vs. WHERE Explained in Detail: the Difference for Aggregation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="HAVING&#x20;vs.&#x20;WHERE&#x20;Explained&#x20;in&#x20;Detail&#x3A;&#x20;the&#x20;Difference&#x20;for&#x20;Aggregation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-having-vs-where-explained-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-hierarchical-data-models-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-hierarchische-daten-adjacency-list-nested-sets-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-hierarchical-data-models-compared" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-hierarchical-data-models-compared.webp</image:loc><image:title>Modeling Hierarchical Data: Four Approaches Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modeling&#x20;Hierarchical&#x20;Data&#x3A;&#x20;Four&#x20;Approaches&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-hierarchical-data-models-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-hybrid-approaches-sql-plus-document-store</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-hybride-ansaetze-sql-plus-dokumentenspeicher" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-hybrid-approaches-sql-plus-document-store" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-hybrid-approaches-sql-plus-document-store.webp</image:loc><image:title>Hybrid Approaches: Combining SQL Plus a Document Store</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hybrid&#x20;Approaches&#x3A;&#x20;Combining&#x20;SQL&#x20;Plus&#x20;a&#x20;Document&#x20;Store"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-hybrid-approaches-sql-plus-document-store.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-using-json-columns-in-relational-databases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-json-spalten-in-relationalen-datenbanken-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-using-json-columns-in-relational-databases" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-using-json-columns-in-relational-databases.webp</image:loc><image:title>Using JSON Columns in Relational Databases</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;JSON&#x20;Columns&#x20;in&#x20;Relational&#x20;Databases"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-using-json-columns-in-relational-databases.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-finding-slow-queries-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-langsame-queries-systematisch-finden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-finding-slow-queries-systematically" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-finding-slow-queries-systematically.webp</image:loc><image:title>Finding Slow Queries Systematically: SQL Debugging in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Finding&#x20;Slow&#x20;Queries&#x20;Systematically&#x3A;&#x20;SQL&#x20;Debugging&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-finding-slow-queries-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-diagnosing-lock-contention</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-lock-contention-diagnostizieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-diagnosing-lock-contention" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-diagnosing-lock-contention.webp</image:loc><image:title>Diagnosing Lock Contention: Finding Blocking Sessions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Diagnosing&#x20;Lock&#x20;Contention&#x3A;&#x20;Finding&#x20;Blocking&#x20;Sessions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-diagnosing-lock-contention.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-multi-tenancy-data-models-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-multi-tenancy-datenmodelle-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-multi-tenancy-data-models-compared" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-multi-tenancy-data-models-compared.webp</image:loc><image:title>Multi Tenancy Data Models Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi&#x20;Tenancy&#x20;Data&#x20;Models&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-multi-tenancy-data-models-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-handling-null-values-in-aggregate-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-null-werte-in-aggregatfunktionen-richtig-behandeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-handling-null-values-in-aggregate-functions" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-handling-null-values-in-aggregate-functions.webp</image:loc><image:title>NULL Values in Aggregate Functions: Handling Them Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="NULL&#x20;Values&#x20;in&#x20;Aggregate&#x20;Functions&#x3A;&#x20;Handling&#x20;Them&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-handling-null-values-in-aggregate-functions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-simulating-pivot-tables-with-sql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-pivot-tabellen-mit-sql-simulieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-simulating-pivot-tables-with-sql" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-simulating-pivot-tables-with-sql.webp</image:loc><image:title>Simulating Pivot Tables with SQL: Turning Rows into Columns</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Simulating&#x20;Pivot&#x20;Tables&#x20;with&#x20;SQL&#x3A;&#x20;Turning&#x20;Rows&#x20;into&#x20;Columns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-simulating-pivot-tables-with-sql.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-polymorphic-associations-in-sql-design</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-polymorphic-associations-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-polymorphic-associations-in-sql-design" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-polymorphic-associations-in-sql-design.webp</image:loc><image:title>Polymorphic Associations in SQL Design</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Polymorphic&#x20;Associations&#x20;in&#x20;SQL&#x20;Design"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-polymorphic-associations-in-sql-design.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-postgresql-vs-mysql-syntax-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-postgresql-vs-mysql-syntax-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-postgresql-vs-mysql-syntax-differences" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-postgresql-vs-mysql-syntax-differences.webp</image:loc><image:title>PostgreSQL vs. MySQL: Syntax Differences Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PostgreSQL&#x20;vs.&#x20;MySQL&#x3A;&#x20;Syntax&#x20;Differences&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-postgresql-vs-mysql-syntax-differences.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-read-replicas-the-right-way</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-read-replicas-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-read-replicas-the-right-way" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-read-replicas-the-right-way.webp</image:loc><image:title>Using Read Replicas the Right Way: Scaling Read Traffic</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Read&#x20;Replicas&#x20;the&#x20;Right&#x20;Way&#x3A;&#x20;Scaling&#x20;Read&#x20;Traffic"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-read-replicas-the-right-way.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-regression-testing-database-schemas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-regressionstests-fuer-datenbankschemas" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-regression-testing-database-schemas" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-regression-testing-database-schemas.webp</image:loc><image:title>Regression Testing Database Schemas</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Regression&#x20;Testing&#x20;Database&#x20;Schemas"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-regression-testing-database-schemas.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-row-level-security-concepts-and-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-row-level-security-konzepte-und-umsetzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-row-level-security-concepts-and-implementation" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-row-level-security-concepts-and-implementation.webp</image:loc><image:title>Row Level Security: Concepts and Practical Implementation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Row&#x20;Level&#x20;Security&#x3A;&#x20;Concepts&#x20;and&#x20;Practical&#x20;Implementation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-row-level-security-concepts-and-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-generating-seed-data-for-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-seed-daten-fuer-tests-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-generating-seed-data-for-tests" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-generating-seed-data-for-tests.webp</image:loc><image:title>Generating Seed Data for Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;Seed&#x20;Data&#x20;for&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-generating-seed-data-for-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-sharding-strategies-for-large-tables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-sharding-strategien-fuer-grosse-tabellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-sharding-strategies-for-large-tables" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-sharding-strategies-for-large-tables.webp</image:loc><image:title>Sharding Strategies for Large Tables: Planning Horizontal Partitioning Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sharding&#x20;Strategies&#x20;for&#x20;Large&#x20;Tables&#x3A;&#x20;Planning&#x20;Horizontal&#x20;Partitioning&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-sharding-strategies-for-large-tables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-soft-deletes-modeling-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-soft-deletes-richtig-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-soft-deletes-modeling-guide" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-soft-deletes-modeling-guide.webp</image:loc><image:title>Soft Deletes: A Modeling Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Soft&#x20;Deletes&#x3A;&#x20;A&#x20;Modeling&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-soft-deletes-modeling-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-injection-vectors-beyond-the-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-sql-injection-vektoren-jenseits-der-basics" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-injection-vectors-beyond-the-basics" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-injection-vectors-beyond-the-basics.webp</image:loc><image:title>SQL Injection Vectors Beyond the Basics: Second-Order, Blind, Out-of-Band</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SQL&#x20;Injection&#x20;Vectors&#x20;Beyond&#x20;the&#x20;Basics&#x3A;&#x20;Second-Order,&#x20;Blind,&#x20;Out-of-Band"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-injection-vectors-beyond-the-basics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-understanding-statistics-and-query-plan-cache</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-statistiken-und-query-planer-cache-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-understanding-statistics-and-query-plan-cache" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-understanding-statistics-and-query-plan-cache.webp</image:loc><image:title>Understanding Statistics and Query Plan Cache: Why Plans Go Stale</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Statistics&#x20;and&#x20;Query&#x20;Plan&#x20;Cache&#x3A;&#x20;Why&#x20;Plans&#x20;Go&#x20;Stale"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-understanding-statistics-and-query-plan-cache.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-using-statistical-functions-in-sql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-statistische-funktionen-in-sql-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-using-statistical-functions-in-sql" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-using-statistical-functions-in-sql.webp</image:loc><image:title>Using Statistical Functions in SQL: Median, Percentiles, Spread</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Statistical&#x20;Functions&#x20;in&#x20;SQL&#x3A;&#x20;Median,&#x20;Percentiles,&#x20;Spread"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-using-statistical-functions-in-sql.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-portable-stored-procedures-across-databases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-stored-procedures-portabel-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-portable-stored-procedures-across-databases" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-portable-stored-procedures-across-databases.webp</image:loc><image:title>Writing Portable Stored Procedures: PL/pgSQL, T-SQL, PL/SQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Portable&#x20;Stored&#x20;Procedures&#x3A;&#x20;PL&#x2F;pgSQL,&#x20;T-SQL,&#x20;PL&#x2F;SQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-portable-stored-procedures-across-databases.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-string-aggregation-across-database-engines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-string-aggregation-group-concat-string-agg-listagg" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-string-aggregation-across-database-engines" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-string-aggregation-across-database-engines.webp</image:loc><image:title>String Aggregation in SQL: GROUP_CONCAT, STRING_AGG and LISTAGG</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="String&#x20;Aggregation&#x20;in&#x20;SQL&#x3A;&#x20;GROUP_CONCAT,&#x20;STRING_AGG&#x20;and&#x20;LISTAGG"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-string-aggregation-across-database-engines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-triggers-used-wisely-and-sparingly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-trigger-sinnvoll-und-sparsam-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-triggers-used-wisely-and-sparingly" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-triggers-used-wisely-and-sparingly.webp</image:loc><image:title>Using Triggers Wisely and Sparingly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Triggers&#x20;Wisely&#x20;and&#x20;Sparingly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-triggers-used-wisely-and-sparingly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-distributed-transactions-across-services</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-verteilte-transaktionen-ueber-services-hinweg" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-distributed-transactions-across-services" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-distributed-transactions-across-services.webp</image:loc><image:title>Distributed Transactions Across Services: The Saga Pattern</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Distributed&#x20;Transactions&#x20;Across&#x20;Services&#x3A;&#x20;The&#x20;Saga&#x20;Pattern"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-distributed-transactions-across-services.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-vertical-vs-horizontal-scaling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-vertikale-vs-horizontale-skalierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-vertical-vs-horizontal-scaling" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-vertical-vs-horizontal-scaling.webp</image:loc><image:title>Vertical vs. Horizontal Database Scaling</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vertical&#x20;vs.&#x20;Horizontal&#x20;Database&#x20;Scaling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-vertical-vs-horizontal-scaling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-when-nosql-really-is-the-better-fit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-wann-nosql-wirklich-besser-passt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-when-nosql-really-is-the-better-fit" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-when-nosql-really-is-the-better-fit.webp</image:loc><image:title>When NoSQL Really Is the Better Fit Than a Relational Database</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="When&#x20;NoSQL&#x20;Really&#x20;Is&#x20;the&#x20;Better&#x20;Fit&#x20;Than&#x20;a&#x20;Relational&#x20;Database"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-when-nosql-really-is-the-better-fit.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-time-series-aggregation-and-gap-filling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-zeitreihen-aggregation-und-luecken-fuellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-time-series-aggregation-and-gap-filling" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-time-series-aggregation-and-gap-filling.webp</image:loc><image:title>Time Series Aggregation in SQL: Bucketing Data and Filling Gaps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Time&#x20;Series&#x20;Aggregation&#x20;in&#x20;SQL&#x3A;&#x20;Bucketing&#x20;Data&#x20;and&#x20;Filling&#x20;Gaps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-time-series-aggregation-and-gap-filling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-at-batch-scheduling-one-time-tasks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-at-und-batch-einmalige-aufgaben-planen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-at-batch-scheduling-one-time-tasks" />
<lastmod>2026-07-31T11:10:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-at-batch-scheduling-one-time-tasks.webp</image:loc><image:title>at and batch: Scheduling One-Time Tasks on Linux</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="at&#x20;and&#x20;batch&#x3A;&#x20;Scheduling&#x20;One-Time&#x20;Tasks&#x20;on&#x20;Linux"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-at-batch-scheduling-one-time-tasks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-clocksource-tsc-hpet-database-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-clocksource-tsc-hpet-datenbankserver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-clocksource-tsc-hpet-database-servers" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-clocksource-tsc-hpet-database-servers.webp</image:loc><image:title>Choosing a Linux Clocksource: TSC vs. HPET for Database Servers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Choosing&#x20;a&#x20;Linux&#x20;Clocksource&#x3A;&#x20;TSC&#x20;vs.&#x20;HPET&#x20;for&#x20;Database&#x20;Servers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-clocksource-tsc-hpet-database-servers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-analyzing-core-dumps-and-segfaults-with-gdb</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-core-dumps-und-segfaults-mit-gdb-analysieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-analyzing-core-dumps-and-segfaults-with-gdb" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-analyzing-core-dumps-and-segfaults-with-gdb.webp</image:loc><image:title>Analyzing Core Dumps and Segfaults with gdb</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Analyzing&#x20;Core&#x20;Dumps&#x20;and&#x20;Segfaults&#x20;with&#x20;gdb"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-analyzing-core-dumps-and-segfaults-with-gdb.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-cron-job-monitoring-detect-failures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-cron-jobs-ueberwachen-fehler-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-cron-job-monitoring-detect-failures" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-cron-job-monitoring-detect-failures.webp</image:loc><image:title>Monitoring Cron Jobs: Reliably Detecting Failed Jobs on Linux</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Monitoring&#x20;Cron&#x20;Jobs&#x3A;&#x20;Reliably&#x20;Detecting&#x20;Failed&#x20;Jobs&#x20;on&#x20;Linux"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-cron-job-monitoring-detect-failures.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-crontab-syntax-time-expressions-mastering</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-crontab-syntax-zeitausdruecke-meistern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-crontab-syntax-time-expressions-mastering" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-crontab-syntax-time-expressions-mastering.webp</image:loc><image:title>Mastering Crontab Syntax: Time Expressions, Special Characters and Pitfalls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mastering&#x20;Crontab&#x20;Syntax&#x3A;&#x20;Time&#x20;Expressions,&#x20;Special&#x20;Characters&#x20;and&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-crontab-syntax-time-expressions-mastering.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-troubleshooting-dns-resolution-problems</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-dns-aufloesungsprobleme-systematisch-troubleshooten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-troubleshooting-dns-resolution-problems" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-troubleshooting-dns-resolution-problems.webp</image:loc><image:title>Troubleshooting DNS Resolution Problems on Linux</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Troubleshooting&#x20;DNS&#x20;Resolution&#x20;Problems&#x20;on&#x20;Linux"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-troubleshooting-dns-resolution-problems.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-entropy-urandom-haveged-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-entropie-urandom-haveged-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-entropy-urandom-haveged-tuning" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-entropy-urandom-haveged-tuning.webp</image:loc><image:title>Entropy on Linux: urandom and haveged for Fast PHP Sessions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Entropy&#x20;on&#x20;Linux&#x3A;&#x20;urandom&#x20;and&#x20;haveged&#x20;for&#x20;Fast&#x20;PHP&#x20;Sessions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-entropy-urandom-haveged-tuning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-io-modes-mysql-o-direct-vs-buffered-io</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-io-modi-mysql-o-direct-vs-buffered-io" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-io-modes-mysql-o-direct-vs-buffered-io" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-io-modes-mysql-o-direct-vs-buffered-io.webp</image:loc><image:title>Linux I/O Modes for MySQL: Choosing O_DIRECT vs. Buffered I/O Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Linux&#x20;I&#x2F;O&#x20;Modes&#x20;for&#x20;MySQL&#x3A;&#x20;Choosing&#x20;O_DIRECT&#x20;vs.&#x20;Buffered&#x20;I&#x2F;O&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-io-modes-mysql-o-direct-vs-buffered-io.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-io-uring-aio-database-workloads</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-io-uring-aio-datenbank-workloads" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-io-uring-aio-database-workloads" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-io-uring-aio-database-workloads.webp</image:loc><image:title>io_uring and Linux AIO: Asynchronous I/O for Database Workloads</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="io_uring&#x20;and&#x20;Linux&#x20;AIO&#x3A;&#x20;Asynchronous&#x20;I&#x2F;O&#x20;for&#x20;Database&#x20;Workloads"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-io-uring-aio-database-workloads.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-jumbo-frames-mtu-tuning-database-network</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-jumbo-frames-mtu-tuning-datenbank-netzwerk" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-jumbo-frames-mtu-tuning-database-network" />
<lastmod>2026-07-31T11:10:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-jumbo-frames-mtu-tuning-database-network.webp</image:loc><image:title>Jumbo Frames on Linux: MTU Tuning for the Database Network Connection</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Jumbo&#x20;Frames&#x20;on&#x20;Linux&#x3A;&#x20;MTU&#x20;Tuning&#x20;for&#x20;the&#x20;Database&#x20;Network&#x20;Connection"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-jumbo-frames-mtu-tuning-database-network.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-monotonic-vs-wall-clock-time</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-monotonic-clock-vs-wall-clock-zeitmessung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-monotonic-vs-wall-clock-time" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-monotonic-vs-wall-clock-time.webp</image:loc><image:title>Monotonic Clock vs. Wall Clock: Understanding Time Measurement on Linux</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Monotonic&#x20;Clock&#x20;vs.&#x20;Wall&#x20;Clock&#x3A;&#x20;Understanding&#x20;Time&#x20;Measurement&#x20;on&#x20;Linux"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-monotonic-vs-wall-clock-time.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-precision-time-protocol-ptp-ntp-alternative</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-ptp-precision-time-protocol-ntp-alternative" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-precision-time-protocol-ptp-ntp-alternative" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-precision-time-protocol-ptp-ntp-alternative.webp</image:loc><image:title>PTP: Precision Time Protocol as an NTP Alternative for Sub-Millisecond Accuracy</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PTP&#x3A;&#x20;Precision&#x20;Time&#x20;Protocol&#x20;as&#x20;an&#x20;NTP&#x20;Alternative&#x20;for&#x20;Sub-Millisecond&#x20;Accuracy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-precision-time-protocol-ptp-ntp-alternative.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-systematically-tracking-down-memory-leaks-in-processes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-speicherlecks-in-prozessen-systematisch-aufspueren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-systematically-tracking-down-memory-leaks-in-processes" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-systematically-tracking-down-memory-leaks-in-processes.webp</image:loc><image:title>Systematically Tracking Down Memory Leaks in Linux Processes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Systematically&#x20;Tracking&#x20;Down&#x20;Memory&#x20;Leaks&#x20;in&#x20;Linux&#x20;Processes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-systematically-tracking-down-memory-leaks-in-processes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-troubleshooting-high-swap-usage-despite-free-ram</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-hohe-swap-nutzung-troubleshooten-obwohl-ram-frei-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-troubleshooting-high-swap-usage-despite-free-ram" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-troubleshooting-high-swap-usage-despite-free-ram.webp</image:loc><image:title>Troubleshooting High Swap Usage Despite Free RAM</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Troubleshooting&#x20;High&#x20;Swap&#x20;Usage&#x20;Despite&#x20;Free&#x20;RAM"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-troubleshooting-high-swap-usage-despite-free-ram.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux-debugging-too-many-open-files-errors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/linux-too-many-open-files-fehler-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux-debugging-too-many-open-files-errors" />
<lastmod>2026-07-31T11:10:24+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-debugging-too-many-open-files-errors.webp</image:loc><image:title>Debugging "Too Many Open Files" Errors Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Debugging&#x20;&quot;Too&#x20;Many&#x20;Open&#x20;Files&quot;&#x20;Errors&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-debugging-too-many-open-files-errors.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-ab-test-analysis-and-statistical-analysis-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-ab-test-auswertung-und-statistische-analyse-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-ab-test-analysis-and-statistical-analysis-with-claude" />
<lastmod>2026-07-31T11:10:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-ab-test-analysis-and-statistical-analysis-with-claude.webp</image:loc><image:title>AB Test Analysis and Statistical Analysis with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="AB&#x20;Test&#x20;Analysis&#x20;and&#x20;Statistical&#x20;Analysis&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-ab-test-analysis-and-statistical-analysis-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-overcoming-team-resistance-to-ai-coding-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-akzeptanz-widerstaende-ki-tools-ueberwinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-overcoming-team-resistance-to-ai-coding-tools" />
<lastmod>2026-07-31T11:10:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-overcoming-team-resistance-to-ai-coding-tools.webp</image:loc><image:title>Overcoming Team Resistance to AI Coding Tools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Overcoming&#x20;Team&#x20;Resistance&#x20;to&#x20;AI&#x20;Coding&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-overcoming-team-resistance-to-ai-coding-tools.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-claude-subscription-plans-team-enterprise-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-abo-modelle-team-enterprise-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-claude-subscription-plans-team-enterprise-compared" />
<lastmod>2026-07-31T11:10:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-subscription-plans-team-enterprise-compared.webp</image:loc><image:title>Claude Subscription Plans Compared: Free, Pro, Team, Enterprise</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;Subscription&#x20;Plans&#x20;Compared&#x3A;&#x20;Free,&#x20;Pro,&#x20;Team,&#x20;Enterprise"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-subscription-plans-team-enterprise-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-claude-bedrock-vertex-api-deployment-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-bedrock-vertex-api-deployment-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-claude-bedrock-vertex-api-deployment-compared" />
<lastmod>2026-07-31T11:10:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-bedrock-vertex-api-deployment-compared.webp</image:loc><image:title>Claude via Bedrock, Vertex AI, or API: Deployment Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;via&#x20;Bedrock,&#x20;Vertex&#x20;AI,&#x20;or&#x20;API&#x3A;&#x20;Deployment&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-bedrock-vertex-api-deployment-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-claude-code-ide-extensions-vscode-jetbrains</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-code-ide-erweiterungen-vscode-jetbrains" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-claude-code-ide-extensions-vscode-jetbrains" />
<lastmod>2026-07-31T11:10:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-code-ide-extensions-vscode-jetbrains.webp</image:loc><image:title>Claude Code IDE Extensions: VS Code and JetBrains Overview</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;Code&#x20;IDE&#x20;Extensions&#x3A;&#x20;VS&#x20;Code&#x20;and&#x20;JetBrains&#x20;Overview"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-code-ide-extensions-vscode-jetbrains.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-claude-code-vs-aider-cli-assistants-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-code-vs-aider-cli-assistenten-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-claude-code-vs-aider-cli-assistants-compared" />
<lastmod>2026-07-31T11:10:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-code-vs-aider-cli-assistants-compared.webp</image:loc><image:title>Claude Code vs. Aider vs. Other CLI AI Assistants Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;Code&#x20;vs.&#x20;Aider&#x20;vs.&#x20;Other&#x20;CLI&#x20;AI&#x20;Assistants&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-code-vs-aider-cli-assistants-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-claude-vs-cursor-vs-windsurf-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-claude-vs-cursor-vs-windsurf-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-claude-vs-cursor-vs-windsurf-compared" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-vs-cursor-vs-windsurf-compared.webp</image:loc><image:title>Claude vs. Cursor vs. Windsurf: AI Code Editors Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;vs.&#x20;Cursor&#x20;vs.&#x20;Windsurf&#x3A;&#x20;AI&#x20;Code&#x20;Editors&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-claude-vs-cursor-vs-windsurf-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-data-warehouse-modeling-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-data-warehouse-modellierung-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-data-warehouse-modeling-with-claude" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-data-warehouse-modeling-with-claude.webp</image:loc><image:title>Data Warehouse Modeling with Claude: Star Schema and Dimensional Modeling</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Data&#x20;Warehouse&#x20;Modeling&#x20;with&#x20;Claude&#x3A;&#x20;Star&#x20;Schema&#x20;and&#x20;Dimensional&#x20;Modeling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-data-warehouse-modeling-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-data-quality-and-data-cleaning-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-datenqualitaet-data-cleaning-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-data-quality-and-data-cleaning-with-claude" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-data-quality-and-data-cleaning-with-claude.webp</image:loc><image:title>Data Quality and Data Cleaning with Claude: Automated Validation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Data&#x20;Quality&#x20;and&#x20;Data&#x20;Cleaning&#x20;with&#x20;Claude&#x3A;&#x20;Automated&#x20;Validation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-data-quality-and-data-cleaning-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-data-visualization-with-ai-assistance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-datenvisualisierung-mit-ki-unterstuetzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-data-visualization-with-ai-assistance" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-data-visualization-with-ai-assistance.webp</image:loc><image:title>Data Visualization with AI Assistance: Claude for Charts and Dashboards</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Data&#x20;Visualization&#x20;with&#x20;AI&#x20;Assistance&#x3A;&#x20;Claude&#x20;for&#x20;Charts&#x20;and&#x20;Dashboards"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-data-visualization-with-ai-assistance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-differentiating-claude-code-adoption-by-experience-level</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-ki-einfuehrung-nach-erfahrungslevel-differenzieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-differentiating-claude-code-adoption-by-experience-level" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-differentiating-claude-code-adoption-by-experience-level.webp</image:loc><image:title>Differentiating Claude Code Adoption by Experience Level</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Differentiating&#x20;Claude&#x20;Code&#x20;Adoption&#x20;by&#x20;Experience&#x20;Level"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-differentiating-claude-code-adoption-by-experience-level.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-auditing-ai-tool-usage-compliance-tracking</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-ki-tool-nutzung-auditieren-compliance-tracking" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-auditing-ai-tool-usage-compliance-tracking" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-auditing-ai-tool-usage-compliance-tracking.webp</image:loc><image:title>Auditing AI Tool Usage: Compliance Tracking for Claude Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Auditing&#x20;AI&#x20;Tool&#x20;Usage&#x3A;&#x20;Compliance&#x20;Tracking&#x20;for&#x20;Claude&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-auditing-ai-tool-usage-compliance-tracking.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-kpi-reporting-and-business-intelligence-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-kpi-reporting-und-business-intelligence-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-kpi-reporting-and-business-intelligence-with-claude" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-kpi-reporting-and-business-intelligence-with-claude.webp</image:loc><image:title>KPI Reporting and Business Intelligence with Claude: From Metric to Insight</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="KPI&#x20;Reporting&#x20;and&#x20;Business&#x20;Intelligence&#x20;with&#x20;Claude&#x3A;&#x20;From&#x20;Metric&#x20;to&#x20;Insight"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-kpi-reporting-and-business-intelligence-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-building-prompt-libraries-and-knowledge-transfer-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-prompt-bibliotheken-wissenstransfer-team-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-building-prompt-libraries-and-knowledge-transfer-for-teams" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-building-prompt-libraries-and-knowledge-transfer-for-teams.webp</image:loc><image:title>Building Prompt Libraries and Knowledge Transfer for Teams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Prompt&#x20;Libraries&#x20;and&#x20;Knowledge&#x20;Transfer&#x20;for&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-building-prompt-libraries-and-knowledge-transfer-for-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai-defining-accountability-for-ai-generated-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/claude-ai-verantwortlichkeiten-ki-generierten-code-definieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai-defining-accountability-for-ai-generated-code" />
<lastmod>2026-07-31T11:10:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-defining-accountability-for-ai-generated-code.webp</image:loc><image:title>Defining Accountability for AI Generated Code in Teams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Defining&#x20;Accountability&#x20;for&#x20;AI&#x20;Generated&#x20;Code&#x20;in&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-defining-accountability-for-ai-generated-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-approximate-aggregation-for-large-datasets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-approximative-aggregation-fuer-grosse-datenmengen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-approximate-aggregation-for-large-datasets" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-approximate-aggregation-for-large-datasets.webp</image:loc><image:title>Approximate Aggregation for Large Datasets: HyperLogLog and More</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Approximate&#x20;Aggregation&#x20;for&#x20;Large&#x20;Datasets&#x3A;&#x20;HyperLogLog&#x20;and&#x20;More"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-approximate-aggregation-for-large-datasets.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-auto-increment-sequences-identity-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-auto-increment-sequences-identity-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-auto-increment-sequences-identity-comparison" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-auto-increment-sequences-identity-comparison.webp</image:loc><image:title>Auto-Increment, Sequences and Identity Compared Across Databases</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Auto-Increment,&#x20;Sequences&#x20;and&#x20;Identity&#x20;Compared&#x20;Across&#x20;Databases"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-auto-increment-sequences-identity-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-conditional-aggregation-building-kpi-reports-with-case-when</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-conditional-aggregation-kpi-reports-mit-case-when-und-filter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-conditional-aggregation-building-kpi-reports-with-case-when" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-conditional-aggregation-building-kpi-reports-with-case-when.webp</image:loc><image:title>Conditional Aggregation: Building KPI Reports with CASE WHEN</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Conditional&#x20;Aggregation&#x3A;&#x20;Building&#x20;KPI&#x20;Reports&#x20;with&#x20;CASE&#x20;WHEN"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-conditional-aggregation-building-kpi-reports-with-case-when.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-weighted-aggregates-weighted-average-and-weighted-sum</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-gewichtete-aggregate-weighted-average-und-weighted-sum" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-weighted-aggregates-weighted-average-and-weighted-sum" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-weighted-aggregates-weighted-average-and-weighted-sum.webp</image:loc><image:title>Weighted Aggregates: Weighted Average and Weighted Sum in SQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Weighted&#x20;Aggregates&#x3A;&#x20;Weighted&#x20;Average&#x20;and&#x20;Weighted&#x20;Sum&#x20;in&#x20;SQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-weighted-aggregates-weighted-average-and-weighted-sum.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-grouping-sets-for-flexible-report-combinations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-grouping-sets-fuer-flexible-report-kombinationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-grouping-sets-for-flexible-report-combinations" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-grouping-sets-for-flexible-report-combinations.webp</image:loc><image:title>GROUPING SETS for Flexible Report Combinations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GROUPING&#x20;SETS&#x20;for&#x20;Flexible&#x20;Report&#x20;Combinations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-grouping-sets-for-flexible-report-combinations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-finding-long-running-transactions-idle-in-transaction</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-lange-laufende-transaktionen-finden-und-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-finding-long-running-transactions-idle-in-transaction" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-finding-long-running-transactions-idle-in-transaction.webp</image:loc><image:title>Finding and Debugging Long Running Transactions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Finding&#x20;and&#x20;Debugging&#x20;Long&#x20;Running&#x20;Transactions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-finding-long-running-transactions-idle-in-transaction.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-limit-top-fetch-first-pagination-syntax-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-limit-top-fetch-first-pagination-syntax-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-limit-top-fetch-first-pagination-syntax-comparison" />
<lastmod>2026-07-31T19:32:30+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-limit-top-fetch-first-pagination-syntax-comparison.webp</image:loc><image:title>LIMIT, TOP, and FETCH FIRST: Pagination Syntax Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="LIMIT,&#x20;TOP,&#x20;and&#x20;FETCH&#x20;FIRST&#x3A;&#x20;Pagination&#x20;Syntax&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-limit-top-fetch-first-pagination-syntax-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-detecting-the-n-plus-1-problem-at-the-sql-level</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-n-plus-1-problem-auf-sql-ebene-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-detecting-the-n-plus-1-problem-at-the-sql-level" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-detecting-the-n-plus-1-problem-at-the-sql-level.webp</image:loc><image:title>Detecting the N+1 Problem at the SQL Level and Fixing It</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Detecting&#x20;the&#x20;N&#x2B;1&#x20;Problem&#x20;at&#x20;the&#x20;SQL&#x20;Level&#x20;and&#x20;Fixing&#x20;It"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-detecting-the-n-plus-1-problem-at-the-sql-level.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-null-sorting-coalesce-database-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-null-sortierung-und-coalesce-im-datenbankvergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-null-sorting-coalesce-database-comparison" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-null-sorting-coalesce-database-comparison.webp</image:loc><image:title>NULL Sorting and COALESCE Compared Across Databases</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="NULL&#x20;Sorting&#x20;and&#x20;COALESCE&#x20;Compared&#x20;Across&#x20;Databases"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-null-sorting-coalesce-database-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-diagnosing-parameter-sniffing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-parameter-sniffing-erkennen-und-beheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-diagnosing-parameter-sniffing" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-diagnosing-parameter-sniffing.webp</image:loc><image:title>Diagnosing and Fixing Parameter Sniffing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Diagnosing&#x20;and&#x20;Fixing&#x20;Parameter&#x20;Sniffing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-diagnosing-parameter-sniffing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-string-functions-database-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-string-funktionen-im-datenbankvergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-string-functions-database-comparison" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-string-functions-database-comparison.webp</image:loc><image:title>String Functions Compared Across Databases: Concat, Substring, Trim</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="String&#x20;Functions&#x20;Compared&#x20;Across&#x20;Databases&#x3A;&#x20;Concat,&#x20;Substring,&#x20;Trim"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-string-functions-database-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-upsert-syntax-database-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-upsert-syntax-im-datenbankvergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-upsert-syntax-database-comparison" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-upsert-syntax-database-comparison.webp</image:loc><image:title>Upsert Syntax Compared: ON DUPLICATE KEY, ON CONFLICT, MERGE</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Upsert&#x20;Syntax&#x20;Compared&#x3A;&#x20;ON&#x20;DUPLICATE&#x20;KEY,&#x20;ON&#x20;CONFLICT,&#x20;MERGE"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-upsert-syntax-database-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-nested-aggregation-computing-aggregates-of-aggregates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-verschachtelte-aggregation-aggregate-ueber-aggregate-berechnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-nested-aggregation-computing-aggregates-of-aggregates" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-nested-aggregation-computing-aggregates-of-aggregates.webp</image:loc><image:title>Nested Aggregation: Computing Aggregates of Aggregates</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nested&#x20;Aggregation&#x3A;&#x20;Computing&#x20;Aggregates&#x20;of&#x20;Aggregates"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-nested-aggregation-computing-aggregates-of-aggregates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-analyzing-wait-events-and-wait-statistics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-wait-events-und-wartestatistiken-analysieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-analyzing-wait-events-and-wait-statistics" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-analyzing-wait-events-and-wait-statistics.webp</image:loc><image:title>Analyzing Wait Events and Wait Statistics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Analyzing&#x20;Wait&#x20;Events&#x20;and&#x20;Wait&#x20;Statistics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-analyzing-wait-events-and-wait-statistics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql-why-isnt-the-database-using-my-index</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/sql-warum-nutzt-die-datenbank-den-index-nicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql-why-isnt-the-database-using-my-index" />
<lastmod>2026-07-31T19:32:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-why-isnt-the-database-using-my-index.webp</image:loc><image:title>Why Isn't the Database Using My Index: Systematic Troubleshooting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Why&#x20;Isn&#x27;t&#x20;the&#x20;Database&#x20;Using&#x20;My&#x20;Index&#x3A;&#x20;Systematic&#x20;Troubleshooting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-why-isnt-the-database-using-my-index.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-migrating-from-php56-to-php8-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-56-auf-php8-migrationsstrategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-migrating-from-php56-to-php8-strategy" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-migrating-from-php56-to-php8-strategy.webp</image:loc><image:title>Migrating from PHP 5.6 to PHP 8: A Legacy Migration Strategy</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Migrating&#x20;from&#x20;PHP&#x20;5.6&#x20;to&#x20;PHP&#x20;8&#x3A;&#x20;A&#x20;Legacy&#x20;Migration&#x20;Strategy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-migrating-from-php56-to-php8-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-abstract-factory-pattern-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-abstract-factory-pattern-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-abstract-factory-pattern-implementation" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-abstract-factory-pattern-implementation.webp</image:loc><image:title>Implementing the Abstract Factory Pattern in PHP: Creating Families of Related Objects Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;the&#x20;Abstract&#x20;Factory&#x20;Pattern&#x20;in&#x20;PHP&#x3A;&#x20;Creating&#x20;Families&#x20;of&#x20;Related&#x20;Objects&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-abstract-factory-pattern-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-anonymous-classes-metaprogramming</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-anonyme-klassen-metaprogrammierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-anonymous-classes-metaprogramming" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-anonymous-classes-metaprogramming.webp</image:loc><image:title>Anonymous Classes in PHP: Metaprogramming Without a Named Class Declaration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Anonymous&#x20;Classes&#x20;in&#x20;PHP&#x3A;&#x20;Metaprogramming&#x20;Without&#x20;a&#x20;Named&#x20;Class&#x20;Declaration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-anonymous-classes-metaprogramming.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-api-authentication-keys-jwt-oauth2</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-api-authentifizierung-keys-jwt-oauth2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-api-authentication-keys-jwt-oauth2" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-api-authentication-keys-jwt-oauth2.webp</image:loc><image:title>API Authentication in PHP: Using API Keys, JWT and OAuth2 Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Authentication&#x20;in&#x20;PHP&#x3A;&#x20;Using&#x20;API&#x20;Keys,&#x20;JWT&#x20;and&#x20;OAuth2&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-api-authentication-keys-jwt-oauth2.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-api-error-formats-rfc7807</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-api-fehlerformate-rfc7807" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-api-error-formats-rfc7807" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-api-error-formats-rfc7807.webp</image:loc><image:title>Standardizing API Error Formats With RFC 7807: Problem Details in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Standardizing&#x20;API&#x20;Error&#x20;Formats&#x20;With&#x20;RFC&#x20;7807&#x3A;&#x20;Problem&#x20;Details&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-api-error-formats-rfc7807.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-api-idempotency-keys</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-api-idempotenz-schluessel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-api-idempotency-keys" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-api-idempotency-keys.webp</image:loc><image:title>Idempotency Keys for PHP APIs: Safe POST and PUT Requests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Idempotency&#x20;Keys&#x20;for&#x20;PHP&#x20;APIs&#x3A;&#x20;Safe&#x20;POST&#x20;and&#x20;PUT&#x20;Requests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-api-idempotency-keys.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-api-pagination-cursor-vs-offset-based</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-api-pagination-cursor-vs-offset" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-api-pagination-cursor-vs-offset-based" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-api-pagination-cursor-vs-offset-based.webp</image:loc><image:title>API Pagination in PHP: Cursor-Based vs. Offset-Based Strategies Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Pagination&#x20;in&#x20;PHP&#x3A;&#x20;Cursor-Based&#x20;vs.&#x20;Offset-Based&#x20;Strategies&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-api-pagination-cursor-vs-offset-based.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-api-versioning-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-api-versionierung-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-api-versioning-strategies" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-api-versioning-strategies.webp</image:loc><image:title>API Versioning in PHP: URI, Headers and Content Negotiation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Versioning&#x20;in&#x20;PHP&#x3A;&#x20;URI,&#x20;Headers&#x20;and&#x20;Content&#x20;Negotiation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-api-versioning-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-ast-manipulation-with-nikic-php-parser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-ast-manipulation-nikic-php-parser" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-ast-manipulation-with-nikic-php-parser" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-ast-manipulation-with-nikic-php-parser.webp</image:loc><image:title>AST Manipulation with nikic/php-parser: Programmatically Analyzing and Transforming PHP Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="AST&#x20;Manipulation&#x20;with&#x20;nikic&#x2F;php-parser&#x3A;&#x20;Programmatically&#x20;Analyzing&#x20;and&#x20;Transforming&#x20;PHP&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-ast-manipulation-with-nikic-php-parser.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/async-await-pattern-php-fibers-amp</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-async-await-pattern-fibers-amp" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/async-await-pattern-php-fibers-amp" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/async-await-pattern-php-fibers-amp.webp</image:loc><image:title>The Async/Await Pattern in PHP: Combining Fibers and Amp</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Async&#x2F;Await&#x20;Pattern&#x20;in&#x20;PHP&#x3A;&#x20;Combining&#x20;Fibers&#x20;and&#x20;Amp"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/async-await-pattern-php-fibers-amp.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/evaluating-php-attributes-at-runtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-attribute-zur-laufzeit-auswerten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/evaluating-php-attributes-at-runtime" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/evaluating-php-attributes-at-runtime.webp</image:loc><image:title>Evaluating PHP Attributes at Runtime: Using ReflectionAttribute Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Evaluating&#x20;PHP&#x20;Attributes&#x20;at&#x20;Runtime&#x3A;&#x20;Using&#x20;ReflectionAttribute&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/evaluating-php-attributes-at-runtime.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/build-time-code-generation-in-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-code-generierung-zur-buildzeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/build-time-code-generation-in-php" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/build-time-code-generation-in-php.webp</image:loc><image:title>Build-Time Code Generation in PHP: Generating Boilerplate Instead of Runtime Reflection</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Build-Time&#x20;Code&#x20;Generation&#x20;in&#x20;PHP&#x3A;&#x20;Generating&#x20;Boilerplate&#x20;Instead&#x20;of&#x20;Runtime&#x20;Reflection"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/build-time-code-generation-in-php.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-composer-lock-file-reproducible-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-composer-lock-datei-reproduzierbare-builds" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-composer-lock-file-reproducible-builds" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-composer-lock-file-reproducible-builds.webp</image:loc><image:title>Composer Lock File and Reproducible Builds: Hashes, Platform Config, CI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Composer&#x20;Lock&#x20;File&#x20;and&#x20;Reproducible&#x20;Builds&#x3A;&#x20;Hashes,&#x20;Platform&#x20;Config,&#x20;CI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-composer-lock-file-reproducible-builds.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-composer-plugins-custom-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-composer-plugins-eigene-entwickeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-composer-plugins-custom-development" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-composer-plugins-custom-development.webp</image:loc><image:title>Custom Composer Plugin Development: PluginInterface, Capabilities and Events</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Composer&#x20;Plugin&#x20;Development&#x3A;&#x20;PluginInterface,&#x20;Capabilities&#x20;and&#x20;Events"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-composer-plugins-custom-development.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-database-connection-pooling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-connection-pooling-datenbank" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-database-connection-pooling" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-database-connection-pooling.webp</image:loc><image:title>Database Connection Pooling in PHP Applications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Database&#x20;Connection&#x20;Pooling&#x20;in&#x20;PHP&#x20;Applications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-database-connection-pooling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-setting-content-security-policy-headers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-content-security-policy-aus-php-heraus-setzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-setting-content-security-policy-headers" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-setting-content-security-policy-headers.webp</image:loc><image:title>Setting a Content Security Policy from PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;a&#x20;Content&#x20;Security&#x20;Policy&#x20;from&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-setting-content-security-policy-headers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-copy-on-write-arrays-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-copy-on-write-arrays-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-copy-on-write-arrays-explained" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-copy-on-write-arrays-explained.webp</image:loc><image:title>Understanding Copy-on-Write in PHP Arrays</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Copy-on-Write&#x20;in&#x20;PHP&#x20;Arrays"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-copy-on-write-arrays-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-csrf-protection-without-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-csrf-schutz-ohne-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-csrf-protection-without-framework" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-csrf-protection-without-framework.webp</image:loc><image:title>Implementing CSRF Protection Without a Framework</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;CSRF&#x20;Protection&#x20;Without&#x20;a&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-csrf-protection-without-framework.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-currying-and-partial-application</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-currying-und-partielle-anwendung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-currying-and-partial-application" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-currying-and-partial-application.webp</image:loc><image:title>Currying and Partial Application in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Currying&#x20;and&#x20;Partial&#x20;Application&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-currying-and-partial-application.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-database-migrations-without-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-datenbank-migrationen-ohne-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-database-migrations-without-framework" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-database-migrations-without-framework.webp</image:loc><image:title>Database Migrations Without a Framework in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Database&#x20;Migrations&#x20;Without&#x20;a&#x20;Framework&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-database-migrations-without-framework.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-debug-backtrace-call-stack-introspection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-debug-backtrace-call-stack-analyse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-debug-backtrace-call-stack-introspection" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-debug-backtrace-call-stack-introspection.webp</image:loc><image:title>Debug Backtrace and Call Stack Introspection in PHP: Building Custom Logging and Deprecation Tools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Debug&#x20;Backtrace&#x20;and&#x20;Call&#x20;Stack&#x20;Introspection&#x20;in&#x20;PHP&#x3A;&#x20;Building&#x20;Custom&#x20;Logging&#x20;and&#x20;Deprecation&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-debug-backtrace-call-stack-introspection.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-decorator-pattern-runtime-behavior</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-decorator-pattern-verhalten-erweitern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-decorator-pattern-runtime-behavior" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-decorator-pattern-runtime-behavior.webp</image:loc><image:title>The Decorator Pattern in PHP: Extending Behavior at Runtime Instead of Inheriting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Decorator&#x20;Pattern&#x20;in&#x20;PHP&#x3A;&#x20;Extending&#x20;Behavior&#x20;at&#x20;Runtime&#x20;Instead&#x20;of&#x20;Inheriting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-decorator-pattern-runtime-behavior.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-avoiding-deserialization-vulnerabilities</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-deserialisierung-schwachstellen-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-avoiding-deserialization-vulnerabilities" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-avoiding-deserialization-vulnerabilities.webp</image:loc><image:title>Avoiding Deserialization Vulnerabilities in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Deserialization&#x20;Vulnerabilities&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-avoiding-deserialization-vulnerabilities.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/generating-dynamic-proxy-classes-in-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-dynamische-proxy-klassen-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/generating-dynamic-proxy-classes-in-php" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/generating-dynamic-proxy-classes-in-php.webp</image:loc><image:title>Generating Dynamic Proxy Classes in PHP: Lazy Loading and Interception Without a Framework</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;Dynamic&#x20;Proxy&#x20;Classes&#x20;in&#x20;PHP&#x3A;&#x20;Lazy&#x20;Loading&#x20;and&#x20;Interception&#x20;Without&#x20;a&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/generating-dynamic-proxy-classes-in-php.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-publishing-your-own-composer-packages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-eigene-composer-pakete-veroeffentlichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-publishing-your-own-composer-packages" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-publishing-your-own-composer-packages.webp</image:loc><image:title>Publishing Your Own Composer Packages: From Idea to Packagist</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Publishing&#x20;Your&#x20;Own&#x20;Composer&#x20;Packages&#x3A;&#x20;From&#x20;Idea&#x20;to&#x20;Packagist"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-publishing-your-own-composer-packages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-building-your-own-orm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-eigenes-orm-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-building-your-own-orm" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-building-your-own-orm.webp</image:loc><image:title>Building Your Own Simple ORM: Understanding Object-Relational Mapping</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Your&#x20;Own&#x20;Simple&#x20;ORM&#x3A;&#x20;Understanding&#x20;Object-Relational&#x20;Mapping"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-building-your-own-orm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/real-multithreading-php-parallel-extension</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-ext-parallel-multithreading" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/real-multithreading-php-parallel-extension" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/real-multithreading-php-parallel-extension.webp</image:loc><image:title>Real Multithreading in PHP with the parallel Extension</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Real&#x20;Multithreading&#x20;in&#x20;PHP&#x20;with&#x20;the&#x20;parallel&#x20;Extension"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/real-multithreading-php-parallel-extension.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-ffi-performance-critical-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-ffi-performancekritischer-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-ffi-performance-critical-code" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-ffi-performance-critical-code.webp</image:loc><image:title>FFI in PHP for Performance-Critical Code: Calling Native Libraries</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="FFI&#x20;in&#x20;PHP&#x20;for&#x20;Performance-Critical&#x20;Code&#x3A;&#x20;Calling&#x20;Native&#x20;Libraries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-ffi-performance-critical-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-fluent-interface-design-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-fluent-interfaces-richtig-designen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-fluent-interface-design-guide" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-fluent-interface-design-guide.webp</image:loc><image:title>Designing Fluent Interfaces in PHP: Method Chaining Without Losing Readability</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Fluent&#x20;Interfaces&#x20;in&#x20;PHP&#x3A;&#x20;Method&#x20;Chaining&#x20;Without&#x20;Losing&#x20;Readability"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-fluent-interface-design-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-functional-error-handling-maybe-either</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-funktionale-fehlerbehandlung-maybe-either" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-functional-error-handling-maybe-either" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-functional-error-handling-maybe-either.webp</image:loc><image:title>Functional Error Handling in PHP with Maybe and Either</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Functional&#x20;Error&#x20;Handling&#x20;in&#x20;PHP&#x20;with&#x20;Maybe&#x20;and&#x20;Either"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-functional-error-handling-maybe-either.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-functional-composition-compose-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-funktionale-komposition-compose-funktionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-functional-composition-compose-functions" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-functional-composition-compose-functions.webp</image:loc><image:title>Functional Composition in PHP: Combining Functions with compose()</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Functional&#x20;Composition&#x20;in&#x20;PHP&#x3A;&#x20;Combining&#x20;Functions&#x20;with&#x20;compose&#x28;&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-functional-composition-compose-functions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-eliminating-global-variables-and-singletons</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-globale-variablen-und-singletons-loswerden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-eliminating-global-variables-and-singletons" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-eliminating-global-variables-and-singletons.webp</image:loc><image:title>Eliminating Global Variables and Singletons in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Eliminating&#x20;Global&#x20;Variables&#x20;and&#x20;Singletons&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-eliminating-global-variables-and-singletons.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-hateoas-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-hateoas-praktisch-umgesetzt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-hateoas-in-practice" />
<lastmod>2026-07-31T19:09:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-hateoas-in-practice.webp</image:loc><image:title>HATEOAS in PHP in Practice: Building Hypermedia Links Into API Responses</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="HATEOAS&#x20;in&#x20;PHP&#x20;in&#x20;Practice&#x3A;&#x20;Building&#x20;Hypermedia&#x20;Links&#x20;Into&#x20;API&#x20;Responses"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-hateoas-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-higher-order-functions-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-higher-order-functions-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-higher-order-functions-in-practice" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-higher-order-functions-in-practice.webp</image:loc><image:title>Higher Order Functions in PHP: Treating Functions as Values</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Higher&#x20;Order&#x20;Functions&#x20;in&#x20;PHP&#x3A;&#x20;Treating&#x20;Functions&#x20;as&#x20;Values"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-higher-order-functions-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-introspection-beyond-reflection-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-introspektion-jenseits-reflection-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-introspection-beyond-reflection-api" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-introspection-beyond-reflection-api.webp</image:loc><image:title>Introspection Beyond the Reflection API: get_class, instanceof and is_callable in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Introspection&#x20;Beyond&#x20;the&#x20;Reflection&#x20;API&#x3A;&#x20;get_class,&#x20;instanceof&#x20;and&#x20;is_callable&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-introspection-beyond-reflection-api.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-late-static-binding-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-late-static-binding-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-late-static-binding-explained" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-late-static-binding-explained.webp</image:loc><image:title>Late Static Binding in PHP Explained: Using static:: Instead of self:: Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Late&#x20;Static&#x20;Binding&#x20;in&#x20;PHP&#x20;Explained&#x3A;&#x20;Using&#x20;static&#x3A;&#x3A;&#x20;Instead&#x20;of&#x20;self&#x3A;&#x3A;&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-late-static-binding-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-modernize-legacy-code-incrementally</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-legacy-code-schrittweise-modernisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-modernize-legacy-code-incrementally" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-modernize-legacy-code-incrementally.webp</image:loc><image:title>Modernizing Legacy PHP Code Incrementally: Strangler Fig Instead of Big Bang</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modernizing&#x20;Legacy&#x20;PHP&#x20;Code&#x20;Incrementally&#x3A;&#x20;Strangler&#x20;Fig&#x20;Instead&#x20;of&#x20;Big&#x20;Bang"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-modernize-legacy-code-incrementally.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-migrating-legacy-database-access-to-pdo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-legacy-datenbankzugriffe-auf-pdo-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-migrating-legacy-database-access-to-pdo" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-migrating-legacy-database-access-to-pdo.webp</image:loc><image:title>Migrating Legacy Database Access to PDO</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Migrating&#x20;Legacy&#x20;Database&#x20;Access&#x20;to&#x20;PDO"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-migrating-legacy-database-access-to-pdo.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-magic-methods-used-wisely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-magic-methods-sinnvoll-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-magic-methods-used-wisely" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-magic-methods-used-wisely.webp</image:loc><image:title>Using PHP Magic Methods Wisely and Sparingly: Mastering __get, __call, __invoke</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;PHP&#x20;Magic&#x20;Methods&#x20;Wisely&#x20;and&#x20;Sparingly&#x3A;&#x20;Mastering&#x20;__get,&#x20;__call,&#x20;__invoke"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-magic-methods-used-wisely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-memoization-pure-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-memoization-reine-funktionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-memoization-pure-functions" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-memoization-pure-functions.webp</image:loc><image:title>Memoization in PHP: Automatically Caching Pure Functions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Memoization&#x20;in&#x20;PHP&#x3A;&#x20;Automatically&#x20;Caching&#x20;Pure&#x20;Functions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-memoization-pure-functions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-message-queues-from-php-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-message-queues-aus-php-ansteuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-message-queues-from-php-explained" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-message-queues-from-php-explained.webp</image:loc><image:title>Driving Message Queues from PHP: RabbitMQ and Redis Streams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Driving&#x20;Message&#x20;Queues&#x20;from&#x20;PHP&#x3A;&#x20;RabbitMQ&#x20;and&#x20;Redis&#x20;Streams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-message-queues-from-php-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-monorepo-multiple-packages-managing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-monorepo-mehrere-pakete-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-monorepo-multiple-packages-managing" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-monorepo-multiple-packages-managing.webp</image:loc><image:title>Managing a PHP Monorepo with Multiple Packages: Composer Path Repositories</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;a&#x20;PHP&#x20;Monorepo&#x20;with&#x20;Multiple&#x20;Packages&#x3A;&#x20;Composer&#x20;Path&#x20;Repositories"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-monorepo-multiple-packages-managing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-non-blocking-io-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-non-blocking-io-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-non-blocking-io-explained" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-non-blocking-io-explained.webp</image:loc><image:title>Understanding Non-Blocking I/O in PHP: From stream_select to Sockets</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Non-Blocking&#x20;I&#x2F;O&#x20;in&#x20;PHP&#x3A;&#x20;From&#x20;stream_select&#x20;to&#x20;Sockets"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-non-blocking-io-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-null-object-pattern-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-null-object-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-null-object-pattern-explained" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-null-object-pattern-explained.webp</image:loc><image:title>The Null Object Pattern in PHP: Replacing Null Checks With a Neutral Object</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Null&#x20;Object&#x20;Pattern&#x20;in&#x20;PHP&#x3A;&#x20;Replacing&#x20;Null&#x20;Checks&#x20;With&#x20;a&#x20;Neutral&#x20;Object"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-null-object-pattern-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-object-cloning-deep-vs-shallow-copy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-object-cloning-deep-copy-shallow-copy" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-object-cloning-deep-vs-shallow-copy" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-object-cloning-deep-vs-shallow-copy.webp</image:loc><image:title>Object Cloning in PHP: Mastering __clone, Deep Copy and Shallow Copy</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Object&#x20;Cloning&#x20;in&#x20;PHP&#x3A;&#x20;Mastering&#x20;__clone,&#x20;Deep&#x20;Copy&#x20;and&#x20;Shallow&#x20;Copy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-object-cloning-deep-vs-shallow-copy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-object-memory-profile-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-objekt-speicherprofil-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-object-memory-profile-explained" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-object-memory-profile-explained.webp</image:loc><image:title>Understanding the Memory Profile of PHP Objects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;the&#x20;Memory&#x20;Profile&#x20;of&#x20;PHP&#x20;Objects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-object-memory-profile-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-optimistic-pessimistic-locking</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-optimistic-pessimistic-locking-datenbanken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-optimistic-pessimistic-locking" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-optimistic-pessimistic-locking.webp</image:loc><image:title>Optimistic and Pessimistic Locking in PHP Database Access</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimistic&#x20;and&#x20;Pessimistic&#x20;Locking&#x20;in&#x20;PHP&#x20;Database&#x20;Access"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-optimistic-pessimistic-locking.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-pdo-advanced-techniques</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-pdo-fortgeschrittene-techniken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-pdo-advanced-techniques" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-pdo-advanced-techniques.webp</image:loc><image:title>Advanced PDO Techniques: Prepared Statements, Fetch Modes, and Transactions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Advanced&#x20;PDO&#x20;Techniques&#x3A;&#x20;Prepared&#x20;Statements,&#x20;Fetch&#x20;Modes,&#x20;and&#x20;Transactions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-pdo-advanced-techniques.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-persistent-data-structures-functional</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-persistente-datenstrukturen-funktional" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-persistent-data-structures-functional" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-persistent-data-structures-functional.webp</image:loc><image:title>Persistent Data Structures in PHP: Functional Lists with Structural Sharing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Persistent&#x20;Data&#x20;Structures&#x20;in&#x20;PHP&#x3A;&#x20;Functional&#x20;Lists&#x20;with&#x20;Structural&#x20;Sharing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-persistent-data-structures-functional.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-simulating-the-pipe-operator</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-pipe-operator-simulation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-simulating-the-pipe-operator" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-simulating-the-pipe-operator.webp</image:loc><image:title>Simulating the Pipe Operator in PHP: Building Function Chains</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Simulating&#x20;the&#x20;Pipe&#x20;Operator&#x20;in&#x20;PHP&#x3A;&#x20;Building&#x20;Function&#x20;Chains"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-simulating-the-pipe-operator.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-opcache-preloading-configuration-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-preloading-opcache-84-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-opcache-preloading-configuration-guide" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-opcache-preloading-configuration-guide.webp</image:loc><image:title>Configuring OPcache Preloading in PHP 8 Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;OPcache&#x20;Preloading&#x20;in&#x20;PHP&#x20;8&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-opcache-preloading-configuration-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-private-packagist-team-collaboration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-private-packagist-im-team-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-private-packagist-team-collaboration" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-private-packagist-team-collaboration.webp</image:loc><image:title>Using Private Packagist in a Team: Setting Up a Private Composer Registry</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Private&#x20;Packagist&#x20;in&#x20;a&#x20;Team&#x3A;&#x20;Setting&#x20;Up&#x20;a&#x20;Private&#x20;Composer&#x20;Registry"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-private-packagist-team-collaboration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/promises-deferred-objects-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-promises-deferred-objects" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/promises-deferred-objects-php" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/promises-deferred-objects-php.webp</image:loc><image:title>Promises and Deferred Objects in PHP: Managing Async Values</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Promises&#x20;and&#x20;Deferred&#x20;Objects&#x20;in&#x20;PHP&#x3A;&#x20;Managing&#x20;Async&#x20;Values"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/promises-deferred-objects-php.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-migrating-procedural-to-object-oriented-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-prozedural-zu-objektorientiert-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-migrating-procedural-to-object-oriented-code" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-migrating-procedural-to-object-oriented-code.webp</image:loc><image:title>Migrating Procedural PHP to Object-Oriented Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Migrating&#x20;Procedural&#x20;PHP&#x20;to&#x20;Object-Oriented&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-migrating-procedural-to-object-oriented-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/process-parallelization-pcntl-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-prozess-parallelisierung-pcntl" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/process-parallelization-pcntl-php" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/process-parallelization-pcntl-php.webp</image:loc><image:title>Process Parallelization with pcntl: Fork, Wait and Signal Handling</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Process&#x20;Parallelization&#x20;with&#x20;pcntl&#x3A;&#x20;Fork,&#x20;Wait&#x20;and&#x20;Signal&#x20;Handling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/process-parallelization-pcntl-php.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-psr-standards-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-psr-standards-im-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-psr-standards-overview" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-psr-standards-overview.webp</image:loc><image:title>PSR Standards Overview: PHP FIG Interoperability from PSR 3 to PSR 20</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PSR&#x20;Standards&#x20;Overview&#x3A;&#x20;PHP&#x20;FIG&#x20;Interoperability&#x20;from&#x20;PSR&#x20;3&#x20;to&#x20;PSR&#x20;20"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-psr-standards-overview.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-pure-functions-referential-transparency</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-pure-functions-referenzielle-transparenz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-pure-functions-referential-transparency" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-pure-functions-referential-transparency.webp</image:loc><image:title>Pure Functions in PHP: Referential Transparency as the Foundation of Clean Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Pure&#x20;Functions&#x20;in&#x20;PHP&#x3A;&#x20;Referential&#x20;Transparency&#x20;as&#x20;the&#x20;Foundation&#x20;of&#x20;Clean&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-pure-functions-referential-transparency.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-building-query-builder-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-query-builder-von-grund-auf-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-building-query-builder-from-scratch" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-building-query-builder-from-scratch.webp</image:loc><image:title>Building a Query Builder from Scratch in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;a&#x20;Query&#x20;Builder&#x20;from&#x20;Scratch&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-building-query-builder-from-scratch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-rate-limiting-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-rate-limiting-eigenbau" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-rate-limiting-from-scratch" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-rate-limiting-from-scratch.webp</image:loc><image:title>Rate Limiting from Scratch: Token Bucket &amp; Sliding Window in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Rate&#x20;Limiting&#x20;from&#x20;Scratch&#x3A;&#x20;Token&#x20;Bucket&#x20;&amp;&#x20;Sliding&#x20;Window&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-rate-limiting-from-scratch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/reactphp-event-loop-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-reactphp-event-loop-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/reactphp-event-loop-in-depth" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/reactphp-event-loop-in-depth.webp</image:loc><image:title>The ReactPHP Event Loop in Depth: Timers, Streams and Promises</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;ReactPHP&#x20;Event&#x20;Loop&#x20;in&#x20;Depth&#x3A;&#x20;Timers,&#x20;Streams&#x20;and&#x20;Promises"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/reactphp-event-loop-in-depth.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-read-write-split-database-replication</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-read-write-split-datenbank-replikation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-read-write-split-database-replication" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-read-write-split-database-replication.webp</image:loc><image:title>Read/Write Splitting for Database Replication in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Read&#x2F;Write&#x20;Splitting&#x20;for&#x20;Database&#x20;Replication&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-read-write-split-database-replication.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-realpath-cache-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-realpath-cache-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-realpath-cache-tuning" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-realpath-cache-tuning.webp</image:loc><image:title>Tuning the PHP Realpath Cache: Fewer Stat Calls, Faster Includes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tuning&#x20;the&#x20;PHP&#x20;Realpath&#x20;Cache&#x3A;&#x20;Fewer&#x20;Stat&#x20;Calls,&#x20;Faster&#x20;Includes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-realpath-cache-tuning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-reflection-api-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-reflection-api-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-reflection-api-in-detail" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-reflection-api-in-detail.webp</image:loc><image:title>The PHP Reflection API in Detail: Inspecting Classes, Methods and Parameters at Runtime</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;PHP&#x20;Reflection&#x20;API&#x20;in&#x20;Detail&#x3A;&#x20;Inspecting&#x20;Classes,&#x20;Methods&#x20;and&#x20;Parameters&#x20;at&#x20;Runtime"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-reflection-api-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-recursion-trampoline-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-rekursion-trampolin-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-recursion-trampoline-pattern" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-recursion-trampoline-pattern.webp</image:loc><image:title>Recursion in PHP: The Trampoline Pattern Against Stack Overflow Errors</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Recursion&#x20;in&#x20;PHP&#x3A;&#x20;The&#x20;Trampoline&#x20;Pattern&#x20;Against&#x20;Stack&#x20;Overflow&#x20;Errors"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-recursion-trampoline-pattern.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-repository-pattern-without-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-repository-pattern-ohne-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-repository-pattern-without-framework" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-repository-pattern-without-framework.webp</image:loc><image:title>Implementing the Repository Pattern in PHP Without a Framework</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;the&#x20;Repository&#x20;Pattern&#x20;in&#x20;PHP&#x20;Without&#x20;a&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-repository-pattern-without-framework.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-restful-api-design-principles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-restful-api-design-prinzipien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-restful-api-design-principles" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-restful-api-design-principles.webp</image:loc><image:title>RESTful API Design in PHP: Resources, Verbs and Status Codes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="RESTful&#x20;API&#x20;Design&#x20;in&#x20;PHP&#x3A;&#x20;Resources,&#x20;Verbs&#x20;and&#x20;Status&#x20;Codes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-restful-api-design-principles.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-secrets-management-best-practices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-secrets-management-in-anwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-secrets-management-best-practices" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-secrets-management-best-practices.webp</image:loc><image:title>Secrets Management in PHP Applications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Secrets&#x20;Management&#x20;in&#x20;PHP&#x20;Applications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-secrets-management-best-practices.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-semantic-versioning-for-packages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-semantic-versioning-fuer-pakete" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-semantic-versioning-for-packages" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-semantic-versioning-for-packages.webp</image:loc><image:title>Semantic Versioning for PHP Packages: Getting Version Numbers Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Semantic&#x20;Versioning&#x20;for&#x20;PHP&#x20;Packages&#x3A;&#x20;Getting&#x20;Version&#x20;Numbers&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-semantic-versioning-for-packages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-session-security-preventing-fixation-and-hijacking</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-session-security-fixation-und-hijacking-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-session-security-preventing-fixation-and-hijacking" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-session-security-preventing-fixation-and-hijacking.webp</image:loc><image:title>PHP Session Security: Preventing Fixation and Hijacking</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHP&#x20;Session&#x20;Security&#x3A;&#x20;Preventing&#x20;Fixation&#x20;and&#x20;Hijacking"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-session-security-preventing-fixation-and-hijacking.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-validating-secure-file-uploads</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-sichere-datei-uploads-validieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-validating-secure-file-uploads" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-validating-secure-file-uploads.webp</image:loc><image:title>Validating Secure File Uploads in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Validating&#x20;Secure&#x20;File&#x20;Uploads&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-validating-secure-file-uploads.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-generating-secure-random-numbers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-sichere-zufallszahlen-erzeugen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-generating-secure-random-numbers" />
<lastmod>2026-07-31T19:09:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-generating-secure-random-numbers.webp</image:loc><image:title>Generating Secure Random Numbers in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;Secure&#x20;Random&#x20;Numbers&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-generating-secure-random-numbers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-memory-leaks-long-running-processes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-speicherlecks-lang-laufende-prozesse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-memory-leaks-long-running-processes" />
<lastmod>2026-07-31T19:09:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-memory-leaks-long-running-processes.webp</image:loc><image:title>Finding and Preventing Memory Leaks in Long-Running PHP Processes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Finding&#x20;and&#x20;Preventing&#x20;Memory&#x20;Leaks&#x20;in&#x20;Long-Running&#x20;PHP&#x20;Processes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-memory-leaks-long-running-processes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-splfixedarray-memory-efficient-structures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-splfixedarray-speichereffiziente-strukturen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-splfixedarray-memory-efficient-structures" />
<lastmod>2026-07-31T19:09:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-splfixedarray-memory-efficient-structures.webp</image:loc><image:title>SplFixedArray and Friends: Memory-Efficient Data Structures</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SplFixedArray&#x20;and&#x20;Friends&#x3A;&#x20;Memory-Efficient&#x20;Data&#x20;Structures"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-splfixedarray-memory-efficient-structures.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-swoole-coroutines-parallel-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-swoole-coroutines-paralleles-php" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-swoole-coroutines-parallel-php" />
<lastmod>2026-07-31T19:09:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-swoole-coroutines-parallel-php.webp</image:loc><image:title>Parallel PHP with Swoole Coroutines: The Complete Practical Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Parallel&#x20;PHP&#x20;with&#x20;Swoole&#x20;Coroutines&#x3A;&#x20;The&#x20;Complete&#x20;Practical&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-swoole-coroutines-parallel-php.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-prioritizing-technical-debt</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-technical-debt-priorisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-prioritizing-technical-debt" />
<lastmod>2026-07-31T19:09:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-prioritizing-technical-debt.webp</image:loc><image:title>Prioritizing Technical Debt in PHP Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Prioritizing&#x20;Technical&#x20;Debt&#x20;in&#x20;PHP&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-prioritizing-technical-debt.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-trait-conflict-resolution-insteadof-as</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-trait-konflikte-insteadof-as-aufloesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-trait-conflict-resolution-insteadof-as" />
<lastmod>2026-07-31T19:09:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-trait-conflict-resolution-insteadof-as.webp</image:loc><image:title>Resolving Trait Conflicts in PHP: insteadof and as Explained in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Resolving&#x20;Trait&#x20;Conflicts&#x20;in&#x20;PHP&#x3A;&#x20;insteadof&#x20;and&#x20;as&#x20;Explained&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-trait-conflict-resolution-insteadof-as.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-variable-functions-variable-variables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-variable-funktionen-variable-variablen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-variable-functions-variable-variables" />
<lastmod>2026-07-31T19:09:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-variable-functions-variable-variables.webp</image:loc><image:title>Variable Functions and Variable Variables: Low Level Metaprogramming in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Variable&#x20;Functions&#x20;and&#x20;Variable&#x20;Variables&#x3A;&#x20;Low&#x20;Level&#x20;Metaprogramming&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-variable-functions-variable-variables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-visitor-pattern-separating-operations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-visitor-pattern-operationen-trennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-visitor-pattern-separating-operations" />
<lastmod>2026-07-31T19:09:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-visitor-pattern-separating-operations.webp</image:loc><image:title>The Visitor Pattern in PHP: Cleanly Separating Operations from Data Structures</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Visitor&#x20;Pattern&#x20;in&#x20;PHP&#x3A;&#x20;Cleanly&#x20;Separating&#x20;Operations&#x20;from&#x20;Data&#x20;Structures"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-visitor-pattern-separating-operations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-weakmap-weakreference-memory-safe-caches</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-weakmap-weakreference-caches" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-weakmap-weakreference-memory-safe-caches" />
<lastmod>2026-07-31T19:09:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-weakmap-weakreference-memory-safe-caches.webp</image:loc><image:title>WeakMap and WeakReference in PHP: Building Caches Without Memory Leaks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="WeakMap&#x20;and&#x20;WeakReference&#x20;in&#x20;PHP&#x3A;&#x20;Building&#x20;Caches&#x20;Without&#x20;Memory&#x20;Leaks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-weakmap-weakreference-memory-safe-caches.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php-xss-protection-and-output-encoding</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/php-xss-schutz-und-output-encoding" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php-xss-protection-and-output-encoding" />
<lastmod>2026-07-31T19:09:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-xss-protection-and-output-encoding.webp</image:loc><image:title>XSS Protection and Output Encoding in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="XSS&#x20;Protection&#x20;and&#x20;Output&#x20;Encoding&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-xss-protection-and-output-encoding.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-adobe-commerce-vs-open-source-2026-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-adobe-commerce-vs-open-source-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-adobe-commerce-vs-open-source-2026-en" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-adobe-commerce-vs-open-source-2026-en.webp</image:loc><image:title>Adobe Commerce vs. Magento Open Source: Differences in 2026</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Adobe&#x20;Commerce&#x20;vs.&#x20;Magento&#x20;Open&#x20;Source&#x3A;&#x20;Differences&#x20;in&#x20;2026"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-adobe-commerce-vs-open-source-2026-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-category-merchandising-rules</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-category-merchandising-regeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-category-merchandising-rules" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-category-merchandising-rules.webp</image:loc><image:title>Category Merchandising Rules in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Category&#x20;Merchandising&#x20;Rules&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-category-merchandising-rules.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-checkout-custom-steps-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-checkout-eigene-schritte-hyva" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-checkout-custom-steps-hyva" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-checkout-custom-steps-hyva.webp</image:loc><image:title>Adding Custom Checkout Steps in Magento 2 with Hyvä</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Adding&#x20;Custom&#x20;Checkout&#x20;Steps&#x20;in&#x20;Magento&#x20;2&#x20;with&#x20;Hyv&#xE4;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-checkout-custom-steps-hyva.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-checkout-express-options-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-checkout-express-optionen-einbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-checkout-express-options-integration" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-checkout-express-options-integration.webp</image:loc><image:title>Integrating Express Checkout Options in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrating&#x20;Express&#x20;Checkout&#x20;Options&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-checkout-express-options-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-checkout-custom-payment-method-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-checkout-payment-method-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-checkout-custom-payment-method-integration" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-checkout-custom-payment-method-integration.webp</image:loc><image:title>Custom Payment Method Integration in the Magento 2 Checkout</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Payment&#x20;Method&#x20;Integration&#x20;in&#x20;the&#x20;Magento&#x20;2&#x20;Checkout"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-checkout-custom-payment-method-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-checkout-performance-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-checkout-performance-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-checkout-performance-optimization" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-checkout-performance-optimization.webp</image:loc><image:title>Optimizing Checkout Performance in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;Checkout&#x20;Performance&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-checkout-performance-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-checkout-validation-extend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-checkout-validierung-erweitern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-checkout-validation-extend" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-checkout-validation-extend.webp</image:loc><image:title>Extending Checkout Validation in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Extending&#x20;Checkout&#x20;Validation&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-checkout-validation-extend.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-cloud-vs-self-hosted-decision-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-cloud-vs-self-hosted-entscheidung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-cloud-vs-self-hosted-decision-en" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-cloud-vs-self-hosted-decision-en.webp</image:loc><image:title>Magento Cloud vs. Self Hosted: the Decision Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Cloud&#x20;vs.&#x20;Self&#x20;Hosted&#x3A;&#x20;the&#x20;Decision&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-cloud-vs-self-hosted-decision-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-cms-block-versioning-workflow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-cms-block-versionierung-workflow" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-cms-block-versioning-workflow" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-cms-block-versioning-workflow.webp</image:loc><image:title>CMS Block Versioning: Change History and Safe Rollback</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CMS&#x20;Block&#x20;Versioning&#x3A;&#x20;Change&#x20;History&#x20;and&#x20;Safe&#x20;Rollback"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-cms-block-versioning-workflow.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-2-code-review-checklist-pull-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-code-review-checkliste-pull-requests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-2-code-review-checklist-pull-requests" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-2-code-review-checklist-pull-requests.webp</image:loc><image:title>Code Review Checklist for Magento 2 Pull Requests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Code&#x20;Review&#x20;Checklist&#x20;for&#x20;Magento&#x20;2&#x20;Pull&#x20;Requests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-2-code-review-checklist-pull-requests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-composable-commerce-architecture-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-composable-commerce-architektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-composable-commerce-architecture-en" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-composable-commerce-architecture-en.webp</image:loc><image:title>Composable Commerce with Magento: Implementing a MACH Architecture</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Composable&#x20;Commerce&#x20;with&#x20;Magento&#x3A;&#x20;Implementing&#x20;a&#x20;MACH&#x20;Architecture"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-composable-commerce-architecture-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-content-staging-campaign-planning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-content-staging-kampagnen-planung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-content-staging-campaign-planning" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-content-staging-campaign-planning.webp</image:loc><image:title>Content Staging for Campaigns: Managing Multiple Scheduled Updates in Parallel</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Content&#x20;Staging&#x20;for&#x20;Campaigns&#x3A;&#x20;Managing&#x20;Multiple&#x20;Scheduled&#x20;Updates&#x20;in&#x20;Parallel"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-content-staging-campaign-planning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/crm-synchronization-strategies-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-crm-synchronisation-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/crm-synchronization-strategies-magento" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/crm-synchronization-strategies-magento.webp</image:loc><image:title>CRM Synchronization in Magento 2: Strategies for Consistent Customer Data</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CRM&#x20;Synchronization&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Strategies&#x20;for&#x20;Consistent&#x20;Customer&#x20;Data"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/crm-synchronization-strategies-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-cron-scheduling-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-cron-job-scheduling-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-cron-scheduling-strategies" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-cron-scheduling-strategies.webp</image:loc><image:title>Cron Job Scheduling Strategies in Magento 2: crontab.xml, Priorities, Custom Schedules</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cron&#x20;Job&#x20;Scheduling&#x20;Strategies&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;crontab.xml,&#x20;Priorities,&#x20;Custom&#x20;Schedules"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-cron-scheduling-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-cron-monitoring-and-alerting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-cron-monitoring-alerting" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-cron-monitoring-and-alerting" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-cron-monitoring-and-alerting.webp</image:loc><image:title>Cron Monitoring and Alerting in Magento 2: Watching cron_schedule Instead of Hoping</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cron&#x20;Monitoring&#x20;and&#x20;Alerting&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Watching&#x20;cron_schedule&#x20;Instead&#x20;of&#x20;Hoping"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-cron-monitoring-and-alerting.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/building-custom-health-checks-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-custom-health-checks-selbst-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/building-custom-health-checks-for-magento" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/building-custom-health-checks-for-magento.webp</image:loc><image:title>Building Custom Health Checks for Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Custom&#x20;Health&#x20;Checks&#x20;for&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/building-custom-health-checks-for-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-2-debugging-production-only-bugs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-debugging-produktions-only-bugs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-2-debugging-production-only-bugs" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-2-debugging-production-only-bugs.webp</image:loc><image:title>Debugging Production-Only Bugs in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Debugging&#x20;Production-Only&#x20;Bugs&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-2-debugging-production-only-bugs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/distributed-tracing-in-magento-with-opentelemetry</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-distributed-tracing-opentelemetry" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/distributed-tracing-in-magento-with-opentelemetry" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/distributed-tracing-in-magento-with-opentelemetry.webp</image:loc><image:title>Distributed Tracing in Magento with OpenTelemetry</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Distributed&#x20;Tracing&#x20;in&#x20;Magento&#x20;with&#x20;OpenTelemetry"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/distributed-tracing-in-magento-with-opentelemetry.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-domain-mapping-per-store</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-domain-mapping-pro-store" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-domain-mapping-per-store" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-domain-mapping-per-store.webp</image:loc><image:title>Magento 2 Domain Mapping Per Store: Base URLs, SSL and Server Configuration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;2&#x20;Domain&#x20;Mapping&#x20;Per&#x20;Store&#x3A;&#x20;Base&#x20;URLs,&#x20;SSL&#x20;and&#x20;Server&#x20;Configuration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-domain-mapping-per-store.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-dynamic-blocks-personalization-segments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-dynamic-blocks-personalisierung-segmente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-dynamic-blocks-personalization-segments" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-dynamic-blocks-personalization-segments.webp</image:loc><image:title>Dynamic Blocks and Personalization: Content by Customer Segment</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Dynamic&#x20;Blocks&#x20;and&#x20;Personalization&#x3A;&#x20;Content&#x20;by&#x20;Customer&#x20;Segment"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-dynamic-blocks-personalization-segments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-custom-indexer-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-eigene-indexer-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-custom-indexer-development" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-custom-indexer-development.webp</image:loc><image:title>Building Custom Indexers in Magento 2: IndexerInterface, Mview and indexer.xml</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Custom&#x20;Indexers&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;IndexerInterface,&#x20;Mview&#x20;and&#x20;indexer.xml"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-custom-indexer-development.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/erp-integration-architecture-patterns-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-erp-anbindung-architektur-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/erp-integration-architecture-patterns-magento" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/erp-integration-architecture-patterns-magento.webp</image:loc><image:title>ERP Integration with Magento 2: Architecture Patterns for Stable Connections</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ERP&#x20;Integration&#x20;with&#x20;Magento&#x20;2&#x3A;&#x20;Architecture&#x20;Patterns&#x20;for&#x20;Stable&#x20;Connections"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/erp-integration-architecture-patterns-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/feature-branches-database-snapshots-magento-2</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-feature-branches-datenbank-snapshots" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/feature-branches-database-snapshots-magento-2" />
<lastmod>2026-07-31T18:20:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/feature-branches-database-snapshots-magento-2.webp</image:loc><image:title>Feature Branches and Database Snapshots in Magento 2 Development</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Feature&#x20;Branches&#x20;and&#x20;Database&#x20;Snapshots&#x20;in&#x20;Magento&#x20;2&#x20;Development"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/feature-branches-database-snapshots-magento-2.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/fulfillment-provider-integration-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-fulfillment-provider-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/fulfillment-provider-integration-magento" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/fulfillment-provider-integration-magento.webp</image:loc><image:title>Connecting Fulfillment Providers to Magento 2: A Practical Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Connecting&#x20;Fulfillment&#x20;Providers&#x20;to&#x20;Magento&#x20;2&#x3A;&#x20;A&#x20;Practical&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/fulfillment-provider-integration-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-graphql-batching-dataloader-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-graphql-batching-dataloader-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-graphql-batching-dataloader-pattern" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-graphql-batching-dataloader-pattern.webp</image:loc><image:title>GraphQL Batching and the DataLoader Pattern in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Batching&#x20;and&#x20;the&#x20;DataLoader&#x20;Pattern&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-graphql-batching-dataloader-pattern.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-graphql-custom-mutations-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-graphql-eigene-mutations-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-graphql-custom-mutations-implementation" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-graphql-custom-mutations-implementation.webp</image:loc><image:title>Writing Custom GraphQL Mutations in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Custom&#x20;GraphQL&#x20;Mutations&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-graphql-custom-mutations-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-graphql-error-handling-best-practices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-graphql-fehlerbehandlung-best-practices" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-graphql-error-handling-best-practices" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-graphql-error-handling-best-practices.webp</image:loc><image:title>GraphQL Error Handling in Magento 2: Best Practices</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Error&#x20;Handling&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Best&#x20;Practices"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-graphql-error-handling-best-practices.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-graphql-performance-monitoring-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-graphql-performance-monitoring-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-graphql-performance-monitoring-setup" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-graphql-performance-monitoring-setup.webp</image:loc><image:title>Building GraphQL Performance Monitoring in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;GraphQL&#x20;Performance&#x20;Monitoring&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-graphql-performance-monitoring-setup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-graphql-persisted-queries-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-graphql-persisted-queries-einsatz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-graphql-persisted-queries-guide" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-graphql-persisted-queries-guide.webp</image:loc><image:title>Using Persisted Queries in Magento GraphQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Persisted&#x20;Queries&#x20;in&#x20;Magento&#x20;GraphQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-graphql-persisted-queries-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-indexer-dependencies-invalidation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-indexer-dependency-management" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-indexer-dependencies-invalidation" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-indexer-dependencies-invalidation.webp</image:loc><image:title>Indexer Dependency Management in Magento 2: Controlling Invalidation Order</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Indexer&#x20;Dependency&#x20;Management&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Controlling&#x20;Invalidation&#x20;Order"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-indexer-dependencies-invalidation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-ai-product-recommendations-integration-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-ki-produktempfehlungen-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-ai-product-recommendations-integration-en" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-ai-product-recommendations-integration-en.webp</image:loc><image:title>Integrating AI-Powered Product Recommendations into Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrating&#x20;AI-Powered&#x20;Product&#x20;Recommendations&#x20;into&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-ai-product-recommendations-integration-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-layered-navigation-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-layered-navigation-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-layered-navigation-customization" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-layered-navigation-customization.webp</image:loc><image:title>Customizing Layered Navigation in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Customizing&#x20;Layered&#x20;Navigation&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-layered-navigation-customization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/local-multi-store-development-environment-magento-2</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-lokale-multi-store-entwicklungsumgebung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/local-multi-store-development-environment-magento-2" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/local-multi-store-development-environment-magento-2.webp</image:loc><image:title>Setting Up a Local Multi-Store Development Environment for Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;a&#x20;Local&#x20;Multi-Store&#x20;Development&#x20;Environment&#x20;for&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/local-multi-store-development-environment-magento-2.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-multilingual-product-attributes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-mehrsprachige-produktattribute" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-multilingual-product-attributes" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-multilingual-product-attributes.webp</image:loc><image:title>Managing Multilingual Product Attributes in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Managing&#x20;Multilingual&#x20;Product&#x20;Attributes&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-multilingual-product-attributes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/middleware-layer-integrations-design-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-middleware-layer-integrationen-design" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/middleware-layer-integrations-design-magento" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/middleware-layer-integrations-design-magento.webp</image:loc><image:title>Designing a Middleware Layer for Magento Integrations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;a&#x20;Middleware&#x20;Layer&#x20;for&#x20;Magento&#x20;Integrations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/middleware-layer-integrations-design-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-2-module-boilerplate-generators</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-modul-boilerplate-generatoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-2-module-boilerplate-generators" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-2-module-boilerplate-generators.webp</image:loc><image:title>Magento Module Boilerplate Generators in Daily Development</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Module&#x20;Boilerplate&#x20;Generators&#x20;in&#x20;Daily&#x20;Development"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-2-module-boilerplate-generators.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-new-relic-application-performance-monitoring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-new-relic-monitoring" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-new-relic-application-performance-monitoring" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-new-relic-application-performance-monitoring.webp</image:loc><image:title>Monitoring Magento with New Relic: APM Setup Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Monitoring&#x20;Magento&#x20;with&#x20;New&#x20;Relic&#x3A;&#x20;APM&#x20;Setup&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-new-relic-application-performance-monitoring.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-opensearch-attribute-mapping</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-opensearch-attribut-mapping" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-opensearch-attribute-mapping" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-opensearch-attribute-mapping.webp</image:loc><image:title>Configuring OpenSearch Attribute Mapping in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;OpenSearch&#x20;Attribute&#x20;Mapping&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-opensearch-attribute-mapping.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-pagebuilder-custom-content-type-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-pagebuilder-eigener-content-type-entwickeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-pagebuilder-custom-content-type-development" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-pagebuilder-custom-content-type-development.webp</image:loc><image:title>Building Custom Page Builder Content Types: Master Format, Form and Renderer</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Custom&#x20;Page&#x20;Builder&#x20;Content&#x20;Types&#x3A;&#x20;Master&#x20;Format,&#x20;Form&#x20;and&#x20;Renderer"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-pagebuilder-custom-content-type-development.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-pagebuilder-performance-optimization-lazy-loading</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-pagebuilder-performance-lazy-loading" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-pagebuilder-performance-optimization-lazy-loading" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-pagebuilder-performance-optimization-lazy-loading.webp</image:loc><image:title>Page Builder Performance: Lazy Loading, Critical CSS and Image Optimization</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Page&#x20;Builder&#x20;Performance&#x3A;&#x20;Lazy&#x20;Loading,&#x20;Critical&#x20;CSS&#x20;and&#x20;Image&#x20;Optimization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-pagebuilder-performance-optimization-lazy-loading.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-partial-reindex-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-partial-reindex-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-partial-reindex-strategies" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-partial-reindex-strategies.webp</image:loc><image:title>Partial Reindex Strategies in Magento 2: Mview, Changelogs, Targeted Reindexing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Partial&#x20;Reindex&#x20;Strategies&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Mview,&#x20;Changelogs,&#x20;Targeted&#x20;Reindexing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-partial-reindex-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/performance-budgets-for-magento-shops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-performance-budgets-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/performance-budgets-for-magento-shops" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-budgets-for-magento-shops.webp</image:loc><image:title>Introducing Performance Budgets for Magento Shops</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Introducing&#x20;Performance&#x20;Budgets&#x20;for&#x20;Magento&#x20;Shops"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-budgets-for-magento-shops.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/pim-integration-fundamentals-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-pim-integration-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/pim-integration-fundamentals-magento" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/pim-integration-fundamentals-magento.webp</image:loc><image:title>PIM Integration in Magento 2: Fundamentals for Clean Product Data</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PIM&#x20;Integration&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Fundamentals&#x20;for&#x20;Clean&#x20;Product&#x20;Data"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/pim-integration-fundamentals-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-roadmap-end-of-life-planning-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-roadmap-end-of-life-planung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-roadmap-end-of-life-planning-en" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-roadmap-end-of-life-planning-en.webp</image:loc><image:title>Magento Roadmap and End-of-Life Planning</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Roadmap&#x20;and&#x20;End-of-Life&#x20;Planning"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-roadmap-end-of-life-planning-en.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/integrating-sentry-error-tracking-in-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-sentry-error-tracking-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/integrating-sentry-error-tracking-in-magento" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/integrating-sentry-error-tracking-in-magento.webp</image:loc><image:title>Integrating Sentry Error Tracking in Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrating&#x20;Sentry&#x20;Error&#x20;Tracking&#x20;in&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/integrating-sentry-error-tracking-in-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-store-switcher-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-store-switcher-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-store-switcher-customization" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-store-switcher-customization.webp</image:loc><image:title>Customizing the Magento 2 Store Switcher: Hyvä, Alpine.js and URL Logic</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Customizing&#x20;the&#x20;Magento&#x20;2&#x20;Store&#x20;Switcher&#x3A;&#x20;Hyv&#xE4;,&#x20;Alpine.js&#x20;and&#x20;URL&#x20;Logic"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-store-switcher-customization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-store-view-configuration-best-practices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-store-view-konfiguration-best-practices" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-store-view-configuration-best-practices" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-store-view-configuration-best-practices.webp</image:loc><image:title>Magento 2 Store View Configuration: Best Practices for Scopes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;2&#x20;Store&#x20;View&#x20;Configuration&#x3A;&#x20;Best&#x20;Practices&#x20;for&#x20;Scopes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-store-view-configuration-best-practices.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-search-relevance-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-suche-relevanz-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-search-relevance-tuning" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-search-relevance-tuning.webp</image:loc><image:title>Tuning Search Relevance in Magento 2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tuning&#x20;Search&#x20;Relevance&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-search-relevance-tuning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-search-synonyms-spell-correction</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-suche-synonyme-rechtschreibkorrektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-search-synonyms-spell-correction" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-search-synonyms-spell-correction.webp</image:loc><image:title>Search Synonyms and Spell Correction in Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Search&#x20;Synonyms&#x20;and&#x20;Spell&#x20;Correction&#x20;in&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-search-synonyms-spell-correction.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento-currency-conversion-price-rules-per-store</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/magento-waehrungsumrechnung-preisregeln-pro-store" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento-currency-conversion-price-rules-per-store" />
<lastmod>2026-07-31T18:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-currency-conversion-price-rules-per-store.webp</image:loc><image:title>Magento 2 Currency Conversion: Getting Per-Store Price Rules Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;2&#x20;Currency&#x20;Conversion&#x3A;&#x20;Getting&#x20;Per-Store&#x20;Price&#x20;Rules&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-currency-conversion-price-rules-per-store.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-analytics-integration-understanding-user-behavior</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-analytics-integration-nutzerverhalten-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-analytics-integration-understanding-user-behavior" />
<lastmod>2026-08-05T16:24:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-analytics-integration-understanding-user-behavior.webp</image:loc><image:title>React Native Analytics Integration: Understanding User Behavior</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Analytics&#x20;Integration&#x3A;&#x20;Understanding&#x20;User&#x20;Behavior"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-analytics-integration-understanding-user-behavior.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-reducing-app-size-bundle-assets-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-app-groesse-reduzieren-bundle-und-assets-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-reducing-app-size-bundle-assets-optimization" />
<lastmod>2026-08-05T16:24:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-reducing-app-size-bundle-assets-optimization.webp</image:loc><image:title>Reducing React Native App Size: Bundle and Asset Optimization</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reducing&#x20;React&#x20;Native&#x20;App&#x20;Size&#x3A;&#x20;Bundle&#x20;and&#x20;Asset&#x20;Optimization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-reducing-app-size-bundle-assets-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-app-launch-checklist-from-testing-to-store-approval</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-app-launch-checkliste-von-tests-bis-store-freigabe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-app-launch-checklist-from-testing-to-store-approval" />
<lastmod>2026-08-05T16:24:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-app-launch-checklist-from-testing-to-store-approval.webp</image:loc><image:title>React Native App Launch Checklist: From Testing to Store Approval</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;App&#x20;Launch&#x20;Checklist&#x3A;&#x20;From&#x20;Testing&#x20;to&#x20;Store&#x20;Approval"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-app-launch-checklist-from-testing-to-store-approval.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-app-store-connect-listing-create-and-maintain</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-app-store-connect-eintrag-erstellen-und-pflegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-app-store-connect-listing-create-and-maintain" />
<lastmod>2026-08-05T16:24:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-app-store-connect-listing-create-and-maintain.webp</image:loc><image:title>App Store Connect Listing: Create and Maintain It for React Native Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="App&#x20;Store&#x20;Connect&#x20;Listing&#x3A;&#x20;Create&#x20;and&#x20;Maintain&#x20;It&#x20;for&#x20;React&#x20;Native&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-app-store-connect-listing-create-and-maintain.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-app-store-review-guidelines-common-rejection-reasons</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-app-store-review-guidelines-haeufige-ablehnungsgruende" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-app-store-review-guidelines-common-rejection-reasons" />
<lastmod>2026-08-05T16:24:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-app-store-review-guidelines-common-rejection-reasons.webp</image:loc><image:title>App Store Review Guidelines: Common Rejection Reasons for React Native Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="App&#x20;Store&#x20;Review&#x20;Guidelines&#x3A;&#x20;Common&#x20;Rejection&#x20;Reasons&#x20;for&#x20;React&#x20;Native&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-app-store-review-guidelines-common-rejection-reasons.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-accessibility-for-mobile-apps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-barrierefreiheit-accessibility-fuer-mobile-apps" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-accessibility-for-mobile-apps" />
<lastmod>2026-08-05T16:24:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-accessibility-for-mobile-apps.webp</image:loc><image:title>React Native Accessibility for Mobile Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Accessibility&#x20;for&#x20;Mobile&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-accessibility-for-mobile-apps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-biometric-authentication-face-id-and-fingerprint</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-biometrische-authentifizierung-face-id-und-fingerabdruck" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-biometric-authentication-face-id-and-fingerprint" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-biometric-authentication-face-id-and-fingerprint.webp</image:loc><image:title>React Native Biometric Authentication: Face ID and Fingerprint</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Biometric&#x20;Authentication&#x3A;&#x20;Face&#x20;ID&#x20;and&#x20;Fingerprint"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-biometric-authentication-face-id-and-fingerprint.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-bluetooth-integration-pairing-iot-devices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-bluetooth-integration-mit-iot-geraeten-koppeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-bluetooth-integration-pairing-iot-devices" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-bluetooth-integration-pairing-iot-devices.webp</image:loc><image:title>React Native Bluetooth Integration: Pairing with IoT Devices</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Bluetooth&#x20;Integration&#x3A;&#x20;Pairing&#x20;with&#x20;IoT&#x20;Devices"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-bluetooth-integration-pairing-iot-devices.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-ci-cd-pipeline-with-github-actions-and-eas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-ci-cd-pipeline-mit-github-actions-und-eas" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-ci-cd-pipeline-with-github-actions-and-eas" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-ci-cd-pipeline-with-github-actions-and-eas.webp</image:loc><image:title>React Native CI/CD Pipeline with GitHub Actions and EAS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;CI&#x2F;CD&#x20;Pipeline&#x20;with&#x20;GitHub&#x20;Actions&#x20;and&#x20;EAS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-ci-cd-pipeline-with-github-actions-and-eas.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-code-signing-certificates-and-provisioning-profiles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-code-signing-zertifikate-und-provisioning-profiles" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-code-signing-certificates-and-provisioning-profiles" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-code-signing-certificates-and-provisioning-profiles.webp</image:loc><image:title>React Native Code Signing: Certificates and Provisioning Profiles</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Code&#x20;Signing&#x3A;&#x20;Certificates&#x20;and&#x20;Provisioning&#x20;Profiles"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-code-signing-certificates-and-provisioning-profiles.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-crash-reporting-with-sentry</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-crash-reporting-mit-sentry-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-crash-reporting-with-sentry" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-crash-reporting-with-sentry.webp</image:loc><image:title>Setting Up Crash Reporting in React Native with Sentry</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;Up&#x20;Crash&#x20;Reporting&#x20;in&#x20;React&#x20;Native&#x20;with&#x20;Sentry"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-crash-reporting-with-sentry.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-dark-mode-theming-systematic-approach</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-dark-mode-und-theming-systematisch-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-dark-mode-theming-systematic-approach" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-dark-mode-theming-systematic-approach.webp</image:loc><image:title>React Native Dark Mode and Theming: A Systematic Approach</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Dark&#x20;Mode&#x20;and&#x20;Theming&#x3A;&#x20;A&#x20;Systematic&#x20;Approach"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-dark-mode-theming-systematic-approach.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-deep-linking-and-universal-links-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-deep-linking-und-universal-links-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-deep-linking-and-universal-links-setup" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-deep-linking-and-universal-links-setup.webp</image:loc><image:title>React Native Deep Linking and Universal Links Setup</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Deep&#x20;Linking&#x20;and&#x20;Universal&#x20;Links&#x20;Setup"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-deep-linking-and-universal-links-setup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-design-system-building-your-own-component-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-design-system-eigene-komponenten-bibliothek-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-design-system-building-your-own-component-library" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-design-system-building-your-own-component-library.webp</image:loc><image:title>Building Your Own React Native Design System: A Component Library from Scratch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Your&#x20;Own&#x20;React&#x20;Native&#x20;Design&#x20;System&#x3A;&#x20;A&#x20;Component&#x20;Library&#x20;from&#x20;Scratch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-design-system-building-your-own-component-library.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-e2e-testing-with-detox</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-e2e-tests-mit-detox-end-to-end-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-e2e-testing-with-detox" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-e2e-testing-with-detox.webp</image:loc><image:title>React Native E2E Testing with Detox: Automating End-to-End Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;E2E&#x20;Testing&#x20;with&#x20;Detox&#x3A;&#x20;Automating&#x20;End-to-End&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-e2e-testing-with-detox.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-eas-build-cloud-builds-for-ios-and-android</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-eas-build-cloud-builds-fuer-ios-und-android" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-eas-build-cloud-builds-for-ios-and-android" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-eas-build-cloud-builds-for-ios-and-android.webp</image:loc><image:title>React Native EAS Build: Cloud Builds for iOS and Android</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;EAS&#x20;Build&#x3A;&#x20;Cloud&#x20;Builds&#x20;for&#x20;iOS&#x20;and&#x20;Android"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-eas-build-cloud-builds-for-ios-and-android.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-custom-native-modules-swift-kotlin-bridge</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-eigene-native-module-schreiben-swift-und-kotlin-bruecke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-custom-native-modules-swift-kotlin-bridge" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-custom-native-modules-swift-kotlin-bridge.webp</image:loc><image:title>React Native: Writing Custom Native Modules with a Swift and Kotlin Bridge</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x3A;&#x20;Writing&#x20;Custom&#x20;Native&#x20;Modules&#x20;with&#x20;a&#x20;Swift&#x20;and&#x20;Kotlin&#x20;Bridge"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-custom-native-modules-swift-kotlin-bridge.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-expo-router-file-based-routing-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-expo-router-dateibasiertes-routing-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-expo-router-file-based-routing-in-practice" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-expo-router-file-based-routing-in-practice.webp</image:loc><image:title>Expo Router: File-Based Routing in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Expo&#x20;Router&#x3A;&#x20;File-Based&#x20;Routing&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-expo-router-file-based-routing-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-validating-forms-with-react-hook-form</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-formulare-mit-react-hook-form-validieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-validating-forms-with-react-hook-form" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-validating-forms-with-react-hook-form.webp</image:loc><image:title>Validating Forms in React Native with React Hook Form</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Validating&#x20;Forms&#x20;in&#x20;React&#x20;Native&#x20;with&#x20;React&#x20;Hook&#x20;Form"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-validating-forms-with-react-hook-form.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-gesture-handler-swipe-drag-and-pinch-gestures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-gesture-handler-swipe-drag-und-pinch-gesten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-gesture-handler-swipe-drag-and-pinch-gestures" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-gesture-handler-swipe-drag-and-pinch-gestures.webp</image:loc><image:title>Gesture Handler in React Native: Swipe, Drag and Pinch Gestures</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Gesture&#x20;Handler&#x20;in&#x20;React&#x20;Native&#x3A;&#x20;Swipe,&#x20;Drag&#x20;and&#x20;Pinch&#x20;Gestures"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-gesture-handler-swipe-drag-and-pinch-gestures.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-graphql-integration-with-apollo-client</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-graphql-integration-mit-apollo-client" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-graphql-integration-with-apollo-client" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-graphql-integration-with-apollo-client.webp</image:loc><image:title>React Native GraphQL Integration with Apollo Client</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;GraphQL&#x20;Integration&#x20;with&#x20;Apollo&#x20;Client"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-graphql-integration-with-apollo-client.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-hermes-engine-why-it-makes-apps-faster</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-hermes-engine-warum-sie-apps-schneller-macht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-hermes-engine-why-it-makes-apps-faster" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-hermes-engine-why-it-makes-apps-faster.webp</image:loc><image:title>The Hermes Engine in React Native: Why It Makes Apps Faster</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Hermes&#x20;Engine&#x20;in&#x20;React&#x20;Native&#x3A;&#x20;Why&#x20;It&#x20;Makes&#x20;Apps&#x20;Faster"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-hermes-engine-why-it-makes-apps-faster.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-managing-background-tasks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-hintergrundprozesse-background-tasks-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-managing-background-tasks" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-managing-background-tasks.webp</image:loc><image:title>React Native Background Tasks: Managing Background Processes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Background&#x20;Tasks&#x3A;&#x20;Managing&#x20;Background&#x20;Processes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-managing-background-tasks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-implementing-in-app-purchases-with-revenuecat</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-in-app-kaeufe-mit-revenuecat-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-implementing-in-app-purchases-with-revenuecat" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-implementing-in-app-purchases-with-revenuecat.webp</image:loc><image:title>Implementing In-App Purchases in React Native with RevenueCat</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;In-App&#x20;Purchases&#x20;in&#x20;React&#x20;Native&#x20;with&#x20;RevenueCat"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-implementing-in-app-purchases-with-revenuecat.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-internationalization-i18next-multilingual-apps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-internationalisierung-i18next-mehrsprachige-apps" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-internationalization-i18next-multilingual-apps" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-internationalization-i18next-multilingual-apps.webp</image:loc><image:title>React Native Internationalization with i18next: Multilingual Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Internationalization&#x20;with&#x20;i18next&#x3A;&#x20;Multilingual&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-internationalization-i18next-multilingual-apps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-camera-integration-with-vision-camera</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-kamera-integration-mit-vision-camera" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-camera-integration-with-vision-camera" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-camera-integration-with-vision-camera.webp</image:loc><image:title>React Native Camera Integration with VisionCamera</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Camera&#x20;Integration&#x20;with&#x20;VisionCamera"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-camera-integration-with-vision-camera.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-monorepo-turborepo-managing-multiple-apps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-monorepo-mit-turborepo-mehrere-apps-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-monorepo-turborepo-managing-multiple-apps" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-monorepo-turborepo-managing-multiple-apps.webp</image:loc><image:title>React Native Monorepo with Turborepo: Managing Multiple Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Monorepo&#x20;with&#x20;Turborepo&#x3A;&#x20;Managing&#x20;Multiple&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-monorepo-turborepo-managing-multiple-apps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-nativewind-tailwind-utility-classes-for-mobile-apps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-nativewind-tailwind-utility-classes-fuer-mobile-apps" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-nativewind-tailwind-utility-classes-for-mobile-apps" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-nativewind-tailwind-utility-classes-for-mobile-apps.webp</image:loc><image:title>NativeWind: Tailwind Utility Classes for Mobile Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="NativeWind&#x3A;&#x20;Tailwind&#x20;Utility&#x20;Classes&#x20;for&#x20;Mobile&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-nativewind-tailwind-utility-classes-for-mobile-apps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-navigation-with-react-navigation-stacks-tabs-drawer</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-navigation-mit-react-navigation-stacks-tabs-drawer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-navigation-with-react-navigation-stacks-tabs-drawer" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-navigation-with-react-navigation-stacks-tabs-drawer.webp</image:loc><image:title>React Navigation: Composing Stacks, Tabs and Drawers Imperatively</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Navigation&#x3A;&#x20;Composing&#x20;Stacks,&#x20;Tabs&#x20;and&#x20;Drawers&#x20;Imperatively"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-navigation-with-react-navigation-stacks-tabs-drawer.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-new-architecture-fabric-and-turbomodules-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-neue-architektur-fabric-und-turbomodules-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-new-architecture-fabric-and-turbomodules-explained" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-new-architecture-fabric-and-turbomodules-explained.webp</image:loc><image:title>React Native New Architecture: Fabric and TurboModules Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;New&#x20;Architecture&#x3A;&#x20;Fabric&#x20;and&#x20;TurboModules&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-new-architecture-fabric-and-turbomodules-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-offline-first-apps-with-watermelondb</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-offline-first-mit-watermelondb-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-offline-first-apps-with-watermelondb" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-offline-first-apps-with-watermelondb.webp</image:loc><image:title>Building Offline-First Apps with WatermelonDB</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Offline-First&#x20;Apps&#x20;with&#x20;WatermelonDB"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-offline-first-apps-with-watermelondb.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-ota-updates-with-eas-update-a-codepush-alternative</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-ota-updates-mit-eas-update-code-push-alternative" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-ota-updates-with-eas-update-a-codepush-alternative" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-ota-updates-with-eas-update-a-codepush-alternative.webp</image:loc><image:title>React Native OTA Updates with EAS Update: a CodePush Alternative</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;OTA&#x20;Updates&#x20;with&#x20;EAS&#x20;Update&#x3A;&#x20;a&#x20;CodePush&#x20;Alternative"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-ota-updates-with-eas-update-a-codepush-alternative.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-performance-profiling-flipper-devtools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-performance-profiling-mit-flipper-und-devtools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-performance-profiling-flipper-devtools" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-performance-profiling-flipper-devtools.webp</image:loc><image:title>Performance Profiling in React Native with Flipper and DevTools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Performance&#x20;Profiling&#x20;in&#x20;React&#x20;Native&#x20;with&#x20;Flipper&#x20;and&#x20;DevTools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-performance-profiling-flipper-devtools.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-play-console-listing-create-and-maintain</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-play-console-eintrag-erstellen-und-pflegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-play-console-listing-create-and-maintain" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-play-console-listing-create-and-maintain.webp</image:loc><image:title>React Native: Creating and Maintaining a Play Console Listing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x3A;&#x20;Creating&#x20;and&#x20;Maintaining&#x20;a&#x20;Play&#x20;Console&#x20;Listing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-play-console-listing-create-and-maintain.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-play-store-policies-common-rejection-reasons</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-play-store-richtlinien-haeufige-ablehnungsgruende" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-play-store-policies-common-rejection-reasons" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-play-store-policies-common-rejection-reasons.webp</image:loc><image:title>Play Store Policies: Common Rejection Reasons for React Native Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Play&#x20;Store&#x20;Policies&#x3A;&#x20;Common&#x20;Rejection&#x20;Reasons&#x20;for&#x20;React&#x20;Native&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-play-store-policies-common-rejection-reasons.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-push-notifications-with-firebase-cloud-messaging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-push-notifications-mit-firebase-cloud-messaging" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-push-notifications-with-firebase-cloud-messaging" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-push-notifications-with-firebase-cloud-messaging.webp</image:loc><image:title>Push Notifications with Firebase Cloud Messaging in React Native</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Push&#x20;Notifications&#x20;with&#x20;Firebase&#x20;Cloud&#x20;Messaging&#x20;in&#x20;React&#x20;Native"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-push-notifications-with-firebase-cloud-messaging.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-reanimated-3-building-fluid-animations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-reanimated-3-fluessige-animationen-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-reanimated-3-building-fluid-animations" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-reanimated-3-building-fluid-animations.webp</image:loc><image:title>Reanimated 3: Building Fluid Animations in React Native</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reanimated&#x20;3&#x3A;&#x20;Building&#x20;Fluid&#x20;Animations&#x20;in&#x20;React&#x20;Native"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-reanimated-3-building-fluid-animations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-rest-api-integration-with-tanstack-query</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-rest-api-anbindung-mit-tanstack-query" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-rest-api-integration-with-tanstack-query" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-rest-api-integration-with-tanstack-query.webp</image:loc><image:title>REST API Integration in React Native with TanStack Query</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="REST&#x20;API&#x20;Integration&#x20;in&#x20;React&#x20;Native&#x20;with&#x20;TanStack&#x20;Query"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-rest-api-integration-with-tanstack-query.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-secure-storage-and-keychain</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-sicherer-speicher-secure-storage-und-keychain" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-secure-storage-and-keychain" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-secure-storage-and-keychain.webp</image:loc><image:title>React Native Secure Storage and Keychain</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Secure&#x20;Storage&#x20;and&#x20;Keychain"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-secure-storage-and-keychain.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-sqlite-local-data-storage-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-sqlite-lokale-datenhaltung-praktisch-umgesetzt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-sqlite-local-data-storage-in-practice" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-sqlite-local-data-storage-in-practice.webp</image:loc><image:title>SQLite in React Native: Local Data Storage in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SQLite&#x20;in&#x20;React&#x20;Native&#x3A;&#x20;Local&#x20;Data&#x20;Storage&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-sqlite-local-data-storage-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-ssl-pinning-securing-api-communication</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-ssl-pinning-api-kommunikation-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-ssl-pinning-securing-api-communication" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-ssl-pinning-securing-api-communication.webp</image:loc><image:title>React Native SSL Pinning: Securing API Communication</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;SSL&#x20;Pinning&#x3A;&#x20;Securing&#x20;API&#x20;Communication"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-ssl-pinning-securing-api-communication.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-geolocation-services-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-standortdienste-geolocation-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-geolocation-services-done-right" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-geolocation-services-done-right.webp</image:loc><image:title>React Native Geolocation and Location Services Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Geolocation&#x20;and&#x20;Location&#x20;Services&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-geolocation-services-done-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-state-management-zustand-vs-redux-toolkit-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-state-management-zustand-vs-redux-toolkit-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-state-management-zustand-vs-redux-toolkit-compared" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-state-management-zustand-vs-redux-toolkit-compared.webp</image:loc><image:title>State management: Zustand vs Redux Toolkit compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="State&#x20;management&#x3A;&#x20;Zustand&#x20;vs&#x20;Redux&#x20;Toolkit&#x20;compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-state-management-zustand-vs-redux-toolkit-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-subscription-commerce-implementing-in-app-subscriptions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-subscription-commerce-abo-modelle-in-apps-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-subscription-commerce-implementing-in-app-subscriptions" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-subscription-commerce-implementing-in-app-subscriptions.webp</image:loc><image:title>Subscription Commerce in React Native: Implementing In-App Subscriptions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Subscription&#x20;Commerce&#x20;in&#x20;React&#x20;Native&#x3A;&#x20;Implementing&#x20;In-App&#x20;Subscriptions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-subscription-commerce-implementing-in-app-subscriptions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-tablet-foldable-support-responsive-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-tablet-und-foldable-support-responsive-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-tablet-foldable-support-responsive-layouts" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-tablet-foldable-support-responsive-layouts.webp</image:loc><image:title>React Native Tablet and Foldable Support: Responsive Layouts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Tablet&#x20;and&#x20;Foldable&#x20;Support&#x3A;&#x20;Responsive&#x20;Layouts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-tablet-foldable-support-responsive-layouts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-testing-jest-unit-component-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-testing-mit-jest-unit-und-komponententests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-testing-jest-unit-component-tests" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-testing-jest-unit-component-tests.webp</image:loc><image:title>React Native Testing with Jest: Unit and Component Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;Testing&#x20;with&#x20;Jest&#x3A;&#x20;Unit&#x20;and&#x20;Component&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-testing-jest-unit-component-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-implementing-video-and-audio-playback</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-video-und-audio-wiedergabe-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-implementing-video-and-audio-playback" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-implementing-video-and-audio-playback.webp</image:loc><image:title>Implementing Video and Audio Playback in React Native</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Video&#x20;and&#x20;Audio&#x20;Playback&#x20;in&#x20;React&#x20;Native"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-implementing-video-and-audio-playback.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-webview-integration-embedding-hybrid-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-webview-integration-hybride-inhalte-einbetten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-webview-integration-embedding-hybrid-content" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-webview-integration-embedding-hybrid-content.webp</image:loc><image:title>React Native WebView Integration: Embedding Hybrid Content</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;Native&#x20;WebView&#x20;Integration&#x3A;&#x20;Embedding&#x20;Hybrid&#x20;Content"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-webview-integration-embedding-hybrid-content.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-integrating-ads-admob-and-alternatives</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-werbung-integrieren-admob-und-alternativen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-integrating-ads-admob-and-alternatives" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-integrating-ads-admob-and-alternatives.webp</image:loc><image:title>Integrating Ads in React Native: AdMob and Alternatives</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrating&#x20;Ads&#x20;in&#x20;React&#x20;Native&#x3A;&#x20;AdMob&#x20;and&#x20;Alternatives"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-integrating-ads-admob-and-alternatives.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native-widgets-for-ios-and-android</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/react-native-widgets-fuer-ios-und-android-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native-widgets-for-ios-and-android" />
<lastmod>2026-08-05T16:24:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-widgets-for-ios-and-android.webp</image:loc><image:title>Building React Native Widgets for iOS and Android</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;React&#x20;Native&#x20;Widgets&#x20;for&#x20;iOS&#x20;and&#x20;Android"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-widgets-for-ios-and-android.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/recht-european-accessibility-act-bfsg-what-online-shops-must-do-in-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/recht-barrierefreiheitsstaerkungsgesetz-bfsg-was-online-shops-2026-umsetzen-muessen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/recht-european-accessibility-act-bfsg-what-online-shops-must-do-in-2026" />
<lastmod>2026-08-05T16:25:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/recht-european-accessibility-act-bfsg-what-online-shops-must-do-in-2026.webp</image:loc><image:title>European Accessibility Act (BFSG): What Online Shops Must Do in 2026</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="European&#x20;Accessibility&#x20;Act&#x20;&#x28;BFSG&#x29;&#x3A;&#x20;What&#x20;Online&#x20;Shops&#x20;Must&#x20;Do&#x20;in&#x20;2026"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/recht-european-accessibility-act-bfsg-what-online-shops-must-do-in-2026.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/battery-act-and-weee-take-back-obligations-for-online-retailers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/batteriegesetz-und-elektrogesetz-ruecknahmepflichten-im-online-handel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/battery-act-and-weee-take-back-obligations-for-online-retailers" />
<lastmod>2026-08-05T16:25:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/battery-act-and-weee-take-back-obligations-for-online-retailers.webp</image:loc><image:title>Battery Act and WEEE Take-Back Obligations for Online Retailers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Battery&#x20;Act&#x20;and&#x20;WEEE&#x20;Take-Back&#x20;Obligations&#x20;for&#x20;Online&#x20;Retailers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/battery-act-and-weee-take-back-obligations-for-online-retailers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/cookie-consent-ttdsg-legally-compliant-banners-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/cookie-consent-ttdsg-rechtssichere-banner-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/cookie-consent-ttdsg-legally-compliant-banners-2026" />
<lastmod>2026-08-05T16:25:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/cookie-consent-ttdsg-legally-compliant-banners-2026.webp</image:loc><image:title>Cookie Consent Under TTDSG: Legally Compliant Banners for Your Shop 2026</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cookie&#x20;Consent&#x20;Under&#x20;TTDSG&#x3A;&#x20;Legally&#x20;Compliant&#x20;Banners&#x20;for&#x20;Your&#x20;Shop&#x20;2026"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/cookie-consent-ttdsg-legally-compliant-banners-2026.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/recht-digital-services-act-dsa-obligations-for-online-shops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/recht-digital-services-act-dsa-pflichten-fuer-online-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/recht-digital-services-act-dsa-obligations-for-online-shops" />
<lastmod>2026-08-05T16:25:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/recht-digital-services-act-dsa-obligations-for-online-shops.webp</image:loc><image:title>Digital Services Act (DSA): Obligations for Online Shops Explained Simply</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Digital&#x20;Services&#x20;Act&#x20;&#x28;DSA&#x29;&#x3A;&#x20;Obligations&#x20;for&#x20;Online&#x20;Shops&#x20;Explained&#x20;Simply"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/recht-digital-services-act-dsa-obligations-for-online-shops.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gdpr-article-82-damages-claims-recent-case-law-for-online-shops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/dsgvo-schadensersatz-art-82-aktuelle-rechtsprechung-fuer-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gdpr-article-82-damages-claims-recent-case-law-for-online-shops" />
<lastmod>2026-08-05T16:25:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gdpr-article-82-damages-claims-recent-case-law-for-online-shops.webp</image:loc><image:title>GDPR Article 82 Damages Claims: Recent Case Law for Online Shops</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GDPR&#x20;Article&#x20;82&#x20;Damages&#x20;Claims&#x3A;&#x20;Recent&#x20;Case&#x20;Law&#x20;for&#x20;Online&#x20;Shops"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gdpr-article-82-damages-claims-recent-case-law-for-online-shops.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/recht-mandatory-e-invoicing-b2b-2025-what-shop-owners-need-to-know</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/recht-e-rechnungspflicht-b2b-2025-was-shop-betreiber-wissen-muessen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/recht-mandatory-e-invoicing-b2b-2025-what-shop-owners-need-to-know" />
<lastmod>2026-08-05T16:25:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/recht-mandatory-e-invoicing-b2b-2025-what-shop-owners-need-to-know.webp</image:loc><image:title>Mandatory E-Invoicing 2025: What Online Shop Owners Need to Know</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mandatory&#x20;E-Invoicing&#x20;2025&#x3A;&#x20;What&#x20;Online&#x20;Shop&#x20;Owners&#x20;Need&#x20;to&#x20;Know"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/recht-mandatory-e-invoicing-b2b-2025-what-shop-owners-need-to-know.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/eu-ai-act-labeling-obligations-for-chatbots-in-online-shops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/eu-ai-act-kennzeichnungspflicht-fuer-chatbots-im-online-shop" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/eu-ai-act-labeling-obligations-for-chatbots-in-online-shops" />
<lastmod>2026-08-05T16:25:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/eu-ai-act-labeling-obligations-for-chatbots-in-online-shops.webp</image:loc><image:title>EU AI Act: Labeling Obligations for Chatbots in Online Shops</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="EU&#x20;AI&#x20;Act&#x3A;&#x20;Labeling&#x20;Obligations&#x20;for&#x20;Chatbots&#x20;in&#x20;Online&#x20;Shops"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/eu-ai-act-labeling-obligations-for-chatbots-in-online-shops.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/legal-notice-obligations-and-current-abmahnung-traps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/impressumspflicht-und-anbieterkennzeichnung-aktuelle-abmahnfallen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/legal-notice-obligations-and-current-abmahnung-traps" />
<lastmod>2026-08-05T16:25:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/legal-notice-obligations-and-current-abmahnung-traps.webp</image:loc><image:title>Legal Notice Obligations and Current Abmahnung Traps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Legal&#x20;Notice&#x20;Obligations&#x20;and&#x20;Current&#x20;Abmahnung&#x20;Traps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/legal-notice-obligations-and-current-abmahnung-traps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/supply-chain-due-diligence-act-lksg-does-it-apply-to-small-retailers-too</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/lieferkettensorgfaltspflichtengesetz-lksg-gilt-das-auch-fuer-kleine-haendler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/supply-chain-due-diligence-act-lksg-does-it-apply-to-small-retailers-too" />
<lastmod>2026-08-05T16:25:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/supply-chain-due-diligence-act-lksg-does-it-apply-to-small-retailers-too.webp</image:loc><image:title>Supply Chain Due Diligence Act (LkSG): Does It Apply to Small Retailers Too?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Supply&#x20;Chain&#x20;Due&#x20;Diligence&#x20;Act&#x20;&#x28;LkSG&#x29;&#x3A;&#x20;Does&#x20;It&#x20;Apply&#x20;to&#x20;Small&#x20;Retailers&#x20;Too&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/supply-chain-due-diligence-act-lksg-does-it-apply-to-small-retailers-too.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/marketplace-liability-section-25e-vat-act-what-online-sellers-must-know</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/marktplatzhaftung-paragraf-25e-ustg-was-haendler-beachten-muessen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/marketplace-liability-section-25e-vat-act-what-online-sellers-must-know" />
<lastmod>2026-08-05T16:25:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/marketplace-liability-section-25e-vat-act-what-online-sellers-must-know.webp</image:loc><image:title>Marketplace Liability Under Section 25e VAT Act: What Online Sellers Must Know</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Marketplace&#x20;Liability&#x20;Under&#x20;Section&#x20;25e&#x20;VAT&#x20;Act&#x3A;&#x20;What&#x20;Online&#x20;Sellers&#x20;Must&#x20;Know"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/marketplace-liability-section-25e-vat-act-what-online-sellers-must-know.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/nis2-directive-it-security-obligations-for-online-retailers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/nis2-richtlinie-it-sicherheitspflichten-fuer-online-haendler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/nis2-directive-it-security-obligations-for-online-retailers" />
<lastmod>2026-08-05T16:25:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nis2-directive-it-security-obligations-for-online-retailers.webp</image:loc><image:title>NIS2 Directive: IT Security Obligations for Online Retailers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="NIS2&#x20;Directive&#x3A;&#x20;IT&#x20;Security&#x20;Obligations&#x20;for&#x20;Online&#x20;Retailers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nis2-directive-it-security-obligations-for-online-retailers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/recht-omnibus-directive-price-labeling-lowest-price-last-30-days-rule</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/recht-omnibus-richtlinie-preisangaben-niedrigster-preis-30-tage-regel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/recht-omnibus-directive-price-labeling-lowest-price-last-30-days-rule" />
<lastmod>2026-08-05T16:25:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/recht-omnibus-directive-price-labeling-lowest-price-last-30-days-rule.webp</image:loc><image:title>Lowest Price of the Last 30 Days: Getting the Omnibus Directive Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Lowest&#x20;Price&#x20;of&#x20;the&#x20;Last&#x20;30&#x20;Days&#x3A;&#x20;Getting&#x20;the&#x20;Omnibus&#x20;Directive&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/recht-omnibus-directive-price-labeling-lowest-price-last-30-days-rule.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/textile-labeling-and-responsible-economic-operator-eu</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/textilkennzeichnung-und-verantwortlicher-wirtschaftsakteur-eu" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/textile-labeling-and-responsible-economic-operator-eu" />
<lastmod>2026-08-05T16:25:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/textile-labeling-and-responsible-economic-operator-eu.webp</image:loc><image:title>Textile Labeling and Responsible Economic Operator in the EU: What Shop Owners Must Know</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Textile&#x20;Labeling&#x20;and&#x20;Responsible&#x20;Economic&#x20;Operator&#x20;in&#x20;the&#x20;EU&#x3A;&#x20;What&#x20;Shop&#x20;Owners&#x20;Must&#x20;Know"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/textile-labeling-and-responsible-economic-operator-eu.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/recht-packaging-act-and-lucid-registration-obligations-for-online-retailers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/recht-verpackungsgesetz-und-lucid-registrierung-pflichten-fuer-haendler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/recht-packaging-act-and-lucid-registration-obligations-for-online-retailers" />
<lastmod>2026-08-05T16:25:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/recht-packaging-act-and-lucid-registration-obligations-for-online-retailers.webp</image:loc><image:title>Packaging Act and LUCID Registration for Online Retailers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Packaging&#x20;Act&#x20;and&#x20;LUCID&#x20;Registration&#x20;for&#x20;Online&#x20;Retailers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/recht-packaging-act-and-lucid-registration-obligations-for-online-retailers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/right-of-withdrawal-updated-model-form-and-return-shipping-costs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/blog/widerrufsrecht-neues-musterformular-und-ruecksendekosten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/right-of-withdrawal-updated-model-form-and-return-shipping-costs" />
<lastmod>2026-08-05T16:25:41+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/right-of-withdrawal-updated-model-form-and-return-shipping-costs.webp</image:loc><image:title>Right of Withdrawal: Getting the Model Form and Return Shipping Costs Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Right&#x20;of&#x20;Withdrawal&#x3A;&#x20;Getting&#x20;the&#x20;Model&#x20;Form&#x20;and&#x20;Return&#x20;Shipping&#x20;Costs&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/right-of-withdrawal-updated-model-form-and-return-shipping-costs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/blog/magento</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/magento" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/javascript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/javascript" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/tailwind</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/tailwind" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/css</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/css" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/symfony</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/symfony" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/vuejs</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/vuejs" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/sql</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/sql" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/bash</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/bash" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/docker</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/docker" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/graphql</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/graphql" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/alpinejs</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/alpinejs" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpstorm</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpstorm" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/phpunit</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/phpunit" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/rest-api</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/rest-api" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/seo</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/seo" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/web-performance</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/web-performance" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/redis</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/redis" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/elasticsearch</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/elasticsearch" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/mysql</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/mysql" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/hyva</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/hyva" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/php</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/php" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/securityowasp</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/securityowasp" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/testinge2e</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/testinge2e" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/typescript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/typescript" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/git</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/git" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/linux</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/linux" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/barrierefreiheit</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/barrierefreiheit" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/claude-ai</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/claude-ai" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/design-patterns</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/design-patterns" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/gitlab</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/gitlab" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/recht-im-online-handel</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/recht-im-online-handel" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/blog/react-native</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/blog/react-native" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/what-is-react-native</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/what-is-react-native" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/setting-up-your-development-environment</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/setting-up-your-development-environment" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/creating-your-first-project</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/creating-your-first-project" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/understanding-components-and-jsx</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/understanding-components-and-jsx" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/styling-with-stylesheet</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/styling-with-stylesheet" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/props-and-custom-components</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/props-and-custom-components" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/managing-state-with-usestate</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/managing-state-with-usestate" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/fetching-data-from-an-api</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/fetching-data-from-an-api" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/displaying-lists-with-flatlist</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/displaying-lists-with-flatlist" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/navigation-between-screens</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/navigation-between-screens" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/user-input-with-textinput</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/user-input-with-textinput" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/storing-data-locally-with-asyncstorage</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/storing-data-locally-with-asyncstorage" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/debugging-finding-and-fixing-errors</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/debugging-finding-and-fixing-errors" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/testing-on-real-devices</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/testing-on-real-devices" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/publishing-on-google-play</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/publishing-on-google-play" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/publishing-on-the-apple-app-store</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/publishing-on-the-apple-app-store" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/alternative-distribution-without-store-review</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/alternative-distribution-without-store-review" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-beginners/outlook-and-next-steps</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-beginners/outlook-and-next-steps" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/what-is-react-why-react</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/what-is-react-why-react" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/setting-up-your-development-environment</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/setting-up-your-development-environment" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/creating-your-first-project</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/creating-your-first-project" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/understanding-jsx-and-components</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/understanding-jsx-and-components" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/props-and-custom-components</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/props-and-custom-components" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/state-and-event-handling</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/state-and-event-handling" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/conditional-rendering-lists-and-keys</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/conditional-rendering-lists-and-keys" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/understanding-useeffect</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/understanding-useeffect" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/understanding-useref</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/understanding-useref" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/usememo-and-usecallback</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/usememo-and-usecallback" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/understanding-usecontext</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/understanding-usecontext" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/custom-hooks-and-rules-of-hooks</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/custom-hooks-and-rules-of-hooks" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/controlled-and-uncontrolled-components</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/controlled-and-uncontrolled-components" />
<lastmod>2026-08-08T00:15:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/form-validation-in-react</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/form-validation-in-react" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/forms-with-react-hook-form</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/forms-with-react-hook-form" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/forms-in-real-world-use</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/forms-in-real-world-use" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/react-router-basics</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/react-router-basics" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/dynamic-and-nested-routes</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/dynamic-and-nested-routes" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/protected-routes-in-react-router</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/protected-routes-in-react-router" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/lazy-loading-in-react</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/lazy-loading-in-react" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/fetch-api-versus-axios</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/fetch-api-versus-axios" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/async-await-and-connecting-to-magento</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/async-await-and-connecting-to-magento" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/error-handling-and-loading-states</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/error-handling-and-loading-states" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/pagination-in-react</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/pagination-in-react" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/setting-up-docker-and-mysql</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/setting-up-docker-and-mysql" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-beginners-web/finishing-and-connecting-the-server</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-beginners-web/finishing-and-connecting-the-server" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/limits-of-context-api</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/limits-of-context-api" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/global-state-with-zustand</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/global-state-with-zustand" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/shopping-cart-with-redux-toolkit</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/shopping-cart-with-redux-toolkit" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/react-devtools-profiler</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/react-devtools-profiler" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/react-memo-in-depth</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/react-memo-in-depth" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/list-virtualization</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/list-virtualization" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/concurrent-features</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/concurrent-features" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/virtual-dom-and-reconciliation</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/virtual-dom-and-reconciliation" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/react-fiber</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/react-fiber" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/higher-order-components</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/higher-order-components" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/render-props-pattern</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/render-props-pattern" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/portals-and-modals</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/portals-and-modals" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/error-boundaries</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/error-boundaries" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/setting-up-typescript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/setting-up-typescript" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/typing-components-and-props</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/typing-components-and-props" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/typing-hooks</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/typing-hooks" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/typing-events-forms-and-api-data</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/typing-events-forms-and-api-data" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/testing-with-vitest-and-rtl</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/testing-with-vitest-and-rtl" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/best-practices-and-code-organization</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/best-practices-and-code-organization" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/deployment-and-build-optimization</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/deployment-and-build-optimization" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-for-professionals/interview-preparation</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-for-professionals/interview-preparation" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/limits-of-usecart</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/limits-of-usecart" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/global-cart-with-zustand</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/global-cart-with-zustand" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/favorites-with-redux-toolkit</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/favorites-with-redux-toolkit" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/performance-profiling</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/performance-profiling" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/flatlist-optimization</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/flatlist-optimization" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/the-hermes-engine</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/the-hermes-engine" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/image-performance</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/image-performance" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/the-new-architecture</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/the-new-architecture" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/reanimated</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/reanimated" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/gesture-handler</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/gesture-handler" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/understanding-custom-native-modules</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/understanding-custom-native-modules" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/setting-up-typescript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/setting-up-typescript" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/typing-components-and-props</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/typing-components-and-props" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/typing-hooks-and-the-store</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/typing-hooks-and-the-store" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/typing-navigation-and-api-data</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/typing-navigation-and-api-data" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/testing-with-jest-and-rntl</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/testing-with-jest-and-rntl" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/eas-build-and-ota-updates</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/eas-build-and-ota-updates" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/best-practices-and-code-organization</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/best-practices-and-code-organization" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-for-professionals/interview-preparation</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-for-professionals/interview-preparation" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/introduction</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/introduction" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/first-react-native-application</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/first-react-native-application" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/working-of-react-native</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/working-of-react-native" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/bridging-in-react-native</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/bridging-in-react-native" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/react-vs-react-native</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/react-vs-react-native" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/debugging-in-react-native</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/debugging-in-react-native" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/importing-a-component</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/importing-a-component" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/listview-component</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/listview-component" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/scrollview-component</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/scrollview-component" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/tab-navigation-component</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/tab-navigation-component" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/drawer-navigation-component</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/drawer-navigation-component" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/activityindicator-component</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/activityindicator-component" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/dumb-components</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/dumb-components" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/touchablehighlight-component</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/touchablehighlight-component" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/flatlist-component</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/flatlist-component" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/asyncstorage-component</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/asyncstorage-component" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/button-component</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/button-component" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/text-input-component</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/text-input-component" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/pressable-component</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/pressable-component" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/switch-api</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/switch-api" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/alert-api</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/alert-api" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/styling-elements</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/styling-elements" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/buttons</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/buttons" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/radio-buttons</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/radio-buttons" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/creating-a-table</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/creating-a-table" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/search-bar</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/search-bar" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/fade-in-fade-out-animation</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/fade-in-fade-out-animation" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/background-image</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/background-image" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/floating-action-button</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/floating-action-button" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/progress-bar</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/progress-bar" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/avatar</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/avatar" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/using-axios</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/using-axios" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/fetch-local-json-file</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/fetch-local-json-file" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/centering-a-component</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/centering-a-component" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/passing-values-between-screens</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/passing-values-between-screens" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/sending-a-post-request</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/sending-a-post-request" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/logging</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/logging" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/props-in-react-native</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/props-in-react-native" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/threads-in-react-native</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/threads-in-react-native" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/material-design-menus</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/material-design-menus" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/getting-window-height-and-width</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/getting-window-height-and-width" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/solving-unhandled-promise-rejection</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/solving-unhandled-promise-rejection" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/get-platform-and-device-details</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/get-platform-and-device-details" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/todo-app</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/todo-app" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/calendar-app</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/calendar-app" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/emoji-picker-app</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/emoji-picker-app" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/password-manager-app</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/password-manager-app" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/bmi-calculator-app</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/bmi-calculator-app" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-reference/blog-app</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-reference/blog-app" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial/introduction-react-magento-api</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial/introduction-react-magento-api" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial/understanding-the-magento-rest-api</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial/understanding-the-magento-rest-api" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial/admin-token-quickstart</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial/admin-token-quickstart" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial/setting-up-the-react-project</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial/setting-up-the-react-project" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial/setting-up-a-magento-integration</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial/setting-up-a-magento-integration" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial/environment-variables-and-security</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial/environment-variables-and-security" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial/loading-the-product-list</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial/loading-the-product-list" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial/pagination-and-sorting</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial/pagination-and-sorting" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial/navigating-to-the-detail-page</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial/navigating-to-the-detail-page" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial/reading-all-product-detail-data</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial/reading-all-product-detail-data" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial/images-and-stock</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial/images-and-stock" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial/error-handling-and-loading-states</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial/error-handling-and-loading-states" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial/search-and-filtering</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial/search-and-filtering" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-magento-api-tutorial/conclusion-and-next-steps</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-magento-api-tutorial/conclusion-and-next-steps" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/introduction-react-native-magento-api</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/introduction-react-native-magento-api" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/understanding-the-magento-rest-api</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/understanding-the-magento-rest-api" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/admin-token-quickstart</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/admin-token-quickstart" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/setting-up-the-expo-project</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/setting-up-the-expo-project" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/setting-up-a-magento-integration</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/setting-up-a-magento-integration" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/environment-variables-and-security</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/environment-variables-and-security" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/loading-the-product-list-with-flatlist</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/loading-the-product-list-with-flatlist" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/pagination-and-sorting</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/pagination-and-sorting" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/navigating-to-the-detail-screen</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/navigating-to-the-detail-screen" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/reading-all-product-detail-data</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/reading-all-product-detail-data" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/images-and-stock</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/images-and-stock" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/error-handling-and-loading-states</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/error-handling-and-loading-states" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/search-and-filtering</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/search-and-filtering" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/conclusion-and-next-steps</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/react-native-magento-api-tutorial/conclusion-and-next-steps" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/what-is-javascript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/what-is-javascript" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/setting-up-the-development-environment</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/setting-up-the-development-environment" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/first-javascript-project</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/first-javascript-project" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/variables-and-data-types</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/variables-and-data-types" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/operators-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/operators-in-javascript" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/control-flow-if-switch</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/control-flow-if-switch" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/loops-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/loops-in-javascript" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/function-basics</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/function-basics" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/arrow-functions-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/arrow-functions-in-javascript" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/array-basics</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/array-basics" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/array-methods-map-filter-reduce</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/array-methods-map-filter-reduce" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/objects-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/objects-in-javascript" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/destructuring-spread-rest</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/destructuring-spread-rest" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/template-literals-and-string-methods</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/template-literals-and-string-methods" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/scope-and-hoisting</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/scope-and-hoisting" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/closures-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/closures-in-javascript" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/the-this-keyword-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/the-this-keyword-in-javascript" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/higher-order-functions-and-recursion</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/higher-order-functions-and-recursion" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/object-oriented-programming-with-classes</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/object-oriented-programming-with-classes" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/inheritance-and-prototypes</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/inheritance-and-prototypes" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/modules-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/modules-in-javascript" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/iterators-and-generators</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/iterators-and-generators" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/the-event-loop</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/the-event-loop" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/callbacks-and-promises</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/callbacks-and-promises" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/async-await-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/async-await-in-javascript" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/error-handling-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/error-handling-in-javascript" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/working-with-json-and-the-filesystem</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/working-with-json-and-the-filesystem" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/testing-with-vitest</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/testing-with-vitest" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/javascript-tutorial/best-practices-and-conclusion</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/javascript-tutorial/best-practices-and-conclusion" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/what-is-typescript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/what-is-typescript" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/setting-up-the-development-environment</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/setting-up-the-development-environment" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/first-typescript-project</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/first-typescript-project" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/basic-types</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/basic-types" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/type-inference</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/type-inference" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/typing-functions</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/typing-functions" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/interfaces</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/interfaces" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/type-aliases</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/type-aliases" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/union-and-intersection-types</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/union-and-intersection-types" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/literal-types-and-enums</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/literal-types-and-enums" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/arrays-tuples-and-readonly-in-depth</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/arrays-tuples-and-readonly-in-depth" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/class-basics</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/class-basics" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/inheritance</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/inheritance" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/access-modifiers</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/access-modifiers" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/abstract-classes-and-implementing-interfaces</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/abstract-classes-and-implementing-interfaces" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/static-members-getters-and-setters</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/static-members-getters-and-setters" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/generics-basics</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/generics-basics" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/generics-with-constraints</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/generics-with-constraints" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/type-narrowing-and-type-guards</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/type-narrowing-and-type-guards" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/utility-types</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/utility-types" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/mapped-types</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/mapped-types" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/conditional-types</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/conditional-types" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/template-literal-types</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/template-literal-types" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/modules-import-and-export</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/modules-import-and-export" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/error-handling-with-types</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/error-handling-with-types" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/typing-async-await</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/typing-async-await" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/tsconfig-in-depth</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/tsconfig-in-depth" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/testing-with-typescript</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/testing-with-typescript" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/typescript-tutorial/best-practices-and-conclusion</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/typescript-tutorial/best-practices-and-conclusion" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/what-is-symfony-why-symfony</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/what-is-symfony-why-symfony" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/setting-up-the-development-environment</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/setting-up-the-development-environment" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/creating-your-first-symfony-project</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/creating-your-first-symfony-project" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/configuration-and-environments</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/configuration-and-environments" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/introducing-the-task-manager-project</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/introducing-the-task-manager-project" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/composer-and-symfony-flex-in-depth</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/composer-and-symfony-flex-in-depth" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/routing-basics</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/routing-basics" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/writing-controllers</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/writing-controllers" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/route-parameters-and-constraints</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/route-parameters-and-constraints" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/processing-request-data</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/processing-request-data" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/response-types</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/response-types" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/flash-messages-and-session</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/flash-messages-and-session" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/twig-basics</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/twig-basics" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/twig-inheritance-and-layouts</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/twig-inheritance-and-layouts" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/creating-forms-with-symfony-forms</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/creating-forms-with-symfony-forms" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/form-validation-in-symfony</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/form-validation-in-symfony" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/custom-form-types-in-symfony</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/custom-form-types-in-symfony" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/csrf-protection-and-form-security</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/csrf-protection-and-form-security" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/doctrine-basics-defining-entities</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/doctrine-basics-defining-entities" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/creating-and-applying-migrations</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/creating-and-applying-migrations" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/repositories-and-queries</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/repositories-and-queries" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/relationships-onetomany-and-manytoone</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/relationships-onetomany-and-manytoone" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/relationships-manytomany</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/relationships-manytomany" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/query-builder-and-dql</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/query-builder-and-dql" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/fixtures-for-test-data</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/fixtures-for-test-data" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/security-basics-firewall-and-provider</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/security-basics-firewall-and-provider" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/implementing-a-login-form</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/implementing-a-login-form" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/registration-and-password-hashing</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/registration-and-password-hashing" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/roles-and-access-control-with-voters</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/roles-and-access-control-with-voters" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/api-token-authentication</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/api-token-authentication" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/resetting-passwords</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/resetting-passwords" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/understanding-dependency-injection</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/understanding-dependency-injection" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/creating-your-own-services</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/creating-your-own-services" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/service-configuration-autowiring-and-tags</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/service-configuration-autowiring-and-tags" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/the-eventdispatcher-system</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/the-eventdispatcher-system" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/custom-events-and-listeners</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/custom-events-and-listeners" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/subscribers-instead-of-listeners</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/subscribers-instead-of-listeners" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/mailer-integration-with-symfony-mailer</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/mailer-integration-with-symfony-mailer" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/creating-your-own-console-commands</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/creating-your-own-console-commands" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/commands-with-arguments-and-options</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/commands-with-arguments-and-options" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/scheduled-tasks-and-cron-integration</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/scheduled-tasks-and-cron-integration" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/unit-tests-with-phpunit</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/unit-tests-with-phpunit" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/functional-tests-with-webtestcase</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/functional-tests-with-webtestcase" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/test-database-and-fixtures-for-tests</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/test-database-and-fixtures-for-tests" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/the-symfony-cache-component</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/the-symfony-cache-component" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/http-caching-and-reverse-proxy</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/http-caching-and-reverse-proxy" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/performance-optimization</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/performance-optimization" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/deployment-basics</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/deployment-basics" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/symfony-training/best-practices-and-conclusion</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/symfony-training/best-practices-and-conclusion" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/introduction-api-platform-symfony-react</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/introduction-api-platform-symfony-react" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/installing-api-platform</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/installing-api-platform" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/understanding-the-api-platform-project-structure</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/understanding-the-api-platform-project-structure" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/the-api-platform-docker-setup-in-depth</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/the-api-platform-docker-setup-in-depth" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/the-first-api-resource-hello-world</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/the-first-api-resource-hello-world" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/exploring-swagger-ui-and-the-api-documentation</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/exploring-swagger-ui-and-the-api-documentation" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/setting-up-the-react-project</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/setting-up-the-react-project" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/connectivity-test-react-calls-the-api</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/connectivity-test-react-calls-the-api" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/understanding-the-apiresource-attribute</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/understanding-the-apiresource-attribute" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/automatic-crud-in-detail</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/automatic-crud-in-detail" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/understanding-operations-as-php-classes</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/understanding-operations-as-php-classes" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/activating-only-selected-operations</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/activating-only-selected-operations" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/configuring-custom-uri-templates-and-paths</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/configuring-custom-uri-templates-and-paths" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/shortname-description-and-openapi-metadata</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/shortname-description-and-openapi-metadata" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/generating-test-data-with-doctrine-fixtures</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/generating-test-data-with-doctrine-fixtures" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/understanding-errors-and-status-codes</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/understanding-errors-and-status-codes" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/exporting-and-using-the-openapi-specification</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/exporting-and-using-the-openapi-specification" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-2-summary-building-your-own-resource</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-2-summary-building-your-own-resource" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/the-first-validation-constraints</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/the-first-validation-constraints" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/understanding-the-validation-error-format</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/understanding-the-validation-error-format" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/more-constraint-types-and-custom-error-messages</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/more-constraint-types-and-custom-error-messages" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/validation-groups-vs-serialization-groups</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/validation-groups-vs-serialization-groups" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/serialization-groups-for-reading</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/serialization-groups-for-reading" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/serialization-groups-for-writing</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/serialization-groups-for-writing" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/computed-fields-without-a-database-column</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/computed-fields-without-a-database-column" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/a-custom-validator</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/a-custom-validator" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/dtos-instead-of-the-entity-directly</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/dtos-instead-of-the-entity-directly" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-3-summary-serialization-and-validation</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-3-summary-serialization-and-validation" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/pagination-basics</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/pagination-basics" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/adjusting-itemsperpage-and-setting-limits</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/adjusting-itemsperpage-and-setting-limits" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/searching-with-searchfilter</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/searching-with-searchfilter" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/sorting-with-orderfilter</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/sorting-with-orderfilter" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/numeric-ranges-with-rangefilter</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/numeric-ranges-with-rangefilter" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/date-ranges-with-datefilter</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/date-ranges-with-datefilter" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/a-custom-filter</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/a-custom-filter" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-4-summary-filtering-pagination-sorting</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-4-summary-filtering-pagination-sorting" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/the-task-entity-with-manytoone-to-project</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/the-task-entity-with-manytoone-to-project" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/onetomany-from-the-project-side</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/onetomany-from-the-project-side" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/nested-collections-projects-id-tasks</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/nested-collections-projects-id-tasks" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/iri-vs-embedded-objects</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/iri-vs-embedded-objects" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/creating-a-task-and-linking-it-to-a-project</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/creating-a-task-and-linking-it-to-a-project" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/manytomany-between-task-and-tag</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/manytomany-between-task-and-tag" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/filtering-by-tags</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/filtering-by-tags" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/cascading-deletes-and-orphanremoval</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/cascading-deletes-and-orphanremoval" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/avoiding-circular-references</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/avoiding-circular-references" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-5-summary-relationships-and-complex-resources</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-5-summary-relationships-and-complex-resources" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/the-user-entity-with-symfony-security</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/the-user-entity-with-symfony-security" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/installing-and-configuring-the-jwt-bundle</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/installing-and-configuring-the-jwt-bundle" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/login-endpoint-and-obtaining-a-token</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/login-endpoint-and-obtaining-a-token" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/authenticated-requests-with-a-bearer-token</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/authenticated-requests-with-a-bearer-token" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/securing-operations-with-the-security-attribute</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/securing-operations-with-the-security-attribute" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/writing-a-custom-voter</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/writing-a-custom-voter" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/binding-the-voter-to-operations</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/binding-the-voter-to-operations" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/automatically-setting-the-owner-field</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/automatically-setting-the-owner-field" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/filtering-collections-by-user</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/filtering-collections-by-user" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-6-summary-security-and-auth</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-6-summary-security-and-auth" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/state-providers-in-detail</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/state-providers-in-detail" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/state-processors-in-detail</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/state-processors-in-detail" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/completing-the-promised-dto-example</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/completing-the-promised-dto-example" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/a-custom-output-without-an-entity</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/a-custom-output-without-an-entity" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/a-custom-operation-projects-id-archive</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/a-custom-operation-projects-id-archive" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/event-hooks-with-doctrine-lifecycle-events</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/event-hooks-with-doctrine-lifecycle-events" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/query-extensions-for-global-query-adjustments</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/query-extensions-for-global-query-adjustments" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/http-caching-with-cache-headers</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/http-caching-with-cache-headers" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/graphql-automatically-generated-an-overview</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/graphql-automatically-generated-an-overview" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-7-summary-advanced-features</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-7-summary-advanced-features" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/mercure-basics</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/mercure-basics" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/apiresource-with-mercure-true</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/apiresource-with-mercure-true" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/subscribing-to-an-update</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/subscribing-to-an-update" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/jwt-authorization-for-mercure-topics</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/jwt-authorization-for-mercure-topics" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/custom-publications-in-custom-operations</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/custom-publications-in-custom-operations" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-8-summary-mercure-and-real-time-updates</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-8-summary-mercure-and-real-time-updates" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/setting-up-tanstack-query</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/setting-up-tanstack-query" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/configuring-the-axios-client</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/configuring-the-axios-client" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/loading-and-displaying-projects</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/loading-and-displaying-projects" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/an-auth-context-and-login-form</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/an-auth-context-and-login-form" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/an-axios-interceptor-for-the-jwt</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/an-axios-interceptor-for-the-jwt" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/creating-a-new-project-mutation</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/creating-a-new-project-mutation" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/displaying-validation-errors-in-the-form</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/displaying-validation-errors-in-the-form" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/generating-typescript-types-from-the-openapi-specification</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/generating-typescript-types-from-the-openapi-specification" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/react-router-for-navigation</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/react-router-for-navigation" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/mercure-in-react-an-eventsource-hook</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/mercure-in-react-an-eventsource-hook" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/editing-a-project</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/editing-a-project" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/deleting-a-project</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/deleting-a-project" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/the-archive-action-as-a-button</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/the-archive-action-as-a-button" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/a-projects-task-list</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/a-projects-task-list" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/creating-a-task</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/creating-a-task" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/marking-a-task-as-done</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/marking-a-task-as-done" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/selecting-tags-a-multi-select</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/selecting-tags-a-multi-select" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/loading-states-and-skeletons</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/loading-states-and-skeletons" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/optimistic-updates-for-the-task-toggle</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/optimistic-updates-for-the-task-toggle" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-10-summary-complete-crud-ui</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-10-summary-complete-crud-ui" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/api-integration-tests-with-apitestcase</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/api-integration-tests-with-apitestcase" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/test-data-and-authentication-in-tests</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/test-data-and-authentication-in-tests" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/react-component-tests-with-vitest</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/react-component-tests-with-vitest" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/mocking-the-api-in-react-tests</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/mocking-the-api-in-react-tests" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-11-summary-testing</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/block-11-summary-testing" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/preparing-the-api-for-production</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/preparing-the-api-for-production" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/building-and-deploying-react-for-production</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/building-and-deploying-react-for-production" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/complete-recap-and-conclusion</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/tutorial/api-platform-symfony-react-training/complete-recap-and-conclusion" />
<lastmod>2026-08-08T00:15:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
</urlset>