<?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/en/</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/" />
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/services.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/leistungen.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/services/webdesign.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/leistungen/webdesign.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/services/typo3.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/leistungen/typo3.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/services/landing-page.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/leistungen/landing-page.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/services/webshop-magento.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/leistungen/webshop-magento.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/services/seo.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/leistungen/seo.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/services/wordpress.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/leistungen/wordpress.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/pricing.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/preise.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/pricing.html" />
<lastmod>2026-08-08T19:23:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/magento.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/services/woocommerce.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/leistungen/woocommerce.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/hyva-themes-headline-style.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/magento/hyva-themes.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/performance-optimization.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/magento/performance-optimierung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/core-web-vitals.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/pwa-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/magento/pwa-entwicklung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/migration.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/update-service.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/security.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/magento/sicherheit.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/extension-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/magento/extension-entwicklung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/erp-interface.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/magento/erp-schnittstelle.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/sap-integration.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/microsoft-dynamics-integration.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/magento/microsoft-dynamics-anbindung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/pim-integration.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/magento-seo.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/b2b-online-shop.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/magento/b2b-onlineshop.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/multistore-setup.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/checkout-optimization.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/magento/checkout-optimierung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/hosting-consulting.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/magento/hosting-beratung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/maintenance-and-support.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/magento/wartung-support.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/adobe-commerce-consulting.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/magento/adobe-commerce-beratung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/search-optimization.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/magento/suche-optimierung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/headless-commerce.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento/code-audit.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/technologies.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies.html" />
<lastmod>2026-08-08T18:00:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/tailwind-css.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/tailwind-css.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/tailwind-css.html" />
<lastmod>2026-08-08T18:02:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/php-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/php-entwicklung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/php-development.html" />
<lastmod>2026-08-08T18:04:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/javascript-e-commerce.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/javascript-e-commerce.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/javascript-e-commerce.html" />
<lastmod>2026-08-08T18:06:23+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/mysql-mariadb-optimization.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/mysql-mariadb-optimierung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/mysql-mariadb-optimization.html" />
<lastmod>2026-08-08T18:07:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/opensearch-elasticsearch.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/opensearch-elasticsearch.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/opensearch-elasticsearch.html" />
<lastmod>2026-08-08T18:09:51+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/hyva-frontend.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/hyva-frontend.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/hyva-frontend.html" />
<lastmod>2026-08-08T18:11:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/alpine-js.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/alpine-js.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/alpine-js.html" />
<lastmod>2026-08-08T18:12:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/graphql-api.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/graphql-api.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/graphql-api.html" />
<lastmod>2026-08-08T18:14:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/knockout-js-legacy.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/knockout-js-legacy.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/knockout-js-legacy.html" />
<lastmod>2026-08-08T18:15:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/jquery-refactoring.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/jquery-refactoring.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/jquery-refactoring.html" />
<lastmod>2026-08-08T18:17:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/docker-magento-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/docker-magento-entwicklung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/docker-magento-development.html" />
<lastmod>2026-08-08T18:18:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/api-first-architecture.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/api-first-architecture.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/api-first-architecture.html" />
<lastmod>2026-08-08T18:19:32+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/openapi-documentation.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/openapi-dokumentation.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/openapi-documentation.html" />
<lastmod>2026-08-08T18:20:53+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/react-vue-headless.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/react-vue-headless.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/react-vue-headless.html" />
<lastmod>2026-08-08T18:35:10+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/symfony-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/symfony-entwicklung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/symfony-development.html" />
<lastmod>2026-08-08T18:36:40+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/laravel-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/laravel-entwicklung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/laravel-development.html" />
<lastmod>2026-08-08T18:38:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/bash-batch-programming.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/bash-batch-programmierung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/bash-batch-programming.html" />
<lastmod>2026-08-08T18:50:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/technologies/rest-api.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/technologien/rest-api.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/technologies/rest-api.html" />
<lastmod>2026-08-08T18:52:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/branchen.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/branchen/b2b-ecommerce.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/branchen/mid-market.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/branchen/mittelstand.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/branchen/marketplace-integration.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/branchen/marktplatz-integration.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/branchen/d2c-brands.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/branchen/d2c-marken.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/consulting.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/beratung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/consulting/e-commerce-audit.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/beratung/ecommerce-audit.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/consulting/system-selection.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/beratung/system-auswahl.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/consulting/conversion-optimization.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/beratung/conversion-optimierung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/consulting/digital-transformation.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/beratung/digitale-transformation.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento-2-extensions.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento-2-extensions/seo-search-engine-optimization-for-magento-2.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento-2-extensions/import-und-export-fuer-magento-2.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento-2-extensions/speed-optimization.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/magento-2-extensions/magento-kundenverwaltung.html</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/services/app-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/leistungen/app-entwicklung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/app-programming.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/app-programmierung.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/app-programming/react-native-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/app-programmierung/react-native.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/app-programming/flutter-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/app-programmierung/flutter.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/app-programming/android-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/app-programmierung/android.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/app-programming/ios-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/app-programmierung/ios.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/app-programming/pwa-development.html</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/app-programmierung/pwa.html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/impressum</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/impressum" />
<lastmod>2026-02-08T01:39:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/datenschutzerklarung</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/datenschutzerklarung" />
<lastmod>2026-01-17T19:26:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/partner-request</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/partner-request" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/about-us</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/about-us" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/about-us" />
<lastmod>2026-08-08T19:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/our-approach</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/our-approach" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/our-approach" />
<lastmod>2026-08-09T13:41:48+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog" />
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-beobachtbarkeit-in-container-stacks-metriken-logs-health</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-api-platform-4-rest-und-graphql-ohne-boilerplate</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-bats-fur-bash-tests-in-ci-einsetzen</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-b2b-blog-seo-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-b2b-blog-seo-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-backlink-strategies-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-backlink-strategien-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-image-optimization-for-seo-format-compression-delivery</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-bildoptimierung-seo-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-breadcrumb-schema-making-navigation-paths-visible-in-search</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-breadcrumb-schema-navigationspfade-in-der-suche-sichtbar-machen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-using-canonical-tags-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-canonical-tags-duplicate-content" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-cctld-vs-subdomain-vs-subdirectory</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-cctld-subdomain-subdirectory" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-conducting-content-audits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-content-audits-durchfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-content-clusters-and-pillar-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-content-cluster-und-pillar-pages" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-optimizing-existing-pages-instead-of-rewriting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-content-optimierung-bestehender-seiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-content-structure-and-headings</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-content-struktur-headings" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-core-web-vitals-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-core-web-vitals-fuer-magento-shops-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-optimizing-crawl-budget</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-crawl-budget-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-digital-pr-link-building</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-digital-pr-linkbuilding" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-identifying-and-fixing-duplicate-content-in-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-duplicate-content-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-eeat-expertise-and-trustworthiness</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-eeat-expertise-vertrauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-evergreen-content-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-evergreen-content-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-faceted-navigation-and-seo-defusing-the-duplicate-content-trap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-facettierte-navigation-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-faq-and-howto-schema-more-visibility-for-instructional-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-faq-und-howto-schema-mehr-sichtbarkeit-fuer-anleitungsinhalte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-configuring-geotargeting-search-console</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-geotargeting-search-console" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-understanding-google-core-updates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-google-core-updates-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-google-search-console-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-google-search-console-deep-dive" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-helpful-content-update-what-google-considers-useful-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-helpful-content-update-was-google-als-nuetzlich-versteht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-implementing-hreflang-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-hreflang-korrekt-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-inp-in-detail-why-interactions-are-slow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-inp-deep-dive-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-international-duplicate-content-traps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-internationale-duplicate-content-fallen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-internal-linking-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-interne-verlinkung-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-internal-vs-external-links-link-equity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-interne-vs-externe-links-gewichtung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-javascript-seo-how-google-crawls-client-side-rendered-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-javascript-seo-rendering" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-category-page-seo-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-kategorieseiten-seo-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-keyword-research-methodology</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-keyword-recherche-methodik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-link-audits-and-disavow-toxic-backlinks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-linkaudit-disavow-toxische-links" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-log-file-analysis-how-google-crawls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-log-file-analyse-wie-google-crawlt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-magento-seo-extensions-what-actually-helps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-magento-seo-erweiterungen-tools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-setting-up-multilingual-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-mehrsprachige-magento-shops-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-mobile-first-indexing-what-it-means-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-mobile-first-indexierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-organization-localbusiness-schema-brand-trust</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-organization-localbusiness-schema-markenvertrauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-product-schema-in-detail-price-availability-reviews</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-product-schema-im-detail-preis-verfuegbarkeit-bewertungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-product-page-seo-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-produktseiten-seo-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-rank-tracking-methodology</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-rank-tracking-methodik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-review-schema-adding-star-ratings-correctly-and-within-guidelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-review-schema-bewertungssterne-korrekt-und-richtlinienkonform-einbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-configuring-robots-txt-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-robots-txt-technisches-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-schema-org-fundamentals-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-schema-org-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-screaming-frog-for-technical-seo-audits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-screaming-frog-technisches-audit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-seo-reporting-the-right-kpis-for-stakeholders</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-seo-reporting-kpis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-sge-ai-overviews-how-seo-is-changing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-sge-ai-overviews-veraendern-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-server-side-vs-client-side-rendering-seo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-ssr-vs-csr-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-understanding-search-intent</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-suchintention-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-title-tags-and-meta-descriptions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-title-tags-meta-descriptions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-voice-search-zero-click-searches</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-voice-search-und-zero-click-suchen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo-xml-sitemaps-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-xml-sitemaps-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-alpine-js-performance-patterns-for-hyva-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-alpine-js-performance-patterns-fuer-hyvae-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-animation-performance-transform-opacity-instead-of-layout-properties</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-animation-performance-transform-opacity-statt-layout-properties" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-optimizing-api-response-times</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-api-antwortzeiten-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-configuring-browser-cache-control-headers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-browser-caching-cache-control-header-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-cdn-caching-fundamentals-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-cdn-caching-grundlagen-fuer-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-code-splitting-and-lazy-loading</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-code-splitting-lazy-loading" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-connection-pooling-and-keep-alive-for-less-overhead</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-connection-pooling-keep-alive-weniger-overhead" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-extracting-inlining-critical-css</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-critical-css-extrahieren-inline-ausliefern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-critical-rendering-path-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-kritischer-rendering-pfad" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-css-containment-content-visibility-faster-rendering</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-css-containment-content-visibility-schnelleres-rendering" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-database-query-optimization-for-php-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-datenbank-query-optimierung-fuer-php-anwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-debouncing-throttling-event-handlers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-debouncing-throttling-event-handler-entschaerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-edge-computing-and-cdn-architecture-for-global-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-edge-computing-und-cdn-architektur-fuer-globale-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-elasticsearch-opensearch-performance-tuning-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-elasticsearch-opensearch-tuning-fuer-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-font-loading-strategies-without-layout-shift</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-font-loading-strategien-ohne-layout-shift" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-full-page-cache-architecture-in-magento-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-full-page-cache-architektur-magento-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-gpu-compositing-and-layers-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-gpu-compositing-und-layer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-http2-vs-http3-what-changes-for-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-http2-vs-http3-was-sich-fuer-die-performance-aendert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-image-cdn-architecture-for-automatic-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-image-cdn-architektur-fuer-automatische-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-compression-compared-brotli-vs-gzip</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-kompression-brotli-vs-gzip-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-lazy-loading-beyond-images-iframes-components-routes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-lazy-loading-jenseits-von-bildern-iframes-komponenten-routen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-load-testing-methodology-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-load-testing-methodik-fuer-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-magento-cron-performance-defusing-jobs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-magento-cron-performance-jobs-entschaerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-magento-indexer-performance-schema-updates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-magento-indexer-performance-full-reindex" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-magento-profiling-with-blackfire-and-xhprof</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-magento-profiling-mit-blackfire-und-xhprof" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-main-thread-and-event-loop-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-main-thread-und-event-loop" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-finding-fixing-javascript-memory-leaks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-memory-leaks-javascript-aufspueren-beheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-modern-image-formats-production-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-moderne-bildformate-produktions-pipeline" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-multi-server-and-scaling-architecture-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-multi-server-und-scaling-architektur-fuer-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-identifying-and-solving-the-n-plus-1-query-problem</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-n-plus-1-query-problem-erkennen-und-loesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-defining-and-enforcing-performance-budgets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-performance-budgets-definieren-und-durchsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-anchoring-performance-budgets-and-governance-in-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-budgets-und-governance-im-team-verankern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-establishing-a-performance-culture-in-the-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-performance-kultur-im-team-etablieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-regression-testing-in-the-ci-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-regressionstests-in-der-ci-pipeline" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-prerendering-ssg-hybrid-strategies-for-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-prerendering-ssg-hybrid-strategien-fuer-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-progressive-web-apps-performance-patterns-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-progressive-web-apps-performance-patterns-fuer-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-setting-up-real-user-monitoring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-real-user-monitoring-technisch-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-using-redis-as-a-caching-layer-in-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-redis-caching-layer-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-avoiding-reflow-repaint-layout-thrashing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-reflow-repaint-layout-thrashing-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-using-resource-hints-preload-prefetch-preconnect</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-resource-hints-preload-prefetch-preconnect-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-responsive-images-in-detail-srcset-sizes-picture-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-responsive-images-im-detail-srcset-sizes-picture" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-layering-server-side-caching-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-server-seitige-caching-layer-schichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-service-worker-and-cache-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-service-worker-cache-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-synthetic-monitoring-with-lighthouse-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-synthetic-monitoring-mit-lighthouse-ci" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-tailwind-css-purge-and-jit-understanding-the-performance-impact</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-tailwind-css-purge-und-jit-performance-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-managing-third-party-scripts-without-losing-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-third-party-skripte-verwalten-ohne-performance-verlust" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-tree-shaking-and-bundle-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-tree-shaking-bundle-analyse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-varnish-and-magento-full-page-cache-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-varnish-und-magento-full-page-cache-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-optimizing-video-performance-without-a-load-time-explosion</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-video-performance-optimieren-ohne-ladezeit-explosion" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-web-workers-offloading-heavy-computation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-web-workers-berechnungen-vom-main-thread-auslagern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-automating-accessibility-testing-axe-core</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-accessibility-testing-automatisieren-mit-axe-core" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-api-testing-with-e2e-tools-instead-of-separate-tool</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-api-testing-mit-e2e-tools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-contract-testing-with-pact</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-contract-testing-mit-pact" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-integrating-cypress-into-the-ci-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-cypress-in-der-ci-pipeline-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-cypress-component-testing-instead-of-just-e2e</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-cypress-component-testing-statt-nur-e2e" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-cypress-custom-commands-reusable-testing-building-blocks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-cypress-custom-commands-wiederverwendbare-testbausteine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-cypress-network-stubbing-with-cy-intercept</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-cypress-netzwerk-stubbing-mit-cy-intercept" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-cypress-setup-and-fundamentals-for-magento-frontends</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-cypress-setup-und-grundlagen-fuer-magento-frontends" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-making-database-seeding-for-e2e-tests-reproducible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-datenbank-seeding-fuer-e2e-tests-reproduzierbar-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-device-emulation-vs-real-devices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-device-emulation-vs-echte-geraete" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-gdpr-compliant-test-data-instead-of-production-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-dsgvo-konforme-testdaten-statt-produktivdaten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-running-e2e-tests-reliably-in-gitlab-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-e2e-tests-in-gitlab-ci-zuverlaessig-ausfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-mocking-external-apis-in-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-externe-apis-in-tests-mocken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-fixtures-vs-factories-generating-test-data-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-fixtures-vs-factories-testdaten-richtig-erzeugen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-avoiding-flaky-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-flaky-tests-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-graphql-testing-strategy-for-magento-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-graphql-testing-strategie-fuer-magento-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-hyva-specific-testing-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-hyvae-spezifisches-testing-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-ice-cream-cone-anti-pattern-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-ice-cream-cone-anti-pattern-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-magento-admin-workflows-end-to-end</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-magento-admin-workflows-end-to-end-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-magento-checkout-flow-end-to-end</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-magento-checkout-flow-end-to-end-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-magento-functional-testing-framework-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-mftf-magento-functional-testing-framework-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-mobile-web-strategy-for-responsive-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-mobile-web-strategie-fuer-responsive-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-multi-store-testing-strategy-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-multi-store-testing-strategie-fuer-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-mutation-testing-do-your-tests-actually-test-anything</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-mutation-testing-grundlagen-testet-eure-tests-wirklich-etwas" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-using-the-page-object-pattern-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-page-object-pattern-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-parallel-test-execution-for-faster-ci-runs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-parallele-testausfuehrung-fuer-schnellere-ci-laeufe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-understanding-playwright-auto-waiting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-playwright-auto-waiting-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-cross-browser-testing-with-playwright</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-cross-browser-testing-mit-playwright" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-playwright-fixtures-for-clean-test-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-playwright-fixtures-fuer-saubere-testisolation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-playwright-setup-and-fundamentals-vs-cypress</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-playwright-setup-und-grundlagen-vs-cypress" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-playwright-trace-viewer-debugging-failed-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-playwright-trace-viewer-fehlgeschlagene-tests-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-property-based-testing-complement-to-example-based-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-property-based-testing-ergaenzung-zu-beispiel-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-pwa-testing-strategy-for-offline-install-and-service-worker</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-pwa-testing-strategie-offline-install-service-worker" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-systematic-responsive-breakpoint-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-responsive-breakpoints-systematisch-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-automating-responsive-testing-breakpoints</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-responsive-testing-automatisieren-breakpoints" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-automating-schema-validation-in-api-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-schema-validierung-in-api-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-screenshot-testing-strategy-without-false-positives</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-screenshot-testing-strategie-ohne-staendige-false-positives" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-running-only-affected-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-nur-betroffene-tests-ausfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-shift-left-testing-culture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-shift-left-testing-kultur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-measuring-test-coverage-meaningfully</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-test-coverage-sinnvoll-messen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-ensuring-test-isolation-between-test-runs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-test-isolation-zwischen-testlaeufen-sicherstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-test-pyramid-where-e2e-belongs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-testpyramide-e2e-einordnung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-establishing-the-test-pyramid-in-the-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-test-pyramide-im-team-etablieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-test-reports-and-dashboards-for-the-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-test-reports-und-dashboards-fuers-team" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-test-retry-strategies-without-masking-flakiness</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-test-retry-strategien-ohne-flakiness-zu-verschleiern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-test-data-management-strategies-for-e2e-suites</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-testdaten-management-strategien-fuer-e2e-suiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-automating-touch-interactions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-touch-interaktionen-automatisiert-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-visual-regression-testing-catching-layout-bugs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-visual-regression-testing-layout-bugs-automatisch-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-visual-testing-tools-compared-percy-chromatic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-visual-testing-tools-vergleich-percy-chromatic" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-when-e2e-tests-make-sense</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-wann-e2e-tests-sinnvoll-sind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-api-key-management-issuance-rotation-revocation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-api-schluessel-verwaltung-ausgabe-rotation-widerruf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-api-rate-limiting-against-abuse-and-overload</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-api-rate-limiting-gegen-missbrauch-und-overload" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-broken-access-control-most-common-owasp-vulnerability</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-broken-access-control-haeufigste-owasp-schwachstelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-brute-force-protection-rate-limiting-lockout-captcha</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-brute-force-schutz-rate-limiting-lockout-captcha" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-understanding-bug-bounty-programs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-bug-bounty-programme-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-clickjacking-protection-frame-busting-csp-frame-ancestors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-clickjacking-schutz-frame-busting-csp-frame-ancestors" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-avoiding-command-injection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-command-injection-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-building-a-content-security-policy-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-content-security-policy-von-grund-auf-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-implementing-cookie-consent-technically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-cookie-consent-technisch-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-configuring-cors-correctly-without-security-holes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-cors-richtig-konfigurieren-ohne-sicherheitsluecken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-implementing-csrf-protection-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-csrf-schutz-richtig-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-data-encryption-at-rest-protecting-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-data-encryption-at-rest-verschluesselung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-dependency-scanning-with-composer-audit-and-friends</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-dependency-scanning-mit-composer-audit-und-co" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-understanding-deserialization-vulnerabilities-in-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-deserialisierung-schwachstellen-php-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-docker-container-security-images-runtime-secrets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-docker-container-sicherheit-images-runtime-secrets" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-gdpr-technical-requirements-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-dsgvo-technische-anforderungen-fuer-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-managing-environment-variables-securely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-environment-variablen-sicher-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-secure-file-uploads-validation-storage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-sichere-file-uploads-validierung-speicherung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-firewall-waf-fundamentals-for-web-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-firewall-waf-grundlagen-fuer-webanwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-preventing-cleaning-git-secret-leaks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-git-secrets-leaks-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-graphql-specific-attacks-introspection-query-depth-batching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-graphql-spezifische-angriffe-introspection-query-depth-batching" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-incident-response-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-incident-response-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-understanding-and-preventing-sql-injection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-sql-injection-verstehen-und-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-input-validation-strategies-allowlisting-instead-of-blocklisting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-input-validation-strategien-whitelist-statt-blacklist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-jwt-security-pitfalls-what-often-goes-wrong</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-jwt-sicherheitsfallen-was-bei-tokens-oft-schiefgeht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-hardening-magento-admin-panel-access-2fa</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-magento-admin-panel-haerten-zugriff-2fa" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-auditing-magento-extensions-for-security-risks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-magento-erweiterungen-auf-sicherheitsrisiken-pruefen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-magento-security-patches-update-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-magento-security-patches-update-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-using-magento-security-scan-tool-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-magento-security-scan-tool-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-implementing-multi-factor-authentication-technically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-multi-faktor-authentifizierung-technisch-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-oauth-openid-connect-fundamentals-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-oauth-2-0-und-openid-connect-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-output-encoding-why-escaping-must-be-context-aware</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-output-encoding-warum-escaping-kontextabhaengig-sein-muss" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-password-hashing-bcrypt-argon2-common-mistakes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-passwort-hashing-bcrypt-argon2-haeufige-fehler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-pci-dss-fundamentals-processing-payment-data-securely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-pci-dss-grundlagen-zahlungsdaten-sicher-verarbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-penetration-testing-fundamentals-for-development-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-penetration-testing-grundlagen-fuer-entwickler-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-rest-api-security-fundamentals-for-production-endpoints</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-rest-api-security-grundlagen-fuer-produktive-endpunkte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-sast-and-dast-tools-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-sast-und-dast-tools-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-secrets-management-keeping-credentials-out-of-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-secrets-management-zugangsdaten-nicht-im-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-building-team-security-awareness</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-awareness-im-team-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-security-code-review-what-reviewers-should-look-for</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-security-code-review-worauf-reviewer-achten-sollten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-headers-overview-hsts-x-frame-options</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-header-im-ueberblick-hsts-x-frame-options" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-setting-up-security-logging-and-monitoring-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-security-logging-und-monitoring-richtig-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-misconfiguration-avoiding-default-traps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-fehlkonfigurationen-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-server-hardening-fundamentals-production-systems</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-server-hardening-grundlagen-produktivsysteme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-implementing-secure-session-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-session-management-sicher-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-hardening-ssh-keys-instead-of-passwords</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-ssh-haerten-keys-statt-passwoerter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-supply-chain-attack-through-dependencies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-supply-chain-security-abhaengigkeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-tls-ssl-best-practices-certificates-ciphers-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-tls-ssl-best-practices-zertifikate-cipher-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-identifying-and-fixing-vulnerable-outdated-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-vulnerable-und-veraltete-komponenten-erkennen-und-beheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/security-xss-types-causes-protection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-xss-typen-ursachen-schutz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-using-abstract-classes-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-abstract-classes-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-gradually-eliminating-any</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-any-schrittweise-eliminieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-avoiding-any-in-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-any-in-tests-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-generating-api-types-from-openapi-swagger</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-api-typen-aus-openapi-swagger-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-branded-types-nominal-typing-in-a-structural-type-system</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-branded-types-nominale-typisierung-in-einem-strukturellen-typsystem" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-conditional-types-deriving-types-based-on-conditions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-conditional-types-typen-basierend-auf-bedingungen-ableiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-declaration-files-d-ts-writing-types-for-js-libraries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-declaration-files-d-ts-typen-fuer-js-bibliotheken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-decorators-fundamentals-and-use-cases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-decorators-grundlagen-und-anwendungsfaelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-implementing-dependency-injection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-dependency-injection-in-projekten-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-design-patterns-type-safely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-design-patterns-typsicher-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-discriminated-unions-state-modeling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-discriminated-unions-state-modellierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-type-safe-dom-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-dom-apis-typsicher-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-end-to-end-type-safety-api-to-ui</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-ende-zu-ende-typsicherheit-api-bis-ui" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-configuring-eslint-for-typescript-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-eslint-fuer-typescript-richtig-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-type-safe-event-handling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-event-handling-typsicher-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-type-safe-fetch-wrapper</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-fetch-api-typsicher-wrappen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-type-safe-form-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-formulardaten-typsicher-validieren-mit-zod" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-generic-constraints-sensibly-restricting-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-generic-constraints-typen-sinnvoll-einschraenken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-generics-fundamentals-reusable-type-safe-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-generics-grundlagen-wiederverwendbare-typsichere-funktionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-incremental-compilation-speeding-up-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-incremental-compilation-builds-beschleunigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-infer-keyword-extracting-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-infer-schluesselwort-typen-extrahieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-interface-vs-type-alias-when-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-interface-vs-type-alias-wann-was" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-jest-setup-and-type-safe-mocks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-jest-setup-typsichere-mocks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-js-to-ts-migration-incremental-not-big-bang</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-js-zu-ts-migration-schrittweise-statt-big-bang" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-keyof-and-typeof-deriving-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-keyof-und-typeof-operatoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-mapped-types-transforming-existing-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-mapped-types-bestehende-typen-transformieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-module-resolution-node-bundler-and-more</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-module-resolution-node-bundler-und-mehr" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-project-references-in-monorepos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-monorepo-project-references-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-path-mapping-and-aliases-for-clean-imports</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-path-mapping-und-aliases-fuer-saubere-imports" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-primitive-vs-object-types-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-primitive-vs-object-types-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-strict-mode-flags-that-matter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-strict-mode-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-template-literal-types-for-type-safe-strings</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-template-literal-types-fuer-typsichere-strings" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-ts-node-vs-tsx-runtime-options-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-ts-node-vs-tsx-laufzeit-optionen-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-tsconfig-json-explained-key-options</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-tsconfig-json-erklaert-die-wichtigsten-optionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-type-guards-narrowing-runtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-type-guards-narrowing-laufzeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-understanding-type-inference</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-type-inference-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-testing-types-with-tsd-and-expect-type</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-type-testing-mit-tsd-expect-type" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-5-x-the-most-important-new-features</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-5-x-die-wichtigsten-neuerungen-im-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-code-reviews-what-experienced-teams-look-for</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-code-reviews-worauf-erfahrene-teams-achten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-for-php-developers-concepts-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-fuer-php-entwickler-konzepte-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-magento-graphql-type-safe-storefront-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-magento-graphql-typsichere-storefront-anbindung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-alpine-js-component-patterns-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-patterns-fuer-alpine-js-komponenten-in-hyva" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-with-nodejs-setup-without-headaches</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-mit-nodejs-setup-ohne-kopfschmerzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-with-vite-fast-build-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-mit-vite-schnelle-build-pipelines" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-webpack-configuration-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-webpack-konfigurieren-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-optimizing-performance-in-large-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-performance-in-grossen-projekten-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-typescript-vs-javascript-why-worth-it</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-typescript-vs-javascript-warum-umstieg" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-type-safe-test-fixtures-and-factories</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-typsichere-test-fixtures-und-factories" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-using-union-and-intersection-types-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-union-und-intersection-types-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-utility-types-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-utility-types-im-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-writing-atomic-commits-instead-of-monster-commits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-atomare-commits-schreiben-statt-monster-commits" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-branch-naming-conventions-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-branch-naming-konventionen-team" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-cherry-pick-deliberately</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-cherry-pick-gezielt-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-code-review-in-pull-requests-what-to-look-for</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-code-review-in-pull-requests-worauf-achten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-using-codeowners-file-effectively</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-codeowners-datei-sinnvoll-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-commit-messages-that-actually-help</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-commit-messages-die-wirklich-nuetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-commit-msg-hooks-for-commit-message-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-commit-msg-hooks-fuer-commit-message-validierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-composer-and-git-dependency-versioning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-composer-und-git-abhaengigkeiten-versionieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-conventional-commits-standard</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-conventional-commits-standardisierte-commit-messages" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-understanding-detached-head</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-detached-head-verstehen-und-sicher-rauskommen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-using-feature-branches-without-merge-hell</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-feature-branches-richtig-nutzen-ohne-merge-hoelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-configuring-gitattributes-for-php-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-gitattributes-fuer-php-projekte-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-bisect-finding-faulty-commits-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-bisect-fehlerhafte-commits-systematisch-finden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-blame-correctly-without-blame-game</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-blame-richtig-einsetzen-ohne-schuldzuweisung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-config-setup-global-local-and-system-wide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-config-richtig-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-diff-in-detail-tracking-changes-precisely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-diff-im-detail-aenderungen-nachvollziehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-flow-vs-github-flow-which-branching-strategy-fits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-flow-vs-github-flow-welche-branching-strategie-passt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-fundamentals-three-trees-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-grundlagen-drei-bereiche-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-cleaning-history-bfg-repo-cleaner</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-history-bereinigen-bfg-repo-cleaner" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-keeping-history-clean</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-git-history-sauber-halten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-hooks-fundamentals-local-automation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-hooks-grundlagen-lokale-automatisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-staging-area-index-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-index-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-using-git-log-effectively</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-log-effektiv-nutzen-filtern-formatieren-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-based-deployment-strategy-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-basierte-deployment-strategie-fuer-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-object-model-blobs-trees-commits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-objektmodell-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-refs-and-head-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-refs-und-head" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-secrets-scanning-preventing-accidental-leaks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-secrets-scanning-versehentliche-leaks-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-stash-workflows-for-interrupted-work</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-stash-workflows-fuer-unterbrochene-arbeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-submodules-vs-alternatives-for-multi-repo-setups</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-submodules-vs-alternativen-fuer-multi-repo-setups" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-sustainably-establishing-a-team-workflow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-workflow-im-team-nachhaltig-etablieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-worktree-working-in-parallel</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-worktree-parallel-an-mehreren-branches-arbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-gitignore-strategies-what-to-actually-exclude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-gitignore-strategien-was-wirklich-ausgeschlossen-gehoert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-husky-lint-staged-team-hooks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-husky-lint-staged-hooks-im-team-durchsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-interactive-rebase-cleaning-up-commits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-interactive-rebase-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-resolving-merge-conflicts-strategies-and-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-merge-konflikte-loesen-strategien-und-tools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-lfs-large-file-storage-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-lfs-grosse-dateien-sinnvoll-versionieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-keeping-sensitive-data-out-of-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-magento-sensible-daten-heraushalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-merge-vs-rebase-decision-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-merge-vs-rebase-entscheidungshilfe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-monorepo-vs-polyrepo-strategies-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-monorepo-vs-polyrepo-strategien-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-branch-strategy-dev-staging-production-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-multi-environment-branching-magento-dev-staging-prod" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-packfiles-and-garbage-collection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-packfiles-und-garbage-collection" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-setting-up-pre-commit-hooks-for-code-quality</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-pre-commit-hooks-fuer-code-qualitaet-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-configuring-protected-branches-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-protected-branches-richtig-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-optimizing-pull-request-workflow-for-the-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-pull-request-workflow-fuers-team-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-reflog-lifesaver-for-lost-commits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-reflog-als-rettungsanker-fuer-verlorene-commits" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-structuring-release-branches-and-versioning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-release-branches-und-versionierung-strukturieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-server-side-hooks-centrally-controlling-push-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-server-side-hooks-push-validierung-zentral-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-signed-commits-gpg-ensuring-authenticity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-signierte-commits-gpg-authentizitaet-sicherstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-squash-commits-when-they-make-sense</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-squash-commits-wann-sinnvoll" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/git-trunk-based-development-short-lived-branches</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-trunk-based-development-kurze-branches" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-acls-extended-permissions-beyond-chmod</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-acls-erweiterte-berechtigungen-jenseits-von-chmod" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-apt-package-management-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-apt-paketmanagement-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-bare-metal-vs-virtual-machines-vs-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-bare-metal-vs-vm-vs-container" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-correctly-interpreting-cpu-load-average</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-cpu-load-average-richtig-interpretieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-cron-vs-systemd-timers-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-cron-vs-systemd-timer-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-setting-file-permissions-chmod-chown</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-dateiberechtigungen-chmod-chown-richtig-setzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-disk-io-analysis-iostat-iotop</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-disk-io-analyse-iostat-iotop" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-disk-space-analysis-with-du-and-df</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-festplattenspeicher-analyse-mit-du-und-df" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-running-docker-in-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-docker-produktiv-betreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-setting-up-fail2ban-against-brute-force-attacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-fail2ban-gegen-brute-force-angriffe-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-firewall-configuration-with-ufw-and-iptables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-firewall-konfiguration-mit-ufw-und-iptables" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-understanding-inodes-and-filesystem-limits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-inodes-und-dateisystem-limits-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-using-journalctl-effectively-searching-systemd-logs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-journalctl-effektiv-nutzen-systemd-logs-durchsuchen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-audit-logging-with-auditd-tracking-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-audit-log-mit-auditd-aenderungen-nachvollziehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-backup-strategies-rsync-tar-snapshots</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-backup-strategien-rsync-tar-snapshots" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-managing-users-and-groups</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-benutzer-und-gruppen-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-filesystem-hierarchy-standard-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-dateisystemhierarchie-verstehen-fhs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-server-distributions-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-distributionen-fuer-server-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-tuning-kernel-parameters-with-sysctl</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-kernel-parameter-mit-sysctl-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-namespaces-and-cgroups-foundation-of-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-namespaces-und-cgroups-grundlagen-von-containern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-network-fundamentals-interfaces-routing-dns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-netzwerk-grundlagen-interfaces-routing-dns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-performance-tuning-nginx-php-fpm-web-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-performance-tuning-webserver-nginx-php-fpm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-understanding-processes-pid-ppid-process-tree</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-prozesse-verstehen-pid-ppid-prozessbaum" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-server-hardening-fundamentals-for-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-server-haertung-grundlagen-fuer-produktivsysteme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-systematic-troubleshooting-workflow-for-linux-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-systematischer-troubleshooting-workflow-fuer-linux-server" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-memory-management-ram-swap-cache</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-speicherverwaltung-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-configuring-log-rotation-with-logrotate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-log-rotation-mit-logrotate-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-lxc-lightweight-virtualization-docker-alternative</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-lxc-leichtgewichtige-virtualisierung-docker-alternative" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-configuring-magento-server-requirements</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-magento-server-anforderungen-linux-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-mount-points-and-filesystems-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-mount-points-und-dateisysteme-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-understanding-the-oom-killer</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-oom-killer-verstehen-und-speicherprobleme-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-securely-managing-and-verifying-package-sources</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-paketquellen-sicher-verwalten-und-pruefen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-managing-multiple-php-versions-in-parallel</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-php-versionen-parallel-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-rootkit-detection-with-rkhunter-and-chkrootkit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-rootkit-erkennung-mit-rkhunter-und-chkrootkit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-selinux-vs-apparmor-mandatory-access-control-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-selinux-vs-apparmor-mandatory-access-control-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-signals-and-process-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-signale-und-prozesskontrolle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-ss-and-netstat-analyzing-network-connections</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-ss-und-netstat-verbindungen-analysieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-ssh-tunneling-and-port-forwarding-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-ssh-tunneling-und-port-forwarding-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-securing-ssh-connections</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-ssh-verbindungen-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-configuring-sudo-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-sudo-richtig-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-understanding-suid-sgid-sticky-bit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-suid-sgid-sticky-bit-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-configuring-swap-and-swappiness</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-swap-konfiguration-und-swappiness" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-symlinks-vs-hardlinks-differences-and-use-cases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-symlinks-vs-hardlinks-unterschiede-und-einsatzgebiete" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-system-monitoring-top-htop-and-alternatives</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-system-monitoring-top-htop-alternativen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-configuring-system-resource-limits-with-ulimit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-system-ressourcen-limits-mit-ulimit-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-creating-custom-systemd-services-for-php-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-systemd-eigene-services-fuer-php-anwendungen-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-managing-systemd-services</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-systemd-services-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-system-wide-vs-local-software-installation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-systemweite-vs-lokale-software-installation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-automating-security-updates-with-unattended-upgrades</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-unattended-upgrades-sicherheitsupdates-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-understanding-zombie-and-orphaned-processes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-zombie-und-verwaiste-prozesse-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-creating-a-legally-sound-accessibility-statement</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-accessibility-statement-rechtssicher-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-understanding-the-accessibility-tree</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-accessibility-tree-verstehen-und-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-building-accessible-alpine-js-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-alpine-js-komponenten-barrierefrei-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-writing-alt-text-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-alt-texte-richtig-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-aria-fundamentals-when-to-use-it-and-when-not</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-aria-grundlagen-wann-einsetzen-wann-nicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-avoiding-common-aria-mistakes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-aria-haeufige-fehler-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-aria-labelledby-vs-aria-describedby-usage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-aria-labelledby-vs-aria-describedby-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-aria-live-regions-for-announcing-dynamic-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-aria-live-regions-dynamische-inhalte-ankuendigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-automated-accessibility-tests-in-ci-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-automatisierte-a11y-tests-in-ci-pipeline" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-accessible-date-pickers-and-comboboxes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-barrierefreie-datepicker-und-comboboxen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-accessible-form-validation-and-error-messages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-barrierefreie-formularvalidierung-und-fehlermeldungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-accessible-videos-captions-and-transcripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-barrierefreie-videos-untertitel-und-transkripte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-business-case-accessible-online-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-business-case-barrierefreie-webshops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-embedding-accessibility-in-code-review</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-im-code-review-verankern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-embedding-accessibility-in-the-design-process</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-im-design-prozess-verankern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-continuously-improving-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-kontinuierlich-verbessern-statt-einmal-projekt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-why-it-affects-everyone</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-warum-es-jeden-betrifft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-using-browser-devtools-for-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-browser-devtools-fuer-barrierefreiheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-making-captchas-accessible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-captchas-barrierefrei-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-accessible-checkout-process</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-checkout-prozess-barrierefrei-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-making-custom-widgets-accessible-with-aria</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-custom-widgets-mit-aria-zugaenglich-machen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-thinking-about-dark-mode-and-accessibility-together</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-dark-mode-und-barrierefreiheit-zusammen-denken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-distinguishing-decorative-from-informative-images</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-dekorative-vs-informative-bilder-unterscheiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-european-accessibility-act-and-bfsg-legal-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-european-accessibility-act-und-bfsg-rechtliche-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-not-using-color-as-the-only-indicator</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-farbe-nicht-als-einziges-unterscheidungsmerkmal" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-correctly-calculating-color-contrast</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-farbkontrast-richtig-berechnen-und-einhalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-focus-management-in-dynamic-interfaces-and-spas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-fokus-management-in-dynamischen-interfaces-und-spas" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-structuring-forms-semantically-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-formulare-semantisch-korrekt-strukturieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-hyva-theme-accessibility-fundamentals-and-common-gaps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-hyva-theme-grundlagen-und-haeufige-luecken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-identifying-and-avoiding-keyboard-traps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-keyboard-traps-erkennen-und-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-label-vs-placeholder-why-placeholders-are-not-a-substitute</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-label-vs-placeholder-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-landmark-roles-and-html5-elements-for-navigation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-landmark-rollen-und-html5-elemente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-marking-up-lists-and-tables-accessibly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-listen-tabellen-barrierefrei-auszeichnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-optimizing-magento-checkout-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-magento-checkout-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-making-the-magento-mini-cart-accessible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-magento-mini-cart-barrierefrei-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-manual-accessibility-audits-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-manuelle-a11y-audits-durchfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-making-product-images-and-galleries-accessible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-produktbilder-und-galerien-barrierefrei" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-accessible-product-filters-layered-navigation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-produktfilter-barrierefrei-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-accessible-motion-and-animations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-reduced-motion-und-animationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-responsive-text-and-zoom-support-up-to-200-percent</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-responsive-text-und-zoom-unterstuetzung-bis-200-prozent" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-screen-reader-testing-with-nvda-and-voiceover</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-screenreader-testing-mit-nvda-und-voiceover" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-semantic-html-foundation-of-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-semantisches-html-grundlage-der-barrierefreiheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-designing-visible-focus-indicators</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-sichtbare-fokus-indikatoren-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-implementing-skip-links-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-skip-links-richtig-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-using-svg-icons-accessibly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-svg-icons-barrierefrei-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-keyboard-navigation-fundamentals-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-tastaturnavigation-grundlagen-fuer-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-building-team-training-for-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-team-schulung-fuer-barrierefreiheit-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-heading-structure-h1-h6</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-ueberschriften-struktur-richtig-einsetzen-h1-h6" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-wcag-fundamentals-four-pour-principles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-wcag-grundlagen-pour-prinzipien-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/barrierefreiheit-wcag-conformance-levels-a-aa-aaa</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-wcag-konformitaetsstufen-a-aa-aaa" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-automated-api-documentation-generation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-api-dokumentation-automatisiert-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-generating-boilerplate-code-with-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-boilerplate-code-mit-ki-generieren-lassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-chain-of-thought-prompting-for-complex-tasks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-chain-of-thought-prompting-fuer-komplexe-aufgaben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-models-overview-opus-sonnet-haiku</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-modelle-im-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-claude-api-first-steps-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-api-erste-schritte-fuer-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-integrating-claude-code-into-existing-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-code-in-bestehende-projekte-einbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-installing-and-setting-up-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-code-installieren-und-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-understanding-claude-code-permissions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-code-permissions-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-building-a-claude-code-team-workflow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-code-workflow-fuer-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-claude-code-workflows-for-efficient-debugging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-code-workflows-fuer-debugging" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-using-claude-for-magento-module-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-fuer-magento-modulentwicklung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-using-claude-in-ci-cd-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-in-ci-cd-pipelines-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-connecting-claude-to-external-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-mit-externen-tools-verbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-claude-vs-chatgpt-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-vs-chatgpt-fuer-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-using-and-maintaining-claude-md-files-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claudemd-dateien-richtig-nutzen-und-pflegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-writing-meaningful-code-comments-with-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-code-kommentare-sinnvoll-mit-ki-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-generating-commit-messages-and-pr-descriptions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-commit-messages-und-pr-beschreibungen-mit-ki" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-understanding-the-context-window</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-context-window-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-planning-database-migrations-with-ai-assistance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-datenbank-migrationen-mit-ki-unterstuetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-data-privacy-with-ai-coding-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-datenschutz-bei-ki-coding-tools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-the-future-of-ai-assisted-software-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-die-zukunft-der-ki-gestuetzten-softwareentwicklung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-developing-your-own-mcp-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-eigene-mcp-server-entwickeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-few-shot-prompting-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-few-shot-prompting-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-generating-graphql-queries-with-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-graphql-queries-mit-ki-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-building-hyva-templates-with-ai-assistance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-hyva-templates-mit-ki-unterstuetzung-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-junior-developers-ai-tools-learning-or-shortcutting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-junior-entwickler-ki-tools-lernen-oder-abkuerzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-avoiding-ai-dependency-across-the-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-ki-abhaengigkeit-im-team-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-integrating-ai-code-review-into-ci-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-ki-code-review-in-ci-pipeline-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-reviewing-ai-generated-code-critically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-ki-generierten-code-kritisch-pruefen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-establishing-ai-assisted-development-across-the-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-ki-gestuetzte-entwicklung-im-team-etablieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-ai-assisted-code-review-as-a-team-complement</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-ki-gestuetztes-code-review-als-ergaenzung-zum-team" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-ai-assisted-refactoring-opportunities-and-limits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-ki-gestuetztes-refactoring" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-recognizing-ai-hallucinations-in-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-ki-halluzinationen-im-code-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-weighing-ai-tool-costs-and-benefits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-ki-tools-kosten-und-nutzen-abwaegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-understanding-legacy-code-with-ai-assistance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-legacy-code-mit-ki-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-licensing-questions-ai-generated-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-lizenzfragen-bei-ki-generiertem-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-speeding-up-magento-error-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-magento-fehleranalyse-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-model-context-protocol-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-model-context-protocol-mcp-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-creating-onboarding-documentation-with-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-onboarding-dokumentation-mit-ki-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-pair-programming-with-ai-best-practices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-pair-programming-mit-ki" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-measuring-productivity-with-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-produktivitaet-mit-claude-code-messen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-prompt-engineering-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-prompt-engineering-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-iterating-and-improving-prompts-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-prompts-iterieren-und-systematisch-verbessern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-avoiding-security-vulnerabilities-ai-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-sicherheitsluecken-durch-ki-code-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-subagents-and-automation-in-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-subagents-und-automatisierung-in-claude-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-using-system-prompts-effectively</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-system-prompts-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-writing-technical-documentation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-technische-dokumentation-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-generating-tests-with-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-tests-mit-ki-generieren-lassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-when-not-to-trust-ai-code-suggestions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-wann-ki-code-vorschlaegen-nicht-vertrauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-what-is-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-was-ist-claude-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-accessible-modal-focus-trap-and-aria</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-accessibility-konformes-modal-fokus-trap-und-aria" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-custom-plugin-creating-step-by-step</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-custom-plugin-erstellen-schritt-fur-schritt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-htmx-the-underrated-duo-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-htmx-das-unterschatzte-duo-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-image-gallery-lightbox-keyboard-navigation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-image-gallery-lightbox-mit-keyboard-support" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-in-magento-hyva-patterns-and-anti-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-in-magento-hyva-patterns-und-anti-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-internals-how-reactivity-works-without-virtual-dom</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-internals-wie-reaktivitat-ohne-virtual-dom-funktioniert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-alpine-js-fetch-api-loading-data-and-handling-errors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-mit-fetch-api-daten-laden-fehler-behandeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-performance-large-data-lists-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-performance-grosse-datenlisten-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-testing-alpine-js-unit-tests-with-testing-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-testen-einheitstests-mit-testing-library" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-transitions-animations-that-actually-feel-smooth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-transitions-animationen-die-wirklich-smooth-sind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-v3-directives-complete-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-v3-alle-direktiven-auf-einen-blick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-alpine-js-vs-react-hooks-when-is-alpine-enough</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-vs-react-hooks-wann-reicht-alpine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-vs-vue-3-composition-api-direct-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-vs-vue-3-composition-api-direkter-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-animated-number-counter-smooth-without-gsap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-animated-number-counter-smooth-ohne-gsap" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-aria-attributes-automating-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/aria-attribute-automatisieren-accessibility-mit-alpine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-autocomplete-combobox-accessible-search-suggestions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-autocomplete-combobox-suchvorschlage-barrierefrei" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-carousel-slider-touch-support-and-keyboard-navigation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-carousel-slider-touch-support-und-keyboard-navigation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-visualize-data-with-alpine-js-without-chart-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-chart-mit-alpine-js-daten-visualisieren-ohne-chart-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-copy-to-clipboard-with-feedback-animation-in-10-lines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-copy-to-clipboard-mit-feedback-animation-in-10-zeilen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-dark-mode-toggle-persist-system-preference</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/dark-mode-toggle-mit-persist-und-system-preference" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-custom-datepicker-calendar-without-flatpickr</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-datepicker-eigener-kalender-picker-ohne-flatpickr" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-dispatch-events-firing-and-catching-between-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-dispatch-events-werfen-und-zwischen-komponenten-fangen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-custom-form-validation-without-jquery-validate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-eigenes-validierungssystem-ohne-jquery-validate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-infinite-scroll-without-external-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-infinite-scroll-nachladen-ohne-externe-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-keyboard-accessible-dropdown</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/keyboard-navigierbares-dropdown-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-confetti-effect-canvas-animation-without-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-konfetti-effekt-canvas-animation-ohne-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-lifecycle-init-and-destroy-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-lifecycle-init-und-destroy-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-multi-step-form-wizard-with-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-multi-step-form-wizard-pattern-mit-validierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-nexttick-waiting-for-dom-updates-without-settimeout</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-nexttick-auf-dom-updates-warten-ohne-settimeout" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-persist-save-state-in-localstorage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-persist-state-im-localstorage-persistent-speichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-star-rating-widget-without-jquery</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-rating-widget-sterne-bewertung-ohne-jquery" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-starfield-particle-background-canvas-without-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-starfield-partikel-hintergrund-canvas-ohne-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-sticky-table-header-scroll-aware-tables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-sticky-table-header-scroll-aware-tabellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-store-global-state-without-vuex-or-redux</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-store-globaler-state-ohne-vuex-oder-redux" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-toast-notifications-global-system-with-store</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-toast-notifications-globales-system-mit-store" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-typewriter-effect-text-animation-with-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-typewriter-effekt-text-animation-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-url-based-tab-system-without-router</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-url-basiertes-tab-system-ohne-router" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-virtual-scroll-10000-rows-without-performance-issues</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-virtuelles-scrollen-10-000-eintrage-ohne-performance-probleme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-watch-observing-and-reacting-to-values</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-watch-werte-beobachten-und-reagieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-anchor-positioning-tooltips-and-popovers-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-anchor-tooltips-und-popovers-korrekt-positionieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-collapse-smooth-accordion-animation-without-css-hacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-collapse-smooth-akkordeon-animation-ohne-css-hack" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-data-structuring-component-state</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-data-komponenten-state-richtig-strukturieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-effect-reactive-side-effects-without-watcher-boilerplate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-effect-reaktive-seiteneffekte-ohne-watcher-boilerplate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-ignore-excluding-alpine-from-cms-areas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-ignore-alpine-aus-cms-bereichen-ausschliessen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-intersect-scroll-animations-and-lazy-loading</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-intersect-animationen-und-lazy-load-beim-scrollen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-mask-input-formatting-for-phone-iban-date</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-mask-input-formatierung-fur-telefon-iban-datum" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-model-modifiers-lazy-debounce-number-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-model-modifier-lazy-debounce-number-erklart" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-resize-responsive-components-without-resizeobserver-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-resize-responsive-komponenten-ohne-resizeobserver-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-sort-drag-and-drop-sorting-without-a-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-sort-drag-and-drop-sortieren-ohne-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-teleport-moving-elements-out-of-the-dom-tree</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-teleport-elemente-aus-dem-dom-baum-verschieben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-50-bash-patterns-for-admins-and-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-50-bash-patterns-fur-admins-und-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-cleanly-parsing-arguments-and-flags</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-argumente-und-flags-in-bash-sauber-parsen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-arrays-practical-guide-instead-of-string-hacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-arrays-in-bash-praktisch-nutzen-statt-string-hacks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-glue-code-connecting-php-sql-docker-and-git</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/bash-for-backups-rotating-snapshots-and-restore-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-bash-fur-backups-rotierende-sicherungen-und-restore-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/bash-bats-for-bash-testing-in-ci-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-bats-fur-bash-tests-in-ci-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-building-reliable-cron-jobs-logging-locking-monitoring-exit-codes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-cronjobs-richtig-bauen-logging-locking-monitoring-exit-codes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-csv-and-tsv-processing-a-pragmatic-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-csv-und-tsv-in-bash-pragmatisch-verarbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-rename-move-sort-and-clean-up-files</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-dateien-umbenennen-verschieben-sortieren-und-aufraumen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-iterate-files-directories-without-broken-whitespace-logic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-dateien-und-verzeichnisse-iterieren-ohne-kaputte-leerzeichen-logik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-file-sizes-checksums-and-integrity-automated-verification</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-dateigroen-checksums-und-integritat-automatisiert-prufen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-automating-docker-and-kubernetes-workflows</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-docker-und-kubernetes-workflows-mit-bash-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-exit-codes-as-an-api-between-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-exit-codes-als-api-zwischen-skripten-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-error-analysis-in-deploy-scripts-reproducible-and-logged</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-fehleranalyse-in-deploy-skripten-reproduzierbar-und-protokolliert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-find-xargs-null-byte-safe-workflows</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-find-xargs-und-null-byte-sichere-workflows" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-functions-scope-and-structure-in-larger-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-funktionen-scope-und-struktur-in-groeren-bash-skripten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-automating-git-and-gitlab-workflows</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-git-und-gitlab-workflows-in-bash-sauber-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-testing-and-automating-http-apis-with-curl</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-http-apis-mit-curl-in-bash-testen-und-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-interactive-bash-tools-with-select-read-menus-and-confirmations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-interaktive-bash-tools-mit-select-read-menus-und-bestatigungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-jq-for-json-in-shell-scripts-filter-transform-validate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-jq-fur-json-im-shell-alltag-filtern-transformieren-validieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-combining-json-yaml-env-files-in-shell-workflows</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-json-yaml-und-env-dateien-in-shell-workflows-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-locking-with-flock-pid-files-and-race-conditions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-locking-in-bash-flock-pid-files-und-race-conditions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/bash-magento-maintenance-scripts-deploy-backup-cache-logs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-magento-wartungsskripte-in-bash-deploy-backup-cache-logs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-monitoring-scripts-for-servers-and-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-monitoring-skripte-in-bash-fur-server-und-container" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-using-openssl-and-gpg-in-shell-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-openssl-und-gpg-in-shell-skripten-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-parallelization-with-xargs-p-gnu-parallel-and-worker-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-parallelisierung-mit-xargs-p-gnu-parallel-und-worker-skripten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-improving-bash-script-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-performance-von-bash-skripten-verbessern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-understanding-pipes-redirects-and-file-descriptors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-pipes-redirects-und-file-descriptors-wirklich-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/bash-pragmatic-cli-ux-colors-progress-tables-prompts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-pragmatische-cli-ux-in-bash-farben-progress-tabellen-prompts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-production-checklist-security-robustness-logging-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-produktive-bash-checkliste-sicherheit-robustheit-logging-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-quoting-common-mistakes-and-how-to-avoid-them</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/bash-release-scripts-with-checkpoints-and-dry-run-mode</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-release-skripte-mit-checkpoints-und-dry-run-modus" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-retry-backoff-and-timeout-strategies-in-shell-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-retry-backoff-und-timeout-strategien-in-shell-skripten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/bash-rsync-guide-deployments-mirroring-excludes-dry-runs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-rsync-richtig-nutzen-deployments-mirror-excludes-dry-runs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/bash-sed-awk-und-perl-wann-welches-werkzeug-richtig-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-shell-scripts-for-deployments-checklists-guards-and-rollbacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-shell-skripte-fur-deployments-checklisten-guards-und-rollbacks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-shell-script-code-reviews-what-teams-should-standardize</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-shell-skripte-reviewen-was-teams-standardisieren-sollten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-shellcheck-and-tests-for-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-shellcheck-und-tests-fur-bash-skripte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-safe-file-handling-spaces-special-characters-binary-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-sichere-dateiverarbeitung-leerzeichen-sonderzeichen-binary-data" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-signal-handling-and-cleanup-with-trap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-signal-handling-und-cleanup-mit-trap" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-ssh-automation-known-hosts-agent-keys-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-ssh-in-automatisierung-known-hosts-agent-keys-sicherheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-combining-stdin-stdout-and-interactive-tools-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-stdin-stdout-und-interaktive-tools-richtig-zusammensetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-streaming-logs-and-files-in-real-time</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-streaming-von-logs-und-dateien-in-echtzeit-verarbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/bash-using-temporary-files-safely-and-cleaning-up-reliably</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-temporare-dateien-sicher-nutzen-und-zuverlassig-aufraumen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-bulk-patch-transform-text-files</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-textdateien-massenhaft-patchen-und-transformieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-anchor-positioning-tooltips-without-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-anchor-positioning-tooltips-ohne-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-gpu-compositing-and-animation-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-animation-performance-gpu-compositing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-backdrop-filter-frosted-glass-effects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-backdrop-filter-glassmorphism" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-blend-modes-effects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-blend-modes-effekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-calc-min-max-clamp-arithmetic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-calc-min-max-arithmetik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-cascade-origin-specificity-order-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-cascade-herkunft-spezifitaet-reihenfolge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-cascade-layers-specificity-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-cascade-layers-specificity-loesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-clamp-responsive-font-sizing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-clamp-fluid-typography" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-color-mix-dynamic-color-mixing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-color-mix-farben-dynamisch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-container-queries-components-not-viewport</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-container-queries-komponenten-statt-viewport" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-counters-automatic-numbering</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-counter-automatische-nummerierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-critical-path-page-speed-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-critical-path-pagespeed" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-custom-highlights-api-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-custom-highlights-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-custom-properties-for-theming</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-custom-properties-theming" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-display-contents-layout-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-display-contents" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-dvh-svh-lvh-viewport-units-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-dvh-svh-lvh-mobile-viewport" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-safe-area-insets-iphone-notch-dynamic-island</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-env-safe-area-insets" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-field-sizing-auto-resize-textareas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-field-sizing-textareas" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-focus-visible-keyboard-navigation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-focus-management-keyboard-trap" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-font-display-reduce-cls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-font-display-layout-shift" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-grid-subgrid-nested-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-grid-subgrid-verschachtelte-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-grid-vs-flexbox-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-grid-vs-flexbox" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-has-parent-selector-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-has-game-changer-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-houdini-paint-and-layout-api-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-houdini-paint-layout-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/css-in-js-vs-utility-first-vs-vanilla-css" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-intrinsic-sizing-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-intrinsic-sizing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-is-where-selectors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-is-where-selektoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-logical-properties-for-rtl-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-logical-properties-rtl" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-masonry-layout-native-browser-support</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-masonry-draft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-modern-features-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-moderne-features-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-multi-column-layout-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-multi-column-layout" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-native-nesting-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-nesting-native-verschachtelung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-oklch-color-space</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-oklch-farbraum" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-overflow-clip-vs-hidden-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-overflow-clip-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-performance-profiling-devtools-rendering-panel</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-performance-profiling-rendering-tab" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-popover-api-dropdowns-without-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-popover-api-native-dropdowns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-prefers-reduced-motion-web-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-prefers-reduced-motion-accessibility" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-property-typed-custom-properties</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-property-typisierte-custom-properties" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-pseudo-elements-tricks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-pseudo-elemente-tricks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-revert-layer-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-revert-layer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-scope-scoped-styles-without-shadow-dom</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-scope-scoped-styles-ohne-shadow-dom" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-scroll-linked-animations-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-scroll-driven-animations" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-selectors-level-4-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-selectors-level-4" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-shape-outside-text-wrap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-shape-outside" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-specificity-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-specificity-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-starting-style-entry-animations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-starting-style-einblend-animationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-position-sticky-sidebar-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-sticky-sidebar-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-view-transitions-api-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-view-transitions-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/css-will-change-sinnvoll-oder-memory-leak" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-writing-modes-vertical-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-writing-modes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-50-docker-commands-and-patterns-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-50-docker-kommandos-und-patterns-fur-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-observability-in-container-stacks-metrics-logs-health</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-beobachtbarkeit-in-container-stacks-metriken-logs-health" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-blue-green-and-rolling-deployments-with-containers-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-blue-green-und-rolling-deployments-mit-containern-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-buildkit-cache-mounts-and-faster-ci-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-buildkit-cache-mounts-und-schnellere-ci-builds" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-composer-and-npm-caches-in-docker-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-composer-und-npm-caches-in-docker-builds-strategisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-container-checklist-for-production-shops-and-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-container-checkliste-fur-produktive-shops-und-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-container-security-non-root-capabilities-read-only-filesystem-seccomp</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-container-security-user-capabilities-read-only-fs-seccomp" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-container-startup-order-and-wait-for-patterns-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-container-startup-reihenfolge-und-wait-for-patterns-richtig-losen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-initializing-containerized-databases-the-right-way</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-containerisierte-datenbanken-richtig-initialisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-cpu-and-memory-limits-best-practices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-cpu-und-memory-limits-sinnvoll-setzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-cron-jobs-and-background-workers-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-cronjobs-und-worker-in-docker-richtig-fahren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-file-permissions-between-host-and-container</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-dateirechte-zwischen-host-und-container-sauber-losen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-debugging-running-containers-exec-inspect-stats-top-events</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-debugging-laufender-container-exec-inspect-stats-top-events" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-creating-deployment-artifacts-from-docker-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-deployment-artefakte-aus-docker-builds-erzeugen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-cleanup-automation-images-volumes-networks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-cleanup-richtig-automatisieren-images-volumes-networks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-compose-for-integration-and-end-to-end-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-compose-fur-integrations-und-end-to-end-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-compose-for-local-development-environments-designed-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-compose-fur-lokale-entwicklungsumgebungen-richtig-entwerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-compose-profiles-for-dev-test-and-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-compose-profiles-fur-dev-test-und-ci-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-compose-clean-structure-services-profiles-overrides-env-files</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-compose-sauber-strukturieren-services-profiles-overrides-env-dateien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-compose-vs-kubernetes-what-actually-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-compose-vs-kubernetes-was-wirklich-anders-wird" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-for-magento-php-fpm-nginx-node-elasticsearch-opensearch-db</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/docker-images-explained-layers-caching-rebuilds-and-registry-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-images-verstehen-layers-caching-rebuilds-und-registry-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-docker-in-gitlab-ci-runners-dind-caching-and-artifacts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-in-gitlab-ci-runner-dind-caching-und-artifacts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-docker-logs-stdout-stderr-and-production-logging-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-logs-stdout-stderr-und-produktive-logging-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-networking-for-teams-reverse-proxy-subdomains-local-certificates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-networking-fur-teams-reverse-proxy-subdomains-lokale-zertifikate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-registry-setup-and-image-versioning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-registry-aufsetzen-und-images-versionieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-performance-on-macos-linux-and-wsl-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-und-performance-auf-macos-linux-wsl-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-docker-and-xdebug-clean-setup-without-the-pain</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-und-xdebug-sauberes-setup-ohne-jedes-mal-schmerz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-dockerfile-review-common-anti-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-dockerfile-reviews-typische-anti-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-linting-and-testing-dockerfiles-and-compose-files</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-dockerfile-und-compose-linten-und-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-healthchecks-in-practice-beyond-open-ports</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-healthchecks-praktisch-nutzen-statt-nur-ports-zu-offnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-image-size-reduction-without-broken-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-image-grosse-reduzieren-ohne-kaputte-builds" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-image-scanning-and-security-updates-in-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-image-scanning-und-sicherheitsupdates-in-ci" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-local-ssl-certificates-with-mkcert-and-reverse-proxy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-lokale-ssl-zertifikate-mit-mkcert-und-reverse-proxy" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-speed-up-magento-in-docker-volumes-sync-opcache-watcher</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-magento-in-docker-beschleunigen-volumes-sync-opcache-watcher" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/docker-magento-static-content-und-di-compile-im-build-container" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/docker-mehrstufige-dockerfiles-fur-php-und-node-projekte-richtig-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-networking-bridge-host-dns-and-service-discovery</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-netzwerke-in-docker-bridge-host-dns-und-service-discovery" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-combining-node-php-and-composer-in-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-node-php-und-composer-in-containern-zusammenbringen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/docker-persistent-storage-volumes-backups-restore-migration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-persistent-storage-in-containern-backups-restore-migration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-production-checklist-security-performance-storage-deployments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-produktive-docker-checkliste-security-performance-storage-deployments" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-connecting-redis-rabbitmq-opensearch-and-mysql-cleanly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/docker-build-release-images-instead-of-compiling-on-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-release-images-bauen-statt-auf-servern-kompilieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-rootless-docker-when-it-pays-off</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-rootless-docker-wann-es-sich-lohnt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-secrets-what-should-never-be-in-your-image</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-secrets-in-docker-was-nie-ins-image-gehort" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/docker-sidecars-utility-container-und-einmal-jobs-im-alltag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-temporary-shell-containers-for-maintenance-and-diagnostics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-temporare-shell-container-fur-wartung-und-diagnose" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-traefik-vs-nginx-proxy-for-local-stacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-traefik-oder-nginx-proxy-fur-lokale-stacks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-volumes-vs-bind-mounts-when-to-use-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-volumes-vs-bind-mounts-wann-was-wirklich-richtig-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-artifact-signing-checksums-and-integrity-for-releases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-artefakt-signierung-checksums-und-integritat-fur-releases" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/gitlab-blue-green-vs-symlink-deployments-for-magento-shops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-blue-green-vs-symlink-releases-fur-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/gitlab-post-release-cache-warmup-automating-priority-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/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/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/en/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/en/blog/gitlab-composer-auth-managing-private-repositories-and-mirrors-securely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/gitlab-composer-install-in-gitlab-ci-clean-and-reproducible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-composer-install-in-gitlab-ci-sauber-und-reproduzierbar-ausfuhren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-controlling-cron-and-queue-consumers-during-deployment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-cron-und-queue-consumer-wahrend-des-deployments-kontrollieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-database-migrations-zero-downtime-expand-contract-compatibility-risks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-datenbank-migrationen-bei-zero-downtime-expand-contract-kompatibilitat-risiken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-combining-deployer-with-gitlab-ci-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-deployer-mit-gitlab-ci-fur-magento-richtig-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-deployment-checklist-for-magento-teams-standard-process</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-deployment-checkliste-fur-magento-teams-mit-gitlab-als-standardprozess" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-deployments-shell-scripts-vs-deployer-vs-ansible-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/gitlab-install-and-register-your-own-gitlab-runner</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-eigenen-gitlab-runner-installieren-und-registrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/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/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/en/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/en/blog/gitlab-auditing-and-compliance-for-e-commerce-deployments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/gitlab-cache-vs-artifacts-composer-npm-and-vendor-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/gitlab-ci-templates-reuse-across-multiple-magento-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-gitlab-ci-templates-fur-mehrere-magento-projekte-wiederverwenden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/gitlab-basics-for-deployment-pipelines-projects-groups-roles-protected-branches</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-grundlagen-fur-deployment-serien-projekte-gruppen-rollen-protected-branches" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-magento-deployment-cheatsheet-variables-jobs-commands-order</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-magento-deployment-cheatsheet-variablen-jobs-kommandos-reihenfolge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-pipelines-for-multi-server-deployments-web-worker-cron-queue</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-pipelines-fur-multi-server-deployments-web-worker-cron-queue" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/gitlab-runner-types-shell-docker-kubernetes-what-fits-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/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/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/en/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/en/blog/gitlab-defining-magento-build-stage-composer-node-assets-di-compile</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-magento-build-stage-definieren-composer-node-assets-di-compile" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-magento-separating-media-pub-static-and-build-artifacts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-magento-media-pub-static-und-build-artefakte-sinnvoll-trennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/gitlab-magento-setup-upgrade-safely-into-deployment-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-magento-setup-upgrade-sicher-in-den-deployment-prozess-einbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-maintenance-mode-in-magento-only-where-truly-necessary</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/gitlab-documenting-and-securing-manual-emergency-deployments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-manuelle-notfall-deployments-dokumentieren-und-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-deployment-monitoring-alerts-slack-email-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/gitlab-npm-tailwind-frontend-builds-into-gitlab-ci-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-npm-tailwind-und-frontend-builds-in-gitlab-pipelines-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-bundle-phpunit-phpstan-phpcs-and-security-checks-in-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-phpunit-phpstan-phpcs-und-sicherheitschecks-in-gitlab-ci-bundeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-pipeline-stage-design-build-test-package-deploy-verify-rollback</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/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/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/en/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/en/blog/gitlab-systematically-narrowing-down-production-errors-after-deployments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-produktionsfehler-nach-deployments-systematisch-eingrenzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-protected-masked-variables-and-environment-scopes-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-protected-variables-masked-variables-und-environment-scopes-wirklich-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-redis-rabbitmq-and-opensearch-in-zero-downtime-deployments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-redis-rabbitmq-und-opensearch-in-zero-downtime-deployments-berucksichtigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-release-tags-versioning-and-traceable-deployment-history</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-release-tags-versionierung-und-nachvollziehbare-deployment-historie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/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/de/blog/gitlab-review-apps-fur-magento-realistisch-oder-zeitverschwendung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-preparing-a-magento-release-rollback-script</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-rollback-skript-fur-magento-releases-in-gitlab-vorbereiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-rollback-strategies-for-magento-files-database-queue-state-assets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-rollback-strategien-fur-magento-dateien-datenbank-queue-zustand-assets" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-runner-capacity-concurrency-and-queue-times-in-large-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/gitlab-runner-security-shared-private-self-hosted-runners-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/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/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/en/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/en/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/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/en/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/en/blog/gitlab-automating-magento-smoke-tests-after-deployment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-smoke-tests-fur-magento-nach-dem-deployment-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gitlab-ssh-bastion-jump-hosts-and-separate-deployment-users</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/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/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/en/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/en/blog/gitlab-staging-to-production-promotion-with-gitlab-pipelines-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-staging-production-promotion-mit-gitlab-pipelines-sauber-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/gitlab-symlink-switch-deployment-for-magento-step-by-step</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-symlink-switch-deployment-fur-magento-schritt-fur-schritt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/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/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/en/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/en/blog/gitlab-zero-downtime-search-index-queue-lag-cache-warmup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/gitlab-zero-downtime-in-magento-what-actually-works-without-outages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/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/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/en/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/en/blog/graphql-50-graphql-patterns-for-real-world-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-50-graphql-patterns-fur-reale-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-field-level-permissions-securing-sensitive-data-in-graphql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-berechtigungen-auf-feldniveau-sensible-daten-in-graphql-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-breaking-changes-avoiding-deprecations-schema-evolution</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-breaking-changes-in-graphql-vermeiden-deprecations-und-evolution" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-caching-http-persisted-queries-response-cache-edge-caching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/graphql-cart-and-checkout-in-magento-graphql-architecture-limits-debugging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-cart-und-checkout-in-magento-graphql-architektur-grenzen-debugging" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-extending-customer-data-magento-graphql-securely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-customer-daten-uber-magento-graphql-sicher-erweitern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/graphql-federation-stitching-and-bff-choosing-the-right-architecture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-federation-stitching-und-bff-wann-welche-architektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-filtering-and-sorting-in-graphql-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-filter-und-sortierung-in-graphql-apis-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-documenting-a-graphql-api-without-overwhelming-readers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-api-dokumentieren-ohne-leser-zu-uberfordern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-authentication-tokens-sessions-and-field-level-auth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-authentifizierung-tokens-sessions-und-field-level-auth" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-code-generation-for-typescript-and-php-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-code-generation-fur-typescript-und-php-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-debugging-altair-graphiql-insomnia-postman</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-debugging-mit-altair-graphiql-insomnia-und-postman" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/graphql-graphql-error-handling-fachfehler-transportfehler-und-extensions-richtig-trennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-fehler-reproduzierbar-machen-logging-tracing-correlation-ids</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-fehler-reproduzierbar-machen-logging-tracing-correlation-ids" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-file-uploads-practical-limits-and-secure-alternatives</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-file-uploads-praktische-grenzen-und-sichere-alternativen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-fundamentals-schema-query-mutation-resolver-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-grundlagen-schema-query-mutation-resolver-wirklich-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-headless-frontends-magento-react-vue-nextjs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/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/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/en/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/en/blog/graphql-input-validation-modeling-input-types-scalars-and-user-errors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-input-validation-sauber-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-mocking-for-frontend-and-api-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-mocking-fur-frontend-und-api-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-monitoring-which-metrics-actually-matter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-monitoring-welche-metriken-wirklich-wichtig-sind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/graphql-schema-design-fields-types-interfaces-and-unions-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/graphql-security-review-depth-complexity-introspection-abuse-cases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/graphql-testing-queries-snapshots-and-contract-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-testing-queries-snapshots-und-contract-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-tooling-graphiql-apollo-studio-hive-inspector-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-tooling-graphiql-apollo-studio-hive-inspector-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-input-types-vs-custom-scalars-which-one-when</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-input-types-vs-custom-scalars-wann-was" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-introspection-sdl-and-schema-registry-in-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-introspection-sdl-und-schema-registry-in-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-optimizing-category-pages-with-magento-graphql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-kategorieseiten-uber-magento-graphql-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/graphql-magento-graphql-fundamentals-architecture-schema-and-resolver-chains</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-magento-graphql-grundlagen-architektur-schema-und-resolver-ketten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-magento-performance-why-resolvers-get-slow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-magento-graphql-performance-warum-resolver-zu-langsam-werden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-testing-magento-graphql-phpunit-integration-tests-and-real-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-magento-graphql-testen-phpunit-integrationstests-und-echte-requests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/graphql-magento-graphql-und-eav-welche-kosten-hinter-produktabfragen-stecken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-magento-graphql-and-searchcriteria-wiring-filters-cleanly-into-resolvers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-magento-graphql-und-searchcriteria-filter-sauber-an-resolver-anbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-building-mutations-in-magento-input-service-contract-response</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-mutation-in-magento-bauen-input-service-contract-response" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-avoiding-n-plus-1-batching-dataloader-resolver-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-n-1-in-graphql-vermeiden-batching-dataloader-resolver-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-openapi-vs-graphql-where-both-models-complement-each-other</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-openapi-vs-graphql-wo-beide-modelle-sich-sinnvoll-erganzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-opensearch-and-magento-graphql-how-search-really-works-together</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-opensearch-und-magento-graphql-wie-suche-wirklich-zusammenspielt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-pagination-cursor-vs-offset-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-pagination-in-graphql-cursor-vs-offset-sauber-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-persisted-queries-security-and-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-persisted-queries-sicherheit-und-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/graphql-production-ready-checklist-performance-testing-security-tooling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-produktive-graphql-checkliste-performance-testing-security-tooling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-query-complexity-measuring-and-limiting-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-query-complexity-praktisch-messen-und-begrenzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-resolver-architecture-thin-resolvers-instead-of-business-logic-monsters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-resolver-architektur-schlanke-resolver-statt-business-logik-monster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-combining-resolver-caching-and-edge-caching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-resolver-caching-und-edge-caching-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-schema-graphqls-in-magento-patterns-and-anti-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-schema-graphqls-in-magento-patterns-und-anti-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/graphql-schema-reviews-for-teams-what-to-check-before-merge</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/graphql-subscriptions-and-realtime-with-graphql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-subscriptions-und-realtime-mit-graphql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-abortcontroller-cancel-fetch-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-abortcontroller" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-atomics-sharedarraybuffer-concurrency</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-atomics-sharedarraybuffer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-bigint-large-integers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-bigint" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-broadcast-channel-api-cross-tab-communication-without-a-server</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-broadcast-channel-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-bundle-analysis-rollup-vite</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-bundle-analyse-rollup-vite" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-cache-api-http-resources-browser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-cache-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-clipboard-api-copy-paste-without-execcommand</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-clipboard-api-copy-paste-ohne-execcommand" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-crypto-randomuuid-secure-generation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-crypto-randomuuid" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-custom-events-component-communication</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-custom-events-komponentenkommunikation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-decorators-classes-methods</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-decorators" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-chrome-devtools-tricks-debugging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-devtools-tricks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-error-cause-chaining</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-error-cause" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-es2024-es2025-features-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-es2024-es2025-features" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-event-delegation-for-dynamic-lists</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-event-delegation-dynamische-listen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-event-loop-microtasks-macrotasks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-event-loop-mikrotasks-makrotasks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-fetch-api-mastery-http-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-fetch-mastery" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-generator-functions-lazy-iteration-infinite-sequences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-generator-functions-lazy-iteration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-immutability-patterns-immutable-data-structures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-immutability-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-indexeddb-offline-database-in-the-browser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-indexeddb-offline-datenbank" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-intersection-observer-lazy-loading-scroll-animations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-intersection-observer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-memory-leaks-chrome-devtools-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-memory-leaks-chrome-devtools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-modern-array-methods-map-filter-reduce</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-moderne-array-methoden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-module-federation-micro-frontends-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-module-federation-micro-frontends" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-mutationobserver-dom-monitoring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-mutationobserver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-nullish-coalescing-optional-chaining-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-nullish-coalescing-optional-chaining" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-object-groupby-map-groupby-native-array-grouping</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-object-groupby-map-groupby" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-pattern-matching-match-expression</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-pattern-matching-proposal" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-performance-api-runtime-measurement</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-performance-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-promise-withresolvers-deferred-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-promise-withresolvers" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-proxy-reflect-meta-programming</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-proxy-reflect-meta-programmierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-requestanimationframe-smooth-animations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-requestanimationframe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-requestidlecallback-background-tasks-without-blocking-ui</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-requestidlecallback" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-resizeobserver-element-size-observation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-resizeobserver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-xss-prototype-pollution-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-security-xss-prototype-pollution" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-sendbeacon-reliable-page-unload-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-sendbeacon" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-service-worker-offline-first-pwa</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-service-worker-offline-first" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-set-methods-union-intersection-difference</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-set-methods" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-signals-reactive-programming-paradigm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-signals-reaktives-paradigma" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-streams-api-readablestream-writablestream-transformstream</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-streams-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-structuredclone-native-deep-clone</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-structuredclone" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-tagged-template-literals-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-tagged-template-literals" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-temporal-api-date-time-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-temporal-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-top-level-await-es-modules-without-async-wrapper</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-top-level-await" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-tree-shaking-bundle-size</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-tree-shaking-bundle-groesse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-using-await-using-explicit-resource-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-using-resource-management" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-vite-vs-webpack-vs-rollup-bundler-comparison-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-vite-vs-webpack-vs-rollup-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-weakref-finalizationregistry-memory-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-weakref-finalizationregistry" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-web-share-api-native-sharing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-web-share-api-native-teilen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-web-workers-multithreading-browser-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-web-workers" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-webassembly-wasm-modules-browser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-webassembly" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-alpine-js-hyva-theme-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-hyva-theme-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-active-record-pattern-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-active-record-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-dependency-injection-design-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-dependency-injection-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-factory-proxy-design-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-factory-proxy-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-design-patterns-injectable-virtual-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-injectable-virtual-types-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-design-patterns-iterator-collections</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-iterator-collections-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-design-patterns-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-magento-2-uebersicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-mvc-front-controller-design-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-mvc-front-controller-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-observer-event-pattern-dispatching-events</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-observer-event-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-plugin-interceptor-pattern-before-after-around</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-plugin-interceptor-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-preference-pattern-in-magento-2</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-preferences-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-prototype-object-pool-pattern-quote-items-connection-pooling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-prototype-object-pool-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-repository-pattern-service-contracts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-repository-pattern-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-service-locator-objectmanager-anti-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-service-locator-objectmanager-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-singleton-registry-pattern-magento-2</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-singleton-registry-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-strategy-pattern-design-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-strategy-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-viewmodel-pattern-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns-viewmodel-pattern-magento-2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-active-record-models-resourcemodel</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-active-record-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-admin-grid-ui-component-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-admin-grid-ui-component" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-builder-pattern-search-criteria</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-builder-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-cli-commands-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-cli-befehle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-composer-patches-core-fixes-without-fork</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-composer-patches" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-composite-pattern-design-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-composite-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-cron-jobs-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-cron-jobs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-custom-product-attribute-frontend-widget</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-custom-product-attribute-widget" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-custom-shipping-carrier-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-custom-shipping-rate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-customer-attribute-eav-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-customer-attribute" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-customer-segments-personalization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-customer-segments" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-db-schema-xml-common-mistakes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-db-schema-fehler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-eav-vs-flat-table-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-eav-vs-flat-table" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-create-custom-module-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-eigenes-modul-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-elasticsearch-opensearch-search-tuning-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-elasticsearch-opensearch-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-front-controller-pattern-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-front-controller-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-full-page-cache-selective-invalidation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-full-page-cache" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-2-cicd-github-actions-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-github-actions-cicd" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-graphql-resolver-query-mutation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-graphql-resolver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-import-export-large-catalogs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-import-export-grosse-kataloge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-2-indexer-realtime-scheduled-mview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-indexer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-injectable-vs-non-injectable-objects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-injectable-vs-non-injectable" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-collection-iterator-pattern-lazy-loading</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-iterator-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-2-logging-monolog-log-channels</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-logging-monolog" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-message-queue-rabbitmq-async-processing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-message-queue-rabbitmq" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-msi-multi-source-inventory-custom-source</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-msi-custom-source" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-multi-store-architecture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-multi-store" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-mvc-architecture-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-mvc-kein-klassisches-mvc" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-object-pool-pattern-resource-connection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-object-pool-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-page-builder-custom-content-type-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-page-builder-content-type" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-stripe-payment-gateway-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-payment-gateway-stripe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-performance-optimization-checklist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-performance-quick-wins" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-phpstan-level-8-baseline-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-phpstan-level-8" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-preferences-vs-plugins-extension-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-preferences-vs-plugins" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-2-performance-profiling-blackfire-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-profiling-blackfire" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-prototype-pattern-clone-factory-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-prototype-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-registry-pattern-deprecated-viewmodel-alternative</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-registry-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-custom-rest-api-endpoint-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-rest-api-endpoint" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-rest-vs-graphql-api-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-rest-vs-graphql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-searchcriteria-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-searchcriteria" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-security-csrf-xss-sql-injection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-security" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-service-locator-pattern-constructor-injection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-service-locator-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-singleton-pattern-shared-objects-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-singleton-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-staging-preview-scheduled-updates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-staging-preview" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-strategy-pattern-carrier-pricing-tax</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-strategy-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-third-party-module-quality-checklist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-third-party-module-bewerten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-unit-tests-without-bootstrap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-unit-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-2-upgrade-checklist-248</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-upgrade-checkliste-248" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-virtual-types-di-xml-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-virtual-types" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-xdebug-phpstorm-debugging-workflow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-xdebug-phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-tools-plugins-shortcuts-for-php-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-50-phpstorm-tools-plugins-und-shortcuts-fur-php-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-blade-twig-phtml-and-mixed-template-worlds-in-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/phpstorm-configuring-code-inspections-wisely-instead-of-warning-noise</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-code-inspections-sinnvoll-konfigurieren-statt-warnungsrauschen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-code-reviews-in-phpstorm-diffs-history-blame-todos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-code-reviews-in-phpstorm-vorbereiten-diffs-history-blame-todos" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-composer-node-npm-yarn-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-composer-node-npm-und-yarn-in-phpstorm-sauber-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-composer-scripts-and-custom-tools-as-toolbar-buttons</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-composer-scripts-und-custom-tools-in-phpstorm-buttons-gieen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-database-tools-for-mysql-and-mariadb-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/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/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/en/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/en/blog/phpstorm-dev-containers-and-docker-based-workspaces-in-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-dev-container-und-docker-basierte-workspaces-in-phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-docker-interpreter-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-docker-interpreter-in-phpstorm-sauber-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-docker-logs-processes-and-services-in-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-docker-logs-processes-und-services-direkt-aus-phpstorm-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-editorconfig-code-style-team-consistency</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-editorconfig-code-style-und-teamkonsistenz-in-phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-debugging-container-setups-xdebug-and-logs-combined</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/phpstorm-file-watchers-without-side-effects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-file-watchers-richtig-einsetzen-statt-unnotige-nebenwirkungen-zu-erzeugen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-frontend-workflows-tailwind-alpine-vue-react</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-frontend-workflows-in-phpstorm-tailwind-alpine-vue-react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/phpstorm-graphql-tooling-in-phpstorm-for-magento-and-general-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-graphql-tooling-in-phpstorm-fur-magento-und-allgemeine-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-keymaps-navigation-and-productivity-hacks-for-power-users</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-keymaps-navigation-und-productivity-hacks-fur-power-user" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-live-templates-and-postfix-templates-for-php-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-live-templates-und-postfix-templates-fur-php-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-log-files-tail-and-filter-in-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-log-dateien-tail-und-filter-in-phpstorm-produktiv-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-magento-dev-environment-docker-cli-logs-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-magento-dev-umgebung-in-phpstorm-docker-cli-logs-templates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/phpstorm-magento-specific-settings-generated-code-vendor-tests-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-magento-spezifische-einstellungen-generated-code-vendor-tests-templates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-resolve-merge-conflicts-in-phpstorm-efficiently</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-merge-konflikte-in-phpstorm-effizient-losen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-navigation-large-projects-scopes-custom-searches-structural-search</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-navigation-in-groen-projekten-scopes-custom-searches-structural-search" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-editing-validating-openapi-files-in-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-openapi-dateien-in-phpstorm-bearbeiten-und-validieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-path-mappings-explained-not-trial-and-error</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-path-mappings-verstehen-statt-trial-and-error" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-fixing-performance-problems-index-plugins-heap-excludes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/phpstorm-making-phpstan-psalm-and-phpcs-work-directly-in-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-phpstan-psalm-und-phpcs-in-phpstorm-direkt-nutzbar-machen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/phpstorm-setup-for-magento-2-indexing-excludes-performance-autocomplete</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-phpstorm-fur-magento-2-einrichten-indexing-excludes-performance-autocomplete" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/phpstorm-phpunit-in-docker-and-magento-projects-clean-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/phpstorm-phpstorm-settings-for-large-monorepos-and-enterprise-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-phpstorm-settings-fur-groe-monorepos-und-enterprise-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-ci-cd-how-local-and-pipeline-checks-fit-together</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/phpstorm-docker-compose-connecting-multiple-services-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-phpstorm-und-docker-compose-mehrere-services-richtig-anbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-phpunit-integration-tests-and-coverage-from-phpstorm-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-phpunit-integrationstests-und-coverage-aus-phpstorm-fur-magento-starten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/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/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/en/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/en/blog/phpstorm-productive-phpstorm-checklist-docker-magento-php-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-produktive-phpstorm-checkliste-fur-docker-magento-und-php-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-quality-gates-locally-in-phpstorm-phpstan-phpunit-phpcs-rector</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/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/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/en/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/en/blog/phpstorm-remote-development-and-ssh-workflows-in-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-remote-development-und-ssh-workflows-in-phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/phpstorm-rest-and-graphql-testing-http-client-environments-variables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/phpstorm-run-configurations-for-phpunit-magento-cli-and-custom-commands</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-run-configurations-fur-phpunit-magento-cli-und-custom-commands" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-sql-console-explain-plan-and-database-inspections</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-sql-konsole-explain-plan-und-datenbank-inspektionen-in-phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstorm-structural-search-and-replace-for-clean-bulk-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-structural-search-and-replace-fur-saubere-massenanderungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/phpstorm-xdebug-docker-stable-debugging-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-xdebug-in-phpstorm-mit-docker-stabil-zum-laufen-bringen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-50-patterns-for-productive-php-and-magento-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-50-phpunit-patterns-fur-produktive-php-und-magento-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-architecture-tests-dependencies-and-module-boundaries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-architekturtests-und-phpunit-abhangigkeiten-und-modulgrenzen-prufen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-assertions-clarity-over-cleverness</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-bessere-assertions-schreiben-klarheit-vor-cleverness" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-cli-commands-and-exit-codes-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-cli-commands-und-exit-codes-mit-phpunit-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-coverage-signal-not-vanity-metric</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-coverage-richtig-lesen-signal-statt-vanity-metrik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-coverage-and-xdebug-for-large-magento-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-coverage-und-xdebug-fur-groe-magento-projekte-nutzbar-machen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-filesystem-io-testing-without-fragile-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-dateisystem-und-io-code-testen-ohne-fragile-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-database-tests-when-real-db-access-makes-sense</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-datenbanktests-wann-echter-db-zugriff-sinnvoll-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-dataprovider-vs-duplicate-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-datenprovider-sinnvoll-nutzen-statt-duplizierter-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-deprecations-and-phpunit-upgrades-in-legacy-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-deprecations-und-phpunit-upgrades-in-altprojekten-sauber-fahren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-testing-exceptions-in-phpunit-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-exceptions-in-phpunit-korrekt-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-debugging-broken-test-suites-systematic-approach</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-fehlersuche-in-kaputten-test-suites-systematisch-angehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-fixtures-builders-and-test-data-organization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-fixtures-builders-und-testdaten-sauber-organisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-flaky-tests-detecting-and-eliminating-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-flaky-tests-erkennen-und-systematisch-beseitigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-golden-master-tests-for-refactorings</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-golden-master-tests-fur-refactorings" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-graphql-and-rest-endpoints-in-magento-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-graphql-und-rest-endpoints-in-magento-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-http-clients-fake-responses-retries-error-paths</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-http-clients-testen-fake-responses-retries-fehlerpfade" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-legacy-code-testable-characterization-tests-and-safe-refactoring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-legacy-code-testbar-machen-characterization-tests-und-sichere-refactorings" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-magento-fixtures-in-integration-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-magento-fixtures-in-integrationstests-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-magento-integration-tests-setup-and-execution</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-magento-integration-tests-einrichten-und-ausfuhren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-magento-repositories-services-and-viewmodels-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-magento-repositories-services-und-viewmodels-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-magento-test-pyramide-unit-integration-and-mftf-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/phpunit-magento-unit-tests-what-actually-works-without-bootstrap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-magento-unit-tests-was-ohne-bootstrap-wirklich-sinnvoll-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-mftf-vs-phpunit-vs-api-tests-what-fits-when</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-mftf-vs-phpunit-vs-api-tests-was-wann-passt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-mocking-anti-patterns-implementation-details-vs-behavior</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-mocking-anti-patterns-wenn-tests-nur-implementierungsdetails-abbilden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-mocks-stubs-spies-and-test-doubles-clean-conceptual-split</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-mocks-stubs-spies-und-test-doubles-fachlich-sauber-trennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-mutation-testing-with-infection-as-a-quality-lever</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-mutation-testing-mit-infection-als-qualitatshebel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-parallel-test-execution-and-its-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-parallel-testausfuhrung-und-ihre-tucken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-improving-phpunit-suite-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-performance-von-phpunit-suites-verbessern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-phpstan-psalm-and-phpunit-together-as-a-quality-chain</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-phpstan-psalm-und-phpunit-zusammen-als-qualitatskette-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-phpstorm-and-docker-running-tests-cleanly-in-the-container</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-phpstorm-und-docker-phpunit-im-container-sauber-ausfuhren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-11-what-changed-and-what-teams-need-to-adjust</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/phpunit-phpstorm-remote-interpreter-and-run-configurations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-phpunit-fur-magento-in-phpstorm-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-gitlab-ci-and-github-actions-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-phpunit-in-gitlab-ci-und-github-actions-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-phpstorm-run-configurations-coverage-and-test-filters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-in-phpstorm-run-configurations-coverage-test-filter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-clean-setup-composer-bootstrap-phpunit-xml-test-suites</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-phpunit-sauber-einrichten-composer-bootstrap-phpunit-xml-suites" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-magento-plugins-and-observer-testable-design</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-plugins-und-observer-in-magento-testbar-halten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-production-ready-checklist-structure-speed-docker-phpstorm-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-produktive-phpunit-checkliste-struktur-geschwindigkeit-docker-phpstorm-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-property-based-testing-for-php-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-property-based-testing-fur-php-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-searchcriteria-collections-and-eav-access-in-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-searchcriteria-collections-und-eav-zugriffe-in-tests-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-snapshots-in-php-tests-when-useful-when-dangerous</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-snapshots-in-php-tests-wann-nutzlich-wann-gefahrlich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-tdd-in-php-realistically-applied</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-tdd-in-php-realistisch-anwenden-statt-nur-daruber-reden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-test-reviews-in-teams-what-tests-should-actually-check</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/phpunit-testable-services-design-decisions-that-ease-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-testbare-services-bauen-wo-produktionscode-tests-erleichtert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-test-reports-and-junit-xml-in-ci-clean-output</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-testberichte-und-junit-xml-in-ci-sauber-ausgeben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-test-data-magento-databuilder-not-fixture-hell</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-testdaten-in-magento-sauber-aufbauen-statt-fixture-holle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-api-testing-and-dto-mapping-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-teststrategien-fur-apis-und-dto-mapping" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/phpunit-xdebug-remote-debugging-in-docker-with-phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-xdebug-und-phpunit-in-docker-mit-phpstorm-richtig-verbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpunit-controlling-time-uuids-and-randomness-in-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit-zeit-uuids-und-zufall-in-tests-kontrollieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-nextjs-app-router-migration-from-pages-router</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-next-js-app-router-migration-vom-pages-router" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-nextjs-caching-4-cache-layers-explained-demystified</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/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/de/blog/react-next-js-vs-remix-vs-astro-2026-wann-was" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-playwright-component-testing-e2e-for-individual-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-playwright-component-testing-e2e-fur-einzelne-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-radix-ui-headless-components-with-full-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-radix-ui-headless-komponenten-mit-voller-accessibility" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/react-react-19-hooks-cheatsheet-alle-hooks-und-wann-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-19-new-features-what-really-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/react-actions-forms-without-usestate-and-handlers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-actions-formulare-ohne-usestate-und-handler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-animations-framer-motion-vs-css-transitions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-animations-framer-motion-vs-css-transitions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-react-compiler-automatic-memoization-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-compiler-automatisches-memoizing-erklart" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-context-vs-zustand-vs-jotai-when-to-use-what</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-context-vs-zustand-vs-jotai-was-wann-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-compound-components-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-design-pattern-compound-components" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-custom-hook-extraction-design-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-design-pattern-custom-hook-extraction" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-drag-and-drop-native-html5-api-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/react-error-boundaries-graceful-error-handling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-error-boundaries-fehler-graceful-abfangen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-react-fiber-concurrent-mode-and-priorities-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-fiber-concurrent-mode-und-prioritaten-erklart" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-react-hook-form-and-zod-performance-first-forms</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-hook-form-plus-zod-performance-first-forms" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-internationalization-next-intl-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-internationalisierung-next-intl-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-lazy-loading-code-splitting-in-the-right-places</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-lazy-loading-code-splitting-an-der-richtigen-stelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/react-react-memo-wann-wirklich-notig-und-wann-schadet-es" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-micro-frontends-module-federation-2-0</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-micro-frontends-module-federation-2-0" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-measure-performance-before-optimizing-profiler</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-performance-messen-bevor-optimieren-profiler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-fullstack-app-with-symfony-api-platform</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-plus-symfony-fullstack-app-mit-api-platform" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-tailwind-cn-utility-clsx-and-class-variance-authority</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/react-typescript-satisfies-template-literals-generics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-plus-typescript-satisfies-template-literals-generics" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-pwa-offline-first-workbox-next-pwa</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-pwa-offline-first-mit-workbox-und-next-pwa" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-realtime-websocket-and-mercure-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-realtime-websocket-und-mercure-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-reconciliation-virtual-dom-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-reconciliation-wie-der-virtual-dom-wirklich-arbeitet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-server-components-complete-conceptual-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-server-components-der-komplette-konzeptuelle-guide" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-strict-mode-double-invocation-why-bugs-become-visible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/react-strict-mode-what-it-really-checks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-strict-mode-was-es-wirklich-pruft-und-nervt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-suspense-loading-states-elegantly-managed</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-suspense-lade-zustande-elegant-managen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-testing-library-best-practices-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-testing-library-best-practices-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-virtual-list-100000-rows-without-lag</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-virtual-list-100-000-zeilen-ohne-lagmax" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-shadcn-ui-custom-component-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-shadcn-ui-eigene-komponenten-bibliothek-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-storybook-8-design-system-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-storybook-8-design-system-systematisch-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-tanstack-query-v5-mastering-server-state</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-tanstack-query-v5-server-state-meistern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-tanstack-router-type-safe-routing-in-react</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-tanstack-router-typsicheres-routing-in-react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-tanstack-table-complex-tables-without-pain</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-tanstack-table-komplexe-tabellen-ohne-pain" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-use-hook-resolving-promises-in-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-use-hook-promises-direkt-in-komponenten-auflosen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-usecallback-usememo-common-misconceptions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-usecallback-und-usememo-die-haufigsten-missverstandnisse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-usedeferredvalue-lazy-search-without-debounce</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-usedeferredvalue-lazy-search-ohne-debounce" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-useformstatus-loading-feedback-for-nested-forms</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-useformstatus-lade-feedback-fur-verschachtelte-formulare" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-useid-stable-ids-for-accessibility-attributes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-useid-stabile-ids-fur-accessibility-attribute" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-useimperativehandle-exposing-refs-correctly-to-the-outside</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-useimperativehandle-refs-richtig-nach-auen-exponieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-useoptimistic-instant-ui-updates-then-confirm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-useoptimistic-ui-sofort-aktualisieren-dann-bestatigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-usesyncexternalstore-subscribing-to-external-stores-cleanly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-usesyncexternalstore-external-store-sauber-subscriben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-usetransition-non-blocking-ui-updates-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-usetransition-non-blocking-ui-updates-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-vite-why-create-react-app-is-dead</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-vite-fur-react-warum-create-react-app-tot-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-vitest-faster-tests-than-jest-for-react</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-vitest-schnellere-tests-als-jest-fur-react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-50-rest-and-openapi-patterns-for-production-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-50-rest-und-openapi-patterns-fur-produktive-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-api-authentication-bearer-oauth2-signed-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/restapi-api-first-workflow-backend-frontend-qa</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-api-first-teams-workflow-zwischen-backend-frontend-und-qa" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-api-mocking-from-openapi-specifications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-api-mocking-aus-openapi-spezifikationen-erzeugen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-api-platform-openapi-automated-vs-manual-overrides</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/restapi-symfony-api-testing-httpclient-panther-phpunit-contract-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/restapi-backward-compatibility-in-api-schemas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-backward-compatibility-in-api-schemas-technisch-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-caching-etag-last-modified-cache-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/restapi-contract-testing-for-rest-apis-with-openapi</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-contract-testing-fur-rest-apis-mit-openapi" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-csv-xml-bulk-endpoints-clean-api-design</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/restapi-symfony-file-upload-endpoints-document-and-test</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-datei-upload-endpoints-in-symfony-dokumentieren-und-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-file-uploads-and-downloads-in-openapi</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-datei-uploads-und-downloads-sauber-in-openapi-beschreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-deprecations-breaking-changes-and-api-evolution-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-deprecations-breaking-changes-und-api-evolution-praktisch-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-api-documentation-for-external-integrators-that-really-helps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-dokumentation-fur-externe-integratoren-schreiben-die-wirklich-hilft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-error-payloads-and-business-errors-in-openapi</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-error-payloads-und-business-errors-in-openapi-richtig-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-hateoas-pragmatic-rest-and-when-hypermedia-really-makes-sense</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-hateoas-pragmatische-rest-und-wann-hypermedia-wirklich-sinn-ergibt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-idempotency-and-retry-post-put-patch-delete</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-idempotenz-und-retry-bei-post-put-patch-und-delete" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-jwt-vs-session-authentication-in-symfony</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-jwt-und-session-basierte-rest-apis-in-symfony-vergleichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-observability-for-rest-apis-logging-tracing-metrics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-observability-fur-rest-apis-logging-tracing-metriken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-openapi-3-1-building-blocks-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/restapi-openapi-examples-schemas-symfony-consistent</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-openapi-beispiele-und-schemas-in-symfony-konsistent-pflegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-openapi-codegen-generating-clean-clients-and-server-stubs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-openapi-codegen-clients-und-server-stubs-ohne-mull-erzeugen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-openapi-documentation-tags-examples-schemas-responses</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-openapi-dokumentieren-tags-examples-schemas-und-responses-sinnvoll-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/restapi-openapi-generator-in-ci-cd-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-openapi-generator-in-ci-einbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-openapi-in-symfony-with-nelmioapidocbundle-clean-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-openapi-in-symfony-mit-nelmioapidocbundle-sauber-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-openapi-mock-server-for-frontend-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-openapi-mock-server-fur-frontend-entwicklung-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-openapi-security-schemes-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-openapi-security-schemes-praktisch-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-openapi-and-postman-together-without-duplicate-maintenance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-openapi-und-postman-zusammen-nutzen-ohne-doppelpflege" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/restapi-openapi-und-security-audits-was-prufer-wirklich-sehen-wollen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-openapi-yaml-structuring-components-reuse-naming-versioning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-openapi-yaml-strukturieren-components-reuse-naming-versionierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-pagination-filtering-and-sorting-clean-rest-api-design</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-pagination-filter-und-sortierung-in-rest-apis-sauber-entwerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-patch-merge-patch-vs-json-patch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-patch-richtig-modellieren-merge-patch-vs-json-patch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-openapi-production-checklist-contracts-tests-errors-security-tooling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-produktive-openapi-symfony-checkliste-contracts-tests-errors-security-tooling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-rate-limiting-abuse-prevention-and-api-keys-in-symfony</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-rate-limiting-abuse-prevention-und-api-keys-in-symfony" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-response-examples-frontend-teams-can-use-directly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/restapi-rest-api-design-resources-verbs-idempotency-status-codes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/restapi-rest-api-performance-projection-streaming-compression-caching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-rest-api-performance-datenmenge-projection-streaming-compression" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-rest-api-review-checklist-for-symfony-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-rest-api-review-checkliste-fur-symfony-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/restapi-backoffice-apis-vs-public-apis-different-design-principles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/restapi-modeling-errors-problem-details-codes-field-errors-correlation-ids</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/rest-fehler-modellieren-problem-details-codes-feldfehler-correlation-ids" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-swagger-ui-redoc-scalar-stoplight-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/swagger-ui-redoc-scalar-und-stoplight-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-symfony-request-response-dtos-instead-of-arrays</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-request-dtos-und-response-dtos-statt-arrays-uberall" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/restapi-symfony-serializer-groups-useful-or-maintenance-hell</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-symfony-serializer-gruppen-sinnvoll-oder-einstieg-in-wartungsholle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-symfony-validation-errors-as-problem-details</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-validation-errors-in-symfony-apis-als-problem-details-ausgeben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-versioning-in-rest-apis-without-chaos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-versionierung-in-rest-apis-ohne-chaos" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-webhooks-in-openapi-3-1-documentation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-webhooks-in-openapi-3-1-dokumentieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/restapi-webhooks-vs-polling-vs-rest-callbacks-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-webhooks-vs-polling-vs-rest-callbacks-wann-was" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-api-platform-4-rest-and-graphql-without-boilerplate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-api-platform-4-rest-und-graphql-ohne-boilerplate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-aseventlistener-event-listener-without-yaml-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-aseventlistener-event-listener-ohne-yaml-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-autoconfigure-di-tags-without-manual-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-autoconfigure-di-tags-ohne-manuelle-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-doctrine-lifecycle-callbacks-vs-event-listeners</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-doctrine-events-lifecycle-callbacks-vs-event-listeners" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-doctrine-n-plus-1-dql-querybuilder-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-doctrine-performance-n-plus-1-problem-dql-querybuilder" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-hexagonal-architecture-ports-and-adapters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-hexagonale-architektur-in-symfony-ports-und-adapters" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-mapquerystring-maprequestpayload-typed-dtos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-mapquerystring-und-maprequestpayload-request-mapping" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-php-attributes-cheatsheet-complete-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-7-attribute-cheatsheet-alle-neuen-php-attribute" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-7-whats-new-and-whats-removed</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-7-was-ist-neu-und-was-fallt-weg" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-admin-easyadmin-4-vs-sonata-admin-when-what</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-admin-easyadmin-4-vs-sonata-wann-was" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-api-versioning-strategies-without-breaking-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-api-versionierung-strategien-ohne-breaking-changes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-assetmapper-bundler-is-history</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-assetmapper-bundler-war-gestern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-async-events-messenger-event-bus-combined</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-async-events-messenger-plus-event-bus-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-cache-multi-layer-caching-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-cache-komplexe-multi-layer-caching-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-console-typesafe-commands-with-attributes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-console-typsichere-commands-mit-attributen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-cqrs-pattern-commands-and-queries-cleanly-separated</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-cqrs-pattern-commands-und-queries-sauber-trennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-deployment-zero-downtime-deployer-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-deployment-zero-downtime-mit-deployer-php" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-di-decorators-and-compiler-passes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-di-dekoratoren-und-compiler-passes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-event-sourcing-reconstructing-state-from-events</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-event-sourcing-den-zustand-aus-events-rekonstruieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-feature-flags-without-third-party</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-feature-flags-ohne-third-party-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-form-custom-form-types-and-data-transformers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-form-custom-form-types-und-daten-transformatoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-httpclient-type-safe-resilient-api-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-httpclient-api-anfragen-typsicher-und-resilient" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-kernel-custom-bundles-in-2026-still-worth-it</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-kernel-custom-bundles-in-2026-noch-sinnvoll" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-lock-distributed-locks-with-redis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-lock-distributed-locks-mit-redis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-mailer-modern-type-safe-testable-emails</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-mailer-e-mails-modern-typsicher-und-testbar" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-mercure-real-time-updates-without-polling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-mercure-echtzeit-updates-im-browser-ohne-polling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-messenger-event-driven-architecture-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-messenger-event-driven-architecture-von-grund-auf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-multi-tenancy-one-codebase-many-tenants</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-multi-tenancy-ein-code-viele-mandanten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-notifier-slack-teams-sms-unified-interface</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-notifier-slack-teams-sms-mit-einem-interface" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-phpstan-magic-methods-and-doctrine-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-phpstan-magische-methoden-und-doctrine-typen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-elasticsearch-full-text-search-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-plus-elasticsearch-full-text-search-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-react-fullstack-app-with-api-platform</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-plus-react-fullstack-app-mit-api-platform" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-stripe-payments-clean-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-plus-stripe-zahlungen-sauber-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-tailwind-css-v4-optimal-setup-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-plus-tailwind-css-v4-optimales-setup-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-process-component-shell-processes-control-and-monitor</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-process-shell-prozesse-steuern-und-uberwachen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-profiler-find-performance-bottlenecks-in-seconds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-profiler-performance-engpasse-in-sekunden-finden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-rate-limiter-protecting-apis-from-abuse</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-rate-limiter-apis-vor-missbrauch-schutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-scheduler-cron-jobs-with-messenger</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-scheduler-cron-jobs-mit-dem-messenger" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-security-voters-instead-of-roles-for-granular-permissions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-security-voters-statt-roles-fur-granulare-rechte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-serializer-dto-mapping-and-normalization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-serializer-dto-mapping-und-normalisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-functional-tests-writing-efficiently</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-tests-functional-tests-effizient-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-translation-icu-message-format</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-translation-i18n-mit-icu-message-format" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-turbo-spa-feel-without-javascript-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-turbo-spa-feeling-ohne-javascript-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-ux-chartjs-data-visualization-without-custom-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-ux-chart-js-daten-ohne-custom-js-visualisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-ux-live-component-reactive-php-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-ux-live-component-reactive-php-components" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-ux-twigcomponent-reusable-blocks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-ux-twigcomponent-wiederverwendbare-blocke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-validator-custom-constraint-classes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-validator-eigene-constraint-klassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-vs-laravel-2026-honest-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-vs-laravel-2026-sachlicher-fairer-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-webhooks-external-events-type-safe</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-webhooks-externe-ereignisse-typsicher-verarbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-workflow-component-state-machine-for-processes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-symfony-workflow-component-state-machine-fur-prozesse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-css-animations-keyframes-transitions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-animationen-keyframes-transitions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-apply-good-practice-or-antipattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-apply-sinnvoll-oder-antipattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-aria-modifiers-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-aria-utilities-accessibility" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-aspect-ratio-responsive-media-embeds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-aspect-ratio-responsive-media" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-breakpoint-debugging-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-breakpoint-debugging" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-button-system-variant-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-button-system-variantenbibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-card-variants</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-card-varianten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-clip-path-creative-shapes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-clip-path-kreative-formen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-container-queries-responsive-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-container-queries" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-css4-theme-layer-utility-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-css-4-theme-layer-utility-hyva-theme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-v4-css-first-theme-config</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-css-first-config-theme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-css-v4-new-features-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-css-v4-neu" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-custom-utilities-utility-v4-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-custom-utilities-utility-v4" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-dark-mode-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-dark-mode-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-design-tokens-theme-system-v4</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-design-token-system-v4" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-figma-design-token-workflow-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-figma-design-token-workflow" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-focus-visible-accessible-focus-styles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-focus-visible" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-forms-plugin-accessible-styling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-forms-plugin" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-glassmorphism-frosted-glass-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-glassmorphism-frosted-glass" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-gradients-and-mesh-gradients</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-gradient-mesh-gradients" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-grid-mastery-complex-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-grid-mastery-komplexe-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-group-peer-selectors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-group-peer-selektoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-has-variant-css-has-selector</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-has-css-has-variante" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-hero-sections-variants</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-hero-sections-varianten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-icons-heroicons-phosphor-svg-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-icons-heroicons-phosphor-svg" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-jit-compiler-on-demand-css</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-jit-mode-compiler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-component-library-cva-storybook</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-komponenten-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-layer-base-components-utilities-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-layer-base-components-utilities" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-logical-properties-rtl-support</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-logical-properties-rtl" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-masonry-layout-pinterest-grid</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-masonry-layout" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-migration-v3-to-v4-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-migration-v3-zu-v4" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-motion-reduce-accessible-animations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-motion-reduce" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-multi-brand-theming-design-tokens</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-multi-brand-theming" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-navigation-patterns-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-navigation-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-oklch-color-space-v4</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-oklch-farbraum-v4" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-performance-smaller-css-bundle</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-performance-kleineres-css-bundle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-prefix-third-party-css-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-prefix-drittanbieter-css" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-print-styles-css-page-rules</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-print-styles" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-clsx-cn-cva-react-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-react-best-practices-clsx-cn" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-responsive-tables-mobile-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-responsive-tabellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-safelist-dynamic-classes-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-safelist-dynamische-klassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-scroll-snap-slider-carousel</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-scroll-snap-slider" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-sticky-layouts-header-sidebar-tables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-sticky-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-storybook-component-documentation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-storybook-komponenten-dokumentieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-symfony-assetmapper-setup-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-symfony-setup-assetmapper" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-typography-plugin-prose-classes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-typography-plugin-prose" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-v4-cheatsheet-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-v4-cheatsheet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-v4-oxide-compiler-rust-build-engine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-v4-oxide-compiler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-v4-variants-selectors-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-v4-varianten-selektoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-vs-bootstrap-5-framework-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-vs-bootstrap-5" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-css-vs-css-modules-react-nextjs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-vs-css-modules" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-50-vue-3-patterns-for-productive-frontends</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-50-vue-3-patterns-fur-produktive-frontends" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-accessibility-focus-aria-keyboard-support</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-accessibility-in-vue-komponenten-fokus-aria-keyboard-support" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-admin-interfaces-with-vue-3-tables-filters-bulk-actions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-admin-oberflachen-mit-vue-3-tabellen-filter-bulk-actions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-charts-and-data-visualization-in-vue-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-charts-und-datenvisualisierung-in-vue-sauber-einbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-designing-component-apis-stable-interfaces-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-component-apis-designen-stabile-schnittstellen-fur-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-composable-patterns-reusable-logic-without-copy-paste</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-composable-patterns-wiederverwendbare-logik-ohne-copy-paste" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-composable-vs-pinia-stores-which-pattern-when</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-composable-stores-vs-pinia-stores-wann-welches-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-composable-testing-testing-reusable-logic-in-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-composable-testing-wie-man-wiederverwendbare-logik-isoliert-pruft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-composition-api-clean-structure-instead-of-setup-chaos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-composition-api-sauber-strukturieren-statt-setup-chaos" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-dark-mode-theming-design-tokens</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-dark-mode-theming-und-design-tokens-in-vue-apps" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-file-based-architecture-for-larger-vue-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-dateibasierte-architektur-fur-groere-vue-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-file-uploads-progress-preview-error-paths</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-dateiuploads-in-vue-progress-preview-fehlerpfade" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-data-loading-nuxt-fetching-caching-error-handling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-daten-laden-in-vue-nuxt-fetching-caching-error-handling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-devtools-for-vue-3-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-devtools-fur-vue-3-produktiv-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-drag-and-drop-in-vue-without-ui-chaos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-drag-and-drop-in-vue-ohne-ui-chaos" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-error-pages-fallbacks-error-boundaries-in-vue-nuxt</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-fehlerseiten-fallbacks-und-error-boundaries-in-vue-nuxt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-form-builder-and-dynamic-forms-in-vue-3</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-form-builder-und-dynamische-formulare-in-vue-3" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-3-form-validation-dirty-state-and-async-checks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-forms-in-vue-3-validation-dirty-state-async-checks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-headless-ui-radix-vue-component-libraries-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-headless-ui-radix-vue-und-komponentenbibliotheken-vergleichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-hydration-mismatches-understanding-and-avoiding-them</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-hydration-probleme-verstehen-und-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-infinite-scroll-pagination-and-search-filters-cleanly-connected</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-infinite-scroll-pagination-und-suchfilter-mit-vue-sauber-verbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-micro-interactions-in-vue-without-overengineering</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-micro-interactions-in-vue-ohne-overengineering" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-migrating-from-vue-2-to-vue-3-realistically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-migration-von-vue-2-auf-vue-3-realistisch-planen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-nuxt-3-architecture-server-routes-composables-nitro</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-3-architektur-verstehen-server-routes-composables-nitro" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-nuxt-caching-and-edge-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-caching-und-edge-strategien-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-nuxt-middleware-auth-and-protected-routes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-middleware-auth-und-geschutzte-bereiche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-nuxt-seo-meta-open-graph-canonicals-structured-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-seo-meta-open-graph-canonicals-und-strukturierte-daten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-production-ready-nuxt-checklist-performance-accessibility-testing-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-produktive-vue-nuxt-checkliste-performance-accessibility-testing-api-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-props-emits-and-one-way-data-flow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-props-emits-und-one-way-data-flow-sauber-halten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-provide-inject-instead-of-prop-drilling-or-global-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/vue-realtime-in-vue-websocket-sse-and-polling-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-realtime-in-vue-websocket-sse-und-polling-vergleichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-renderless-headless-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-renderless-components-und-headless-patterns-in-vue" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-slots-scoped-slots-flexible-ui-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-slots-und-scoped-slots-fur-flexible-ui-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-ssr-ssg-and-hybrid-rendering-in-nuxt</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-ssr-ssg-und-hybrid-rendering-in-nuxt-sauber-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-state-explosion-prevent-small-calm-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-state-explosion-verhindern-kleine-ruhige-komponenten-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-state-management-with-pinia-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-state-management-mit-pinia-richtig-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-team-patterns-for-vue-code-reviews</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-team-patterns-fur-vue-code-reviews" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-teleport-suspense-async-components-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-teleport-suspense-und-async-components-sinnvoll-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-transitions-what-is-truly-smooth-and-what-just-flickers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/vue-3-reactivity-explained-ref-reactive-computed-watch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-vue-3-reaktivitat-wirklich-verstehen-ref-reactive-computed-watch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-graphql-queries-caching-tooling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-vue-graphql-queries-caching-tooling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/vue-documenting-vue-components-with-storybook</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-vue-komponenten-dokumentieren-mit-storybook" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-performance-large-lists-memoization-virtualization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-vue-performance-groe-listen-memoisierung-virtualisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-rest-api-dto-thinking-error-mapping-retry</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-vue-rest-api-dto-denken-error-mapping-retry" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-router-nested-routes-guards-scroll-behavior</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-vue-router-praktisch-nutzen-nested-routes-guards-scroll-behavior" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-security-review-xss-unsafe-html-interpolation-third-party-risk</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/vue-testing-with-vitest-and-testing-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-vue-testing-mit-vitest-und-testing-library" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-and-tailwind-sensible-patterns-instead-of-class-soup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-vue-und-tailwind-sinnvolle-patterns-statt-klassenmull" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-watch-vs-watcheffect-vs-computed-when-to-use-what</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-watch-vs-watcheffect-vs-computed-wann-was" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-terms-checkbox-checkout-compliance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-agb-checkbox-checkout-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-implementing-b2b-features-in-the-theme</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-b2b-features-im-theme-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-block-cache-strategy-for-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-block-cache-strategie-fuer-templates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-checkout-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-checkout-customizing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-cms-blocks-and-widgets-in-the-theme</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-cms-blocks-und-widgets-im-theme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-compatibility-modules-luma-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-compatibility-module-mit-luma-abgleichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-cookie-consent-module</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-cookie-consent-modul" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-csp-content-security-policy-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-csp-content-security-policy-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-extending-customer-account-dashboard</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-customer-account-dashboard-erweitern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-building-custom-alpine-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-eigene-alpine-komponenten-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-custom-payment-methods-checkout</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-eigene-zahlungsmethoden-im-checkout" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-custom-theme-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-eigenes-theme-von-grund-auf-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-layered-navigation-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-facettierte-navigation-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-fallback-mechanism-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-fallback-mechanismus-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-designing-404-500-error-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-fehlerseiten-404-500-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-formkey-csrf-protection-in-frontend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-formkey-csrf-schutz-im-frontend" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-graphql-queries-in-the-frontend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-graphql-queries-im-frontend" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-header-footer-structural-layout-xml</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-header-footer-strukturell-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-hot-reload-local-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-hot-reload-lokale-entwicklung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-category-page-filter-ui-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-kategorieseite-filter-ui-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-layout-xml-differences-from-luma</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-layout-xml-unterschiede-zu-luma" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-lazy-loading-for-product-images</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-lazy-loading-fuer-produktbilder" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-live-search-autocomplete-header-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-live-search-autocomplete-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-porting-luma-modules-to-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-luma-module-nach-hyva-portieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-minicart-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-minicart-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-mobile-navigation-with-alpine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-mobile-navigation-mit-alpine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-modal-dialogs-with-alpine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-modal-dialoge-mit-alpine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-module-config-json-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-module-config-json-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-multi-store-theme-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-multi-store-theme-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-integrating-newsletter-module</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-newsletter-modul-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-order-success-page-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-order-success-page-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-pagebuilder-content-types-integration-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-pagebuilder-content-types-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-performance-optimization-lighthouse</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-performance-optimierung-lighthouse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-product-page-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-produktseite-customizing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-vs-pwa-studio-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-pwa-studio-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-implementing-reorder-functionality</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-reorder-funktion-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-schema-org-integration-in-the-theme</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-schema-org-integration-im-theme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-store-switcher-currency-selector</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-store-switcher-waehrungsumschalter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-svg-icons-and-sprites-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-svg-icons-und-sprites-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-swatches-for-configurable-products</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-swatches-fuer-konfigurierbare-produkte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-tailwind-config-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-tailwind-config-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-tailwind-css-purge-production-build</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-tailwind-css-purge-produktions-build" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-theme-architecture-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-theme-architektur-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-theme-testing-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-theme-testing-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-replacing-ui-components-with-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-ui-components-durch-templates-ersetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-shipping-methods-frontend-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-versandmethoden-im-frontend-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-viewmodel-pattern-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-viewmodel-pattern-frontend" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-vs-luma-migration-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-vs-luma-migrationsstrategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-webp-image-format-automation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-webp-bildformate-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/hyva-customizing-wishlist-functionality</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-wishlist-funktionalitaet-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-2fa-admin-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-2fa-admin-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-admin-acl-roles-permissions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-admin-acl-rollen-rechte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-admin-custom-notifications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-admin-notifications-custom" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-amazon-ebay-marketplace-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-amazon-ebay-anbindung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-attribute-sets-governance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-attribute-sets-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-b2b-company-accounts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-b2b-firmenkonten-rollen-freigaben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-backup-disaster-recovery-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-backup-disaster-recovery" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-backward-compatibility-policy-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-backward-compatibility-policy" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-block-vs-template-decision</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-block-vs-template-entscheidung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-blue-green-deployment-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-blue-green-deployment" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-bundle-products-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-bundle-produkte-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-catalog-price-rules-vs-cart-price-rules</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-katalog-preisregeln-vs-warenkorb-preisregeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-cli-hidden-gems-power-user-commands</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-cli-hidden-gems-power-user-befehle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-private-composer-repository-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-composer-private-repositories" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-configurable-products-variations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-configurable-produkte-varianten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-customer-groups-pricing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-customer-groups-preisregeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-deprecation-handling-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-deprecation-handling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-preference-vs-plugin-decision-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-di-preference-vs-plugin-entscheidung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-downloadable-products</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-downloadable-produkte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-gdpr-compliance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-dsgvo-compliance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-transactional-email-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-email-templates-transaktional" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-checkout-fraud-prevention</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-fraud-prevention" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-gift-cards-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-gift-cards-implementierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-graphql-caching-with-varnish</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-graphql-cache-mit-varnish" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-graphql-schema-extending</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-graphql-schema-erweitern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-headless-commerce-pwa-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-headless-commerce-pwa" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-invoice-creditmemo-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-invoice-creditmemo-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-layout-xml-handbook</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-layout-xml-handbuch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-log-management-monitoring-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-log-management-monitoring" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-message-queue-consumer-deep-dive-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-message-queue-consumer-deep-dive" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-mftf-functional-testing-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-mftf-functional-testing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-1-to-magento-2-migration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-migration-magento1-zu-magento2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-module-dependency-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-modul-abhaengigkeiten-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-module-versioning-semver</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-module-versionierung-semver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-paypal-adyen-payment-integration-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-paypal-adyen-payment-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-pdf-invoice-generation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-pdf-generierung-rechnungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-plugin-sort-order-conflicts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-plugin-sort-order-konflikte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-quote-management-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-warenkorb-quote-api-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-redis-session-storage-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-redis-session-storage" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-rma-returns-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-rma-retouren-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-sales-rules-promotions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-sales-rules-eigene-bedingungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-sequence-tables-entity-ids</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-sequence-tables" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-static-tests-coding-standard</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-static-tests-code-sniffer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-store-credit-balance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-store-credit-guthaben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-subscription-products-recurring-payments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-subscription-produkte-abo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-tax-rules-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-tax-rules-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-url-rewrites-verwalten-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-url-rewrites-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-varnish-vs-built-in-cache-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-varnish-vs-built-in-cache" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-asynchronous-and-bulk-web-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-asynchrone-und-bulk-web-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-webhooks-reliable-event-delivery</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-webhooks-events-zuverlaessig-versenden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-84-new-features-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-84-neue-features-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/abstract-classes-vs-interfaces-in-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-abstract-classes-vs-interfaces" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-array-functions-performance-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-array-funktionen-performance-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-asymmetric-visibility-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-asymmetric-visibility" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-asynchronous-php-swoole-reactphp</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-async-php-swoole-reactphp" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-attributes-creating-your-own</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-attributes-eigene-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-cli-scripts-with-symfony-console</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-cli-skripte-mit-symfony-console" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/enforcing-psr12-code-style</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-code-style-psr12-durchsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-composer-autoloading-psr4-internals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-composer-autoloading-psr4-intern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-composer-scripts-and-lifecycle-hooks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-composer-scripts-und-hooks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-constructor-property-promotion-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-constructor-property-promotion" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-datetimeimmutable-vs-datetime-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-datetime-immutable-vs-datetime" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-dependency-injection-container-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-dependency-injection-container-eigenbau" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-deprecation-warnings-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-deprecations-migrations-guide" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-custom-exception-hierarchies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-eigene-exception-hierarchien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-design-patterns-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-entwurfsmuster-allgemein-uebersicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-enums-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-enums-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-enums-with-interfaces-and-methods</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-enums-mit-interfaces-und-methoden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-exceptions-and-error-handling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-exceptions-und-error-handling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-fibers-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-fibers-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/first-class-callable-syntax-in-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-first-class-callable-syntax" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-generators-and-yield</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-generators-und-yield" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-http-clients-guzzle-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-http-clients-guzzle-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/immutable-objects-in-php-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-immutable-objects-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-jit-compiler-performance-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-jit-compiler-performance-analyse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-match-expression-versus-switch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-match-expression-vs-switch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-memory-management-and-garbage-collection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-memory-management-garbage-collection" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-mocking-strategies-test-doubles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-mocking-strategien-testdoubles" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/named-arguments-in-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-named-arguments" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-nullsafe-operator-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-nullsafe-operator" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-opcache-tuning-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-opcache-tuning-produktion" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-password-hashing-argon2-vs-bcrypt</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-password-hashing-argon2-bcrypt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-performance-profiling-with-blackfire-and-xhprof</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-performance-profiling-blackfire-xhprof" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/phpstan-level-max-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-phpstan-level-max-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-84-property-hooks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-property-hooks-84" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/psalm-vs-phpstan-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-psalm-vs-phpstan-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-readonly-properties-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-readonly-properties" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/rector-automated-refactoring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-rector-automatisiertes-refactoring" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-security-best-practices-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-security-best-practices-uebersicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-serialization-json-vs-native</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-serialisierung-json-vs-nativ" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-solid-principles-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-solid-prinzipien-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-sql-injection-prevention-pdo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-sql-injection-vermeiden-pdo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-strict-types-why-it-matters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-strict-types-warum-wichtig" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-string-functions-and-multibyte-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-string-funktionen-und-multibyte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/traits-vs-interfaces-in-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-traits-vs-interfaces" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-union-and-intersection-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-union-und-intersection-types" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-unit-testing-fundamentals-without-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-unit-testing-grundlagen-ohne-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-value-objects-modeling-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-value-objects-richtig-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php7-to-php8-version-migration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-versionsvergleich-php8-vs-php7-migration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-xdebug-debugging-tricks-advanced</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-xdebug-debugging-tricks-fortgeschritten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-answer-engine-optimization-vs-traditional-seo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-answer-engine-optimization-vs-klassisches-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bing-copilot-search-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bing-copilot-suchintegration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-unlinked-brand-mentions-geo-value</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-brand-mentions-ohne-link-seo-wert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-brand-search-volume-social-media-growth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-brand-search-volume-durch-social-steigern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/chatgpt-search-visibility-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/chatgpt-suche-sichtbarkeit-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-community-management-long-term-seo-impact</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-community-management-seo-langzeiteffekt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-content-depth-vs-brevity-ai-summaries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-content-tiefe-vs-kuerze-ki-zusammenfassungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-conversational-search-changes-intent</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-conversational-search-intent-veraendert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-e-e-a-t-signals-for-ai-search-engines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-e-e-a-t-signale-fuer-ki-suchmaschinen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/geo-competitive-analysis-who-gets-cited-in-ai-answers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/geo-competitive-analyse-wer-wird-in-ki-antworten-zitiert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/geo-content-audit-optimize-existing-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/geo-content-audit-bestehende-seiten-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-content-formats-ai-search-engines-extract</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-geo-content-format-listen-tabellen-faq" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-geo-case-studies-what-actually-works</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-geo-fallstudien-was-tatsaechlich-wirkt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-geo-for-magento-product-data-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-geo-fuer-magento-produktdaten-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/generative-engine-optimization-geo-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/geo-generative-engine-optimization-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-geo-measurability-tracking-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-geo-messbarkeit-tracking-tools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/geo-strategy-for-b2b-content-long-buying-cycles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/geo-strategie-fuer-b2b-fachcontent-lange-entscheidungszyklen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-geo-vs-traditional-ranking-metrics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-geo-vs-traditionelles-ranking-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/google-ai-overviews-content-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/google-ai-overviews-content-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-google-discover-social-media-like-mechanics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-google-discover-social-aehnliche-mechanik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-influencer-marketing-backlink-effects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-influencer-marketing-backlink-effekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/instagram-seo-alt-text-and-hashtags</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/instagram-seo-alt-text-hashtags" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-integrated-seo-social-media-strategy-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-integrierte-seo-social-media-strategie-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-ai-search-crawlers-explained-gptbot-oai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-ki-suchmaschinen-crawler-verstehen-gptbot-oai" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/ai-crawlers-robots-txt-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/ki-crawler-robots-txt-steuerung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linkedin-seo-b2b-content-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linkedin-seo-b2b-content-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-llm-training-data-brand-mentions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-llm-training-daten-markenerwaehnung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-multimodal-ai-search-images-video</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-multimodale-ki-suche-bilder-videos" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-open-graph-tags-configure-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-open-graph-tags-optimal-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/perplexity-ai-search-engine-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/perplexity-ai-suchmaschine-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-pinterest-seo-rich-pins-ecommerce</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-pinterest-seo-rich-pins-e-commerce" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-reddit-quora-forum-seo-visibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-reddit-quora-foren-seo-sichtbarkeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-social-commerce-product-page-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-social-commerce-produktseiten-verknuepfung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-social-listening-for-content-ideas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-social-listening-fuer-content-ideen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-blog-content-repurposing-for-social-media</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-social-media-content-repurposing-blog" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-social-media-crossposting-duplicate-content-risks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-social-media-crossposting-duplicate-content" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-social-media-kpis-vs-seo-kpis-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-social-media-kpis-vs-seo-kpis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-social-media-crisis-management-seo-impact</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-social-media-krisenmanagement-seo-auswirkungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sameas-social-profile-schema-markup-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/social-media-schema-markup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-social-media-traffic-vs-organic-traffic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-social-media-traffic-vs-organischer-traffic" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-social-proof-reviews-seo-trust-signal</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-social-proof-bewertungen-seo-vertrauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-social-signals-ranking-factor-myth-reality</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-social-signals-rankingfaktor-mythos-realitaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-structured-data-for-ai-search-engines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-strukturierte-daten-fuer-ki-suchmaschinen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tiktok-seo-search-engine-for-younger-audiences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tiktok-seo-suchmaschine-der-jungen-zielgruppe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-x-twitter-cards-social-seo-alignment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-twitter-x-cards-social-sharing-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/user-generated-content-seo-value</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/user-generated-content-seo-wert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-video-transcripts-seo-value</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-video-transkripte-seo-mehrwert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-youtube-seo-video-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-youtube-seo-video-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/seo2-citability-content-for-ai-answers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-zitierfaehigkeit-content-fuer-ki-antworten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/future-of-search-seo-2030-outlook</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/zukunft-der-suche-seo-2030-ausblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-8-vs-mariadb-differences-that-matter-in-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-8-vs-mariadb-unterschiede-die-zaehlen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-backup-strategies-mysqldump-vs-xtrabackup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-backup-strategien-mysqldump-vs-xtrabackup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-binlog-formats-statement-row-mixed</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-binlog-formate-statement-row-mixed" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-charset-and-collation-using-utf8mb4-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-charset-und-collation-utf8mb4-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-designing-composite-indexes-column-order</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-composite-indizes-richtig-entwerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-configuring-connection-pooling-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-connection-pooling-richtig-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-covering-index-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-covering-index-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-database-healthcheck-checklist-for-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-datenbank-healthcheck-checkliste-fuer-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/mysql-datentypen-richtig-waehlen-speicherplatz-sparen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-deadlocks-detecting-and-avoiding</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-deadlocks-erkennen-und-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-reading-explain-analyze-query-plans</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-explain-analyze-query-plaene-lesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-failover-strategies-without-data-loss</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-failover-strategien-ohne-datenverlust" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-full-text-search-diy-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-full-text-search-eigene-implementierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-galera-cluster-multi-master-setup-and-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-galera-cluster-multi-master-setup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-gap-locks-and-next-key-locks-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-gap-locks-und-next-key-locks-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-generated-columns-for-faster-queries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-generated-columns-fuer-schnellere-queries" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-group-replication-for-high-availability</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-group-replication-fuer-hochverfuegbarkeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-index-cardinality-and-selectivity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-index-cardinality-und-selektivitaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-innodb-buffer-pool-architecture-and-sizing-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-innodb-buffer-pool-architektur-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-innodb-doublewrite-buffer-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-innodb-doublewrite-buffer-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-innodb-redo-log-and-crash-recovery-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-innodb-redo-log-und-crash-recovery" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-innodb-vs-myisam-differences-that-still-matter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-innodb-storage-engine-vs-myisam-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-isolation-levels-understanding-the-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-isolation-levels-unterschiede-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-json-columns-practical-use-and-indexing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-json-spalten-praktischer-einsatz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-avoiding-long-running-transactions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-long-running-transactions-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-magento-cron-schedule-table-cleanup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-magento-cron-schedule-tabelle-aufraeumen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-magento-database-migration-zero-downtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-magento-datenbank-migration-zero-downtime" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-magento-database-growth-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-magento-datenbank-wachstum-kontrollieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-magento-eav-schema-performance-limits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-magento-eav-schema-performance-grenzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-magento-indexer-tables-understanding-and-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-magento-indexer-tabellen-verstehen-und-tunen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-magento-log-tables-cleanup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-magento-log-tabellen-bereinigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-magento-multi-store-schema-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-magento-multi-store-schema-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-magento-quote-and-sales-table-archiving</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-magento-quote-und-sales-tabellen-archivierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-monitoring-the-metrics-that-matter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-monitoring-die-wichtigsten-metriken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-detecting-and-avoiding-n-plus-1-queries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-n-plus-1-queries-erkennen-und-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-optimistic-vs-pessimistic-locking-in-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-optimistic-vs-pessimistic-locking-in-anwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-using-optimizer-hints-deliberately</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-optimizer-hints-gezielt-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-partitioning-large-tables-strategies-and-limits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-partitionierung-grosser-tabellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-percona-toolkit-for-magento-stores</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-percona-toolkit-fuer-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-point-in-time-recovery-with-binlogs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-point-in-time-recovery-mit-binlogs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-prepared-statements-security-and-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-prepared-statements-sicherheit-und-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-proxysql-for-connection-pooling-and-routing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-proxysql-fuer-connection-pooling-und-routing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-query-cache-why-it-no-longer-exists</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-query-cache-warum-es-ihn-nicht-mehr-gibt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-read-replicas-load-balancing-in-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-read-replicas-lastverteilung-in-anwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-replication-basics-async-vs-semi-sync</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-replikation-grundlagen-async-vs-semi-sync" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-row-locking-vs-table-locking-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-row-level-locking-vs-table-locking" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-savepoints-for-partial-rollbacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-savepoints-fuer-teilweise-rollbacks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-analyzing-the-slow-query-log-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-slow-query-log-systematisch-auswerten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-tablespace-management-and-file-per-table-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-tablespace-verwaltung-und-file-per-table" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mysql-transactions-acid-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-transaktionen-acid-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-as-a-message-queue-limits-and-alternatives</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-als-message-queue-grenzen-und-alternativen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-aof-persistence-fsync-strategies-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-aof-persistence-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-backup-and-restore-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-backup-und-restore-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-bitmaps-for-efficient-flag-storage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-bitmaps-fuer-effiziente-flag-speicherung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-cache-aside-pattern-implementation-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-cache-aside-pattern-richtig-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-preventing-cache-stampede</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-cache-stampede-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-cache-invalidation-strategies-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-caching-invalidierung-strategien-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-cluster-resharding-without-downtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-cluster-resharding-ohne-downtime" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-cluster-sharding-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-cluster-sharding-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-cluster-vs-sentinel-when-to-use-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-cluster-vs-sentinel-wann-was-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-data-types-strings-hashes-lists-sets-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-datentypen-strings-hashes-listen-sets-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-data-loss-scenarios-and-safeguards</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-datenverlust-szenarien-und-absicherung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-configuring-diskless-replication</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-diskless-replication-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-distributed-locks-with-redlock</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-distributed-locks-mit-redlock" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-eviction-strategies-lru-lfu-random</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-eviction-strategien-lru-lfu-random" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-expire-and-ttl-strategies-correctly-applied</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-expire-und-ttl-strategien-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-geo-commands-for-location-based-queries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-geo-commands-fuer-standortbasierte-abfragen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/understanding-redis-hash-slots</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-hash-slots-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-hyperloglog-for-approximate-counting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-hyperloglog-fuer-naeherungsweise-zaehlungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-keyspace-notifications-for-reactive-architectures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-keyspace-notifications-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-leaderboards-with-sorted-sets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-leaderboards-mit-sorted-sets-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-lua-scripting-for-atomic-operations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-lua-scripting-fuer-atomare-operationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-magento-cache-backend-configuration-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-magento-cache-backend-konfiguration-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-magento-cache-warmup-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-magento-cache-warmup-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-magento-cluster-setup-for-scaling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-magento-cluster-setup-fuer-skalierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-magento-full-page-cache-tag-invalidation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-magento-full-page-cache-tag-invalidierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-magento-memory-sizing-capacity-planning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-magento-memory-sizing-richtig-planen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-magento-multi-database-separation-cache-session-fpc</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-magento-multi-datenbank-trennung-cache-session-fpc" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-magento-session-backend-performance-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-magento-session-backend-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-magento-troubleshooting-common-errors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-magento-troubleshooting-haeufige-fehler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-maxmemory-policies-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-maxmemory-policies-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-memory-fragmentation-understanding-and-fixing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-memory-fragmentation-verstehen-und-beheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-monitoring-with-redis-cli-and-info</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-monitoring-mit-redis-cli-und-info" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-multi-az-deployment-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-multi-az-deployment-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-durability-latency-tradeoffs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-persistence-performance-tradeoffs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-pub-sub-for-real-time-events</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-pub-sub-fuer-echtzeit-events" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-rate-limiting-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-rate-limiting-implementierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-rdb-snapshots-explained-and-configured</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-rdb-snapshots-verstehen-und-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-rdb-vs-aof-choosing-the-right-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-rdb-vs-aof-die-richtige-wahl-treffen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-master-replica-replication-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-replikation-master-replica-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-security-hardening-for-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-security-haertung-fuer-produktivbetrieb" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-sentinel-automatic-failover-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-sentinel-fuer-automatisches-failover" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-session-storage-architecture-decisions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-session-storage-architektur-entscheidungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-slowlog-performance-diagnostics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-slowlog-fuer-performance-diagnose" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-sorted-sets-practical-use-cases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-sorted-sets-praktische-anwendungsfaelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/avoiding-redis-split-brain-scenarios</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-split-brain-szenarien-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-streams-as-a-message-log</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-streams-als-message-log" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-transactions-with-multi-exec</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-transaktionen-mit-multi-exec" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-vs-varnish-clear-roles-in-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-vs-varnish-rollenverteilung-in-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/redis-write-through-vs-write-back-caching-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-write-through-vs-write-back-caching" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-acid-properties-explained-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-acid-eigenschaften-im-detail-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-building-analytics-queries-for-reporting-dashboards</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-analytics-queries-fuer-reporting-dashboards" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-anti-joins-and-semi-joins-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-anti-joins-und-semi-joins-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-batch-processing-vs-single-inserts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-batch-processing-vs-einzelne-inserts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-bulk-operations-performant-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-bulk-operations-performant-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-common-table-expressions-cte-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-common-table-expressions-cte-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-constraints-check-unique-not-null-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-constraints-check-unique-not-null-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-correlated-subqueries-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-correlated-subqueries-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/writing-database-agnostic-sql-portability-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-datenbank-agnostisches-sql-schreiben-portabilitaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-data-modeling-entity-relationship-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-datenmodellierung-entity-relationship-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-data-type-choices-with-long-term-consequences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-datentyp-wahl-mit-langfristigen-folgen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-deadlock-avoidance-application-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-deadlock-vermeidung-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-denormalization-deliberate-tradeoffs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-denormalisierung-bewusste-tradeoffs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-dirty-read-phantom-read-non-repeatable-read-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-dirty-read-phantom-read-non-repeatable-read" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-distributed-transactions-and-two-phase-commit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-distributed-transactions-und-two-phase-commit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-exists-vs-in-performance-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-exists-vs-in-performance-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-reading-explain-plans</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-explain-plans-lesen-lernen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-first-value-and-last-value-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-first-value-last-value-praktisch-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-foreign-keys-and-referential-integrity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-fremdschluessel-und-referentielle-integritaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-index-strategies-framework-agnostic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-index-strategien-framework-unabhaengig" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-isolation-levels-read-committed-to-serializable</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-isolation-levels-read-committed-bis-serializable" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-join-types-inner-left-right-full-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-join-typen-inner-left-right-full-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-lag-lead-for-previous-next-values</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-lag-lead-fuer-vorherige-naechste-werte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-lateral-joins-for-complex-queries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-lateral-joins-fuer-komplexe-abfragen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-many-to-many-relationships-modeled-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-many-to-many-beziehungen-richtig-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-calculating-moving-averages-in-sql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-moving-average-in-sql-berechnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-understanding-mvcc-multi-version-concurrency-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-mvcc-multi-version-concurrency-control-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-normalization-1nf-to-3nf-explained-practically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-normalisierung-1nf-bis-3nf-praktisch-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-ntile-for-percentile-calculations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-ntile-fuer-perzentil-berechnungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-optimistic-locking-with-version-columns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-optimistic-locking-mit-versionsspalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-pagination-strategies-offset-vs-keyset</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-pagination-strategien-offset-vs-keyset" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-partition-by-practical-examples</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-partition-by-praktische-beispiele" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-pessimistic-locking-with-select-for-update</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-pessimistic-locking-select-for-update" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-primary-key-strategies-natural-vs-surrogate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-primaerschluessel-strategien-natural-vs-surrogate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-query-optimization-checklist-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-query-optimierung-checkliste-fuer-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-recursive-ctes-for-hierarchical-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-rekursive-ctes-fuer-hierarchische-daten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-row-number-rank-dense-rank-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-row-number-rank-dense-rank-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-running-totals-with-window-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-running-totals-mit-window-functions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-savepoints-for-granular-rollbacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-savepoints-fuer-granulare-rollbacks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-schema-migrations-versioning-and-rollback-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-schema-migrationen-versionierung-und-rollback" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-self-join-practical-use-cases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-self-join-praktische-anwendungsfaelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-injection-prevention-at-the-database-level</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-sql-injection-praevention-auf-datenbankebene" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/stored-procedures-pros-and-cons-honestly-weighed</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-stored-procedures-vor-und-nachteile" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-subqueries-vs-joins-when-to-use-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-subqueries-vs-joins-wann-was-verwenden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-sizing-transaction-scope-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-transaction-scope-richtig-dimensionieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-union-vs-union-all-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-union-vs-union-all-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-inheritance-in-relational-databases-modeled-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-vererbung-in-relationalen-datenbanken-abbilden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/view-vs-materialized-view-differences-that-matter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-view-vs-materialized-view-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-window-frames-rows-vs-range-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-window-frames-rows-vs-range-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-window-functions-basics-over-clause</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-window-functions-grundlagen-over-clause" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-aggregations-fundamentals-bucket-vs-metric-aggregation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-aggregationen-grundlagen-bucket-vs-metric" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-analyzers-and-tokenizers-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-analyzer-und-tokenizer-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-implementing-autocomplete-and-suggest</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-autocomplete-und-suggest-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-cardinality-aggregation-approximate-counts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-cardinality-aggregation-naeherungswerte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-cluster-architecture-master-and-data-nodes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-cluster-architektur-master-data-nodes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-cluster-health-monitoring-and-alerting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-cluster-health-monitoring-und-alerting" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-composite-aggregation-for-pagination</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-composite-aggregation-fuer-pagination" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-custom-analyzers-for-multilingual-shops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-custom-analyzer-fuer-mehrsprachige-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-date-histogram-for-time-series-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-date-histogram-fuer-zeitreihen-analysen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-dynamic-mapping-risks-and-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-dynamic-mapping-risiken-und-kontrolle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-explain-api-for-scoring-debugging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-explain-api-fuer-scoring-debugging" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-faceted-navigation-mapping-for-aggregations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-faceted-navigation-mapping-auf-aggregationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-function-score-query-for-targeted-boosting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-function-score-query-fuer-boosting" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-fuzzy-search-and-typo-tolerance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-fuzzy-search-und-typo-toleranz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-highlighting-search-results</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-highlighting-such-ergebnisse-hervorheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-hot-warm-cold-architecture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-hot-warm-cold-architektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-index-aliases-for-versioning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-index-aliases-strategisch-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-index-templates-and-component-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-index-templates-und-component-templates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-jvm-heap-tuning-a-practical-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-jvm-heap-tuning-praxisleitfaden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-magento-catalogsearch-architecture-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-magento-catalogsearch-architektur-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-magento-custom-attribute-mapping-extend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-magento-custom-attribute-mapping-erweitern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-magento-indexer-performance-for-large-catalogs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-magento-indexer-performance-bei-grossen-katalogen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-magento-layered-navigation-aggregations-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-magento-layered-navigation-aggregationen-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-magento-multilingual-search-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-magento-mehrsprachige-suche-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-magento-search-migration-from-solr</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-magento-such-migration-von-solr" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-magento-managing-search-synonyms</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-magento-such-synonyme-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-magento-search-debugging-methodology</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-magento-suche-debugging-methodik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-magento-search-relevance-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-magento-suche-relevanz-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-mapping-design-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-mapping-design-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-preventing-mapping-explosion</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-mapping-explosion-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-match-vs-term-query-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-match-vs-term-query-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-multi-field-mapping-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-multi-field-mapping-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-nested-aggregations-for-faceted-search</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-nested-aggregationen-fuer-facettierte-suche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-nested-vs-object-data-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-nested-vs-object-datentypen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-percentile-aggregation-for-reliable-performance-metrics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-percentile-aggregation-fuer-performance-metriken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-performance-troubleshooting-checklist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-performance-troubleshooting-checkliste" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-pipeline-aggregations-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-pipeline-aggregationen-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-query-dsl-bool-query-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-query-dsl-bool-query-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-zero-downtime-reindexing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-reindexing-ohne-downtime" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-relevance-scoring-understanding-bm25</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-relevance-scoring-bm25-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-rolling-upgrades-without-downtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-rolling-upgrades-ohne-ausfallzeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-runtime-fields-for-flexible-analytics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-runtime-fields-flexible-auswertungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-search-as-you-type-for-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-search-as-you-type-performant-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-security-authentication-and-roles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-security-authentifizierung-und-rollen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-shard-sizing-finding-the-right-number</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-shard-sizing-die-richtige-anzahl-finden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-snapshot-and-restore-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-snapshot-und-restore-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-configuring-synonyms-and-stemming</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-synonyme-und-stemming-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-terms-aggregation-performance-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-terms-aggregation-performance-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-vs-algolia-vs-klevu-for-magento-shops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-vs-algolia-vs-klevu-fuer-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/elasticsearch-vs-opensearch-differences-after-the-fork</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-vs-opensearch-unterschiede-nach-dem-fork" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-data-reusable-components-registration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-data-wiederverwendbare-komponenten-registrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-astro-islands-interactivity-in-static-sites</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-astro-islands-interaktivitat-in-static-sites" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-csp-build-content-security-policy-without-eval</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-csp-build-content-security-policy-ohne-eval" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-livewire-integration-server-side-reactivity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-livewire-zusammenspiel-serverseitige-reaktivitat" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-turbo-hotwire-combining-reactive-islands</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-turbo-hotwire-kombinieren-reaktive-inseln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-web-components-custom-elements-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-web-components-custom-elements-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-async-server-validation-while-typing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-asynchrone-server-validierung-wahrend-der-eingabe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-back-to-top-button-with-visibility-logic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-back-to-top-button-mit-sichtbarkeitslogik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-dynamic-breadcrumb-navigation-from-route</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-breadcrumb-dynamisch-aus-route-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/computed-values-and-getter-pattern-in-alpine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/computed-values-getter-pattern-in-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-gdpr-compliant-cookie-consent-banner-with-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-cookie-consent-banner-dsgvo-konform-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-countdown-timer-for-sale-promotions-with-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-countdown-timer-fuer-sale-aktionen-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-file-upload-with-preview-and-progress-bar</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-datei-upload-mit-vorschau-und-fortschrittsbalken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-event-modifiers-prevent-stop-once-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-event-modifier-prevent-stop-once-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-faq-accordion-connected-to-schema-markup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-faq-akkordeon-mit-schema-markup-verbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/form-autosave-draft-to-localstorage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/formular-autosave-entwurf-im-localstorage-speichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-bundle-size-and-csp-tradeoffs-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-bundle-groesse-und-csp-tradeoffs-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-custom-events-as-component-bus</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-custom-events-als-komponenten-bus" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-debounce-throttle-modifiers-event-listeners</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-debounce-throttle-modifier-bei-event-listenern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-devtools-debugging-inspect-x-data-live</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-devtools-debugging-x-data-inspizieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-event-delegation-pattern-in-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-event-delegation-pattern-in-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-hydration-mismatches-with-server-rendered-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-hydration-mismatches-bei-server-gerenderten-inhalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-kanban-board-drag-and-drop-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-kanban-board-drag-and-drop-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-live-search-debounce-large-lists</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-live-suche-debounce-grosse-listen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-profiling-component-re-renders</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-re-renders-von-komponenten-profilen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-sortable-table-columns-without-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-sortierbare-tabellenspalten-ohne-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-preventing-memory-leaks-in-long-lived-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-speicherlecks-in-langlebigen-komponenten-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-vertical-timeline-component-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-vertikale-timeline-komponente-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-before-after-image-comparison-slider</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-vorher-nachher-bildvergleich-slider" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-js-window-outside-modifier-global-event-listeners</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-js-window-outside-modifier-globale-event-listener" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-credit-card-input-mask-with-luhn-check</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-kreditkarten-eingabemaske-mit-luhn-check-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-accessible-mega-menu-dropdown-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-mega-menu-dropdown-barrierefrei-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-multi-field-validation-groups-structuring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-mehrfeld-validierungsgruppen-strukturieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-quantity-stepper-input-component-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-mengenauswahl-stepper-input-komponente-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-mini-cart-preview-alpine-js-hyva-without-page-reload</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-mini-cart-vorschau-mit-alpine-js-in-hyva-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-pricing-table-with-monthly-yearly-toggle-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-preistabelle-monats-jahres-umschalter-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-scroll-progress-bar-with-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-scroll-progress-bar-am-seitenrand-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-collapsible-sidebar-navigation-with-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-sidebar-navigation-ein-und-ausklappen-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-language-and-currency-switcher-dropdown</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-sprach-und-waehrungsumschalter-dropdown-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/state-machine-pattern-for-complex-ui-states-in-alpine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/state-machine-pattern-komplexe-ui-zustande-mit-alpine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-sticky-add-to-cart-bar-on-scroll-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/alpine-testimonial-slider-without-external-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-testimonial-slider-ohne-externe-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/watching-deeply-nested-objects-with-watch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tief-verschachtelte-objekte-mit-watch-uberwachen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-unsaved-changes-warning-beforeunload</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-warnung-bei-ungespeicherten-anderungen-beforeunload" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-wishlist-toggle-button-alpine-state-magento-rest</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-wishlist-toggle-button-mit-alpine-state-und-magento-rest" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-bind-dynamic-attributes-and-classes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-bind-dynamische-attribute-und-klassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-cloak-preventing-fouc-the-right-way</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-cloak-fouc-vermeiden-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-for-with-key-stable-list-updates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-for-mit-key-stabile-listen-updates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-ref-instead-of-document-queryselector</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-ref-statt-document-queryselector-im-template" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/alpine-x-show-vs-x-if-when-to-use-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-x-show-vs-x-if-wann-welches-verhalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-automated-changelog-generator-from-conventional-commits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-automatischer-changelog-generator-aus-conventional-commits" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/awk-multi-column-reports-and-aggregation-in-the-shell</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/awk-mehrspaltige-reports-und-aggregation-in-der-shell" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-aws-and-gcloud-cli-scripting-patterns-in-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-aws-und-gcloud-cli-skriptmuster-fur-bash" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-bashdb-debugger-step-by-step-bash-script-debugging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-bashdb-debugger-schritt-fur-schritt-bash-skripte-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/bash-measuring-and-improving-code-coverage-for-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-code-coverage-fur-bash-skripte-messen-und-verbessern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/column-and-paste-for-tabular-output-in-the-shell</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/column-und-paste-fuer-tabellarische-ausgabe-in-der-shell" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-using-coprocesses-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-coprozesse-in-bash-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-csv-to-json-conversion-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-csv-zu-json-konvertierungspipelines-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/dash-vs-bash-posix-differences-that-break-sh-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/dash-vs-bash-posix-unterschiede-die-sh-skripte-brechen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-auditing-file-permissions-and-umask-in-bash-scripts-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-dateiberechtigungen-und-umask-in-bash-skripten-systematisch-pruefen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-analyze-database-dumps-automatically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-datenbank-dumps-automatisiert-analysieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-building-a-database-migration-runner-in-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-datenbank-migrations-runner-in-bash-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-dependency-update-checker-for-composer-and-npm-in-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-dependency-update-checker-fur-composer-und-npm-in-bash" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-automating-dns-lookups-with-dig-and-host</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-dns-abfragen-mit-dig-und-host-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-build-etl-pipelines-extract-transform-load</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-etl-pipelines-bauen-extract-transform-load" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-mocking-and-stubbing-external-commands-in-bash-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-externe-kommandos-in-bash-tests-mocken-und-stubben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-colored-diff-output-in-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-farbige-diff-ausgabe-in-bash-skripten-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-building-progress-bars-in-bash-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-fortschrittsbalken-in-bash-von-grund-auf-selbst-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-fzf-interactive-selection-menus-in-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-fzf-interaktive-auswahlmenues-in-bash-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-understanding-and-avoiding-the-dangers-of-eval-in-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-gefahren-von-eval-in-bash-erkennen-und-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-gum-whiptail-tui-menus-in-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-gum-und-whiptail-fuer-tui-menues-in-bash-skripten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-automating-helm-chart-deployments-with-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-helm-chart-deployments-mit-bash-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-generate-html-reports-directly-from-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-html-reports-direkt-aus-bash-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-job-control-fg-bg-and-disown-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-job-control-fg-bg-disown-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-kubectl-wrapper-scripts-for-daily-devops-work</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-kubectl-wrapper-skripte-fur-den-alltag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/macos-vs-linux-bash-version-traps-and-coreutils-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/macos-vs-linux-bash-versionsfallen-und-coreutils-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-minimal-webhook-receiver-with-netcat</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-minimaler-webhook-empfanger-mit-netcat" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-multi-environment-config-generator-with-bash-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-multi-environment-config-generator-mit-bash-templates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-preventing-path-and-environment-variable-hijacking-in-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-pfad-und-umgebungsvariablen-hijacking-in-bash-skripten-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/posix-shell-checklist-for-portable-production-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/posix-shell-checkliste-fuer-portable-produktionsskripte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-rate-limited-api-requests-with-retry</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-rate-limitierte-api-abfragen-mit-retry" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-generating-release-notes-from-git-log-automatically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-release-notes-aus-git-log-automatisch-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-fetching-vault-secrets-in-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-secrets-aus-vault-in-bash-skripten-abrufen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-never-leaving-secrets-and-passwords-in-bash-history</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-secrets-und-passwoerter-nicht-in-der-bash-history-hinterlassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sed-multiline-substitutions-with-hold-space-and-pattern-space</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sed-mehrzeilige-ersetzungen-mit-hold-space-und-pattern-space" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/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/en/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/en/blog/bash-hardening-bash-scripts-against-command-injection-from-user-input</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-skripte-gegen-command-injection-durch-nutzereingaben-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-running-scripts-as-a-proper-daemon</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-skripte-richtig-als-daemon-betreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sort-uniq-comm-for-comparing-datasets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sort-uniq-comm-fuer-den-abgleich-von-datensaetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-spinner-animations-in-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-spinner-animationen-in-bash-skripten-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-subshells-vs-sourcing-performance-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-subshells-vs-sourcing-performance-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-build-terminal-dashboards-for-log-analytics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-terminal-dashboards-fur-log-analytics-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-connecting-terraform-and-ansible-with-bash-glue-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-terraform-und-ansible-mit-bash-glue-code-verbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-monitoring-tls-certificate-expiry</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-tls-zertifikat-ablauf-uberwachen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tr-practical-everyday-use-cases-in-the-shell</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tr-praktische-anwendungsfaelle-im-shell-alltag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/writing-scripts-that-work-in-both-bash-and-zsh</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-und-zsh-kompatibel-skripten-ohne-doppelten-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-unit-tests-for-bash-functions-writing-and-structuring-them</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-unit-tests-fur-bash-funktionen-schreiben-und-strukturieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-wait-n-for-parallel-job-harvesting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-wait-n-fuer-paralleles-job-harvesting" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-testing-websocket-connections-with-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-websocket-verbindungen-mit-bash-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-accent-color-form-controls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-accent-color-formularelemente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/animation-composition-additive-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/animation-composition-additive-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-appearance-none-custom-select-boxes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-appearance-none-custom-selects" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-aspect-ratio-in-media-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-aspect-ratio-media-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-at-page-rules-page-breaks-margin-boxes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-at-page-regeln-seitenumbrueche-margin-boxen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-attribute-selectors-advanced-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-attribut-selektoren-fortgeschrittene-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-bem-utility-first-css-modules-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-bem-utility-first-css-modules-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-only-image-zoom-product-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-bildzoom-produktseiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-cascade-layers-component-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-cascade-layers-komponentenisolation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-color-contrast-function-for-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-color-contrast-funktion-barrierefreiheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-container-type-size-queries-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-container-type-size-queries-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-content-visibility-long-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-content-visibility-lange-seiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-automating-critical-css-extraction</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-critical-css-extraktion-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-css-containment-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-css-containment-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-custom-properties-api-contract</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-custom-properties-api-vertrag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-custom-properties-as-a-dark-light-token-system</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-custom-properties-dark-light-token-system" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-design-tokens-pipeline-build</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-design-tokens-pipeline-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-styling-native-dialog-element</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-dialog-element-nativ-stylen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-flexbox-sidebar-layout-gap-and-order</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-flexbox-sidebar-layouts-gap-order" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-focus-within-vs-focus-visible-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-focus-within-vs-focus-visible-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-font-loading-strategies-foit-fout</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-font-loading-strategien-foit-fout" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-forced-colors-windows-high-contrast-mode</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-forced-colors-windows-hochkontrastmodus" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-grid-named-lines-and-areas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-grid-template-areas-und-benannte-linien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-hanging-punctuation-for-quotes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-hanging-punctuation-fuer-zitate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-has-selector-recipes-beyond-the-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-has-selektor-rezepte-jenseits-der-basics" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-holy-grail-layout-modern-css-grid</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-holy-grail-layout-modernes-css" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-hyva-theme-css-architecture-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-hyva-theme-css-architektur-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-intrinsic-web-design-principles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-intrinsic-web-design-prinzipien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-is-where-specificity-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-is-where-spezifitaetskontrolle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-itcss-scalable-architecture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-itcss-skalierbare-architektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-avoiding-layout-thrashing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-layout-thrashing-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-line-clamp-patterns-text-truncation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-line-clamp-muster-textkuerzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-nth-child-advanced-formulas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-nth-child-fortgeschrittene-formeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-prefers-color-scheme-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-prefers-color-scheme-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-prefers-contrast-accessible-contrast-levels</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-prefers-contrast-barrierefreie-kontraststufen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-print-stylesheets-modern-print-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-print-stylesheets-moderne-drucklayouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-product-gallery-pure-css-solution</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-produktgalerie-css-only-loesung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-pseudo-elements-webkit-moz-inputs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-pseudo-elemente-webkit-moz-inputs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-range-slider-styling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-range-input-styling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/reduced-motion-design-tokens-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/reduced-motion-team-workflow-design-tokens" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-relative-color-syntax-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-relative-color-syntax-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-responsive-product-grid-patterns-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-responsive-produktgrid-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-building-a-responsive-typography-scale-system</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-responsive-typografie-skalensystem-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/scroll-timeline-advanced-view-timeline-techniques</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/scroll-timeline-fortgeschrittene-view-timeline-technik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/spring-easing-with-linear-function</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/spring-easing-linear-funktion-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-sticky-checkout-summary-with-css</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-sticky-checkout-summary" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-text-wrap-balance-and-pretty-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-text-wrap-balance-vs-pretty" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-variable-fonts-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-variable-fonts-praktisch-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/view-transitions-cross-document-navigation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/view-transitions-multi-page-navigation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/css-wide-gamut-colors-with-display-p3</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-wide-gamut-farben-display-p3" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-resource-alerting-for-containers-with-alertmanager</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-alerting-fur-container-ressourcen-mit-alertmanager-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-alternative-container-registries-beyond-docker-hub</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-alternative-container-registries-jenseits-von-docker-hub" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-bench-security-cis-audit-container-hosts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-bench-security-audit-durchfuhren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-build-once-deploy-many-images-across-every-stage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-build-once-deploy-many-images-durch-alle-stufen-schleusen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-compose-depends-on-with-condition-service-healthy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-compose-depends-on-mit-condition-service-healthy-orchestrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-compose-secrets-instead-of-environment-variables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-compose-secrets-statt-environment-variablen-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-compose-scaling-services-locally-with-deploy-replicas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-compose-services-mit-deploy-replicas-lokal-skalieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-compose-watch-live-reload-for-local-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-compose-watch-fur-live-reload-im-entwicklungsalltag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-compose-yaml-anchors-and-aliases-for-dry-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-compose-yaml-anchors-und-aliases-fur-dry-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-container-based-test-matrices-for-multiple-runtime-versions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-container-basierte-test-matrix-fur-mehrere-laufzeitversionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/container-escape-prevention-checklist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/container-escape-pravention-checkliste" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-container-metrics-with-prometheus-and-cadvisor</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-container-metriken-mit-prometheus-und-cadvisor-erfassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-container-to-container-communication-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-container-zu-container-kommunikationsmuster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-is-the-data-only-container-pattern-still-useful</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-data-only-container-pattern-heute-noch-sinnvoll" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-migrating-database-containers-between-hosts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-datenbank-container-zwischen-hosts-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-desktop-alternatives-colima-and-podman-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-desktop-alternativen-colima-und-podman-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-setting-up-devcontainers-for-vs-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-devcontainers-fuer-vs-code-einrichten-und-produktiv-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/distroless-images-for-php-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/distroless-images-fuer-php-anwendungen-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-debugging-dns-issues-in-docker-networks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-dns-probleme-im-docker-netzwerk-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-custom-bridge-networks-for-container-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-eigene-bridge-netzwerke-fuer-container-isolation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-ephemeral-review-app-containers-per-pull-request</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-ephemere-review-app-container-pro-pull-request" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/docker-hot-reload-fuer-php-und-node-in-containern-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-promoting-container-images-between-registries-and-environments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-image-promotion-zwischen-registries-und-umgebungen-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/image-scanning-with-trivy-and-grype-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/image-scanning-mit-trivy-und-grype-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/image-signing-and-sbom-with-cosign-and-syft</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/image-signing-und-sbom-mit-cosign-und-syft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/runtime-threat-detection-in-containers-with-falco</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/laufzeit-bedrohungserkennung-mit-falco" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-log-driver-json-file-vs-journald-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-log-driver-json-file-vs-journald-richtig-wahlen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-macvlan-networks-use-cases-and-limitations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-macvlan-netzwerke-einsatzgebiete-und-grenzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-blue-green-deployments-with-containers-without-downtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-blue-green-deployments-mit-containern-ohne-downtime" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sizing-magento-containers-by-traffic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-container-groessen-nach-traffic-dimensionieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/running-magento-cron-and-message-queue-consumers-in-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-cron-und-message-queue-consumer-in-containern-betreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/running-multiple-magento-stores-in-one-docker-compose-stack</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mehrere-magento-stores-in-einem-docker-compose-stack-betreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/choosing-minimal-base-images-alpine-slim-distroless</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/minimale-basis-images-richtig-auswaehlen-alpine-slim-distroless" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/multi-arch-images-with-docker-buildx</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/multi-arch-images-mit-docker-buildx-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-named-volumes-backup-strategies-with-tar-and-restic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-named-volumes-backup-strategien-mit-tar-und-restic" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-overlay-networks-across-multiple-docker-hosts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-overlay-netzwerke-ueber-mehrere-docker-hosts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/docker-parallele-feature-umgebungen-mit-compose-projektnamen-und-profiles" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/reproducible-docker-builds-with-source-date-epoch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/reproduzierbare-docker-builds-mit-source-date-epoch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/rolling-updates-in-docker-swarm-without-downtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/rolling-updates-im-docker-swarm-ohne-downtime" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/service-discovery-in-docker-swarm-mode-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/service-discovery-im-docker-swarm-modus-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-stack-deploy-basics-for-swarm-stacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-stack-deploy-grundlagen-fur-swarm-stacks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/supply-chain-security-for-docker-base-images</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/supply-chain-security-fur-docker-basis-images" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-swarm-vs-kubernetes-when-to-use-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-swarm-vs-kubernetes-wann-was-passt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-seeding-test-data-for-databases-in-docker-dev-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/docker-tmpfs-mounts-for-sensitive-data-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-tmpfs-mounts-fuer-sensible-daten-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/fine-tuning-varnish-redis-opensearch-sidecars-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/varnish-redis-opensearch-sidecars-fur-magento-feintunen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-distributed-tracing-for-containerized-applications-with-opentelemetry</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-verteiltes-tracing-fur-containerisierte-anwendungen-mit-opentelemetry" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-volume-plugins-for-cloud-storage-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-volume-plugins-fuer-cloud-storage-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/when-kubernetes-is-actually-necessary</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/wann-kubernetes-wirklich-notig-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/docker-centralized-container-logging-with-loki-and-promtail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-zentrales-container-logging-mit-loki-und-promtail-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-cancellable-async-operations-as-a-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-abbrechbare-async-operationen-als-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-abortsignal-timeout-and-any-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-abortsignal-timeout-und-any-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-array-fromasync-async-iterables-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-array-fromasync-async-iterables-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-async-generators-for-data-streams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-async-generatoren-fuer-datenstreams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-closures-stale-closures-loops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-closures-stale-closures-schleifen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-code-splitting-strategies-beyond-the-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-code-splitting-strategien-jenseits-der-basics" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-content-security-policy-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-content-security-policy-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/contract-testing-between-frontend-and-backend-with-pact</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/contract-testing-frontend-backend-pact" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-cookie-store-api-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-cookie-store-api-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-csrf-protection-single-page-apps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-csrf-schutz-spa" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-deep-equality-without-external-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-deep-equality-ohne-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-dependency-injection-without-a-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-dependency-injection-ohne-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-devtools-performance-panel-flame-charts-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-devtools-performance-panel-flame-charts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/dynamic-import-patterns-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/dynamic-import-muster-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-building-your-own-signals-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-eigene-signals-bibliothek-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/esm-cjs-interop-solving-problems</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/esm-cjs-interop-probleme-loesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mocking-fetch-and-network-calls-in-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/fetch-und-netzwerk-in-tests-mocken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-file-system-access-api-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-file-system-access-api-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-floating-point-precision-rounding-errors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-gleitkomma-praezision-rundungsfehler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-profiling-memory-with-heap-snapshots</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-heap-snapshots-speicherprofiling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-sandboxed-iframes-postmessage-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-iframe-sandbox-postmessage-sicherheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/import-maps-native-browser-modules-without-bundler</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/import-maps-native-browser-module-ohne-bundler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-indexeddb-advanced-queries-cursors-indexes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-indexeddb-fortgeschrittene-abfragen-cursor-index" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-indexeddb-schema-migration-and-versioning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-indexeddb-schema-migration-versionierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-lazy-hydration-patterns-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-lazy-hydration-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-optimizing-long-tasks-and-inp</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-long-tasks-inp-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/monorepo-js-tooling-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/monorepo-js-tooling-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mutation-testing-for-javascript-with-stryker</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mutation-testing-javascript-stryker" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-network-information-and-battery-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-network-information-battery-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-implementing-the-notifications-api-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-notifications-api-richtig-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-object-hasown-vs-hasownproperty-safe-checks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-object-hasown-vs-hasownproperty" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-implementing-observer-pattern-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-observer-pattern-javascript-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-origin-private-file-system-opfs-in-the-browser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-origin-private-file-system-opfs-im-browser" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-page-visibility-api-effectively</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-page-visibility-api-sinnvoll-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-promise-allsettled-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-promise-allsettled-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-promise-error-handling-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-promise-fehlerbehandlung-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/property-based-testing-in-javascript-with-fast-check</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/property-based-testing-javascript-fast-check" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-avoiding-race-conditions-in-async-ui-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-race-conditions-in-async-ui-code-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/source-maps-debugging-in-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/source-maps-produktion-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-state-machines-with-xstate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-state-machines-mit-xstate" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-storage-manager-api-quota-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-storage-manager-api-quota-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-structural-sharing-persistent-data-structures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-structural-sharing-persistente-datenstrukturen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-subresource-integrity-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-subresource-integrity-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-this-binding-common-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-this-bindung-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-trusted-types-api-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-trusted-types-api-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/visual-regression-testing-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/visual-regression-testing-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-weakmap-weakset-private-object-state</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-weakmap-weakset-private-object-zustaende" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-web-components-framework-agnostic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-web-components-framework-agnostisch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-web-locks-api-for-tab-coordination</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-web-locks-api-tab-koordination" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/javascript-timezones-dates-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-zeitzonen-datum-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-apollo-client-graphql-cache-normalization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-apollo-client-graphql-cache-normalisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-aria-live-regions-dynamic-content-screen-readers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-aria-live-regions-dynamische-inhalte-screenreader" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-accessible-component-library-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-barrierefreie-komponenten-bibliothek-von-grund-auf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-bundle-analysis-and-code-splitting-audits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-bundle-analyse-und-code-splitting-audits" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-caching-strategies-compared-swr-tanstack-apollo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-caching-strategien-vergleich-swr-tanstack-apollo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-checkout-flow-best-practices-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-checkout-flow-best-practices-fuer-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/migrating-class-components-to-hooks-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/class-components-zu-hooks-systematisch-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sharing-code-between-react-web-and-react-native</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/code-teilen-zwischen-react-web-und-react-native" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/migrating-create-react-app-to-vite-step-by-step</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/create-react-app-zu-vite-migrieren-schritt-fuer-schritt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-testing-custom-hooks-in-isolation-with-renderhook</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-custom-hooks-isoliert-testen-mit-renderhook" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-deployment-strategies-vercel-netlify-self-hosted</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-deployment-strategien-vercel-netlify-self-hosted" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-e2e-vs-component-testing-choosing-the-right-test-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-e2e-vs-component-testing-die-richtige-teststrategie-finden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-environment-variables-in-builds-managed-securely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-environment-variablen-in-builds-sicher-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/expo-vs-bare-react-native-workflow-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/expo-vs-bare-react-native-workflow-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-color-contrast-tooling-design-systems-wcag</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-farbkontrast-tooling-design-systeme-wcag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-feature-flags-controlled-rollouts-without-redeploy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-feature-flags-kontrollierte-rollouts-ohne-redeploy" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-focus-traps-accessible-modals-and-dialogs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-focus-traps-barrierefreie-modals-und-dialoge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-form-state-libraries-compared-rhf-formik-tanstack-form</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-formular-state-bibliotheken-im-vergleich-rhf-formik-tanstack-form" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-headless-ui-patterns-beyond-radix</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-headless-ui-patterns-jenseits-von-radix" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-magento-graphql-storefront-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-magento-graphql-storefront-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-monorepo-with-turborepo-building-it-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-monorepo-mit-turborepo-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-msw-mock-service-worker-for-api-tests-without-backend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-msw-mock-service-worker-fuer-api-tests-ohne-backend" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-fundamentals-for-web-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-grundlagen-fuer-web-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-performance-fundamentals-bridge-jsi-new-architecture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-performance-grundlagen-bridge-jsi-und-neue-architektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-vs-pwa-decision-guide-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-vs-pwa-entscheidungshilfe-fuer-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-nextjs-edge-runtime-vs-node-runtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-next-js-edge-runtime-vs-node-runtime" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-nextjs-image-optimization-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-next-js-image-optimierung-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-nextjs-isr-incremental-static-regeneration-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-next-js-isr-incremental-static-regeneration-praktisch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-nextjs-middleware-patterns-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-next-js-middleware-patterns-erklart" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-nextjs-streaming-ssr-suspense-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-next-js-streaming-ssr-suspense-im-detail-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-optimistic-updates-beyond-useoptimistic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-optimistic-updates-jenseits-von-useoptimistic" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-polymorphic-components-with-as-prop</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-polymorphe-komponenten-mit-as-prop" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-product-configurator-pattern-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-produktkonfigurator-pattern-fuer-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/pwa-studio-vs-custom-react-frontend-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/pwa-studio-vs-eigenes-react-frontend-fuer-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-17-to-19-upgrade-checklist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-17-auf-19-upgrade-checkliste" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-recoil-vs-jotai-vs-zustand-state-management-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-recoil-vs-jotai-vs-zustand-state-management-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-redux-toolkit-modern-patterns-rtk-query-and-createslice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-redux-toolkit-moderne-patterns-rtk-query-und-createslice" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-rest-graphql-trpc-data-layer-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-rest-graphql-trpc-datenschicht-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-screen-reader-testing-nvda-voiceover-jest-axe</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-screenreader-tests-nvda-voiceover-jest-axe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-slot-based-component-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-slot-basierte-komponenten-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-snapshot-testing-pitfalls-and-better-alternatives</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-snapshot-testing-fallstricke-und-bessere-alternativen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-tanstack-query-infinite-queries-pagination-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-tanstack-query-infinite-queries-pagination" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-keyboard-navigation-patterns-complex-ui-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-tastaturnavigation-muster-komplexe-ui-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-theming-system-with-css-variables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-theming-system-mit-css-variablen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/introducing-typescript-gradually-into-an-existing-react-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-schrittweise-in-bestehende-react-projekte-einfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-url-as-state-pattern-nuqs-and-searchparams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-url-als-state-pattern-nuqs-und-searchparams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-visual-regression-testing-catching-ui-changes-automatically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-visual-regression-testing-ui-abweichungen-automatisch-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/migrating-from-redux-to-zustand</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/von-redux-zu-zustand-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-cart-state-sync-with-magento-backend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-warenkorb-state-mit-magento-backend-synchronisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-xstate-state-machines-finite-automata-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-xstate-state-machines-endliche-automaten-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-6-to-7-upgrade-checklist-step-by-step</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-6-auf-7-upgrade-checkliste-schritt-fur-schritt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-as-api-gateway-for-microservices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-als-api-gateway-fuer-microservices" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-api-platform-graphql-custom-resolvers-mutations-subscriptions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-api-platform-graphql-custom-resolver-mutations-subscriptions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-api-platform-openapi-documentation-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-api-platform-openapi-dokumentation-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-api-platform-pagination-cursor-vs-offset-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-api-platform-paginierung-cursor-vs-offset-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-api-platform-state-provider-processor-custom-data-sources</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-api-platform-state-provider-processor-eigene-datenquellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-api-platform-nested-resources-subresources-relations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-api-platform-verschachtelte-ressourcen-subresources-relationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-api-token-authentication-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-api-token-authentifizierung-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-blackfire-profiling-performance-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-blackfire-profiling-performance-analyse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-blue-green-deployment-with-zero-downtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-blue-green-deployment-ohne-ausfallzeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-configuration-tree-builder-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-bundle-configuration-tree-builder-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-bundle-extension-class-and-compiler-pass-registration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-bundle-extension-klasse-und-compiler-pass-registrierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-sharing-bundles-across-projects-composer-private-packagist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-bundles-projektuebergreifend-teilen-composer-private-packagist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/managing-composer-dependencies-during-symfony-major-upgrades</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-composer-abhaengigkeiten-bei-major-upgrades-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-container-warmup-compiled-container-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-container-warmup-kompilierter-container-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-contract-testing-apis-breaking-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-contract-testing-apis-breaking-changes-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-docker-production-images-multi-stage-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-docker-produktions-images-multi-stage-builds" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-doctrine-batch-processing-large-datasets-efficiently</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-doctrine-batch-processing-grosse-datenmengen-effizient-verarbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-doctrine-custom-dql-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-doctrine-eigene-dql-funktionen-registrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-doctrine-embeddables-value-objects-for-ddd</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-doctrine-embeddables-value-objects-domain-driven-design" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-doctrine-migrations-best-practices-safe-schema-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-doctrine-migrations-best-practices-sichere-schema-migrationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/migrating-doctrine-orm-2-to-3-in-symfony</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-doctrine-orm-2-auf-3-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-doctrine-repository-tests-in-memory-sqlite</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-doctrine-repository-tests-sqlite-im-speicher" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-doctrine-second-level-cache-in-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-doctrine-second-level-cache-produktiv-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-domain-driven-design-tactical-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-domain-driven-design-taktische-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-custom-authenticator-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-eigener-authenticator-von-grund-auf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-building-a-custom-bundle-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-eigenes-bundle-von-grund-auf-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-migrating-encore-to-assetmapper-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-encore-zu-assetmapper-migration-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-event-driven-microservices-with-messenger</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-event-driven-microservices-mit-messenger" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-flex-recipes-explained-and-custom-recipes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-flex-recipes-verstehen-und-eigene-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-http-cache-reverse-proxy-esi-without-varnish</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-http-cache-reverse-proxy-esi-ohne-varnish" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-internal-bundle-versioning-strategy-semver</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-interne-bundles-versionierungsstrategie-semver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-kernel-boot-performance-reducing-autowiring-overhead</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-kernel-boot-performance-lazy-services-autowiring" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-kubernetes-health-checks-liveness-and-readiness-probes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-kubernetes-health-checks-liveness-und-readiness-probes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-migrating-legacy-symfony-4-applications-practical-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-legacy-symfony-4-anwendungen-migrieren-praxisleitfaden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-messenger-bus-mocking-in-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-messenger-bus-mocken-in-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-modular-monolith-structuring-with-bundles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-modularer-monolith-mit-bundles-strukturieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-mutation-testing-infection-test-quality</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-mutation-testing-infection-testqualitaet-messen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-oauth2-and-openid-connect-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-oauth2-und-openid-connect-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-opcache-preloading-production-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-opcache-preloading-produktions-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-php-84-features-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-php-84-features-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-phpunit-data-providers-parameterized-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-phpunit-data-provider-parametrisierte-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-plus-inertia-js-spa-feel-without-a-dedicated-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-plus-inertia-js-spa-gefuehl-ohne-eigene-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-remember-me-and-session-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-remember-me-und-session-sicherheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-secrets-and-vault-management-with-hashicorp-vault</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-secrets-und-vault-management-mit-hashicorp-vault" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-security-voters-advanced-composition</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-security-voters-fortgeschrittene-komposition" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-shared-kernel-pattern-for-microservices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-shared-kernel-pattern-fuer-microservices" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-stimulus-controllers-lifecycle-targets-values-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-stimulus-controller-lifecycle-targets-values-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/migrating-twig-2-to-twig-3-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-twig-2-auf-twig-3-migration-praxisleitfaden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-ux-autocomplete-tom-select-without-custom-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-ux-autocomplete-tom-select-ohne-eigenes-javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-ux-dropzone-drag-and-drop-file-uploads</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-ux-dropzone-datei-uploads-per-drag-and-drop" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-replacing-outdated-bundles-modern-alternatives-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-veraltete-bundles-ersetzen-moderne-alternativen-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/symfony-zero-downtime-database-migrations-with-doctrine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-zero-downtime-datenbankmigrationen-mit-doctrine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-alpinejs-advanced-combination-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-alpinejs-kombinationsmuster-fortgeschritten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-angular-standalone-components-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-angular-standalone-components" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-arbitrary-values-best-practices-anti-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-arbitrary-values-best-practices-antipatterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-aria-live-regions-dynamic-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-aria-live-regions-dynamische-inhalte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-astro-islands-architecture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-astro-islands-architektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-accessible-forms-labels-error-messages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-barrierefreie-formulare-labels-fehlermeldungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-accessible-tooltips-popover-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-barrierefreie-tooltips-popover-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-migrating-from-bootstrap-phased-plan</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-bootstrap-migration-stufenplan" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-build-time-optimization-monorepo-caching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-build-zeit-optimierung-monorepo-caching" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-bundle-analysis-tools-measuring-css-size</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-bundle-analyse-tools-css-groesse-messen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-cascade-layers-interplay</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-cascade-layers-zusammenspiel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-content-configuration-pitfalls-monorepo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-content-konfiguration-fallstricke-monorepo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-content-scanning-pitfalls-headless-cms-mdx</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-content-scanning-fallstricke-headless-cms-mdx" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-splitting-css-per-page-route-multi-entry-build</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-css-pro-route-aufteilen-multi-entry-build" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-dashboard-layout-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-dashboard-layout-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-data-attribute-variants-state-driven-ui</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-data-attribute-variants-state-ui" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-data-table-styling-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-datentabellen-styling-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/design-system-adoption-audit-metrics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-system-adoption-audit-metriken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-design-system-governance-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-system-governance-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-design-system-versioning-semver</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-system-versionierung-semver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-native-dialog-element-modal-styling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-dialog-element-modal-styling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-divide-space-between-child-elements</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-divide-space-between-utilities" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/email-client-compatibility-tailwind-outlook-gmail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-email-client-kompatibilitaet-outlook-gmail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-color-contrast-audit-palettes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-farbkontrast-audit-paletten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-filter-backdrop-filter-utilities-effects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-filter-backdrop-filter-utilities" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-focus-ring-design-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-fokusring-design-barrierefreiheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-form-wizard-step-indicator</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-formular-wizard-schritt-indikator" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-group-peer-advanced-state-chains</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-group-peer-zustandsketten-advanced" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-html-email-templates-table-layout</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-html-email-templates-tabellen-layout" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-htmx-hypermedia-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-htmx-hypermedia-anwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-hyva-checkout-styling-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-hyva-checkout-styling-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-hyva-cms-block-styling-conventions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-hyva-cms-block-styling-konventionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-hyva-multi-store-theming-with-tailwind</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-hyva-multi-store-theming-tailwind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-custom-tailwind-plugins-for-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-eigene-tailwind-plugins-hyva-kompilieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-hyva-theme-fallback-overrides-with-tailwind</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-hyva-theme-fallback-overrides" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-important-modifier-specificity-control</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-important-modifier-spezifitaetskontrolle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/inline-styles-from-tailwind-for-email</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-inline-styles-generieren-email" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-isolated-component-theming-css-layers-widgets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-isoliertes-component-theming-css-layers-widgets" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-kanban-board-styling-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-kanban-board-styling-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-debugging-class-conflicts-specificity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-klassenkonflikte-debuggen-spezifitaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-class-naming-conventions-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/klassennamenskonventionen-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-laravel-blade-components-and-props</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-laravel-blade-components-und-props" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-coexisting-with-legacy-css-incremental-migration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-legacy-css-koexistenz-schrittweise-migration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-negative-values-inset-transform-overlap-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-negative-values-inset-transform-overlap" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-notification-toast-styling-system</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-notification-toast-system" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-oxide-engine-scanning-internals-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-oxide-engine-scanning-internals" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/pdf-generation-tailwind-puppeteer</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-pdf-generierung-puppeteer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/pdf-invoices-tailwind-dompdf-wkhtmltopdf</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-pdf-rechnungen-dompdf-wkhtmltopdf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-seasonal-campaign-theme-overrides</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-saisonale-kampagnen-theme-overrides" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-smooth-theme-transitions-view-transitions-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-sanfte-theme-uebergaenge-view-transitions-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-skeleton-loading-screen-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-skeleton-loading-screens-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-spacing-scale-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-spacing-skala-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-sr-only-utilities-screen-reader-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-sr-only-utilities-screenreader-inhalte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-svelte-sveltekit-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-svelte-sveltekit-setup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-keyboard-navigation-skip-links-focus-order</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-tastaturnavigation-skip-links-fokus-reihenfolge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-theme-function-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-theme-funktion-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-theme-generator-json-design-tokens-theme-blocks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-theme-generator-design-tokens-json-theme-block" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-theme-presets-user-profiles-beyond-dark-mode</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-theme-presets-nutzerprofile" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/transactional-emails-tailwind-mjml</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-transaktions-emails-mjml" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-auditing-unused-classes-content-scanning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-ungenutzte-klassen-auditieren-content-scanning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-v3-to-v4-upgrade-tool-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-v3-zu-v4-upgrade-tool-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/visual-regression-testing-design-system</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/visuelle-regressionstests-design-system" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-vue-3-composition-api-best-practices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-vue3-composition-api-best-practices" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-web-components-shadow-dom-styling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-web-components-shadow-dom" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tailwind-white-label-theming-without-rebuild-runtime-variables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-white-label-theming-ohne-rebuild-laufzeit-variablen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-anacron-for-laptops-and-desktops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-anacron-fuer-laptops-und-desktops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-encrypting-backups-properly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-backups-verschluesseln-richtig-gemacht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-bare-metal-recovery-planning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-bare-metal-recovery-planung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-startup-files-load-order</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bashrc-und-profile-ladereihenfolge-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-capabilities-fine-grained-privileges</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-capabilities-rechte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/chroot-and-jails-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/chroot-und-jails-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/cis-benchmarks-linux-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/cis-benchmarks-linux-server" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/compliance-automation-openscap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/compliance-automatisierung-openscap" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-cpu-governor-and-frequency-scaling-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-cpu-governor-frequency-scaling-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-cpu-pinning-with-taskset-and-cpuset-worker-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-cpu-pinning-taskset-cpuset-worker-isolation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-cron-jobs-prevent-overlap-flock-locking</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-cronjobs-ueberlappung-flock-locking" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/filesystem-check-and-repair-with-fsck</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/dateisystem-check-reparatur-fsck" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/filesystem-quotas-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/dateisystem-quotas-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-consistent-database-snapshots</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-datenbank-snapshots-konsistent-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/full-disk-emergency-response-workflow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/datentraeger-voll-notfallmassnahmen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-disk-io-scheduler-database-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-disk-io-scheduler-datenbankserver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-dmesg-kernel-log-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-dmesg-kernel-log-analyse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/gdpr-log-retention-linux</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/dsgvo-log-aufbewahrung-linux" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-testing-failover-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-failover-strategien-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/disk-encryption-with-luks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/festplattenverschluesselung-mit-luks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/file-integrity-monitoring-aide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/file-integrity-monitoring-mit-aide" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-haproxy-load-balancer-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-haproxy-load-balancer-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-hardware-clock-hwclock-synchronization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-hardware-uhr-hwclock-synchronisation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-huge-pages-for-mysql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-huge-pages-mysql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-irq-affinity-network-interrupt-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-irq-affinity-netzwerkkarten-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-keepalived-vrrp-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-keepalived-vrrp-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-kernel-modules-lsmod-modprobe</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-kernel-module-lsmod-modprobe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-kernel-panic-crash-dump-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-kernel-panic-crash-dump-kdump" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-kernel-tracing-ftrace-perf-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-kernel-tracing-ftrace-perf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-kernel-version-upgrade-planning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-kernel-versionsupgrade-planung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/diagnosing-high-load-average-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/load-average-spitzen-systematisch-diagnostizieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/lvm-logical-volumes-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/lvm-logical-volumes-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-mosh-for-unstable-connections</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-mosh-fuer-instabile-verbindungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/tracking-down-mysterious-cpu-usage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysterioesen-cpu-verbrauch-aufspueren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/debugging-network-connections-step-by-step</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/netzwerkverbindung-schritt-fuer-schritt-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-nice-ionice-process-io-priorities</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-nice-ionice-prozess-io-prioritaeten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/emergency-runbook-unresponsive-server</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/notfall-runbook-nicht-reagierender-server" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-ntp-chrony-time-synchronization-configured-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-ntp-chrony-zeitsynchronisation-richtig-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-numa-considerations-multi-cpu-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-numa-ueberlegungen-multi-cpu-server" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-offsite-backup-3-2-1-rule</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-offsite-backup-3-2-1-regel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-opcache-filesystem-considerations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-opcache-dateisystem-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-pacemaker-corosync-cluster-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-pacemaker-corosync-cluster-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/pam-authentication-modules-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/pam-authentifizierungsmodule-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/pci-dss-linux-hardening</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/pci-dss-linux-haertung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-php-fpm-process-manager-tuning-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-php-fpm-process-manager-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-proc-filesystem-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-proc-dateisystem-erkunden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/raid-fundamentals-with-mdadm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/raid-grundlagen-mit-mdadm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-remote-development-with-ssh</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-remote-entwicklung-mit-ssh" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-automate-restore-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-restore-tests-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-rtcwake-scheduled-wakeup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-rtcwake-geplantes-aufwachen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-avoiding-scheduling-jitter-precise-timing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-scheduling-jitter-vermeiden-praezises-timing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-sysfs-device-attributes-exploring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-sysfs-geraeteattribute-erkunden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-systemd-oncalendar-timer-syntax-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-systemd-oncalendar-timer-syntax" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/systemd-timers-targets-and-sockets-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/systemd-timer-targets-und-sockets-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-terminal-customization-for-productivity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-terminal-anpassung-fuer-produktivitaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-tmux-and-screen-workflows</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-tmux-und-screen-workflows" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/environment-variables-scope-system-wide-vs-user</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/umgebungsvariablen-scope-systemweit-vs-nutzer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-distributed-filesystems-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-verteilte-dateisysteme-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-x11-forwarding-vs-vnc-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-x11-forwarding-vs-vnc-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-timezone-management-timedatectl-tzdata</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-zeitzonen-verwaltung-timedatectl-tzdata" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-designing-agent-pipelines-for-complex-tasks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-agenten-pipelines-fuer-komplexe-aufgaben-designen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-api-design-assistance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-api-design-unterstuetzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-architecture-tradeoffs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-architektur-tradeoffs-bewerten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-background-agents-and-parallel-tasks-in-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-background-agents-und-parallele-tasks-in-claude-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-accessibility-testing-with-ai-assistance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-barrierefreiheitstests-mit-ki-unterstuetzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-claude-agent-sdk-overview-for-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-agent-sdk-ueberblick-fuer-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-claude-api-pricing-and-model-selection-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-api-preise-und-modellwahl-guide" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-rolling-out-claude-code-company-wide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-code-unternehmensweit-einfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-for-dockerfile-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-fuer-dockerfile-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-for-go-backend-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-fuer-go-backend-entwicklung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-for-incident-postmortems</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-fuer-incident-postmortems" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-for-java-enterprise-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-fuer-java-enterprise-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-for-kubernetes-manifest-reviews</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-fuer-kubernetes-manifest-reviews" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-for-mobile-app-development-ios-android</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-fuer-mobile-app-entwicklung-ios-android" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-for-python-data-science-workflows</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-fuer-python-data-science-workflows" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-for-rust-systems-programming</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-fuer-rust-systemprogrammierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-for-terraform-infrastructure-as-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-fuer-terraform-infrastructure-as-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-claude-vs-github-copilot-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-vs-github-copilot-fuer-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-for-cicd-pipeline-debugging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-zur-cicd-pipeline-fehlersuche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-data-pipeline-debugging-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-daten-pipeline-debugging-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-database-schema-design-review</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-datenbankschema-design-mit-ki-review" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-generating-edge-case-tests-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-edge-case-tests-mit-claude-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-building-custom-slash-commands-in-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-eigene-slash-commands-in-claude-code-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-developing-etl-scripts-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-etl-skripte-mit-claude-entwickeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-flaky-test-root-cause-analysis-with-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-flaky-tests-root-cause-analyse-mit-ki" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-approval-workflows-for-ai-generated-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-freigabeprozesse-fuer-ki-generierten-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-using-claude-code-with-git-worktrees</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-code-mit-git-worktrees-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-the-claude-code-hook-system-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-das-hook-system-von-claude-code-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-ai-assisted-exploratory-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-ki-gestuetztes-exploratives-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-ai-usage-policy-governance-framework-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-ki-nutzungsrichtlinien-governance-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-communication-patterns-between-ai-agents</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-kommunikationsmuster-zwischen-ki-agenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-log-analysis-and-anomaly-detection-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-log-analyse-und-anomalieerkennung-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-multi-step-conversation-design</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-mehrschrittige-konversationsdesigns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-the-claude-code-memory-system-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-das-memory-system-von-claude-code-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-multi-agent-workflows-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-multi-agent-workflows-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-orchestrating-parallel-code-reviews-with-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-parallele-code-reviews-mit-ki-orchestrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-prompt-caching-strategies-cost-savings</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-prompt-caching-strategien-kosteneinsparung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-evaluating-prompt-quality-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-prompt-qualitaet-systematisch-evaluieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-calculating-roi-of-ai-coding-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-roi-von-ki-coding-tools-berechnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-protecting-against-prompt-injection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-schutz-gegen-prompt-injection" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-sql-query-generation-and-review</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-sql-query-generierung-und-review" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-structured-output-with-json-schemas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-strukturierte-ausgabe-json-schemas" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-system-design-reviews</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-system-design-reviews-durchfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-technical-debt-assessment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-technische-schulden-einschaetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-generating-test-data-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-testdaten-generierung-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/claude-ai-wann-subagents-statt-einem-agenten-sinnvoll-sind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-3-compiler-optimizations-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-3-compiler-optimierungen-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bundle-splitting-for-vue-apps-with-vite-and-rollup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bundle-splitting-fur-vue-apps-mit-vite-und-rollup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-capacitor-mobile-apps-native-features-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-capacitor-mobile-apps-native-features" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-checkout-flow-patterns-steps-validation-abandonment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-checkout-flow-patterns-schritte-validierung-abbruch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-component-testing-with-cypress</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-component-testing-mit-cypress" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/mocking-composables-in-vue-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-composables-mocken-in-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/content-collections-and-type-safety-in-nuxt-content-v3</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/content-collections-und-typsicherheit-in-nuxt-content-v3" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/building-custom-refs-in-vue-3-with-customref</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/custom-refs-selbst-bauen-mit-customref" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/database-integration-in-nuxt-server-routes-with-drizzle-and-prisma</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/datenbank-anbindung-in-nuxt-server-routes-mit-drizzle-und-prisma" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/design-system-mit-vue-komponenten-aufbauen-von-tokens-bis-dokumentation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-e2e-tests-with-playwright</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-e2e-tests-mit-playwright" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/effect-scope-in-vue-3-for-clean-composable-cleanup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/effect-scope-in-vue-3-fuer-sauberes-cleanup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/feature-flags-in-vue-apps-controlled-feature-rollouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/feature-flags-in-vue-apps-kontrolliertes-ausrollen-von-features" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/ionic-vue-basics-native-ui-components-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/ionic-vue-grundlagen-native-ui-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/lazy-loading-routes-and-components-in-vue</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/lazy-loading-von-routen-und-komponenten-in-vue" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-macros-compiler-macros-beyond-definemodel-defineprops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-macros-compiler-makros-jenseits-von-definemodel-defineprops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/connecting-vue-magento-graphql-products-prices-stock</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-magento-graphql-verbinden-produkte-preise-lagerbestand" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-finding-and-fixing-memory-leaks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-memory-leaks-aufspueren-und-beheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/micro-frontends-with-vue-strategies-for-large-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/micro-frontends-mit-vue-strategien-fur-grosse-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/module-federation-in-vue-apps-shared-dependencies-and-runtime-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/module-federation-in-vue-apps-geteilte-abhangigkeiten-und-runtime-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/monorepo-vue-projects-with-turborepo-caching-and-build-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/monorepo-vue-projekte-mit-turborepo-caching-und-build-pipelines" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-nuxt-2-to-nuxt-3-migration-practical-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-2-zu-nuxt-3-migration-praxisleitfaden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/nuxt-auth-modules-compared-sidebase-nuxt-auth-utils-and-custom</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/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/en/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/en/blog/nuxt-content-module-markdown-based-pages-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/nuxt-content-modul-markdown-basierte-seiten-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/nuxt-content-preview-mode-managing-drafts-safely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/nuxt-content-preview-modus-entwuerfe-sicher-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-nuxt-devtools-embedded-developer-panel-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-devtools-eingebettetes-entwickler-panel-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-debugging-nuxt-hydration-mismatches-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-hydration-mismatches-systematisch-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/nuxt-image-module-image-optimization-lazy-loading-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/nuxt-image-modul-bildoptimierung-lazy-loading-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/nuxt-server-middleware-patterns-logging-cors-and-request-context</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/nuxt-server-middleware-patterns-logging-cors-request-context" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/nuxt-server-routes-as-rest-api-backend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/nuxt-server-routes-als-rest-api-backend-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/nuxt-3-ssg-deployment-static-hosts-netlify-vercel-cloudflare</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/nuxt-3-ssg-deployment-auf-static-hosts-netlify-vercel-cloudflare" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-migrating-options-api-to-composition-api-step-by-step</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-options-api-zu-composition-api-schrittweise-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/testing-pinia-stores-in-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-pinia-stores-isoliert-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-product-configurator-variants-attributes-live-pricing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-produktkonfigurator-varianten-attribute-live-preisberechnung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-3-proxy-reactivity-under-the-hood</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-proxy-reaktivitaet-unter-der-haube" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/pwa-with-vue-and-vite-offline-installable-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/pwa-mit-vue-und-vite-offline-installierbar" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/rate-limiting-in-nuxt-server-routes-strategies-and-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/rate-limiting-in-nuxt-server-routes-strategien-und-implementierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/understanding-the-vue-3-reactivity-scheduler-and-nexttick</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/reactivity-scheduler-und-nexttick-in-vue-3-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-3-reactivity-transform-experiment-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/reactivity-transform-experiment-vue-3-einordnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-reactivity-performance-shallowref-markraw-and-toraw</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/reaktivitaets-performance-shallowref-markraw-und-toraw-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/responsive-vue-component-patterns-breakpoints-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/responsive-vue-komponenten-patterns-breakpoints" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/snapshot-testing-pitfalls-in-vue</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-snapshot-testing-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/nuxt-ssr-performance-tuning-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-ssr-performance-tuning-in-nuxt-anwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-storefront-architecture-headless-commerce-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-storefront-architektur-headless-commerce-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/toref-and-torefs-the-bridge-between-reactive-and-ref</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/toref-und-torefs-die-bruecke-zwischen-reactive-und-ref" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/touch-gestures-in-vue-apps-swipe-drag-pinch-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/touch-gesten-in-vue-apps-swipe-drag-pinch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-vitest-ui-visual-test-dashboard-for-vue-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-vitest-ui-visuelles-test-dashboard-fuer-vue-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-volar-vs-vue-language-server-comparing-ide-tooling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-volar-vs-vue-language-server-ide-tooling-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-vue-3-breaking-changes-checklist-for-migration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-vue-3-breaking-changes-checkliste-fur-die-migration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-vueuse-library-in-practice-composables-for-everyday-use</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-vueuse-bibliothek-praktisch-nutzen-composables-fuer-den-alltag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/vue-cart-state-management-pinia-persistence-sync</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-warenkorb-state-mit-pinia-persistenz-und-sync" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/measuring-web-vitals-in-vue-apps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/web-vitals-in-vue-apps-messen-und-verbessern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-api-extractor-for-libraries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-api-extractor-fuer-bibliotheken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-enforcing-validation-api-boundaries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-validierung-api-grenzen-durchsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/architecture-decision-records-typescript-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/architecture-decision-records-typescript-typen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-backwards-compatibility-type-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-backwards-compatibility-bei-typ-aenderungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/using-the-typescript-compiler-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-compiler-api-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/writing-custom-typescript-compiler-transformers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-compiler-transformer-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-typing-the-react-context-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-context-api-typsicher-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-declaration-maps-developer-experience</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-declaration-maps-entwicklererfahrung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/distributive-conditional-types-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/distributive-conditional-types-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-docker-multi-stage-builds-lean-images</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-docker-multi-stage-builds-schlanke-images" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-error-handling-discriminated-unions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/error-handling-discriminated-unions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-custom-error-class-hierarchies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/error-klassen-hierarchien-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-esbuild-vs-swc-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-esbuild-und-swc-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-esm-vs-commonjs-output-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-esm-vs-commonjs-output-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-express-type-safe</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-express-typsicher" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-fastify-schema-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-fastify-schema-validierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-writing-generic-react-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-generische-react-komponenten-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-graphql-code-generator-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-graphql-code-generator" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/higher-kinded-types-simulation-english</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/higher-kinded-types-simulation-typescript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-hono-edge-ready-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-hono-edge-backend" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-io-ts-zod-valibot-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-io-ts-zod-valibot-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/understanding-the-typescript-language-server</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-language-server-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-with-nestjs-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-mit-nestjs-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-never-type-practical-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/never-type-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-npm-library-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-npm-bibliothek-von-grund-auf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/nx-vs-turborepo-typescript-monorepo-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/nx-vs-turborepo-typescript-monorepo-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/onboarding-new-developers-typescript-codebase</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/onboarding-neue-entwickler-typescript-codebasis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/package-json-exports-field-typescript-packages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/package-json-exports-feld-typescript-pakete" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-parse-dont-validate-principle</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-parsing-statt-validieren-prinzip" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-peer-dependencies-type-safe</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-peer-dependencies-typsicher-deklarieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-react-event-handler-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-event-handler-types-in-react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-typing-react-hooks-safely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-react-hooks-typsicher-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-typing-react-props-and-children</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-react-props-und-children-typisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/recursive-conditional-types-typescript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/rekursive-conditional-types-typescript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-result-type-pattern-error-handling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/result-type-pattern-fehlerbehandlung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-generating-runtime-type-guards</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-runtime-type-guards-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/shared-types-frontend-backend-typescript-monorepo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/shared-types-frontend-backend-monorepo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-source-maps-in-production-safely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-source-maps-in-produktion-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/managing-technical-debt-any-type-governance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/technical-debt-any-typen-governance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-tree-shaking-for-libraries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-tree-shaking-bibliotheken-richtig-vorbereiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-trpc-end-to-end-type-safety</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-trpc-ende-zu-ende-typsicherheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/ts-morph-code-generation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/ts-morph-codegenerierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/measuring-improving-type-coverage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/type-coverage-messen-verbessern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/type-level-programming-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/type-level-programming-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/creating-typescript-style-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-style-guide-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-type-safe-error-boundaries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typsichere-error-boundaries" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/establishing-type-safety-team-culture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typsicherheit-als-team-kultur-etablieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/variadic-tuple-types-practical-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/variadic-tuple-types-praktisch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/versioning-internal-typescript-packages-changesets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/versionierung-interne-typescript-pakete-changesets" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/workspaces-package-linking-typescript-monorepo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/workspaces-paketverlinkung-typescript-monorepo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/typescript-zod-schema-design-patterns-large-codebases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-zod-schema-design-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-aggregation-after-joins-fan-out-problem</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-aggregation-nach-joins-fan-out-problem" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-ansi-sql-standard-vs-vendor-dialects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-ansi-sql-standard-vs-hersteller-dialekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-audit-trails-change-history-tables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-audit-trails-und-change-history-tabellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-database-access-auditing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-auditing-von-datenbankzugriffen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-cap-theorem-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-cap-theorem-praktisch-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-change-data-capture-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-change-data-capture-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-check-constraints-for-complex-business-rules</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-check-constraints-fuer-komplexe-geschaeftsregeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-code-review-checklist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-code-review-checkliste" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-understanding-connection-pooling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-connection-pooling-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-data-warehousing-fundamentals-with-sql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-data-warehousing-grundlagen-mit-sql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-granular-database-user-privileges</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-datenbank-benutzerrechte-granular-vergeben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-testing-database-migrations-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-datenbank-migrationen-systematisch-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-database-replication-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-datenbank-replikation-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-automated-data-integrity-checks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-datenintegritaet-automatisiert-pruefen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-column-level-data-encryption</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-datenverschluesselung-auf-spaltenebene" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-date-functions-compared-across-databases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-datumsfunktionen-im-datenbankvergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-analyzing-deadlocks-from-logs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-deadlocks-aus-logs-analysieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-understanding-deferred-constraints</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-deferred-constraints-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-domain-types-for-reusable-constraints</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-domain-typen-fuer-wiederverwendbare-constraints" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-etl-patterns-with-sql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-etl-patterns-mit-sql-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-understanding-eventual-consistency-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-eventual-consistency-praktisch-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-full-text-search-standard-vs-proprietary</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-full-text-search-standard-vs-proprietaer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-generated-columns-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-generated-columns-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-simulating-graph-queries-in-relational-databases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-graph-abfragen-in-relationalen-datenbanken-simulieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-group-by-rollup-and-cube-for-multi-level-aggregation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-group-by-rollup-und-cube-fuer-mehrstufige-aggregation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-having-vs-where-explained-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-having-vs-where-im-detail-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-hierarchical-data-models-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-hierarchische-daten-adjacency-list-nested-sets-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-hybrid-approaches-sql-plus-document-store</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-hybride-ansaetze-sql-plus-dokumentenspeicher" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-using-json-columns-in-relational-databases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-json-spalten-in-relationalen-datenbanken-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-finding-slow-queries-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-langsame-queries-systematisch-finden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-diagnosing-lock-contention</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-lock-contention-diagnostizieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-multi-tenancy-data-models-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-multi-tenancy-datenmodelle-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-handling-null-values-in-aggregate-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-null-werte-in-aggregatfunktionen-richtig-behandeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-simulating-pivot-tables-with-sql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-pivot-tabellen-mit-sql-simulieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-polymorphic-associations-in-sql-design</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-polymorphic-associations-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-postgresql-vs-mysql-syntax-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-postgresql-vs-mysql-syntax-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-read-replicas-the-right-way</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-read-replicas-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-regression-testing-database-schemas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-regressionstests-fuer-datenbankschemas" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-row-level-security-concepts-and-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-row-level-security-konzepte-und-umsetzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-generating-seed-data-for-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-seed-daten-fuer-tests-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-sharding-strategies-for-large-tables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-sharding-strategien-fuer-grosse-tabellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-soft-deletes-modeling-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-soft-deletes-richtig-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-injection-vectors-beyond-the-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-sql-injection-vektoren-jenseits-der-basics" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-understanding-statistics-and-query-plan-cache</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-statistiken-und-query-planer-cache-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-using-statistical-functions-in-sql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-statistische-funktionen-in-sql-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-portable-stored-procedures-across-databases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-stored-procedures-portabel-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-string-aggregation-across-database-engines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-string-aggregation-group-concat-string-agg-listagg" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-triggers-used-wisely-and-sparingly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-trigger-sinnvoll-und-sparsam-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-distributed-transactions-across-services</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-verteilte-transaktionen-ueber-services-hinweg" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-vertical-vs-horizontal-scaling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-vertikale-vs-horizontale-skalierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-when-nosql-really-is-the-better-fit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-wann-nosql-wirklich-besser-passt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-time-series-aggregation-and-gap-filling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-zeitreihen-aggregation-und-luecken-fuellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-at-batch-scheduling-one-time-tasks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-at-und-batch-einmalige-aufgaben-planen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-clocksource-tsc-hpet-database-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-clocksource-tsc-hpet-datenbankserver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-analyzing-core-dumps-and-segfaults-with-gdb</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-core-dumps-und-segfaults-mit-gdb-analysieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-cron-job-monitoring-detect-failures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-cron-jobs-ueberwachen-fehler-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-crontab-syntax-time-expressions-mastering</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-crontab-syntax-zeitausdruecke-meistern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-troubleshooting-dns-resolution-problems</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-dns-aufloesungsprobleme-systematisch-troubleshooten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-entropy-urandom-haveged-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-entropie-urandom-haveged-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-io-modes-mysql-o-direct-vs-buffered-io</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-io-modi-mysql-o-direct-vs-buffered-io" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-io-uring-aio-database-workloads</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-io-uring-aio-datenbank-workloads" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-jumbo-frames-mtu-tuning-database-network</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-jumbo-frames-mtu-tuning-datenbank-netzwerk" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-monotonic-vs-wall-clock-time</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-monotonic-clock-vs-wall-clock-zeitmessung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-precision-time-protocol-ptp-ntp-alternative</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-ptp-precision-time-protocol-ntp-alternative" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-systematically-tracking-down-memory-leaks-in-processes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-speicherlecks-in-prozessen-systematisch-aufspueren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-troubleshooting-high-swap-usage-despite-free-ram</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-hohe-swap-nutzung-troubleshooten-obwohl-ram-frei-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/linux-debugging-too-many-open-files-errors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-too-many-open-files-fehler-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-ab-test-analysis-and-statistical-analysis-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-ab-test-auswertung-und-statistische-analyse-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-overcoming-team-resistance-to-ai-coding-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-akzeptanz-widerstaende-ki-tools-ueberwinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-claude-subscription-plans-team-enterprise-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-abo-modelle-team-enterprise-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-claude-bedrock-vertex-api-deployment-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-bedrock-vertex-api-deployment-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-claude-code-ide-extensions-vscode-jetbrains</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-code-ide-erweiterungen-vscode-jetbrains" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-claude-code-vs-aider-cli-assistants-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-code-vs-aider-cli-assistenten-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-claude-vs-cursor-vs-windsurf-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-claude-vs-cursor-vs-windsurf-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-data-warehouse-modeling-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-data-warehouse-modellierung-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-data-quality-and-data-cleaning-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-datenqualitaet-data-cleaning-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-data-visualization-with-ai-assistance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-datenvisualisierung-mit-ki-unterstuetzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-differentiating-claude-code-adoption-by-experience-level</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-ki-einfuehrung-nach-erfahrungslevel-differenzieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-auditing-ai-tool-usage-compliance-tracking</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-ki-tool-nutzung-auditieren-compliance-tracking" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-kpi-reporting-and-business-intelligence-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-kpi-reporting-und-business-intelligence-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-building-prompt-libraries-and-knowledge-transfer-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-prompt-bibliotheken-wissenstransfer-team-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/claude-ai-defining-accountability-for-ai-generated-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-verantwortlichkeiten-ki-generierten-code-definieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-approximate-aggregation-for-large-datasets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-approximative-aggregation-fuer-grosse-datenmengen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-auto-increment-sequences-identity-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-auto-increment-sequences-identity-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-conditional-aggregation-building-kpi-reports-with-case-when</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-conditional-aggregation-kpi-reports-mit-case-when-und-filter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-weighted-aggregates-weighted-average-and-weighted-sum</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-gewichtete-aggregate-weighted-average-und-weighted-sum" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-grouping-sets-for-flexible-report-combinations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-grouping-sets-fuer-flexible-report-kombinationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-finding-long-running-transactions-idle-in-transaction</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-lange-laufende-transaktionen-finden-und-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-limit-top-fetch-first-pagination-syntax-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-limit-top-fetch-first-pagination-syntax-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/sql-n-plus-1-problem-auf-sql-ebene-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-null-sorting-coalesce-database-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-null-sortierung-und-coalesce-im-datenbankvergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-diagnosing-parameter-sniffing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-parameter-sniffing-erkennen-und-beheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-string-functions-database-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-string-funktionen-im-datenbankvergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-upsert-syntax-database-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-upsert-syntax-im-datenbankvergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-nested-aggregation-computing-aggregates-of-aggregates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-verschachtelte-aggregation-aggregate-ueber-aggregate-berechnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-analyzing-wait-events-and-wait-statistics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-wait-events-und-wartestatistiken-analysieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/sql-why-isnt-the-database-using-my-index</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-warum-nutzt-die-datenbank-den-index-nicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-migrating-from-php56-to-php8-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-56-auf-php8-migrationsstrategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-abstract-factory-pattern-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-abstract-factory-pattern-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-anonymous-classes-metaprogramming</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-anonyme-klassen-metaprogrammierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-api-authentication-keys-jwt-oauth2</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-api-authentifizierung-keys-jwt-oauth2" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-api-error-formats-rfc7807</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-api-fehlerformate-rfc7807" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-api-idempotency-keys</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-api-idempotenz-schluessel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-api-pagination-cursor-vs-offset-based</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-api-pagination-cursor-vs-offset" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-api-versioning-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-api-versionierung-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-ast-manipulation-with-nikic-php-parser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-ast-manipulation-nikic-php-parser" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/async-await-pattern-php-fibers-amp</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-async-await-pattern-fibers-amp" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/evaluating-php-attributes-at-runtime</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-attribute-zur-laufzeit-auswerten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/build-time-code-generation-in-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-code-generierung-zur-buildzeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-composer-lock-file-reproducible-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-composer-lock-datei-reproduzierbare-builds" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-composer-plugins-custom-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-composer-plugins-eigene-entwickeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-database-connection-pooling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-connection-pooling-datenbank" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-setting-content-security-policy-headers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-content-security-policy-aus-php-heraus-setzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-copy-on-write-arrays-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-copy-on-write-arrays-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-csrf-protection-without-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-csrf-schutz-ohne-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-currying-and-partial-application</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-currying-und-partielle-anwendung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-database-migrations-without-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-datenbank-migrationen-ohne-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-debug-backtrace-call-stack-introspection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-debug-backtrace-call-stack-analyse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-decorator-pattern-runtime-behavior</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-decorator-pattern-verhalten-erweitern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-avoiding-deserialization-vulnerabilities</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-deserialisierung-schwachstellen-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/generating-dynamic-proxy-classes-in-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-dynamische-proxy-klassen-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-publishing-your-own-composer-packages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-eigene-composer-pakete-veroeffentlichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-building-your-own-orm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-eigenes-orm-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/real-multithreading-php-parallel-extension</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-ext-parallel-multithreading" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-ffi-performance-critical-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-ffi-performancekritischer-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-fluent-interface-design-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-fluent-interfaces-richtig-designen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-functional-error-handling-maybe-either</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-funktionale-fehlerbehandlung-maybe-either" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-functional-composition-compose-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-funktionale-komposition-compose-funktionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-eliminating-global-variables-and-singletons</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-globale-variablen-und-singletons-loswerden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-hateoas-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-hateoas-praktisch-umgesetzt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-higher-order-functions-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-higher-order-functions-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-introspection-beyond-reflection-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-introspektion-jenseits-reflection-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-late-static-binding-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-late-static-binding-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-modernize-legacy-code-incrementally</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-legacy-code-schrittweise-modernisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-migrating-legacy-database-access-to-pdo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-legacy-datenbankzugriffe-auf-pdo-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-magic-methods-used-wisely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-magic-methods-sinnvoll-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-memoization-pure-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-memoization-reine-funktionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-message-queues-from-php-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-message-queues-aus-php-ansteuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-monorepo-multiple-packages-managing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-monorepo-mehrere-pakete-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-non-blocking-io-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-non-blocking-io-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-null-object-pattern-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-null-object-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-object-cloning-deep-vs-shallow-copy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-object-cloning-deep-copy-shallow-copy" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-object-memory-profile-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-objekt-speicherprofil-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-optimistic-pessimistic-locking</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-optimistic-pessimistic-locking-datenbanken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-pdo-advanced-techniques</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-pdo-fortgeschrittene-techniken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-persistent-data-structures-functional</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-persistente-datenstrukturen-funktional" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-simulating-the-pipe-operator</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-pipe-operator-simulation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-opcache-preloading-configuration-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-preloading-opcache-84-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-private-packagist-team-collaboration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-private-packagist-im-team-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/promises-deferred-objects-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-promises-deferred-objects" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-migrating-procedural-to-object-oriented-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-prozedural-zu-objektorientiert-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/process-parallelization-pcntl-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-prozess-parallelisierung-pcntl" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-psr-standards-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-psr-standards-im-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-pure-functions-referential-transparency</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-pure-functions-referenzielle-transparenz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-building-query-builder-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-query-builder-von-grund-auf-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-rate-limiting-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-rate-limiting-eigenbau" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/reactphp-event-loop-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-reactphp-event-loop-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-read-write-split-database-replication</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-read-write-split-datenbank-replikation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-realpath-cache-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-realpath-cache-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-reflection-api-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-reflection-api-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-recursion-trampoline-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-rekursion-trampolin-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-repository-pattern-without-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-repository-pattern-ohne-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-restful-api-design-principles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-restful-api-design-prinzipien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-secrets-management-best-practices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-secrets-management-in-anwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-semantic-versioning-for-packages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-semantic-versioning-fuer-pakete" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-session-security-preventing-fixation-and-hijacking</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-session-security-fixation-und-hijacking-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-validating-secure-file-uploads</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-sichere-datei-uploads-validieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-generating-secure-random-numbers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-sichere-zufallszahlen-erzeugen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-memory-leaks-long-running-processes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-speicherlecks-lang-laufende-prozesse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-splfixedarray-memory-efficient-structures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-splfixedarray-speichereffiziente-strukturen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-swoole-coroutines-parallel-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-swoole-coroutines-paralleles-php" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-prioritizing-technical-debt</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-technical-debt-priorisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-trait-conflict-resolution-insteadof-as</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-trait-konflikte-insteadof-as-aufloesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-variable-functions-variable-variables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-variable-funktionen-variable-variablen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-visitor-pattern-separating-operations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-visitor-pattern-operationen-trennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-weakmap-weakreference-memory-safe-caches</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-weakmap-weakreference-caches" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/php-xss-protection-and-output-encoding</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-xss-schutz-und-output-encoding" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-adobe-commerce-vs-open-source-2026-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-adobe-commerce-vs-open-source-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-category-merchandising-rules</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-category-merchandising-regeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-checkout-custom-steps-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-checkout-eigene-schritte-hyva" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-checkout-express-options-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-checkout-express-optionen-einbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-checkout-custom-payment-method-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-checkout-payment-method-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-checkout-performance-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-checkout-performance-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-checkout-validation-extend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-checkout-validierung-erweitern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-cloud-vs-self-hosted-decision-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-cloud-vs-self-hosted-entscheidung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-cms-block-versioning-workflow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-cms-block-versionierung-workflow" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-2-code-review-checklist-pull-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-code-review-checkliste-pull-requests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-composable-commerce-architecture-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-composable-commerce-architektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-content-staging-campaign-planning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-content-staging-kampagnen-planung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/crm-synchronization-strategies-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-crm-synchronisation-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-cron-scheduling-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-cron-job-scheduling-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-cron-monitoring-and-alerting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-cron-monitoring-alerting" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/building-custom-health-checks-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-custom-health-checks-selbst-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-2-debugging-production-only-bugs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-debugging-produktions-only-bugs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/distributed-tracing-in-magento-with-opentelemetry</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-distributed-tracing-opentelemetry" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-domain-mapping-per-store</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-domain-mapping-pro-store" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-dynamic-blocks-personalization-segments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-dynamic-blocks-personalisierung-segmente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-custom-indexer-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-eigene-indexer-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/erp-integration-architecture-patterns-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-erp-anbindung-architektur-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/feature-branches-database-snapshots-magento-2</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-feature-branches-datenbank-snapshots" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/fulfillment-provider-integration-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-fulfillment-provider-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-graphql-batching-dataloader-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-graphql-batching-dataloader-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-graphql-custom-mutations-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-graphql-eigene-mutations-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-graphql-error-handling-best-practices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-graphql-fehlerbehandlung-best-practices" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-graphql-performance-monitoring-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-graphql-performance-monitoring-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-graphql-persisted-queries-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-graphql-persisted-queries-einsatz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-indexer-dependencies-invalidation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-indexer-dependency-management" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-ai-product-recommendations-integration-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-ki-produktempfehlungen-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-layered-navigation-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-layered-navigation-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/local-multi-store-development-environment-magento-2</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-lokale-multi-store-entwicklungsumgebung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-multilingual-product-attributes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-mehrsprachige-produktattribute" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/middleware-layer-integrations-design-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-middleware-layer-integrationen-design" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-2-module-boilerplate-generators</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-modul-boilerplate-generatoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-new-relic-application-performance-monitoring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-new-relic-monitoring" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-opensearch-attribute-mapping</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-opensearch-attribut-mapping" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-pagebuilder-custom-content-type-development</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-pagebuilder-eigener-content-type-entwickeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-pagebuilder-performance-optimization-lazy-loading</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-pagebuilder-performance-lazy-loading" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-partial-reindex-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-partial-reindex-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/performance-budgets-for-magento-shops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-performance-budgets-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/pim-integration-fundamentals-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-pim-integration-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-roadmap-end-of-life-planning-en</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-roadmap-end-of-life-planung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/integrating-sentry-error-tracking-in-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-sentry-error-tracking-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-store-switcher-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-store-switcher-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-store-view-configuration-best-practices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-store-view-konfiguration-best-practices" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-search-relevance-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-suche-relevanz-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-search-synonyms-spell-correction</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-suche-synonyme-rechtschreibkorrektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/magento-currency-conversion-price-rules-per-store</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-waehrungsumrechnung-preisregeln-pro-store" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-analytics-integration-understanding-user-behavior</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-analytics-integration-nutzerverhalten-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-reducing-app-size-bundle-assets-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-app-groesse-reduzieren-bundle-und-assets-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-app-launch-checklist-from-testing-to-store-approval</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-app-launch-checkliste-von-tests-bis-store-freigabe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-app-store-connect-listing-create-and-maintain</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-app-store-connect-eintrag-erstellen-und-pflegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-app-store-review-guidelines-common-rejection-reasons</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-app-store-review-guidelines-haeufige-ablehnungsgruende" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-accessibility-for-mobile-apps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-barrierefreiheit-accessibility-fuer-mobile-apps" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-biometric-authentication-face-id-and-fingerprint</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-biometrische-authentifizierung-face-id-und-fingerabdruck" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-bluetooth-integration-pairing-iot-devices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-bluetooth-integration-mit-iot-geraeten-koppeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-ci-cd-pipeline-with-github-actions-and-eas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-ci-cd-pipeline-mit-github-actions-und-eas" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-code-signing-certificates-and-provisioning-profiles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-code-signing-zertifikate-und-provisioning-profiles" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-crash-reporting-with-sentry</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-crash-reporting-mit-sentry-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-dark-mode-theming-systematic-approach</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-dark-mode-und-theming-systematisch-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-deep-linking-and-universal-links-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-deep-linking-und-universal-links-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-design-system-building-your-own-component-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-design-system-eigene-komponenten-bibliothek-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-e2e-testing-with-detox</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-e2e-tests-mit-detox-end-to-end-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-eas-build-cloud-builds-for-ios-and-android</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-eas-build-cloud-builds-fuer-ios-und-android" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-custom-native-modules-swift-kotlin-bridge</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-eigene-native-module-schreiben-swift-und-kotlin-bruecke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-expo-router-file-based-routing-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-expo-router-dateibasiertes-routing-in-der-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-validating-forms-with-react-hook-form</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-formulare-mit-react-hook-form-validieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-gesture-handler-swipe-drag-and-pinch-gestures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-gesture-handler-swipe-drag-und-pinch-gesten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-graphql-integration-with-apollo-client</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-graphql-integration-mit-apollo-client" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-hermes-engine-why-it-makes-apps-faster</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-hermes-engine-warum-sie-apps-schneller-macht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-managing-background-tasks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-hintergrundprozesse-background-tasks-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-implementing-in-app-purchases-with-revenuecat</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-in-app-kaeufe-mit-revenuecat-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-internationalization-i18next-multilingual-apps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-internationalisierung-i18next-mehrsprachige-apps" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-camera-integration-with-vision-camera</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-kamera-integration-mit-vision-camera" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-monorepo-turborepo-managing-multiple-apps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-monorepo-mit-turborepo-mehrere-apps-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-nativewind-tailwind-utility-classes-for-mobile-apps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-nativewind-tailwind-utility-classes-fuer-mobile-apps" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-navigation-with-react-navigation-stacks-tabs-drawer</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-navigation-mit-react-navigation-stacks-tabs-drawer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-new-architecture-fabric-and-turbomodules-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-neue-architektur-fabric-und-turbomodules-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-offline-first-apps-with-watermelondb</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-offline-first-mit-watermelondb-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-ota-updates-with-eas-update-a-codepush-alternative</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-ota-updates-mit-eas-update-code-push-alternative" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-performance-profiling-flipper-devtools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-performance-profiling-mit-flipper-und-devtools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-play-console-listing-create-and-maintain</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-play-console-eintrag-erstellen-und-pflegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-play-store-policies-common-rejection-reasons</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-play-store-richtlinien-haeufige-ablehnungsgruende" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-push-notifications-with-firebase-cloud-messaging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-push-notifications-mit-firebase-cloud-messaging" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-reanimated-3-building-fluid-animations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-reanimated-3-fluessige-animationen-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-rest-api-integration-with-tanstack-query</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-rest-api-anbindung-mit-tanstack-query" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-secure-storage-and-keychain</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-sicherer-speicher-secure-storage-und-keychain" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-sqlite-local-data-storage-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-sqlite-lokale-datenhaltung-praktisch-umgesetzt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-ssl-pinning-securing-api-communication</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-ssl-pinning-api-kommunikation-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-geolocation-services-done-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-standortdienste-geolocation-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-state-management-zustand-vs-redux-toolkit-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-state-management-zustand-vs-redux-toolkit-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-subscription-commerce-implementing-in-app-subscriptions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-subscription-commerce-abo-modelle-in-apps-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-tablet-foldable-support-responsive-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-tablet-und-foldable-support-responsive-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-testing-jest-unit-component-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-testing-mit-jest-unit-und-komponententests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-implementing-video-and-audio-playback</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-video-und-audio-wiedergabe-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-webview-integration-embedding-hybrid-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-webview-integration-hybride-inhalte-einbetten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-integrating-ads-admob-and-alternatives</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-werbung-integrieren-admob-und-alternativen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/react-native-widgets-for-ios-and-android</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-widgets-fuer-ios-und-android-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/recht-barrierefreiheitsstaerkungsgesetz-bfsg-was-online-shops-2026-umsetzen-muessen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/battery-act-and-weee-take-back-obligations-for-online-retailers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/batteriegesetz-und-elektrogesetz-ruecknahmepflichten-im-online-handel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/cookie-consent-ttdsg-legally-compliant-banners-2026</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/cookie-consent-ttdsg-rechtssichere-banner-2026" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/recht-digital-services-act-dsa-obligations-for-online-shops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/recht-digital-services-act-dsa-pflichten-fuer-online-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/dsgvo-schadensersatz-art-82-aktuelle-rechtsprechung-fuer-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/recht-e-rechnungspflicht-b2b-2025-was-shop-betreiber-wissen-muessen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/eu-ai-act-labeling-obligations-for-chatbots-in-online-shops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/eu-ai-act-kennzeichnungspflicht-fuer-chatbots-im-online-shop" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/legal-notice-obligations-and-current-abmahnung-traps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/impressumspflicht-und-anbieterkennzeichnung-aktuelle-abmahnfallen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/lieferkettensorgfaltspflichtengesetz-lksg-gilt-das-auch-fuer-kleine-haendler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/marktplatzhaftung-paragraf-25e-ustg-was-haendler-beachten-muessen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/nis2-directive-it-security-obligations-for-online-retailers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/nis2-richtlinie-it-sicherheitspflichten-fuer-online-haendler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/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/de/blog/recht-omnibus-richtlinie-preisangaben-niedrigster-preis-30-tage-regel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/textile-labeling-and-responsible-economic-operator-eu</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/textilkennzeichnung-und-verantwortlicher-wirtschaftsakteur-eu" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/recht-packaging-act-and-lucid-registration-obligations-for-online-retailers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/recht-verpackungsgesetz-und-lucid-registrierung-pflichten-fuer-haendler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/right-of-withdrawal-updated-model-form-and-return-shipping-costs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/widerrufsrecht-neues-musterformular-und-ruecksendekosten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/blog/bash-associative-arrays-advanced-patterns-beyond-key-value</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-assoziative-arrays-in-bash-fortgeschrittene-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-associative-arrays-advanced-patterns-beyond-key-value" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-associative-arrays-advanced-patterns-beyond-key-value.webp</image:loc><image:title>Associative Arrays in Bash: Advanced Patterns Beyond Key-Value</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Associative&#x20;Arrays&#x20;in&#x20;Bash&#x3A;&#x20;Advanced&#x20;Patterns&#x20;Beyond&#x20;Key-Value"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-associative-arrays-advanced-patterns-beyond-key-value.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-writing-an-aws-lambda-custom-runtime-in-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-aws-lambda-custom-runtime-in-bash-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-writing-an-aws-lambda-custom-runtime-in-bash" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-writing-an-aws-lambda-custom-runtime-in-bash.webp</image:loc><image:title>Writing an AWS Lambda Custom Runtime in Bash: Runtime API and Handler Loop</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;an&#x20;AWS&#x20;Lambda&#x20;Custom&#x20;Runtime&#x20;in&#x20;Bash&#x3A;&#x20;Runtime&#x20;API&#x20;and&#x20;Handler&#x20;Loop"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-writing-an-aws-lambda-custom-runtime-in-bash.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-arithmetic-let-double-parentheses-and-integer-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-bash-arithmetik-let-doppelte-klammern-und-integer-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-arithmetic-let-double-parentheses-and-integer-pitfalls" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-arithmetic-let-double-parentheses-and-integer-pitfalls.webp</image:loc><image:title>Bash Arithmetic: let, Double Parentheses and Integer Pitfalls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bash&#x20;Arithmetic&#x3A;&#x20;let,&#x20;Double&#x20;Parentheses&#x20;and&#x20;Integer&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-arithmetic-let-double-parentheses-and-integer-pitfalls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-writing-bash-completion-scripts-for-your-own-cli-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-bash-completion-skripte-fuer-eigene-cli-tools-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-writing-bash-completion-scripts-for-your-own-cli-tools" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-writing-bash-completion-scripts-for-your-own-cli-tools.webp</image:loc><image:title>Writing Bash Completion Scripts for Your Own CLI Tools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Writing&#x20;Bash&#x20;Completion&#x20;Scripts&#x20;for&#x20;Your&#x20;Own&#x20;CLI&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-writing-bash-completion-scripts-for-your-own-cli-tools.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-configuring-and-forensically-analyzing-bash-history</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-bash-history-verwalten-und-fuer-forensik-auswerten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-configuring-and-forensically-analyzing-bash-history" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-configuring-and-forensically-analyzing-bash-history.webp</image:loc><image:title>Configuring and Forensically Analyzing Bash History</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;Forensically&#x20;Analyzing&#x20;Bash&#x20;History"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-configuring-and-forensically-analyzing-bash-history.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-exporting-cron-job-metrics-to-prometheus</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-bash-skript-metriken-an-prometheus-exportieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-exporting-cron-job-metrics-to-prometheus" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-exporting-cron-job-metrics-to-prometheus.webp</image:loc><image:title>Exporting Bash Script Metrics to Prometheus: The Node Exporter Textfile Collector</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Exporting&#x20;Bash&#x20;Script&#x20;Metrics&#x20;to&#x20;Prometheus&#x3A;&#x20;The&#x20;Node&#x20;Exporter&#x20;Textfile&#x20;Collector"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-exporting-cron-job-metrics-to-prometheus.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-testing-bash-scripts-in-isolated-docker-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-bash-skripte-in-docker-containern-isoliert-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-testing-bash-scripts-in-isolated-docker-containers" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-testing-bash-scripts-in-isolated-docker-containers.webp</image:loc><image:title>Testing Bash Scripts in Isolated Docker Containers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;Bash&#x20;Scripts&#x20;in&#x20;Isolated&#x20;Docker&#x20;Containers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-testing-bash-scripts-in-isolated-docker-containers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-least-privilege-bash-scripts-sudo-vs-suid-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-bash-skripte-mit-geringsten-rechten-ausfuehren-sudo-und-setuid-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-least-privilege-bash-scripts-sudo-vs-suid-pitfalls" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-least-privilege-bash-scripts-sudo-vs-suid-pitfalls.webp</image:loc><image:title>Running Bash Scripts With Least Privilege: sudo Rules Over SUID Pitfalls</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;With&#x20;Least&#x20;Privilege&#x3A;&#x20;sudo&#x20;Rules&#x20;Over&#x20;SUID&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-least-privilege-bash-scripts-sudo-vs-suid-pitfalls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-parsing-command-line-options-with-getopts-the-professional-way</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-bash-skripte-mit-getopts-professionell-parametrisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-parsing-command-line-options-with-getopts-the-professional-way" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-parsing-command-line-options-with-getopts-the-professional-way.webp</image:loc><image:title>Parsing Command-Line Options in Bash With getopts, the Professional Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Parsing&#x20;Command-Line&#x20;Options&#x20;in&#x20;Bash&#x20;With&#x20;getopts,&#x20;the&#x20;Professional&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-parsing-command-line-options-with-getopts-the-professional-way.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-bashrc-vs-bash-profile-vs-profile-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-bashrc-bash-profile-und-profile-die-unterschiede-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-bashrc-vs-bash-profile-vs-profile-explained" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-bashrc-vs-bash-profile-vs-profile-explained.webp</image:loc><image:title>.bashrc, .bash_profile, and .profile: Really 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=".bashrc,&#x20;.bash_profile,&#x20;and&#x20;.profile&#x3A;&#x20;Really&#x20;Understanding&#x20;the&#x20;Differences"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-bashrc-vs-bash-profile-vs-profile-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-inspecting-binary-data-with-xxd-and-od</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-binaerdaten-in-bash-mit-xxd-und-od-untersuchen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-inspecting-binary-data-with-xxd-and-od" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-inspecting-binary-data-with-xxd-and-od.webp</image:loc><image:title>Inspecting Binary Data in Bash with xxd and od: Hexdumps, Magic Bytes, Format Detection</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Inspecting&#x20;Binary&#x20;Data&#x20;in&#x20;Bash&#x20;with&#x20;xxd&#x20;and&#x20;od&#x3A;&#x20;Hexdumps,&#x20;Magic&#x20;Bytes,&#x20;Format&#x20;Detection"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-inspecting-binary-data-with-xxd-and-od.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-caching-strategies-for-ci-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-caching-strategien-in-bash-ci-skripten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-caching-strategies-for-ci-scripts" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-caching-strategies-for-ci-scripts.webp</image:loc><image:title>Caching Strategies in Bash CI Scripts: Cache Keys, Invalidation and Locking</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;in&#x20;Bash&#x20;CI&#x20;Scripts&#x3A;&#x20;Cache&#x20;Keys,&#x20;Invalidation&#x20;and&#x20;Locking"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-caching-strategies-for-ci-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-advanced-case-pattern-matching-in-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-case-pattern-matching-in-bash-fortgeschrittene-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-advanced-case-pattern-matching-in-bash" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-advanced-case-pattern-matching-in-bash.webp</image:loc><image:title>Advanced case Pattern Matching in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Advanced&#x20;case&#x20;Pattern&#x20;Matching&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-advanced-case-pattern-matching-in-bash.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-command-substitution-pitfalls-dollar-parens-vs-backticks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-command-substitution-fallstricke-dollar-klammern-vs-backticks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-command-substitution-pitfalls-dollar-parens-vs-backticks" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-command-substitution-pitfalls-dollar-parens-vs-backticks.webp</image:loc><image:title>Command Substitution in Bash: $(...) vs. Backticks and Their Pitfalls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Command&#x20;Substitution&#x20;in&#x20;Bash&#x3A;&#x20;&#x24;&#x28;...&#x29;&#x20;vs.&#x20;Backticks&#x20;and&#x20;Their&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-command-substitution-pitfalls-dollar-parens-vs-backticks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-correlation-ids-for-distributed-tracing-in-shell-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-correlation-ids-fuer-verteiltes-tracing-in-shell-pipelines" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-correlation-ids-for-distributed-tracing-in-shell-pipelines" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-correlation-ids-for-distributed-tracing-in-shell-pipelines.webp</image:loc><image:title>Correlation IDs for Distributed Tracing in Shell Pipelines</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Correlation&#x20;IDs&#x20;for&#x20;Distributed&#x20;Tracing&#x20;in&#x20;Shell&#x20;Pipelines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-correlation-ids-for-distributed-tracing-in-shell-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-making-the-curl-bash-installer-pattern-safer</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-curl-bash-installer-pattern-sicher-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-making-the-curl-bash-installer-pattern-safer" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-making-the-curl-bash-installer-pattern-safer.webp</image:loc><image:title>Making the curl-Bash Installer Pattern Safer</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;curl-Bash&#x20;Installer&#x20;Pattern&#x20;Safer"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-making-the-curl-bash-installer-pattern-safer.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-curl-retry-strategies-for-unstable-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-curl-retry-strategien-fuer-instabile-apis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-curl-retry-strategies-for-unstable-apis" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-curl-retry-strategies-for-unstable-apis.webp</image:loc><image:title>curl Retry Strategies for Unstable APIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="curl&#x20;Retry&#x20;Strategies&#x20;for&#x20;Unstable&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-curl-retry-strategies-for-unstable-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-watching-filesystem-changes-with-inotify-in-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-dateisystem-aenderungen-mit-inotify-in-bash-ueberwachen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-watching-filesystem-changes-with-inotify-in-bash" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-watching-filesystem-changes-with-inotify-in-bash.webp</image:loc><image:title>Watching Filesystem Changes with inotify in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Watching&#x20;Filesystem&#x20;Changes&#x20;with&#x20;inotify&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-watching-filesystem-changes-with-inotify-in-bash.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-declare-flags-explained-integer-export-nameref-readonly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-declare-flags-in-bash-i-x-a-n-im-detail-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-declare-flags-explained-integer-export-nameref-readonly" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-declare-flags-explained-integer-export-nameref-readonly.webp</image:loc><image:title>Bash declare Flags Explained: -i, -x, -A, -n in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bash&#x20;declare&#x20;Flags&#x20;Explained&#x3A;&#x20;-i,&#x20;-x,&#x20;-A,&#x20;-n&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-declare-flags-explained-integer-export-nameref-readonly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-dev-tcp-network-connections-without-curl-or-netcat</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-dev-tcp-netzwerkverbindungen-in-bash-ohne-curl-oder-netcat" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-dev-tcp-network-connections-without-curl-or-netcat" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-dev-tcp-network-connections-without-curl-or-netcat.webp</image:loc><image:title>/dev/tcp in Bash: TCP Connections Without curl or netcat</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="&#x2F;dev&#x2F;tcp&#x20;in&#x20;Bash&#x3A;&#x20;TCP&#x20;Connections&#x20;Without&#x20;curl&#x20;or&#x20;netcat"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-dev-tcp-network-connections-without-curl-or-netcat.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-err-trap-vs-exit-trap-differences-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-err-trap-vs-exit-trap-wann-welcher-trap-greift" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-err-trap-vs-exit-trap-differences-explained" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-err-trap-vs-exit-trap-differences-explained.webp</image:loc><image:title>trap ERR vs. trap EXIT: When Each Trap Actually Fires in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="trap&#x20;ERR&#x20;vs.&#x20;trap&#x20;EXIT&#x3A;&#x20;When&#x20;Each&#x20;Trap&#x20;Actually&#x20;Fires&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-err-trap-vs-exit-trap-differences-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-portable-terminal-color-output-with-tput-and-ansi-codes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-farbausgabe-und-terminal-faehigkeiten-erkennen-tput-und-ansi-codes-portabel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-portable-terminal-color-output-with-tput-and-ansi-codes" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-portable-terminal-color-output-with-tput-and-ansi-codes.webp</image:loc><image:title>Portable Terminal Color Output With tput and ANSI Codes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Portable&#x20;Terminal&#x20;Color&#x20;Output&#x20;With&#x20;tput&#x20;and&#x20;ANSI&#x20;Codes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-portable-terminal-color-output-with-tput-and-ansi-codes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-implementing-feature-flags-in-shell-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-feature-flags-in-bash-skripten-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-implementing-feature-flags-in-shell-scripts" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-implementing-feature-flags-in-shell-scripts.webp</image:loc><image:title>Implementing Feature Flags in Bash Scripts: Rolling Out Risky Changes Safely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Feature&#x20;Flags&#x20;in&#x20;Bash&#x20;Scripts&#x3A;&#x20;Rolling&#x20;Out&#x20;Risky&#x20;Changes&#x20;Safely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-implementing-feature-flags-in-shell-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-globbing-extglob-globstar-and-nullglob-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-globbing-in-bash-extglob-globstar-und-nullglob-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-globbing-extglob-globstar-and-nullglob-in-practice" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-globbing-extglob-globstar-and-nullglob-in-practice.webp</image:loc><image:title>Globbing in Bash: Using extglob, globstar and nullglob in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Globbing&#x20;in&#x20;Bash&#x3A;&#x20;Using&#x20;extglob,&#x20;globstar&#x20;and&#x20;nullglob&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-globbing-extglob-globstar-and-nullglob-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-validating-configuration-values-with-here-strings</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-here-string-basierte-konfigurationsvalidierung-in-bash" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-validating-configuration-values-with-here-strings" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-validating-configuration-values-with-here-strings.webp</image:loc><image:title>Validating Configuration Values in Bash With Here-Strings</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Validating&#x20;Configuration&#x20;Values&#x20;in&#x20;Bash&#x20;With&#x20;Here-Strings"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-validating-configuration-values-with-here-strings.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-advanced-heredoc-and-herestring-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-heredocs-und-herestrings-fortgeschrittene-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-advanced-heredoc-and-herestring-patterns" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-advanced-heredoc-and-herestring-patterns.webp</image:loc><image:title>Heredocs and Herestrings in Bash: Advanced Patterns</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Heredocs&#x20;and&#x20;Herestrings&#x20;in&#x20;Bash&#x3A;&#x20;Advanced&#x20;Patterns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-advanced-heredoc-and-herestring-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-parsing-ini-files-without-external-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-ini-dateien-in-reinem-bash-parsen-ohne-externe-tools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-parsing-ini-files-without-external-tools" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-parsing-ini-files-without-external-tools.webp</image:loc><image:title>Parsing INI Files in Pure Bash: Without External Tools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Parsing&#x20;INI&#x20;Files&#x20;in&#x20;Pure&#x20;Bash&#x3A;&#x20;Without&#x20;External&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-parsing-ini-files-without-external-tools.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-local-vs-global-variables-in-nested-bash-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-lokale-variablen-vs-globale-variablen-in-verschachtelten-funktionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-local-vs-global-variables-in-nested-bash-functions" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-local-vs-global-variables-in-nested-bash-functions.webp</image:loc><image:title>Local vs. Global Variables in Nested Bash Functions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Local&#x20;vs.&#x20;Global&#x20;Variables&#x20;in&#x20;Nested&#x20;Bash&#x20;Functions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-local-vs-global-variables-in-nested-bash-functions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-generating-man-pages-for-your-own-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-man-pages-fuer-eigene-bash-skripte-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-generating-man-pages-for-your-own-bash-scripts" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-generating-man-pages-for-your-own-bash-scripts.webp</image:loc><image:title>Generating Man Pages for Your Own Bash Scripts: pandoc, help2man and Installation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;Man&#x20;Pages&#x20;for&#x20;Your&#x20;Own&#x20;Bash&#x20;Scripts&#x3A;&#x20;pandoc,&#x20;help2man&#x20;and&#x20;Installation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-generating-man-pages-for-your-own-bash-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-simulating-ci-matrix-builds-locally-with-bash-loops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-matrix-builds-mit-bash-schleifen-in-ci-simulieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-simulating-ci-matrix-builds-locally-with-bash-loops" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-simulating-ci-matrix-builds-locally-with-bash-loops.webp</image:loc><image:title>Simulating CI Matrix Builds Locally with Bash Loops</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Simulating&#x20;CI&#x20;Matrix&#x20;Builds&#x20;Locally&#x20;with&#x20;Bash&#x20;Loops"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-simulating-ci-matrix-builds-locally-with-bash-loops.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-named-pipes-fifos-connecting-processes-without-a-temp-file</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-named-pipes-fifos-prozesse-ohne-zwischendatei-verbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-named-pipes-fifos-connecting-processes-without-a-temp-file" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-named-pipes-fifos-connecting-processes-without-a-temp-file.webp</image:loc><image:title>Named Pipes (FIFOs) in Bash: Connecting Processes Without a Temp File</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Named&#x20;Pipes&#x20;&#x28;FIFOs&#x29;&#x20;in&#x20;Bash&#x3A;&#x20;Connecting&#x20;Processes&#x20;Without&#x20;a&#x20;Temp&#x20;File"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-named-pipes-fifos-connecting-processes-without-a-temp-file.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-nohup-vs-disown-vs-setsid-explained-for-background-services</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-nohup-disown-und-setsid-im-detail-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-nohup-vs-disown-vs-setsid-explained-for-background-services" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-nohup-vs-disown-vs-setsid-explained-for-background-services.webp</image:loc><image:title>nohup vs. disown vs. setsid in Bash Explained for Background Services</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="nohup&#x20;vs.&#x20;disown&#x20;vs.&#x20;setsid&#x20;in&#x20;Bash&#x20;Explained&#x20;for&#x20;Background&#x20;Services"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-nohup-vs-disown-vs-setsid-explained-for-background-services.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-port-scanning-basics-with-pure-bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-port-scanning-grundlagen-mit-reinem-bash" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-port-scanning-basics-with-pure-bash" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-port-scanning-basics-with-pure-bash.webp</image:loc><image:title>Port Scanning Basics with Pure Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Port&#x20;Scanning&#x20;Basics&#x20;with&#x20;Pure&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-port-scanning-basics-with-pure-bash.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-using-the-proc-filesystem-in-bash-scripts-for-diagnostics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-proc-dateisystem-in-bash-skripten-zur-diagnose-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-using-the-proc-filesystem-in-bash-scripts-for-diagnostics" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-using-the-proc-filesystem-in-bash-scripts-for-diagnostics.webp</image:loc><image:title>Using the /proc Filesystem in Bash Scripts for 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;&#x2F;proc&#x20;Filesystem&#x20;in&#x20;Bash&#x20;Scripts&#x20;for&#x20;Diagnostics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-using-the-proc-filesystem-in-bash-scripts-for-diagnostics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-regex-matching-with-bash-rematch-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-regex-matching-mit-bash-rematch-praktisch-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-regex-matching-with-bash-rematch-in-practice" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-regex-matching-with-bash-rematch-in-practice.webp</image:loc><image:title>Using Regex Matching with BASH_REMATCH in Bash</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Regex&#x20;Matching&#x20;with&#x20;BASH_REMATCH&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-regex-matching-with-bash-rematch-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-restricted-shell-rbash-for-limited-environments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-restricted-shell-rbash-fuer-eingeschraenkte-umgebungen-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-restricted-shell-rbash-for-limited-environments" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-restricted-shell-rbash-for-limited-environments.webp</image:loc><image:title>Restricted Shell (rbash) in Bash: Using Limited Environments Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Restricted&#x20;Shell&#x20;&#x28;rbash&#x29;&#x20;in&#x20;Bash&#x3A;&#x20;Using&#x20;Limited&#x20;Environments&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-restricted-shell-rbash-for-limited-environments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-streaming-huge-files-with-awk-without-memory-blowup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-riesige-dateien-mit-awk-und-bash-streamen-ohne-arbeitsspeicher-explosion" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-streaming-huge-files-with-awk-without-memory-blowup" />
<lastmod>2026-08-09T10:16:49+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-streaming-huge-files-with-awk-without-memory-blowup.webp</image:loc><image:title>Streaming Huge Files with awk and Bash Without Blowing Up Memory</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Streaming&#x20;Huge&#x20;Files&#x20;with&#x20;awk&#x20;and&#x20;Bash&#x20;Without&#x20;Blowing&#x20;Up&#x20;Memory"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-streaming-huge-files-with-awk-without-memory-blowup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-s3-sync-patterns-with-awscli-in-bash-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-s3-sync-muster-mit-awscli-in-bash-skripten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-s3-sync-patterns-with-awscli-in-bash-scripts" />
<lastmod>2026-08-09T10:16:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-s3-sync-patterns-with-awscli-in-bash-scripts.webp</image:loc><image:title>S3 Sync Patterns with awscli in Bash Scripts: Deployment, Backup 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="S3&#x20;Sync&#x20;Patterns&#x20;with&#x20;awscli&#x20;in&#x20;Bash&#x20;Scripts&#x3A;&#x20;Deployment,&#x20;Backup&#x20;and&#x20;Error&#x20;Handling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-s3-sync-patterns-with-awscli-in-bash-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-building-self-updating-cli-tools-with-safe-rollback</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-selbst-aktualisierende-bash-tools-versionierung-und-self-update" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-building-self-updating-cli-tools-with-safe-rollback" />
<lastmod>2026-08-09T10:16:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-building-self-updating-cli-tools-with-safe-rollback.webp</image:loc><image:title>Self-Updating Bash Tools: Versioning and Safe Self-Update</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Self-Updating&#x20;Bash&#x20;Tools&#x3A;&#x20;Versioning&#x20;and&#x20;Safe&#x20;Self-Update"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-building-self-updating-cli-tools-with-safe-rollback.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-shebang-portability-env-bash-versus-absolute-path</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-shebang-portabilitaet-env-bash-vs-absoluter-pfad" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-shebang-portability-env-bash-versus-absolute-path" />
<lastmod>2026-08-09T10:16:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-shebang-portability-env-bash-versus-absolute-path.webp</image:loc><image:title>Shebang Portability: env bash vs. an Absolute Path</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Shebang&#x20;Portability&#x3A;&#x20;env&#x20;bash&#x20;vs.&#x20;an&#x20;Absolute&#x20;Path"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-shebang-portability-env-bash-versus-absolute-path.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-shunit2-vs-bats-core-choosing-a-bash-test-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-shunit2-vs-bats-welches-test-framework-fuer-welches-projekt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-shunit2-vs-bats-core-choosing-a-bash-test-framework" />
<lastmod>2026-08-09T10:16:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-shunit2-vs-bats-core-choosing-a-bash-test-framework.webp</image:loc><image:title>shUnit2 vs. bats: Which Test Framework Fits Which Bash Project</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="shUnit2&#x20;vs.&#x20;bats&#x3A;&#x20;Which&#x20;Test&#x20;Framework&#x20;Fits&#x20;Which&#x20;Bash&#x20;Project"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-shunit2-vs-bats-core-choosing-a-bash-test-framework.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-snapshot-testing-for-shell-script-output</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-snapshot-tests-fuer-shell-ausgaben-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-snapshot-testing-for-shell-script-output" />
<lastmod>2026-08-09T10:16:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-snapshot-testing-for-shell-script-output.webp</image:loc><image:title>Snapshot Testing for Bash Scripts: Capturing Output Reliably</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;for&#x20;Bash&#x20;Scripts&#x3A;&#x20;Capturing&#x20;Output&#x20;Reliably"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-snapshot-testing-for-shell-script-output.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-using-ssh-multiplexing-with-controlmaster-in-automation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-ssh-multiplexing-mit-controlmaster-in-automatisierung-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-using-ssh-multiplexing-with-controlmaster-in-automation" />
<lastmod>2026-08-09T10:16:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-using-ssh-multiplexing-with-controlmaster-in-automation.webp</image:loc><image:title>Using SSH Multiplexing with ControlMaster in Automation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;SSH&#x20;Multiplexing&#x20;with&#x20;ControlMaster&#x20;in&#x20;Automation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-using-ssh-multiplexing-with-controlmaster-in-automation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-structured-json-logging-for-shell-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-strukturiertes-json-logging-in-bash-skripten-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-structured-json-logging-for-shell-scripts" />
<lastmod>2026-08-09T10:16:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-structured-json-logging-for-shell-scripts.webp</image:loc><image:title>Building Structured JSON Logging 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="Building&#x20;Structured&#x20;JSON&#x20;Logging&#x20;in&#x20;Bash&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-structured-json-logging-for-shell-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-understanding-subshell-scoping-why-variables-vanish-after-a-pipe</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-subshell-scoping-verstehen-warum-variablen-nach-der-pipe-verschwinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-understanding-subshell-scoping-why-variables-vanish-after-a-pipe" />
<lastmod>2026-08-09T10:16:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-understanding-subshell-scoping-why-variables-vanish-after-a-pipe.webp</image:loc><image:title>Understanding Subshell Scoping: Why Variables Vanish After a Pipe</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Subshell&#x20;Scoping&#x3A;&#x20;Why&#x20;Variables&#x20;Vanish&#x20;After&#x20;a&#x20;Pipe"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-understanding-subshell-scoping-why-variables-vanish-after-a-pipe.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-automating-tar-and-gzip-backups-in-shell-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-tar-und-gzip-automatisierung-in-bash-skripten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-automating-tar-and-gzip-backups-in-shell-scripts" />
<lastmod>2026-08-09T10:16:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-automating-tar-and-gzip-backups-in-shell-scripts.webp</image:loc><image:title>Automating tar and gzip in Bash Scripts: Robust Backups with Incremental Runs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;tar&#x20;and&#x20;gzip&#x20;in&#x20;Bash&#x20;Scripts&#x3A;&#x20;Robust&#x20;Backups&#x20;with&#x20;Incremental&#x20;Runs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-automating-tar-and-gzip-backups-in-shell-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-registering-and-managing-traps-for-multiple-signals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-traps-fuer-mehrere-signale-gleichzeitig-registrieren-und-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-registering-and-managing-traps-for-multiple-signals" />
<lastmod>2026-08-09T10:16:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-registering-and-managing-traps-for-multiple-signals.webp</image:loc><image:title>Registering and Managing Traps for Multiple Signals at Once</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Registering&#x20;and&#x20;Managing&#x20;Traps&#x20;for&#x20;Multiple&#x20;Signals&#x20;at&#x20;Once"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-registering-and-managing-traps-for-multiple-signals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-controlling-ulimit-and-resource-limits-in-shell-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-ulimit-und-ressourcenlimits-in-bash-skripten-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-controlling-ulimit-and-resource-limits-in-shell-scripts" />
<lastmod>2026-08-09T10:16:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-controlling-ulimit-and-resource-limits-in-shell-scripts.webp</image:loc><image:title>Controlling ulimit and Resource Limits 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="Controlling&#x20;ulimit&#x20;and&#x20;Resource&#x20;Limits&#x20;in&#x20;Bash&#x20;Scripts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-controlling-ulimit-and-resource-limits-in-shell-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-environment-variable-precedence-and-loading-dotenv-files</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-umgebungsvariablen-praezedenz-und-dotenv-laden-in-bash" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-environment-variable-precedence-and-loading-dotenv-files" />
<lastmod>2026-08-09T10:16:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-environment-variable-precedence-and-loading-dotenv-files.webp</image:loc><image:title>Environment Variable Precedence and Loading .env 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="Environment&#x20;Variable&#x20;Precedence&#x20;and&#x20;Loading&#x20;.env&#x20;Files&#x20;in&#x20;Bash"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-environment-variable-precedence-and-loading-dotenv-files.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash-building-shared-libraries-for-ci-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash-wiederverwendbare-bash-bibliotheken-fuer-ci-pipelines-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash-building-shared-libraries-for-ci-pipelines" />
<lastmod>2026-08-09T10:16:50+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bash-building-shared-libraries-for-ci-pipelines.webp</image:loc><image:title>Building Reusable Bash Libraries for CI 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;Reusable&#x20;Bash&#x20;Libraries&#x20;for&#x20;CI&#x20;Pipelines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bash-building-shared-libraries-for-ci-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-accent-color-vs-caret-color-fine-tuning-form-fields</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-accent-color-vs-caret-color-feinsteuerung-von-eingabefeldern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-accent-color-vs-caret-color-fine-tuning-form-fields" />
<lastmod>2026-08-09T10:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-accent-color-vs-caret-color-fine-tuning-form-fields.webp</image:loc><image:title>accent-color vs. caret-color: Fine-Tuning Form Fields in CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="accent-color&#x20;vs.&#x20;caret-color&#x3A;&#x20;Fine-Tuning&#x20;Form&#x20;Fields&#x20;in&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-accent-color-vs-caret-color-fine-tuning-form-fields.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-anchor-positioning-chaining-multiple-fallback-positions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-anchor-positioning-mehrere-fallback-positionen-verketten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-anchor-positioning-chaining-multiple-fallback-positions" />
<lastmod>2026-08-09T10:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-anchor-positioning-chaining-multiple-fallback-positions.webp</image:loc><image:title>CSS Anchor Positioning: Chaining Multiple Fallback Positions</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;Chaining&#x20;Multiple&#x20;Fallback&#x20;Positions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-anchor-positioning-chaining-multiple-fallback-positions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-calc-size-and-interpolate-size-transitions-to-auto-values</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-calc-size-und-interpolate-size-transitions-auf-auto-werte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-calc-size-and-interpolate-size-transitions-to-auto-values" />
<lastmod>2026-08-09T10:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-calc-size-and-interpolate-size-transitions-to-auto-values.webp</image:loc><image:title>calc-size() and interpolate-size: Transitions to auto Values Finally Work</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="calc-size&#x28;&#x29;&#x20;and&#x20;interpolate-size&#x3A;&#x20;Transitions&#x20;to&#x20;auto&#x20;Values&#x20;Finally&#x20;Work"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-calc-size-and-interpolate-size-transitions-to-auto-values.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-clip-path-shape-function-new-possibilities</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-clip-path-shape-funktion-neue-moeglichkeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-clip-path-shape-function-new-possibilities" />
<lastmod>2026-08-09T10:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-clip-path-shape-function-new-possibilities.webp</image:loc><image:title>clip-path shape(): Curvy Paths Directly in CSS Instead of SVG Path Strings</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="clip-path&#x20;shape&#x28;&#x29;&#x3A;&#x20;Curvy&#x20;Paths&#x20;Directly&#x20;in&#x20;CSS&#x20;Instead&#x20;of&#x20;SVG&#x20;Path&#x20;Strings"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-clip-path-shape-function-new-possibilities.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-color-scheme-property-styling-native-form-controls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-color-scheme-property-native-formularelemente-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-color-scheme-property-styling-native-form-controls" />
<lastmod>2026-08-09T10:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-color-scheme-property-styling-native-form-controls.webp</image:loc><image:title>color-scheme: Automatically Adapting Native Form Controls to Your Theme</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="color-scheme&#x3A;&#x20;Automatically&#x20;Adapting&#x20;Native&#x20;Form&#x20;Controls&#x20;to&#x20;Your&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-color-scheme-property-styling-native-form-controls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-conic-gradient-advanced-patterns-for-charts-and-loaders</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-conic-gradient-fortgeschrittene-muster-fuer-diagramme-und-loader" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-conic-gradient-advanced-patterns-for-charts-and-loaders" />
<lastmod>2026-08-09T10:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-conic-gradient-advanced-patterns-for-charts-and-loaders.webp</image:loc><image:title>conic-gradient(): Advanced Patterns for Charts and Loaders</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="conic-gradient&#x28;&#x29;&#x3A;&#x20;Advanced&#x20;Patterns&#x20;for&#x20;Charts&#x20;and&#x20;Loaders"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-conic-gradient-advanced-patterns-for-charts-and-loaders.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-container-query-units-practical-recipes-for-reusable-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-container-query-units-cqw-cqh-cqi-praktisch-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-container-query-units-practical-recipes-for-reusable-components" />
<lastmod>2026-08-09T10:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-container-query-units-practical-recipes-for-reusable-components.webp</image:loc><image:title>Container Query Units: Using cqw, cqh, cqi and cqb in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Container&#x20;Query&#x20;Units&#x3A;&#x20;Using&#x20;cqw,&#x20;cqh,&#x20;cqi&#x20;and&#x20;cqb&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-container-query-units-practical-recipes-for-reusable-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-crop-marks-and-bleed-for-print-production-in-css</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-crop-marks-und-bleed-fuer-druckvorstufen-in-css" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-crop-marks-and-bleed-for-print-production-in-css" />
<lastmod>2026-08-09T10:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-crop-marks-and-bleed-for-print-production-in-css.webp</image:loc><image:title>Crop Marks and Bleed for Print Production in CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Crop&#x20;Marks&#x20;and&#x20;Bleed&#x20;for&#x20;Print&#x20;Production&#x20;in&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-crop-marks-and-bleed-for-print-production-in-css.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-color-function-color-spaces-beyond-oklch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-color-function-farbraeume-jenseits-von-oklch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-color-function-color-spaces-beyond-oklch" />
<lastmod>2026-08-09T10:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-color-function-color-spaces-beyond-oklch.webp</image:loc><image:title>The CSS color() Function: Color Spaces Beyond OKLCH</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;CSS&#x20;color&#x28;&#x29;&#x20;Function&#x3A;&#x20;Color&#x20;Spaces&#x20;Beyond&#x20;OKLCH"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-color-function-color-spaces-beyond-oklch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-content-property-generated-content-and-icons-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-content-property-fuer-generierte-inhalte-und-icons" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-content-property-generated-content-and-icons-guide" />
<lastmod>2026-08-09T10:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-content-property-generated-content-and-icons-guide.webp</image:loc><image:title>The CSS content Property: Generated Content, attr(), counter() and Icons</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;CSS&#x20;content&#x20;Property&#x3A;&#x20;Generated&#x20;Content,&#x20;attr&#x28;&#x29;,&#x20;counter&#x28;&#x29;&#x20;and&#x20;Icons"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-content-property-generated-content-and-icons-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-grid-negative-line-numbers-flexible-placement</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-grid-negative-line-numbers-und-flexible-platzierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-grid-negative-line-numbers-flexible-placement" />
<lastmod>2026-08-09T10:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-grid-negative-line-numbers-flexible-placement.webp</image:loc><image:title>CSS Grid Negative Line Numbers: Flexible Placement Without Counting Columns</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;Negative&#x20;Line&#x20;Numbers&#x3A;&#x20;Flexible&#x20;Placement&#x20;Without&#x20;Counting&#x20;Columns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-grid-negative-line-numbers-flexible-placement.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-math-functions-round-mod-rem-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-mathefunktionen-round-mod-rem-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-math-functions-round-mod-rem-in-practice" />
<lastmod>2026-08-09T10:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-math-functions-round-mod-rem-in-practice.webp</image:loc><image:title>CSS Math Functions round(), mod() and rem() in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Math&#x20;Functions&#x20;round&#x28;&#x29;,&#x20;mod&#x28;&#x29;&#x20;and&#x20;rem&#x28;&#x29;&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-math-functions-round-mod-rem-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-object-fit-object-position-image-cropping-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-object-fit-object-position-fuer-responsive-medien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-object-fit-object-position-image-cropping-guide" />
<lastmod>2026-08-09T10:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-object-fit-object-position-image-cropping-guide.webp</image:loc><image:title>object-fit and object-position: Crop Control for Responsive Media</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="object-fit&#x20;and&#x20;object-position&#x3A;&#x20;Crop&#x20;Control&#x20;for&#x20;Responsive&#x20;Media"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-object-fit-object-position-image-cropping-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-scroll-snap-carousels-and-galleries-without-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-scroll-snap-fuer-karussells-und-galerien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-scroll-snap-carousels-and-galleries-without-javascript" />
<lastmod>2026-08-09T10:20:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-scroll-snap-carousels-and-galleries-without-javascript.webp</image:loc><image:title>CSS Scroll Snap: Carousels and Galleries 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="CSS&#x20;Scroll&#x20;Snap&#x3A;&#x20;Carousels&#x20;and&#x20;Galleries&#x20;Without&#x20;a&#x20;JavaScript&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-scroll-snap-carousels-and-galleries-without-javascript.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-sticky-table-headers-and-columns-for-long-tables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-tricks-fuer-lange-tabellen-sticky-header-und-spalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-sticky-table-headers-and-columns-for-long-tables" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-sticky-table-headers-and-columns-for-long-tables.webp</image:loc><image:title>CSS Tricks for Long Tables: Sticky Header and Sticky Columns Together</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Tricks&#x20;for&#x20;Long&#x20;Tables&#x3A;&#x20;Sticky&#x20;Header&#x20;and&#x20;Sticky&#x20;Columns&#x20;Together"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-sticky-table-headers-and-columns-for-long-tables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-will-change-memory-budget-performance-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-will-change-budget-wann-es-die-performance-verschlechtert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-will-change-memory-budget-performance-pitfalls" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-will-change-memory-budget-performance-pitfalls.webp</image:loc><image:title>will-change Budget: When It Makes Performance Worse, Not Better</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="will-change&#x20;Budget&#x3A;&#x20;When&#x20;It&#x20;Makes&#x20;Performance&#x20;Worse,&#x20;Not&#x20;Better"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-will-change-memory-budget-performance-pitfalls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-custom-cursor-values-and-fallback-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-cursor-eigene-werte-und-fallback-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-custom-cursor-values-and-fallback-strategies" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-custom-cursor-values-and-fallback-strategies.webp</image:loc><image:title>cursor: Custom Values and Fallback Strategies in CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="cursor&#x3A;&#x20;Custom&#x20;Values&#x20;and&#x20;Fallback&#x20;Strategies&#x20;in&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-custom-cursor-values-and-fallback-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-custom-media-queries-postcss-versus-the-native-css-standard</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-custom-media-queries-mit-postcss-vs-native-css" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-custom-media-queries-postcss-versus-the-native-css-standard" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-custom-media-queries-postcss-versus-the-native-css-standard.webp</image:loc><image:title>Custom Media Queries: @custom-media in PostCSS vs. Native CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Media&#x20;Queries&#x3A;&#x20;&#x40;custom-media&#x20;in&#x20;PostCSS&#x20;vs.&#x20;Native&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-custom-media-queries-postcss-versus-the-native-css-standard.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-at-property-custom-property-inheritance-registration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-custom-properties-vererbung-und-registrierung-mit-at-property" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-at-property-custom-property-inheritance-registration" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-at-property-custom-property-inheritance-registration.webp</image:loc><image:title>Custom Properties: Understanding Inheritance and Registering with @property</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&#x3A;&#x20;Understanding&#x20;Inheritance&#x20;and&#x20;Registering&#x20;with&#x20;&#x40;property"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-at-property-custom-property-inheritance-registration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-dir-pseudo-class-and-unicode-bidi-for-multilingual-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-dir-pseudo-klasse-und-unicode-bidi-fuer-mehrsprachige-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-dir-pseudo-class-and-unicode-bidi-for-multilingual-layouts" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-dir-pseudo-class-and-unicode-bidi-for-multilingual-layouts.webp</image:loc><image:title>:dir() and unicode-bidi: Controlling Multilingual Layouts Without JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="&#x3A;dir&#x28;&#x29;&#x20;and&#x20;unicode-bidi&#x3A;&#x20;Controlling&#x20;Multilingual&#x20;Layouts&#x20;Without&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-dir-pseudo-class-and-unicode-bidi-for-multilingual-layouts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-custom-env-variables-beyond-safe-area-insets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-env-variablen-eigene-werte-jenseits-von-safe-area" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-custom-env-variables-beyond-safe-area-insets" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-custom-env-variables-beyond-safe-area-insets.webp</image:loc><image:title>CSS env() Beyond Safe Area: Custom Environment Variables</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;Beyond&#x20;Safe&#x20;Area&#x3A;&#x20;Custom&#x20;Environment&#x20;Variables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-custom-env-variables-beyond-safe-area-insets.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-flexbox-gap-instead-of-margin-hacks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-flexbox-gap-vs-margin-warum-gap-fast-immer-gewinnt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-flexbox-gap-instead-of-margin-hacks" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-flexbox-gap-instead-of-margin-hacks.webp</image:loc><image:title>Flexbox gap Instead of Margin: Why gap Wins Almost Every Time</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Flexbox&#x20;gap&#x20;Instead&#x20;of&#x20;Margin&#x3A;&#x20;Why&#x20;gap&#x20;Wins&#x20;Almost&#x20;Every&#x20;Time"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-flexbox-gap-instead-of-margin-hacks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-font-palette-values-styling-color-fonts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-font-palette-values-mehrfarbige-schriften-stylen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-font-palette-values-styling-color-fonts" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-font-palette-values-styling-color-fonts.webp</image:loc><image:title>@font-palette-values: Styling Multi-Color Fonts with Custom Palettes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="&#x40;font-palette-values&#x3A;&#x20;Styling&#x20;Multi-Color&#x20;Fonts&#x20;with&#x20;Custom&#x20;Palettes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-font-palette-values-styling-color-fonts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-font-variant-alternates-typographic-refinements</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-font-variant-alternates-fuer-typografische-feinheiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-font-variant-alternates-typographic-refinements" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-font-variant-alternates-typographic-refinements.webp</image:loc><image:title>font-variant-alternates: OpenType Features for Typographic Refinements</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="font-variant-alternates&#x3A;&#x20;OpenType&#x20;Features&#x20;for&#x20;Typographic&#x20;Refinements"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-font-variant-alternates-typographic-refinements.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-forced-color-adjust-selectively-override-windows-high-contrast</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-forced-color-adjust-windows-hochkontrast-gezielt-uebersteuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-forced-color-adjust-selectively-override-windows-high-contrast" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-forced-color-adjust-selectively-override-windows-high-contrast.webp</image:loc><image:title>forced-color-adjust in Windows High Contrast: Selectively Overriding System Colors</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="forced-color-adjust&#x20;in&#x20;Windows&#x20;High&#x20;Contrast&#x3A;&#x20;Selectively&#x20;Overriding&#x20;System&#x20;Colors"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-forced-color-adjust-selectively-override-windows-high-contrast.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-grid-auto-flow-dense-packing-algorithm-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-grid-auto-flow-dense-algorithmus-wirklich-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-grid-auto-flow-dense-packing-algorithm-explained" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-grid-auto-flow-dense-packing-algorithm-explained.webp</image:loc><image:title>grid-auto-flow: dense Explained: Understanding the Packing Algorithm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="grid-auto-flow&#x3A;&#x20;dense&#x20;Explained&#x3A;&#x20;Understanding&#x20;the&#x20;Packing&#x20;Algorithm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-grid-auto-flow-dense-packing-algorithm-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-grid-implicit-explicit-tracks-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-grid-implicit-vs-explicit-tracks-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-grid-implicit-explicit-tracks-explained" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-grid-implicit-explicit-tracks-explained.webp</image:loc><image:title>CSS Grid: Understanding Implicit and Explicit Tracks Correctly</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;Understanding&#x20;Implicit&#x20;and&#x20;Explicit&#x20;Tracks&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-grid-implicit-explicit-tracks-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-has-selector-styling-parent-elements-for-form-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-has-selektor-formularvalidierung-eltern-elemente-stylen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-has-selector-styling-parent-elements-for-form-validation" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-has-selector-styling-parent-elements-for-form-validation.webp</image:loc><image:title>:has() for Form Validation: Styling Parent Elements Precisely</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;for&#x20;Form&#x20;Validation&#x3A;&#x20;Styling&#x20;Parent&#x20;Elements&#x20;Precisely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-has-selector-styling-parent-elements-for-form-validation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-has-selector-performance-when-it-gets-expensive</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-has-selektor-performance-wann-er-teuer-wird" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-has-selector-performance-when-it-gets-expensive" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-has-selector-performance-when-it-gets-expensive.webp</image:loc><image:title>:has() Selector Performance: When It Actually Gets Expensive</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&#x20;Performance&#x3A;&#x20;When&#x20;It&#x20;Actually&#x20;Gets&#x20;Expensive"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-has-selector-performance-when-it-gets-expensive.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-hyphenate-limit-chars-fine-tuning-hyphenation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-hyphenate-limit-chars-silbentrennung-feinsteuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-hyphenate-limit-chars-fine-tuning-hyphenation" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-hyphenate-limit-chars-fine-tuning-hyphenation.webp</image:loc><image:title>hyphenate-limit-chars: Fine-Tuning Automatic Hyphenation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="hyphenate-limit-chars&#x3A;&#x20;Fine-Tuning&#x20;Automatic&#x20;Hyphenation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-hyphenate-limit-chars-fine-tuning-hyphenation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-initial-letter-drop-caps-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-initial-letter-drop-caps-praktisch-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-initial-letter-drop-caps-in-practice" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-initial-letter-drop-caps-in-practice.webp</image:loc><image:title>initial-letter: Building Classic Drop Caps Without Float Hacks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="initial-letter&#x3A;&#x20;Building&#x20;Classic&#x20;Drop&#x20;Caps&#x20;Without&#x20;Float&#x20;Hacks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-initial-letter-drop-caps-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-layer-strategies-for-integrating-third-party-widgets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-layer-strategien-fuer-third-party-css-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-layer-strategies-for-integrating-third-party-widgets" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-layer-strategies-for-integrating-third-party-widgets.webp</image:loc><image:title>Layer Strategies for Third-Party CSS Integration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Layer&#x20;Strategies&#x20;for&#x20;Third-Party&#x20;CSS&#x20;Integration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-layer-strategies-for-integrating-third-party-widgets.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-light-dark-function-for-color-scheme-dependent-values</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-light-dark-funktion-fuer-farbschema-abhaengige-werte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-light-dark-function-for-color-scheme-dependent-values" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-light-dark-function-for-color-scheme-dependent-values.webp</image:loc><image:title>light-dark(): The CSS Function for Color-Scheme-Dependent Values</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="light-dark&#x28;&#x29;&#x3A;&#x20;The&#x20;CSS&#x20;Function&#x20;for&#x20;Color-Scheme-Dependent&#x20;Values"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-light-dark-function-for-color-scheme-dependent-values.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-mask-image-freeform-shapes-and-soft-edge-transitions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-mask-image-techniken-fuer-freiformen-und-uebergaenge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-mask-image-freeform-shapes-and-soft-edge-transitions" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-mask-image-freeform-shapes-and-soft-edge-transitions.webp</image:loc><image:title>mask-image in CSS: Freeform Shapes and Soft Transitions Without Hand-Drawn SVGs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="mask-image&#x20;in&#x20;CSS&#x3A;&#x20;Freeform&#x20;Shapes&#x20;and&#x20;Soft&#x20;Transitions&#x20;Without&#x20;Hand-Drawn&#x20;SVGs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-mask-image-freeform-shapes-and-soft-edge-transitions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-minmax-and-fr-units-grid-overflow-edge-cases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-minmax-und-fr-einheiten-edge-cases-im-grid" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-minmax-and-fr-units-grid-overflow-edge-cases" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-minmax-and-fr-units-grid-overflow-edge-cases.webp</image:loc><image:title>minmax() and fr Units in Grid: The Edge Cases That Cause Overflow</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="minmax&#x28;&#x29;&#x20;and&#x20;fr&#x20;Units&#x20;in&#x20;Grid&#x3A;&#x20;The&#x20;Edge&#x20;Cases&#x20;That&#x20;Cause&#x20;Overflow"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-minmax-and-fr-units-grid-overflow-edge-cases.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-nesting-performance-controlling-selector-depth-and-specificity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-nesting-performance-selector-tiefe-und-spezifitaet-im-griff" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-nesting-performance-controlling-selector-depth-and-specificity" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-nesting-performance-controlling-selector-depth-and-specificity.webp</image:loc><image:title>Nesting Performance: Keeping Selector Depth and Specificity Under Control</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nesting&#x20;Performance&#x3A;&#x20;Keeping&#x20;Selector&#x20;Depth&#x20;and&#x20;Specificity&#x20;Under&#x20;Control"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-nesting-performance-controlling-selector-depth-and-specificity.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-overscroll-behavior-controlling-modal-scroll-and-chaining</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-overscroll-behavior-modal-und-scroll-chaining-kontrollieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-overscroll-behavior-controlling-modal-scroll-and-chaining" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-overscroll-behavior-controlling-modal-scroll-and-chaining.webp</image:loc><image:title>overscroll-behavior: Controlling Modal Scroll and Scroll Chaining</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="overscroll-behavior&#x3A;&#x20;Controlling&#x20;Modal&#x20;Scroll&#x20;and&#x20;Scroll&#x20;Chaining"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-overscroll-behavior-controlling-modal-scroll-and-chaining.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-houdini-paint-worklet-custom-background-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-paint-worklet-eigene-hintergrundmuster-mit-houdini-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-houdini-paint-worklet-custom-background-patterns" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-houdini-paint-worklet-custom-background-patterns.webp</image:loc><image:title>CSS Paint API: Building a Custom Paint Worklet for Background Patterns</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Paint&#x20;API&#x3A;&#x20;Building&#x20;a&#x20;Custom&#x20;Paint&#x20;Worklet&#x20;for&#x20;Background&#x20;Patterns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-houdini-paint-worklet-custom-background-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-position-try-recipes-for-tooltips-and-dropdown-menus</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-position-try-fallbacks-praktisch-fuer-tooltips-und-menues" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-position-try-recipes-for-tooltips-and-dropdown-menus" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-position-try-recipes-for-tooltips-and-dropdown-menus.webp</image:loc><image:title>position-try-options in Practice: Recipes for Tooltips and Menus</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="position-try-options&#x20;in&#x20;Practice&#x3A;&#x20;Recipes&#x20;for&#x20;Tooltips&#x20;and&#x20;Menus"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-position-try-recipes-for-tooltips-and-dropdown-menus.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-controlling-page-breaks-in-printed-tables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-print-tabellen-seitenumbrueche-gezielt-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-controlling-page-breaks-in-printed-tables" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-controlling-page-breaks-in-printed-tables.webp</image:loc><image:title>Print Tables: Controlling Page Breaks Deliberately in CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Print&#x20;Tables&#x3A;&#x20;Controlling&#x20;Page&#x20;Breaks&#x20;Deliberately&#x20;in&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-controlling-page-breaks-in-printed-tables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-ruby-annotations-for-east-asian-typography</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-ruby-annotationen-fuer-ostasiatische-typografie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-ruby-annotations-for-east-asian-typography" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-ruby-annotations-for-east-asian-typography.webp</image:loc><image:title>CSS Ruby Annotations: Reading Aids for East Asian Typography</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSS&#x20;Ruby&#x20;Annotations&#x3A;&#x20;Reading&#x20;Aids&#x20;for&#x20;East&#x20;Asian&#x20;Typography"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-ruby-annotations-for-east-asian-typography.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-smooth-scrolling-and-reduced-motion-working-together</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-scroll-behavior-smooth-und-reduced-motion-zusammenspiel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-smooth-scrolling-and-reduced-motion-working-together" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-smooth-scrolling-and-reduced-motion-working-together.webp</image:loc><image:title>scroll-behavior: smooth and prefers-reduced-motion: Making Them Work Together</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="scroll-behavior&#x3A;&#x20;smooth&#x20;and&#x20;prefers-reduced-motion&#x3A;&#x20;Making&#x20;Them&#x20;Work&#x20;Together"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-smooth-scrolling-and-reduced-motion-working-together.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-scrollbar-gutter-preventing-scrollbar-layout-shifts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-scrollbar-gutter-layout-verschiebungen-durch-scrollbalken-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-scrollbar-gutter-preventing-scrollbar-layout-shifts" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-scrollbar-gutter-preventing-scrollbar-layout-shifts.webp</image:loc><image:title>scrollbar-gutter: Preventing Layout Shifts Caused by Scrollbars</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="scrollbar-gutter&#x3A;&#x20;Preventing&#x20;Layout&#x20;Shifts&#x20;Caused&#x20;by&#x20;Scrollbars"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-scrollbar-gutter-preventing-scrollbar-layout-shifts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-container-style-queries-advanced-use-cases-beyond-size</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-style-queries-mit-container-fortgeschrittene-anwendungsfaelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-container-style-queries-advanced-use-cases-beyond-size" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-container-style-queries-advanced-use-cases-beyond-size.webp</image:loc><image:title>Container Style Queries: Advanced Use Cases Beyond Size</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Container&#x20;Style&#x20;Queries&#x3A;&#x20;Advanced&#x20;Use&#x20;Cases&#x20;Beyond&#x20;Size"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-container-style-queries-advanced-use-cases-beyond-size.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-combining-subgrid-and-masonry-for-complex-grid-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-subgrid-und-masonry-kombinieren-fuer-komplexe-rasterlayouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-combining-subgrid-and-masonry-for-complex-grid-layouts" />
<lastmod>2026-08-09T10:20:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-combining-subgrid-and-masonry-for-complex-grid-layouts.webp</image:loc><image:title>Combining Subgrid and Masonry for Complex Grid Layouts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Combining&#x20;Subgrid&#x20;and&#x20;Masonry&#x20;for&#x20;Complex&#x20;Grid&#x20;Layouts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-combining-subgrid-and-masonry-for-complex-grid-layouts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-text-align-last-controlling-the-final-justified-line</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-text-align-last-und-letzte-zeile-in-blocksatz-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-text-align-last-controlling-the-final-justified-line" />
<lastmod>2026-08-09T10:20:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-text-align-last-controlling-the-final-justified-line.webp</image:loc><image:title>text-align-last: Controlling the Last Line in Justified Text</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="text-align-last&#x3A;&#x20;Controlling&#x20;the&#x20;Last&#x20;Line&#x20;in&#x20;Justified&#x20;Text"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-text-align-last-controlling-the-final-justified-line.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-text-box-trim-precise-typographic-spacing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-text-box-trim-und-praezise-typografische-abstaende" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-text-box-trim-precise-typographic-spacing" />
<lastmod>2026-08-09T10:20:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-text-box-trim-precise-typographic-spacing.webp</image:loc><image:title>text-box-trim: Removing Excess Line Spacing With Precision</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="text-box-trim&#x3A;&#x20;Removing&#x20;Excess&#x20;Line&#x20;Spacing&#x20;With&#x20;Precision"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-text-box-trim-precise-typographic-spacing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-touch-action-and-pointer-events-for-touch-interfaces</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-touch-action-und-pointer-events-fuer-touch-interfaces" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-touch-action-and-pointer-events-for-touch-interfaces" />
<lastmod>2026-08-09T10:20:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-touch-action-and-pointer-events-for-touch-interfaces.webp</image:loc><image:title>touch-action and pointer-events for Touch Interfaces in CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="touch-action&#x20;and&#x20;pointer-events&#x20;for&#x20;Touch&#x20;Interfaces&#x20;in&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-touch-action-and-pointer-events-for-touch-interfaces.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-typed-om-reading-writing-css-values-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-typed-om-css-werte-performant-per-javascript-lesen-und-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-typed-om-reading-writing-css-values-in-javascript" />
<lastmod>2026-08-09T10:20:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-typed-om-reading-writing-css-values-in-javascript.webp</image:loc><image:title>CSS Typed OM: Reading and Writing CSS Values with Types in 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;Typed&#x20;OM&#x3A;&#x20;Reading&#x20;and&#x20;Writing&#x20;CSS&#x20;Values&#x20;with&#x20;Types&#x20;in&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-typed-om-reading-writing-css-values-in-javascript.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css-user-valid-user-invalid-form-validation-without-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css-user-valid-user-invalid-formularvalidierung-ohne-javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css-user-valid-user-invalid-form-validation-without-javascript" />
<lastmod>2026-08-09T10:20:17+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/css-user-valid-user-invalid-form-validation-without-javascript.webp</image:loc><image:title>:user-valid and :user-invalid: Form Validation Without JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="&#x3A;user-valid&#x20;and&#x20;&#x3A;user-invalid&#x3A;&#x20;Form&#x20;Validation&#x20;Without&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/css-user-valid-user-invalid-form-validation-without-javascript.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-arg-vs-env-in-the-dockerfile-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-arg-vs-env-im-dockerfile-wirklich-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-arg-vs-env-in-the-dockerfile-explained" />
<lastmod>2026-08-09T10:21:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-arg-vs-env-in-the-dockerfile-explained.webp</image:loc><image:title>ARG vs. ENV in the Dockerfile, Properly Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ARG&#x20;vs.&#x20;ENV&#x20;in&#x20;the&#x20;Dockerfile,&#x20;Properly&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-arg-vs-env-in-the-dockerfile-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-build-cache-invalidation-why-dockerfile-instruction-order-matters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-build-cache-invalidierung-warum-dockerfile-reihenfolge-so-wichtig-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-build-cache-invalidation-why-dockerfile-instruction-order-matters" />
<lastmod>2026-08-09T10:21:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-build-cache-invalidation-why-dockerfile-instruction-order-matters.webp</image:loc><image:title>Build Cache Invalidation: Why Dockerfile Order Determines Your Build Times</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Build&#x20;Cache&#x20;Invalidation&#x3A;&#x20;Why&#x20;Dockerfile&#x20;Order&#x20;Determines&#x20;Your&#x20;Build&#x20;Times"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-build-cache-invalidation-why-dockerfile-instruction-order-matters.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-buildkit-remote-cache-with-registry-and-github-actions-cache</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-buildkit-remote-cache-mit-registry-und-github-actions-cache" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-buildkit-remote-cache-with-registry-and-github-actions-cache" />
<lastmod>2026-08-09T10:21:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-buildkit-remote-cache-with-registry-and-github-actions-cache.webp</image:loc><image:title>BuildKit Remote Cache: Sharing Build Cache via Registry 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="BuildKit&#x20;Remote&#x20;Cache&#x3A;&#x20;Sharing&#x20;Build&#x20;Cache&#x20;via&#x20;Registry&#x20;and&#x20;GitHub&#x20;Actions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-buildkit-remote-cache-with-registry-and-github-actions-cache.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-buildkit-secrets-and-ssh-forwarding-for-private-repositories</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-buildkit-secrets-und-ssh-forwarding-fuer-private-repos-im-build" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-buildkit-secrets-and-ssh-forwarding-for-private-repositories" />
<lastmod>2026-08-09T10:21:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-buildkit-secrets-and-ssh-forwarding-for-private-repositories.webp</image:loc><image:title>BuildKit Secrets and SSH Forwarding: Using Private Repos Securely in Builds</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="BuildKit&#x20;Secrets&#x20;and&#x20;SSH&#x20;Forwarding&#x3A;&#x20;Using&#x20;Private&#x20;Repos&#x20;Securely&#x20;in&#x20;Builds"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-buildkit-secrets-and-ssh-forwarding-for-private-repositories.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-cgroups-v2-limits-explained-cpu-memory-io</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-cgroups-v2-limits-wirklich-verstehen-cpu-memory-io" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-cgroups-v2-limits-explained-cpu-memory-io" />
<lastmod>2026-08-09T10:21:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-cgroups-v2-limits-explained-cpu-memory-io.webp</image:loc><image:title>cgroups v2 Explained: How Docker Implements CPU, Memory, and IO Limits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="cgroups&#x20;v2&#x20;Explained&#x3A;&#x20;How&#x20;Docker&#x20;Implements&#x20;CPU,&#x20;Memory,&#x20;and&#x20;IO&#x20;Limits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-cgroups-v2-limits-explained-cpu-memory-io.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-compose-environment-variable-precedence-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-compose-env-datei-praezedenz-shell-vs-compose-vs-dotenv" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-compose-environment-variable-precedence-explained" />
<lastmod>2026-08-09T10:21:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-compose-environment-variable-precedence-explained.webp</image:loc><image:title>Docker Compose Env Precedence: Shell, .env, environment, env_file 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;Compose&#x20;Env&#x20;Precedence&#x3A;&#x20;Shell,&#x20;.env,&#x20;environment,&#x20;env_file&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-compose-environment-variable-precedence-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-compose-modular-files-with-extends-and-include</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-compose-extends-und-include-fuer-modulare-compose-dateien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-compose-modular-files-with-extends-and-include" />
<lastmod>2026-08-09T10:21:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-compose-modular-files-with-extends-and-include.webp</image:loc><image:title>Docker Compose extends and include: Building Modular Compose Files</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;extends&#x20;and&#x20;include&#x3A;&#x20;Building&#x20;Modular&#x20;Compose&#x20;Files"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-compose-modular-files-with-extends-and-include.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/detecting-and-debugging-docker-container-restart-loops-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-container-restart-loops-erkennen-und-systematisch-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/detecting-and-debugging-docker-container-restart-loops-systematically" />
<lastmod>2026-08-09T10:21:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/detecting-and-debugging-docker-container-restart-loops-systematically.webp</image:loc><image:title>Detecting and Systematically Debugging Container Restart Loops</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;Debugging&#x20;Container&#x20;Restart&#x20;Loops"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/detecting-and-debugging-docker-container-restart-loops-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-cpu-throttling-detect-and-set-cpu-limits-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-cpu-throttling-in-containern-erkennen-und-cpu-limits-richtig-setzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-cpu-throttling-detect-and-set-cpu-limits-correctly" />
<lastmod>2026-08-09T10:21:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-cpu-throttling-detect-and-set-cpu-limits-correctly.webp</image:loc><image:title>CPU Throttling in Containers: Detect It and Set CPU Limits Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CPU&#x20;Throttling&#x20;in&#x20;Containers&#x3A;&#x20;Detect&#x20;It&#x20;and&#x20;Set&#x20;CPU&#x20;Limits&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-cpu-throttling-detect-and-set-cpu-limits-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-buildx-bake-building-multiple-images-declaratively-in-parallel</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-bake-mehrere-images-deklarativ-und-parallel-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-buildx-bake-building-multiple-images-declaratively-in-parallel" />
<lastmod>2026-08-09T10:21:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-buildx-bake-building-multiple-images-declaratively-in-parallel.webp</image:loc><image:title>Docker Bake: Building Multiple Images Declaratively and in Parallel</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Bake&#x3A;&#x20;Building&#x20;Multiple&#x20;Images&#x20;Declaratively&#x20;and&#x20;in&#x20;Parallel"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-buildx-bake-building-multiple-images-declaratively-in-parallel.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-validating-and-merging-multiple-compose-files-with-config</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-compose-config-validieren-und-mergen-mehrere-dateien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-validating-and-merging-multiple-compose-files-with-config" />
<lastmod>2026-08-09T10:21:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-validating-and-merging-multiple-compose-files-with-config.webp</image:loc><image:title>docker compose config: Validating and Merging Multiple Compose Files</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;config&#x3A;&#x20;Validating&#x20;and&#x20;Merging&#x20;Multiple&#x20;Compose&#x20;Files"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-validating-and-merging-multiple-compose-files-with-config.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-desktop-licensing-rules-and-team-alternatives-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-desktop-lizenzierung-und-alternativen-fuer-teams" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-desktop-licensing-rules-and-team-alternatives-compared" />
<lastmod>2026-08-09T10:21:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-desktop-licensing-rules-and-team-alternatives-compared.webp</image:loc><image:title>Docker Desktop Licensing and Alternatives for Teams 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;Licensing&#x20;and&#x20;Alternatives&#x20;for&#x20;Teams&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-desktop-licensing-rules-and-team-alternatives-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-exec-versus-attach-understanding-the-real-difference</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-exec-vs-attach-wirklich-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-exec-versus-attach-understanding-the-real-difference" />
<lastmod>2026-08-09T10:21:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-exec-versus-attach-understanding-the-real-difference.webp</image:loc><image:title>docker exec vs. docker attach: The Difference Most People Get Wrong</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="docker&#x20;exec&#x20;vs.&#x20;docker&#x20;attach&#x3A;&#x20;The&#x20;Difference&#x20;Most&#x20;People&#x20;Get&#x20;Wrong"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-exec-versus-attach-understanding-the-real-difference.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-docker-image-history-and-dive-for-layer-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-image-history-und-dive-fuer-layer-analyse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-docker-image-history-and-dive-for-layer-analysis" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-docker-image-history-and-dive-for-layer-analysis.webp</image:loc><image:title>docker history and dive: Analyzing Image Layers and Saving Disk Space</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="docker&#x20;history&#x20;and&#x20;dive&#x3A;&#x20;Analyzing&#x20;Image&#x20;Layers&#x20;and&#x20;Saving&#x20;Disk&#x20;Space"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-docker-image-history-and-dive-for-layer-analysis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-layer-squash-when-it-pays-off-and-when-it-does-not</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-layer-squash-wann-es-sich-lohnt-und-wann-nicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-layer-squash-when-it-pays-off-and-when-it-does-not" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-layer-squash-when-it-pays-off-and-when-it-does-not.webp</image:loc><image:title>Docker Layer Squash: When --squash Pays Off and When It Does Not</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Layer&#x20;Squash&#x3A;&#x20;When&#x20;--squash&#x20;Pays&#x20;Off&#x20;and&#x20;When&#x20;It&#x20;Does&#x20;Not"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-layer-squash-when-it-pays-off-and-when-it-does-not.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-restart-policies-always-vs-unless-stopped-vs-on-failure-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-restart-policies-always-unless-stopped-on-failure-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-restart-policies-always-vs-unless-stopped-vs-on-failure-explained" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-restart-policies-always-vs-unless-stopped-vs-on-failure-explained.webp</image:loc><image:title>Docker Restart Policies Explained: always, unless-stopped, on-failure, no</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Restart&#x20;Policies&#x20;Explained&#x3A;&#x20;always,&#x20;unless-stopped,&#x20;on-failure,&#x20;no"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-restart-policies-always-vs-unless-stopped-vs-on-failure-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-using-docker-scout-for-image-analysis-and-cve-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-scout-fuer-image-analyse-und-cve-uebersicht-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-using-docker-scout-for-image-analysis-and-cve-overview" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-using-docker-scout-for-image-analysis-and-cve-overview.webp</image:loc><image:title>Docker Scout: Using Built-In Image Analysis and CVE Overview</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Scout&#x3A;&#x20;Using&#x20;Built-In&#x20;Image&#x20;Analysis&#x20;and&#x20;CVE&#x20;Overview"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-using-docker-scout-for-image-analysis-and-cve-overview.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-docker-socket-mounting-risks-and-safe-alternatives</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-docker-socket-mounting-risiken-und-sichere-alternativen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-docker-socket-mounting-risks-and-safe-alternatives" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-docker-socket-mounting-risks-and-safe-alternatives.webp</image:loc><image:title>Docker Socket Mounting: Why It Grants Root Access and What Is Safer</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker&#x20;Socket&#x20;Mounting&#x3A;&#x20;Why&#x20;It&#x20;Grants&#x20;Root&#x20;Access&#x20;and&#x20;What&#x20;Is&#x20;Safer"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-docker-socket-mounting-risks-and-safe-alternatives.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-github-actions-build-push-cache-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-github-actions-docker-build-push-cache-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-github-actions-build-push-cache-strategies" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-github-actions-build-push-cache-strategies.webp</image:loc><image:title>Configuring docker/build-push-action Correctly: Cache Strategies in GitHub Actions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;docker&#x2F;build-push-action&#x20;Correctly&#x3A;&#x20;Cache&#x20;Strategies&#x20;in&#x20;GitHub&#x20;Actions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-github-actions-build-push-cache-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-image-tagging-strategies-semver-git-sha-and-the-latest-anti-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-image-tagging-strategien-semver-git-sha-und-das-latest-anti-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-image-tagging-strategies-semver-git-sha-and-the-latest-anti-pattern" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-image-tagging-strategies-semver-git-sha-and-the-latest-anti-pattern.webp</image:loc><image:title>Image Tagging Strategies: SemVer, Git SHA, and Why :latest Is an Anti-Pattern</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Image&#x20;Tagging&#x20;Strategies&#x3A;&#x20;SemVer,&#x20;Git&#x20;SHA,&#x20;and&#x20;Why&#x20;&#x3A;latest&#x20;Is&#x20;an&#x20;Anti-Pattern"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-image-tagging-strategies-semver-git-sha-and-the-latest-anti-pattern.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-init-container-pattern-database-migrations-before-startup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-init-container-pattern-fuer-datenbank-migrationen-vor-app-start" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-init-container-pattern-database-migrations-before-startup" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-init-container-pattern-database-migrations-before-startup.webp</image:loc><image:title>Init Container Pattern: Database Migrations Before App Startup in Docker Compose</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Init&#x20;Container&#x20;Pattern&#x3A;&#x20;Database&#x20;Migrations&#x20;Before&#x20;App&#x20;Startup&#x20;in&#x20;Docker&#x20;Compose"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-init-container-pattern-database-migrations-before-startup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/how-docker-manages-iptables-and-nat-rules-under-the-hood</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-iptables-und-nat-regeln-hinter-docker-networking-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/how-docker-manages-iptables-and-nat-rules-under-the-hood" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/how-docker-manages-iptables-and-nat-rules-under-the-hood.webp</image:loc><image:title>iptables and NAT Rules Behind Docker Networking, Really Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="iptables&#x20;and&#x20;NAT&#x20;Rules&#x20;Behind&#x20;Docker&#x20;Networking,&#x20;Really&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/how-docker-manages-iptables-and-nat-rules-under-the-hood.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-local-registry-pull-through-cache-for-faster-ci-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-lokaler-registry-pull-through-cache-fuer-schnellere-ci-builds" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-local-registry-pull-through-cache-for-faster-ci-builds" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-local-registry-pull-through-cache-for-faster-ci-builds.webp</image:loc><image:title>Local Docker Registry as a Pull-Through Cache: Speeding Up CI Builds</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Local&#x20;Docker&#x20;Registry&#x20;as&#x20;a&#x20;Pull-Through&#x20;Cache&#x3A;&#x20;Speeding&#x20;Up&#x20;CI&#x20;Builds"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-local-registry-pull-through-cache-for-faster-ci-builds.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-oom-killer-in-containers-detect-and-prevent</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-oom-killer-in-containern-erkennen-und-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-oom-killer-in-containers-detect-and-prevent" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-oom-killer-in-containers-detect-and-prevent.webp</image:loc><image:title>OOM Killer in Containers: Correctly Reading and Preventing Exit Code 137</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="OOM&#x20;Killer&#x20;in&#x20;Containers&#x3A;&#x20;Correctly&#x20;Reading&#x20;and&#x20;Preventing&#x20;Exit&#x20;Code&#x20;137"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-oom-killer-in-containers-detect-and-prevent.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-private-registry-authentication-setting-up-credential-helpers-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-private-registry-authentifizierung-credential-helper-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-private-registry-authentication-setting-up-credential-helpers-correctly" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-private-registry-authentication-setting-up-credential-helpers-correctly.webp</image:loc><image:title>Private Registry Authentication: Credential Helpers Instead of Plaintext Passwords</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Private&#x20;Registry&#x20;Authentication&#x3A;&#x20;Credential&#x20;Helpers&#x20;Instead&#x20;of&#x20;Plaintext&#x20;Passwords"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-private-registry-authentication-setting-up-credential-helpers-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-registry-garbage-collection-and-cleanup-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-registry-garbage-collection-und-aufraeum-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-registry-garbage-collection-and-cleanup-strategies" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-registry-garbage-collection-and-cleanup-strategies.webp</image:loc><image:title>Registry Garbage Collection: How Self-Hosted Docker Registries Actually Reclaim Space</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Registry&#x20;Garbage&#x20;Collection&#x3A;&#x20;How&#x20;Self-Hosted&#x20;Docker&#x20;Registries&#x20;Actually&#x20;Reclaim&#x20;Space"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-registry-garbage-collection-and-cleanup-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-sigterm-and-graceful-shutdown-in-containerized-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-sigterm-handling-und-graceful-shutdown-in-containerisierten-apps" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-sigterm-and-graceful-shutdown-in-containerized-applications" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-sigterm-and-graceful-shutdown-in-containerized-applications.webp</image:loc><image:title>SIGTERM Handling and Graceful Shutdown in Containerized Apps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SIGTERM&#x20;Handling&#x20;and&#x20;Graceful&#x20;Shutdown&#x20;in&#x20;Containerized&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-sigterm-and-graceful-shutdown-in-containerized-applications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-setting-timezone-and-locale-correctly-in-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-timezone-und-locale-konfiguration-in-containern-richtig-setzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-setting-timezone-and-locale-correctly-in-containers" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-setting-timezone-and-locale-correctly-in-containers.webp</image:loc><image:title>Configuring Timezone and Locale Correctly 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="Configuring&#x20;Timezone&#x20;and&#x20;Locale&#x20;Correctly&#x20;in&#x20;Docker&#x20;Containers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-setting-timezone-and-locale-correctly-in-containers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-tini-vs-dumb-init-avoiding-zombie-processes-in-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-tini-und-dumb-init-zombie-prozesse-in-containern-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-tini-vs-dumb-init-avoiding-zombie-processes-in-containers" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-tini-vs-dumb-init-avoiding-zombie-processes-in-containers.webp</image:loc><image:title>tini and dumb-init: Avoiding Zombie Processes in Containers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="tini&#x20;and&#x20;dumb-init&#x3A;&#x20;Avoiding&#x20;Zombie&#x20;Processes&#x20;in&#x20;Containers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-tini-vs-dumb-init-avoiding-zombie-processes-in-containers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker-vulnerability-policy-gates-blocking-critical-cves-in-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker-vulnerability-policy-gates-in-ci-builds-bei-kritischen-cves-blockieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker-vulnerability-policy-gates-blocking-critical-cves-in-ci" />
<lastmod>2026-08-09T10:21:06+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/docker-vulnerability-policy-gates-blocking-critical-cves-in-ci.webp</image:loc><image:title>Vulnerability Policy Gates: Actively Blocking CI Builds on Critical CVEs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vulnerability&#x20;Policy&#x20;Gates&#x3A;&#x20;Actively&#x20;Blocking&#x20;CI&#x20;Builds&#x20;on&#x20;Critical&#x20;CVEs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/docker-vulnerability-policy-gates-blocking-critical-cves-in-ci.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-docker-in-docker-in-gitlab-ci-properly-understood</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-docker-in-docker-in-gitlab-ci-wirklich-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-docker-in-docker-in-gitlab-ci-properly-understood" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-docker-in-docker-in-gitlab-ci-properly-understood.webp</image:loc><image:title>Docker-in-Docker in GitLab CI, Properly Understood</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Docker-in-Docker&#x20;in&#x20;GitLab&#x20;CI,&#x20;Properly&#x20;Understood"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-docker-in-docker-in-gitlab-ci-properly-understood.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-evaluating-auto-devops-for-magento-realistically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-auto-devops-fuer-magento-realistisch-bewerten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-evaluating-auto-devops-for-magento-realistically" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-evaluating-auto-devops-for-magento-realistically.webp</image:loc><image:title>GitLab Auto DevOps and Magento: What the Automation Really Delivers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;Auto&#x20;DevOps&#x20;and&#x20;Magento&#x3A;&#x20;What&#x20;the&#x20;Automation&#x20;Really&#x20;Delivers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-evaluating-auto-devops-for-magento-realistically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-ci-junit-and-coverage-reports-in-merge-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-gitlab-ci-artifacts-reports-junit-und-coverage-auswertung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-ci-junit-and-coverage-reports-in-merge-requests" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-ci-junit-and-coverage-reports-in-merge-requests.webp</image:loc><image:title>GitLab CI artifacts:reports: JUnit Test Results and Code Coverage in the Merge Request Widget</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;CI&#x20;artifacts&#x3A;reports&#x3A;&#x20;JUnit&#x20;Test&#x20;Results&#x20;and&#x20;Code&#x20;Coverage&#x20;in&#x20;the&#x20;Merge&#x20;Request&#x20;Widget"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-ci-junit-and-coverage-reports-in-merge-requests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-gitlab-ci-cache-key-strategies-beyond-composer-and-npm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-gitlab-ci-cache-key-strategien-jenseits-von-composer-und-npm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-gitlab-ci-cache-key-strategies-beyond-composer-and-npm" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-gitlab-ci-cache-key-strategies-beyond-composer-and-npm.webp</image:loc><image:title>GitLab CI Cache Key Strategies Beyond Composer and npm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;CI&#x20;Cache&#x20;Key&#x20;Strategies&#x20;Beyond&#x20;Composer&#x20;and&#x20;npm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-gitlab-ci-cache-key-strategies-beyond-composer-and-npm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-parent-child-pipelines-for-larger-monorepos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-ci-child-parent-pipelines-fuer-groessere-monorepos" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-parent-child-pipelines-for-larger-monorepos" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-parent-child-pipelines-for-larger-monorepos.webp</image:loc><image:title>GitLab child/parent pipelines for larger monorepos</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;child&#x2F;parent&#x20;pipelines&#x20;for&#x20;larger&#x20;monorepos"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-parent-child-pipelines-for-larger-monorepos.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-troubleshooting-a-pipeline-that-passes-locally-but-fails-in-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-ci-fehleranalyse-warum-eine-pipeline-lokal-funktioniert-aber-in-ci-nicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-troubleshooting-a-pipeline-that-passes-locally-but-fails-in-ci" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-troubleshooting-a-pipeline-that-passes-locally-but-fails-in-ci.webp</image:loc><image:title>GitLab CI Troubleshooting: Green Locally, Red 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="GitLab&#x20;CI&#x20;Troubleshooting&#x3A;&#x20;Green&#x20;Locally,&#x20;Red&#x20;in&#x20;the&#x20;Pipeline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-troubleshooting-a-pipeline-that-passes-locally-but-fails-in-ci.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-ci-for-generic-php-microservices-without-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-gitlab-ci-fuer-generische-php-microservices-ohne-magento-bezug" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-ci-for-generic-php-microservices-without-magento" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-ci-for-generic-php-microservices-without-magento.webp</image:loc><image:title>GitLab CI for Generic PHP Microservices: a Pipeline Without Magento Baggage</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;CI&#x20;for&#x20;Generic&#x20;PHP&#x20;Microservices&#x3A;&#x20;a&#x20;Pipeline&#x20;Without&#x20;Magento&#x20;Baggage"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-ci-for-generic-php-microservices-without-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-ci-matrix-jobs-for-multiple-php-or-node-versions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-gitlab-ci-matrix-jobs-fuer-mehrere-php-oder-node-versionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-ci-matrix-jobs-for-multiple-php-or-node-versions" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-ci-matrix-jobs-for-multiple-php-or-node-versions.webp</image:loc><image:title>GitLab CI Matrix Jobs: Test Matrices for Multiple PHP and Node Versions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;CI&#x20;Matrix&#x20;Jobs&#x3A;&#x20;Test&#x20;Matrices&#x20;for&#x20;Multiple&#x20;PHP&#x20;and&#x20;Node&#x20;Versions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-ci-matrix-jobs-for-multiple-php-or-node-versions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-ci-needs-for-dag-pipelines-over-strict-stages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-ci-needs-fuer-dag-pipelines-statt-strikter-stages" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-ci-needs-for-dag-pipelines-over-strict-stages" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-ci-needs-for-dag-pipelines-over-strict-stages.webp</image:loc><image:title>GitLab CI needs: DAG pipelines instead of strict stages</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;CI&#x20;needs&#x3A;&#x20;DAG&#x20;pipelines&#x20;instead&#x20;of&#x20;strict&#x20;stages"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-ci-needs-for-dag-pipelines-over-strict-stages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-ci-pipeline-runtime-optimization-parallel-jobs-and-caching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-gitlab-ci-pipeline-laufzeit-optimieren-parallele-jobs-und-caching" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-ci-pipeline-runtime-optimization-parallel-jobs-and-caching" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-ci-pipeline-runtime-optimization-parallel-jobs-and-caching.webp</image:loc><image:title>Optimizing GitLab CI Pipeline Runtime: Parallel Jobs and Caching</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;GitLab&#x20;CI&#x20;Pipeline&#x20;Runtime&#x3A;&#x20;Parallel&#x20;Jobs&#x20;and&#x20;Caching"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-ci-pipeline-runtime-optimization-parallel-jobs-and-caching.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-ci-rules-versus-only-except-migration-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-ci-rules-vs-only-except-migration-und-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-ci-rules-versus-only-except-migration-guide" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-ci-rules-versus-only-except-migration-guide.webp</image:loc><image:title>GitLab CI rules vs. only/except: migration and practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;CI&#x20;rules&#x20;vs.&#x20;only&#x2F;except&#x3A;&#x20;migration&#x20;and&#x20;practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-ci-rules-versus-only-except-migration-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-scheduled-pipelines-nightly-builds-and-maintenance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-gitlab-ci-scheduled-pipelines-fuer-naechtliche-builds-und-wartung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-scheduled-pipelines-nightly-builds-and-maintenance" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-scheduled-pipelines-nightly-builds-and-maintenance.webp</image:loc><image:title>GitLab Scheduled Pipelines: Automating Nightly Builds, Security Scans and Maintenance Jobs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;Scheduled&#x20;Pipelines&#x3A;&#x20;Automating&#x20;Nightly&#x20;Builds,&#x20;Security&#x20;Scans&#x20;and&#x20;Maintenance&#x20;Jobs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-scheduled-pipelines-nightly-builds-and-maintenance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-managing-ci-secrets-with-vault-beyond-protected-variables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-ci-secrets-mit-vault-statt-nur-protected-variables" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-managing-ci-secrets-with-vault-beyond-protected-variables" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-managing-ci-secrets-with-vault-beyond-protected-variables.webp</image:loc><image:title>GitLab CI Secrets with Vault Instead of Just Protected Variables</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;CI&#x20;Secrets&#x20;with&#x20;Vault&#x20;Instead&#x20;of&#x20;Just&#x20;Protected&#x20;Variables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-managing-ci-secrets-with-vault-beyond-protected-variables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-ci-when-manual-and-allow-failure-combined-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-gitlab-ci-when-manual-und-allow-failure-praktisch-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-ci-when-manual-and-allow-failure-combined-in-practice" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-ci-when-manual-and-allow-failure-combined-in-practice.webp</image:loc><image:title>when: manual and allow_failure in GitLab CI: Building Safe Deployment Gates</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="when&#x3A;&#x20;manual&#x20;and&#x20;allow_failure&#x20;in&#x20;GitLab&#x20;CI&#x3A;&#x20;Building&#x20;Safe&#x20;Deployment&#x20;Gates"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-ci-when-manual-and-allow-failure-combined-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-ci-include-reusable-pipeline-building-blocks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-gitlab-ci-yaml-include-fuer-wiederverwendbare-pipeline-bausteine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-ci-include-reusable-pipeline-building-blocks" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-ci-include-reusable-pipeline-building-blocks.webp</image:loc><image:title>GitLab CI include: Reusable Pipeline Building Blocks Across Multiple Repositories</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;CI&#x20;include&#x3A;&#x20;Reusable&#x20;Pipeline&#x20;Building&#x20;Blocks&#x20;Across&#x20;Multiple&#x20;Repositories"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-ci-include-reusable-pipeline-building-blocks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-efficient-code-review-workflow-diffs-suggestions-and-threads</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-code-review-workflow-diffs-suggestions-und-threads-effizient-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-efficient-code-review-workflow-diffs-suggestions-and-threads" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-efficient-code-review-workflow-diffs-suggestions-and-threads.webp</image:loc><image:title>Efficient Code Review Workflow in GitLab: Using Diffs, Suggestions, and Threads</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Efficient&#x20;Code&#x20;Review&#x20;Workflow&#x20;in&#x20;GitLab&#x3A;&#x20;Using&#x20;Diffs,&#x20;Suggestions,&#x20;and&#x20;Threads"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-efficient-code-review-workflow-diffs-suggestions-and-threads.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-container-registry-versioning-and-cleaning-up-docker-images</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-container-registry-images-versionieren-und-aufraeumen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-container-registry-versioning-and-cleaning-up-docker-images" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-container-registry-versioning-and-cleaning-up-docker-images.webp</image:loc><image:title>GitLab Container Registry: Versioning Images, Cleaning Up, and Controlling Access</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;Container&#x20;Registry&#x3A;&#x20;Versioning&#x20;Images,&#x20;Cleaning&#x20;Up,&#x20;and&#x20;Controlling&#x20;Access"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-container-registry-versioning-and-cleaning-up-docker-images.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-container-scanning-for-docker-images-in-the-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-gitlab-container-scanning-fuer-docker-images-in-der-pipeline" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-container-scanning-for-docker-images-in-the-pipeline" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-container-scanning-for-docker-images-in-the-pipeline.webp</image:loc><image:title>GitLab Container Scanning: Checking Docker Images for Vulnerabilities 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="GitLab&#x20;Container&#x20;Scanning&#x3A;&#x20;Checking&#x20;Docker&#x20;Images&#x20;for&#x20;Vulnerabilities&#x20;Right&#x20;in&#x20;the&#x20;Pipeline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-container-scanning-for-docker-images-in-the-pipeline.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-group-level-variables-and-shared-runners-across-multiple-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-gitlab-group-level-variablen-und-shared-runner-fuer-mehrere-projekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-group-level-variables-and-shared-runners-across-multiple-projects" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-group-level-variables-and-shared-runners-across-multiple-projects.webp</image:loc><image:title>GitLab Group-Level Variables and Shared Runners Across Multiple Projects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;Group-Level&#x20;Variables&#x20;and&#x20;Shared&#x20;Runners&#x20;Across&#x20;Multiple&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-group-level-variables-and-shared-runners-across-multiple-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-issue-templates-and-labels-for-structured-bug-reports</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-issue-templates-und-labels-fuer-strukturierte-bug-reports" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-issue-templates-and-labels-for-structured-bug-reports" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-issue-templates-and-labels-for-structured-bug-reports.webp</image:loc><image:title>Issue Templates and Labels in GitLab: Structured Bug Reports and Quick Actions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Issue&#x20;Templates&#x20;and&#x20;Labels&#x20;in&#x20;GitLab&#x3A;&#x20;Structured&#x20;Bug&#x20;Reports&#x20;and&#x20;Quick&#x20;Actions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-issue-templates-and-labels-for-structured-bug-reports.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-configuring-merge-request-approval-rules-for-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-merge-request-approval-rules-fuer-teams-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-configuring-merge-request-approval-rules-for-teams" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-configuring-merge-request-approval-rules-for-teams.webp</image:loc><image:title>Merge Request Approval Rules in GitLab: Configuring Mandatory Reviewers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Merge&#x20;Request&#x20;Approval&#x20;Rules&#x20;in&#x20;GitLab&#x3A;&#x20;Configuring&#x20;Mandatory&#x20;Reviewers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-configuring-merge-request-approval-rules-for-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-keeping-merge-request-diffs-readable-in-large-migrations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-merge-request-diffs-in-grossen-migrationen-lesbar-halten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-keeping-merge-request-diffs-readable-in-large-migrations" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-keeping-merge-request-diffs-readable-in-large-migrations.webp</image:loc><image:title>Keeping GitLab Merge Request Diffs Readable in Large Migrations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Keeping&#x20;GitLab&#x20;Merge&#x20;Request&#x20;Diffs&#x20;Readable&#x20;in&#x20;Large&#x20;Migrations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-keeping-merge-request-diffs-readable-in-large-migrations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-pages-for-automatically-publishing-project-documentation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-pages-fuer-projektdokumentation-automatisch-veroeffentlichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-pages-for-automatically-publishing-project-documentation" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-pages-for-automatically-publishing-project-documentation.webp</image:loc><image:title>GitLab Pages for Project Documentation: Publishing Automatically on Every Merge</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x20;Pages&#x20;for&#x20;Project&#x20;Documentation&#x3A;&#x20;Publishing&#x20;Automatically&#x20;on&#x20;Every&#x20;Merge"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-pages-for-automatically-publishing-project-documentation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-generating-release-notes-automatically-from-merge-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-release-notes-automatisch-aus-merge-requests-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-generating-release-notes-automatically-from-merge-requests" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-generating-release-notes-automatically-from-merge-requests.webp</image:loc><image:title>Generating GitLab Release Notes Automatically from Merge Requests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;GitLab&#x20;Release&#x20;Notes&#x20;Automatically&#x20;from&#x20;Merge&#x20;Requests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-generating-release-notes-automatically-from-merge-requests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-runner-autoscaling-with-docker-machine-and-fleeting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-gitlab-runner-autoscaling-mit-docker-machine-und-fleeting" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-runner-autoscaling-with-docker-machine-and-fleeting" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-runner-autoscaling-with-docker-machine-and-fleeting.webp</image:loc><image:title>GitLab Runner Autoscaling with Docker Machine and Fleeting</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;Autoscaling&#x20;with&#x20;Docker&#x20;Machine&#x20;and&#x20;Fleeting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-runner-autoscaling-with-docker-machine-and-fleeting.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-integrating-sast-dependency-scanning-into-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-gitlab-sast-und-dependency-scanning-in-bestehende-pipelines-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-integrating-sast-dependency-scanning-into-pipelines" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-integrating-sast-dependency-scanning-into-pipelines.webp</image:loc><image:title>Integrating GitLab SAST and Dependency Scanning Into Existing PHP and Node 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;GitLab&#x20;SAST&#x20;and&#x20;Dependency&#x20;Scanning&#x20;Into&#x20;Existing&#x20;PHP&#x20;and&#x20;Node&#x20;Pipelines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-integrating-sast-dependency-scanning-into-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-terraform-integration-for-infrastructure-as-code-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-gitlab-terraform-integration-fuer-infrastructure-as-code-pipelines" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-terraform-integration-for-infrastructure-as-code-pipelines" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-terraform-integration-for-infrastructure-as-code-pipelines.webp</image:loc><image:title>GitLab's Terraform Integration for Infrastructure-as-Code Pipelines</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GitLab&#x27;s&#x20;Terraform&#x20;Integration&#x20;for&#x20;Infrastructure-as-Code&#x20;Pipelines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-terraform-integration-for-infrastructure-as-code-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/controlling-kubectl-deployments-from-gitlab-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab-kubectl-deployments-aus-gitlab-ci-heraus-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/controlling-kubectl-deployments-from-gitlab-ci" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/controlling-kubectl-deployments-from-gitlab-ci.webp</image:loc><image:title>Controlling kubectl Deployments from GitLab CI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Controlling&#x20;kubectl&#x20;Deployments&#x20;from&#x20;GitLab&#x20;CI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/controlling-kubectl-deployments-from-gitlab-ci.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/merge-request-pipelines-versus-branch-pipelines-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/merge-request-pipelines-vs-branch-pipelines-der-unterschied" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/merge-request-pipelines-versus-branch-pipelines-explained" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/merge-request-pipelines-versus-branch-pipelines-explained.webp</image:loc><image:title>Merge request pipelines vs. branch pipelines: the difference</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Merge&#x20;request&#x20;pipelines&#x20;vs.&#x20;branch&#x20;pipelines&#x3A;&#x20;the&#x20;difference"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/merge-request-pipelines-versus-branch-pipelines-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab-merge-trains-when-they-are-worth-it</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/merge-trains-in-gitlab-wann-sie-sich-lohnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab-merge-trains-when-they-are-worth-it" />
<lastmod>2026-08-09T10:21:33+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/gitlab-merge-trains-when-they-are-worth-it.webp</image:loc><image:title>Merge trains in GitLab: when they pay off</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Merge&#x20;trains&#x20;in&#x20;GitLab&#x3A;&#x20;when&#x20;they&#x20;pay&#x20;off"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/gitlab-merge-trains-when-they-are-worth-it.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-apollo-client-cache-normalization-and-update-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-apollo-client-cache-normalisierung-und-update-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-apollo-client-cache-normalization-and-update-strategies" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-apollo-client-cache-normalization-and-update-strategies.webp</image:loc><image:title>Apollo Client Cache: Normalization and Update Strategies</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;Cache&#x3A;&#x20;Normalization&#x20;and&#x20;Update&#x20;Strategies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-apollo-client-cache-normalization-and-update-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-apollo-federation-vs-graphql-mesh-vs-cosmo-architecture-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-apollo-federation-vs-graphql-mesh-vs-cosmo-architektur-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-apollo-federation-vs-graphql-mesh-vs-cosmo-architecture-comparison" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-apollo-federation-vs-graphql-mesh-vs-cosmo-architecture-comparison.webp</image:loc><image:title>Apollo Federation vs. GraphQL Mesh vs. Cosmo: an Architecture Comparison for Distributed GraphQL APIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Apollo&#x20;Federation&#x20;vs.&#x20;GraphQL&#x20;Mesh&#x20;vs.&#x20;Cosmo&#x3A;&#x20;an&#x20;Architecture&#x20;Comparison&#x20;for&#x20;Distributed&#x20;GraphQL&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-apollo-federation-vs-graphql-mesh-vs-cosmo-architecture-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-automatic-persisted-queries-cdn-caching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-automatic-persisted-queries-cdn-caching-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-automatic-persisted-queries-cdn-caching" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-automatic-persisted-queries-cdn-caching.webp</image:loc><image:title>Combining Automatic Persisted Queries with CDN 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;Automatic&#x20;Persisted&#x20;Queries&#x20;with&#x20;CDN&#x20;Caching"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-automatic-persisted-queries-cdn-caching.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/contract-testing-for-graphql-apis-with-mock-schemas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/contract-testing-fuer-graphql-apis-mit-mock-schemas" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/contract-testing-for-graphql-apis-with-mock-schemas" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/contract-testing-for-graphql-apis-with-mock-schemas.webp</image:loc><image:title>Contract Testing for GraphQL APIs with Mock Schemas</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;GraphQL&#x20;APIs&#x20;with&#x20;Mock&#x20;Schemas"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/contract-testing-for-graphql-apis-with-mock-schemas.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/csrf-protection-for-graphql-endpoints-what-differs-from-rest</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-csrf-schutz-fuer-graphql-endpunkte-was-anders-ist-als-bei-rest" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/csrf-protection-for-graphql-endpoints-what-differs-from-rest" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/csrf-protection-for-graphql-endpoints-what-differs-from-rest.webp</image:loc><image:title>CSRF Protection for GraphQL Endpoints: What Differs From REST</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;for&#x20;GraphQL&#x20;Endpoints&#x3A;&#x20;What&#x20;Differs&#x20;From&#x20;REST"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/csrf-protection-for-graphql-endpoints-what-differs-from-rest.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-custom-scalars-in-graphql-datetime-email-json-defined-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-custom-scalars-in-graphql-datetime-email-json-richtig-definieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-custom-scalars-in-graphql-datetime-email-json-defined-correctly" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-custom-scalars-in-graphql-datetime-email-json-defined-correctly.webp</image:loc><image:title>Custom Scalars in GraphQL: Defining DateTime, Email and JSON Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Scalars&#x20;in&#x20;GraphQL&#x3A;&#x20;Defining&#x20;DateTime,&#x20;Email&#x20;and&#x20;JSON&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-custom-scalars-in-graphql-datetime-email-json-defined-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-dataloader-pattern-in-graphql-php-practical-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-dataloader-pattern-in-graphql-php-praktisch-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-dataloader-pattern-in-graphql-php-practical-implementation" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-dataloader-pattern-in-graphql-php-practical-implementation.webp</image:loc><image:title>Implementing the DataLoader Pattern in GraphQL PHP</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;DataLoader&#x20;Pattern&#x20;in&#x20;GraphQL&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-dataloader-pattern-in-graphql-php-practical-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-field-level-cost-analysis-limit-expensive-fields</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-field-level-cost-analysis-teure-felder-gezielt-limitieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-field-level-cost-analysis-limit-expensive-fields" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-field-level-cost-analysis-limit-expensive-fields.webp</image:loc><image:title>Field-Level Cost Analysis: Limit Expensive GraphQL Fields</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;Cost&#x20;Analysis&#x3A;&#x20;Limit&#x20;Expensive&#x20;GraphQL&#x20;Fields"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-field-level-cost-analysis-limit-expensive-fields.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-api-gateway-patterns-centralizing-authentication</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-api-gateway-patterns-authentifizierung-zentral-loesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-api-gateway-patterns-centralizing-authentication" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-api-gateway-patterns-centralizing-authentication.webp</image:loc><image:title>GraphQL API Gateway Patterns: Centralizing Authentication</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;API&#x20;Gateway&#x20;Patterns&#x3A;&#x20;Centralizing&#x20;Authentication"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-api-gateway-patterns-centralizing-authentication.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-batching-bundling-multiple-queries-in-one-http-request</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-batching-mehrere-queries-in-einem-http-request-buendeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-batching-bundling-multiple-queries-in-one-http-request" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-batching-bundling-multiple-queries-in-one-http-request.webp</image:loc><image:title>GraphQL Batching: Bundling Multiple Queries in One HTTP Request</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&#x3A;&#x20;Bundling&#x20;Multiple&#x20;Queries&#x20;in&#x20;One&#x20;HTTP&#x20;Request"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-batching-bundling-multiple-queries-in-one-http-request.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-code-generator-config-in-depth-types-hooks-and-fragments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-code-generator-config-vertieft-typen-hooks-und-fragmente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-code-generator-config-in-depth-types-hooks-and-fragments" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-code-generator-config-in-depth-types-hooks-and-fragments.webp</image:loc><image:title>GraphQL Code Generator Config In Depth: Types, Hooks and Fragments</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;Generator&#x20;Config&#x20;In&#x20;Depth&#x3A;&#x20;Types,&#x20;Hooks&#x20;and&#x20;Fragments"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-code-generator-config-in-depth-types-hooks-and-fragments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-deprecation-workflow-retiring-old-fields-cleanly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-deprecation-workflow-alte-felder-sauber-auslaufen-lassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-deprecation-workflow-retiring-old-fields-cleanly" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-deprecation-workflow-retiring-old-fields-cleanly.webp</image:loc><image:title>GraphQL Deprecation Workflow: Retiring Old Fields 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;Deprecation&#x20;Workflow&#x3A;&#x20;Retiring&#x20;Old&#x20;Fields&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-deprecation-workflow-retiring-old-fields-cleanly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-graphql-directives-building-custom-directives-for-auth-and-formatting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-directives-eigene-direktiven-fuer-auth-und-formatierung-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-graphql-directives-building-custom-directives-for-auth-and-formatting" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-graphql-directives-building-custom-directives-for-auth-and-formatting.webp</image:loc><image:title>GraphQL Directives: Building Custom Directives for Auth and Formatting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Directives&#x3A;&#x20;Building&#x20;Custom&#x20;Directives&#x20;for&#x20;Auth&#x20;and&#x20;Formatting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-graphql-directives-building-custom-directives-for-auth-and-formatting.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/standardizing-graphql-error-codes-structured-error-responses</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-error-codes-standardisieren-strukturierte-fehlerantworten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/standardizing-graphql-error-codes-structured-error-responses" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/standardizing-graphql-error-codes-structured-error-responses.webp</image:loc><image:title>Standardizing GraphQL Error Codes: Structured Error Responses</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Standardizing&#x20;GraphQL&#x20;Error&#x20;Codes&#x3A;&#x20;Structured&#x20;Error&#x20;Responses"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/standardizing-graphql-error-codes-structured-error-responses.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-graphql-fragments-organizing-reusable-query-building-blocks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-fragments-wiederverwendbare-query-bausteine-organisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-graphql-fragments-organizing-reusable-query-building-blocks" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-graphql-fragments-organizing-reusable-query-building-blocks.webp</image:loc><image:title>GraphQL Fragments: Organizing Reusable Query Building Blocks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Fragments&#x3A;&#x20;Organizing&#x20;Reusable&#x20;Query&#x20;Building&#x20;Blocks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-graphql-fragments-organizing-reusable-query-building-blocks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-for-headless-cms-strapi-contentful-and-magento-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-fuer-headless-cms-strapi-contentful-und-magento-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-for-headless-cms-strapi-contentful-and-magento-compared" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-for-headless-cms-strapi-contentful-and-magento-compared.webp</image:loc><image:title>GraphQL for Headless CMS: Strapi, Contentful and Magento 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;for&#x20;Headless&#x20;CMS&#x3A;&#x20;Strapi,&#x20;Contentful&#x20;and&#x20;Magento&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-for-headless-cms-strapi-contentful-and-magento-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-for-internal-admin-tools-build-an-api-for-dashboards-fast</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-fuer-interne-admin-tools-schnell-eine-api-fuer-dashboards-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-for-internal-admin-tools-build-an-api-for-dashboards-fast" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-for-internal-admin-tools-build-an-api-for-dashboards-fast.webp</image:loc><image:title>GraphQL for Internal Admin Tools: Build an API for Dashboards Fast</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;for&#x20;Internal&#x20;Admin&#x20;Tools&#x3A;&#x20;Build&#x20;an&#x20;API&#x20;for&#x20;Dashboards&#x20;Fast"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-for-internal-admin-tools-build-an-api-for-dashboards-fast.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-for-microservices-schema-stitching-vs-federation-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-fuer-microservices-schema-stitching-vs-federation-vertieft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-for-microservices-schema-stitching-vs-federation-in-depth" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-for-microservices-schema-stitching-vs-federation-in-depth.webp</image:loc><image:title>GraphQL for Microservices: Schema Stitching vs. Federation In Depth</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;for&#x20;Microservices&#x3A;&#x20;Schema&#x20;Stitching&#x20;vs.&#x20;Federation&#x20;In&#x20;Depth"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-for-microservices-schema-stitching-vs-federation-in-depth.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-graphql-for-mobile-apps-optimizing-bandwidth-and-battery-life</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-fuer-mobile-apps-bandbreite-und-battery-life-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-graphql-for-mobile-apps-optimizing-bandwidth-and-battery-life" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-graphql-for-mobile-apps-optimizing-bandwidth-and-battery-life.webp</image:loc><image:title>GraphQL for Mobile Apps: Optimizing Bandwidth and Battery Life</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;for&#x20;Mobile&#x20;Apps&#x3A;&#x20;Optimizing&#x20;Bandwidth&#x20;and&#x20;Battery&#x20;Life"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-graphql-for-mobile-apps-optimizing-bandwidth-and-battery-life.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-linting-with-eslint-plugin-graphql-and-graphql-schema-linter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-linting-mit-eslint-plugin-graphql-und-graphql-schema-linter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-linting-with-eslint-plugin-graphql-and-graphql-schema-linter" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-linting-with-eslint-plugin-graphql-and-graphql-schema-linter.webp</image:loc><image:title>GraphQL Linting with eslint-plugin-graphql and graphql-schema-linter</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Linting&#x20;with&#x20;eslint-plugin-graphql&#x20;and&#x20;graphql-schema-linter"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-linting-with-eslint-plugin-graphql-and-graphql-schema-linter.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-multi-tenancy-building-tenant-aware-schemas-and-resolvers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-multi-tenancy-mandantenfaehige-schemas-und-resolver-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-multi-tenancy-building-tenant-aware-schemas-and-resolvers" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-multi-tenancy-building-tenant-aware-schemas-and-resolvers.webp</image:loc><image:title>GraphQL Multi-Tenancy: Building Tenant-Aware Schemas and Resolvers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Multi-Tenancy&#x3A;&#x20;Building&#x20;Tenant-Aware&#x20;Schemas&#x20;and&#x20;Resolvers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-multi-tenancy-building-tenant-aware-schemas-and-resolvers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-naming-conventions-that-actually-stick-in-teams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-naming-conventions-die-sich-in-teams-durchsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-naming-conventions-that-actually-stick-in-teams" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-naming-conventions-that-actually-stick-in-teams.webp</image:loc><image:title>GraphQL Naming Conventions That Actually Stick in Teams</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Naming&#x20;Conventions&#x20;That&#x20;Actually&#x20;Stick&#x20;in&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-naming-conventions-that-actually-stick-in-teams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-observability-tracing-with-opentelemetry-and-apollo-studio</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-observability-tracing-mit-opentelemetry-und-apollo-studio" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-observability-tracing-with-opentelemetry-and-apollo-studio" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-observability-tracing-with-opentelemetry-and-apollo-studio.webp</image:loc><image:title>GraphQL Observability: Tracing with OpenTelemetry and Apollo Studio</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Observability&#x3A;&#x20;Tracing&#x20;with&#x20;OpenTelemetry&#x20;and&#x20;Apollo&#x20;Studio"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-observability-tracing-with-opentelemetry-and-apollo-studio.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-persisted-mutations-security-for-write-operations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-persisted-mutations-sicherheit-bei-schreibenden-operationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-persisted-mutations-security-for-write-operations" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-persisted-mutations-security-for-write-operations.webp</image:loc><image:title>GraphQL Persisted Mutations: Security for Write Operations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Persisted&#x20;Mutations&#x3A;&#x20;Security&#x20;for&#x20;Write&#x20;Operations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-persisted-mutations-security-for-write-operations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-php-webonyx-basics-schema-first-vs-code-first</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-php-webonyx-grundlagen-schema-first-vs-code-first" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-php-webonyx-basics-schema-first-vs-code-first" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-php-webonyx-basics-schema-first-vs-code-first.webp</image:loc><image:title>graphql-php (Webonyx) Basics: Schema-First vs. Code-First</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="graphql-php&#x20;&#x28;Webonyx&#x29;&#x20;Basics&#x3A;&#x20;Schema-First&#x20;vs.&#x20;Code-First"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-php-webonyx-basics-schema-first-vs-code-first.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-playground-alternatives-graphiql-2-vs-apollo-sandbox</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-playground-alternativen-graphiql-2-vs-apollo-sandbox" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-playground-alternatives-graphiql-2-vs-apollo-sandbox" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-playground-alternatives-graphiql-2-vs-apollo-sandbox.webp</image:loc><image:title>GraphQL Playground Alternatives: GraphiQL 2 vs. Apollo Sandbox</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Playground&#x20;Alternatives&#x3A;&#x20;GraphiQL&#x20;2&#x20;vs.&#x20;Apollo&#x20;Sandbox"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-playground-alternatives-graphiql-2-vs-apollo-sandbox.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-query-whitelisting-for-production-environments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-query-whitelisting-fuer-produktionsumgebungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-query-whitelisting-for-production-environments" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-query-whitelisting-for-production-environments.webp</image:loc><image:title>GraphQL Query Whitelisting for Production Environments</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Query&#x20;Whitelisting&#x20;for&#x20;Production&#x20;Environments"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-query-whitelisting-for-production-environments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-rate-limiting-by-query-complexity-instead-of-request-counting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-rate-limiting-nach-query-complexity-statt-request-zaehlung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-rate-limiting-by-query-complexity-instead-of-request-counting" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-rate-limiting-by-query-complexity-instead-of-request-counting.webp</image:loc><image:title>GraphQL Rate-Limiting by Query Complexity Instead of Request Counting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Rate-Limiting&#x20;by&#x20;Query&#x20;Complexity&#x20;Instead&#x20;of&#x20;Request&#x20;Counting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-rate-limiting-by-query-complexity-instead-of-request-counting.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-response-caching-with-varnish-and-cdn-edge-caching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-response-caching-mit-varnish-und-cdn-edge-caching" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-response-caching-with-varnish-and-cdn-edge-caching" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-response-caching-with-varnish-and-cdn-edge-caching.webp</image:loc><image:title>GraphQL Response Caching with Varnish and CDN Edge Caching</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Response&#x20;Caching&#x20;with&#x20;Varnish&#x20;and&#x20;CDN&#x20;Edge&#x20;Caching"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-response-caching-with-varnish-and-cdn-edge-caching.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-schema-registry-with-apollo-studio-or-hive</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-schema-registry-mit-apollo-studio-oder-hive-betreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-schema-registry-with-apollo-studio-or-hive" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-schema-registry-with-apollo-studio-or-hive.webp</image:loc><image:title>Running a GraphQL Schema Registry with Apollo Studio or Hive</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Running&#x20;a&#x20;GraphQL&#x20;Schema&#x20;Registry&#x20;with&#x20;Apollo&#x20;Studio&#x20;or&#x20;Hive"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-schema-registry-with-apollo-studio-or-hive.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-planning-graphql-schema-versioning-without-breaking-changes-long-term</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-schema-versionierung-ohne-breaking-changes-langfristig-planen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-planning-graphql-schema-versioning-without-breaking-changes-long-term" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-planning-graphql-schema-versioning-without-breaking-changes-long-term.webp</image:loc><image:title>Planning GraphQL Schema Versioning Without Breaking Changes Long Term</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Planning&#x20;GraphQL&#x20;Schema&#x20;Versioning&#x20;Without&#x20;Breaking&#x20;Changes&#x20;Long&#x20;Term"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-planning-graphql-schema-versioning-without-breaking-changes-long-term.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-subscriptions-over-websockets-scaling-across-multiple-server-instances</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-subscriptions-uber-websockets-skalieren-mehrere-server-instanzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-subscriptions-over-websockets-scaling-across-multiple-server-instances" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-subscriptions-over-websockets-scaling-across-multiple-server-instances.webp</image:loc><image:title>Scaling GraphQL Subscriptions Over WebSockets Across Multiple Server Instances</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Scaling&#x20;GraphQL&#x20;Subscriptions&#x20;Over&#x20;WebSockets&#x20;Across&#x20;Multiple&#x20;Server&#x20;Instances"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-subscriptions-over-websockets-scaling-across-multiple-server-instances.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-testing-pyramid-combining-unit-integration-and-e2e-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-testing-pyramide-unit-integration-und-e2e-tests-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-testing-pyramid-combining-unit-integration-and-e2e-tests" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-testing-pyramid-combining-unit-integration-and-e2e-tests.webp</image:loc><image:title>GraphQL Testing Pyramid: Combining Unit, Integration, and E2E 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&#x20;Pyramid&#x3A;&#x20;Combining&#x20;Unit,&#x20;Integration,&#x20;and&#x20;E2E&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-testing-pyramid-combining-unit-integration-and-e2e-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-and-event-sourcing-cqrs-read-models-as-a-graphql-schema</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-und-event-sourcing-cqrs-lesemodelle-als-graphql-schema" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-and-event-sourcing-cqrs-read-models-as-a-graphql-schema" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-and-event-sourcing-cqrs-read-models-as-a-graphql-schema.webp</image:loc><image:title>GraphQL and Event Sourcing/CQRS: Read Models as a GraphQL Schema</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;and&#x20;Event&#x20;Sourcing&#x2F;CQRS&#x3A;&#x20;Read&#x20;Models&#x20;as&#x20;a&#x20;GraphQL&#x20;Schema"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-and-event-sourcing-cqrs-read-models-as-a-graphql-schema.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-vs-grpc-choosing-the-right-protocol-for-internal-services</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-und-grpc-wann-welches-protokoll-fuer-interne-services" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-vs-grpc-choosing-the-right-protocol-for-internal-services" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-vs-grpc-choosing-the-right-protocol-for-internal-services.webp</image:loc><image:title>GraphQL vs. gRPC: Choosing the Right Protocol for Internal Services</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;vs.&#x20;gRPC&#x3A;&#x20;Choosing&#x20;the&#x20;Right&#x20;Protocol&#x20;for&#x20;Internal&#x20;Services"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-vs-grpc-choosing-the-right-protocol-for-internal-services.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-and-server-sent-events-as-an-alternative-to-subscriptions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-und-server-sent-events-als-alternative-zu-subscriptions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-and-server-sent-events-as-an-alternative-to-subscriptions" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-and-server-sent-events-as-an-alternative-to-subscriptions.webp</image:loc><image:title>GraphQL and Server-Sent Events as an Alternative to Subscriptions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;and&#x20;Server-Sent&#x20;Events&#x20;as&#x20;an&#x20;Alternative&#x20;to&#x20;Subscriptions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-and-server-sent-events-as-an-alternative-to-subscriptions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-graphql-yoga-vs-apollo-server-which-server-for-which-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-graphql-yoga-vs-apollo-server-welcher-server-fuer-welches-projekt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-graphql-yoga-vs-apollo-server-which-server-for-which-project" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-graphql-yoga-vs-apollo-server-which-server-for-which-project.webp</image:loc><image:title>GraphQL Yoga vs. Apollo Server: Which Server 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="GraphQL&#x20;Yoga&#x20;vs.&#x20;Apollo&#x20;Server&#x3A;&#x20;Which&#x20;Server&#x20;for&#x20;Which&#x20;Project"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-graphql-yoga-vs-apollo-server-which-server-for-which-project.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hasura-instant-graphql-api-postgresql-when-it-fits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hasura-instant-graphql-api-postgresql-wann-es-passt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hasura-instant-graphql-api-postgresql-when-it-fits" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hasura-instant-graphql-api-postgresql-when-it-fits.webp</image:loc><image:title>Hasura as an Instant GraphQL API over PostgreSQL: When It Fits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hasura&#x20;as&#x20;an&#x20;Instant&#x20;GraphQL&#x20;API&#x20;over&#x20;PostgreSQL&#x3A;&#x20;When&#x20;It&#x20;Fits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hasura-instant-graphql-api-postgresql-when-it-fits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/disabling-graphql-introspection-in-production-understanding-the-security-risks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-introspection-in-produktion-deaktivieren-sicherheitsrisiken-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/disabling-graphql-introspection-in-production-understanding-the-security-risks" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/disabling-graphql-introspection-in-production-understanding-the-security-risks.webp</image:loc><image:title>Disabling GraphQL Introspection in Production: Understanding the Security Risks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Disabling&#x20;GraphQL&#x20;Introspection&#x20;in&#x20;Production&#x3A;&#x20;Understanding&#x20;the&#x20;Security&#x20;Risks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/disabling-graphql-introspection-in-production-understanding-the-security-risks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/lighthouse-graphql-laravel-getting-started</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/lighthouse-graphql-laravel-praxiseinstieg" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/lighthouse-graphql-laravel-getting-started" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/lighthouse-graphql-laravel-getting-started.webp</image:loc><image:title>Lighthouse GraphQL for Laravel: A Hands-On Start</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Lighthouse&#x20;GraphQL&#x20;for&#x20;Laravel&#x3A;&#x20;A&#x20;Hands-On&#x20;Start"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/lighthouse-graphql-laravel-getting-started.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/nestjs-graphql-module-code-first-resolvers-decorators</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/nestjs-graphql-module-code-first-resolver-mit-decorators" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/nestjs-graphql-module-code-first-resolvers-decorators" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nestjs-graphql-module-code-first-resolvers-decorators.webp</image:loc><image:title>NestJS GraphQL Module: Code-First Resolvers with Decorators</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="NestJS&#x20;GraphQL&#x20;Module&#x3A;&#x20;Code-First&#x20;Resolvers&#x20;with&#x20;Decorators"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nestjs-graphql-module-code-first-resolvers-decorators.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-offline-first-graphql-with-apollo-client-cache-persistence</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-offline-first-graphql-mit-apollo-client-cache-persistence" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-offline-first-graphql-with-apollo-client-cache-persistence" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-offline-first-graphql-with-apollo-client-cache-persistence.webp</image:loc><image:title>Offline-First GraphQL with Apollo Client Cache Persistence</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Offline-First&#x20;GraphQL&#x20;with&#x20;Apollo&#x20;Client&#x20;Cache&#x20;Persistence"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-offline-first-graphql-with-apollo-client-cache-persistence.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-implementing-optimistic-ui-updates-with-graphql-mutations-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-optimistic-ui-updates-mit-graphql-mutations-sauber-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-implementing-optimistic-ui-updates-with-graphql-mutations-correctly" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-implementing-optimistic-ui-updates-with-graphql-mutations-correctly.webp</image:loc><image:title>Implementing Optimistic UI Updates with GraphQL Mutations 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;Optimistic&#x20;UI&#x20;Updates&#x20;with&#x20;GraphQL&#x20;Mutations&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-implementing-optimistic-ui-updates-with-graphql-mutations-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-postgraphile-instant-graphql-api-from-your-database-schema</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-postgraphile-graphql-direkt-aus-dem-datenbankschema-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-postgraphile-instant-graphql-api-from-your-database-schema" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-postgraphile-instant-graphql-api-from-your-database-schema.webp</image:loc><image:title>PostGraphile: Instant GraphQL API from Your Database Schema</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PostGraphile&#x3A;&#x20;Instant&#x20;GraphQL&#x20;API&#x20;from&#x20;Your&#x20;Database&#x20;Schema"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-postgraphile-instant-graphql-api-from-your-database-schema.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-relay-vs-apollo-client-when-relays-strict-conventions-pay-off</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-relay-vs-apollo-client-wann-lohnt-sich-relays-strenge-konventionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-relay-vs-apollo-client-when-relays-strict-conventions-pay-off" />
<lastmod>2026-08-09T10:22:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-relay-vs-apollo-client-when-relays-strict-conventions-pay-off.webp</image:loc><image:title>Relay vs. Apollo Client: When Relay's Strict Conventions Pay Off</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Relay&#x20;vs.&#x20;Apollo&#x20;Client&#x3A;&#x20;When&#x20;Relay&#x27;s&#x20;Strict&#x20;Conventions&#x20;Pay&#x20;Off"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-relay-vs-apollo-client-when-relays-strict-conventions-pay-off.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/migrating-rest-to-graphql-a-step-by-step-strategy-without-a-big-bang</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/rest-zu-graphql-migrieren-schrittweise-strategie-ohne-big-bang" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/migrating-rest-to-graphql-a-step-by-step-strategy-without-a-big-bang" />
<lastmod>2026-08-09T10:22:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/migrating-rest-to-graphql-a-step-by-step-strategy-without-a-big-bang.webp</image:loc><image:title>Migrating REST to GraphQL: A Step-by-Step Strategy 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="Migrating&#x20;REST&#x20;to&#x20;GraphQL&#x3A;&#x20;A&#x20;Step-by-Step&#x20;Strategy&#x20;Without&#x20;a&#x20;Big&#x20;Bang"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/migrating-rest-to-graphql-a-step-by-step-strategy-without-a-big-bang.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-schema-first-vs-code-first-pros-and-cons-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-schema-first-vs-code-first-graphql-vor-und-nachteile-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-schema-first-vs-code-first-pros-and-cons-compared" />
<lastmod>2026-08-09T10:22:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-schema-first-vs-code-first-pros-and-cons-compared.webp</image:loc><image:title>GraphQL Schema-First vs. Code-First: Pros and Cons 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;Schema-First&#x20;vs.&#x20;Code-First&#x3A;&#x20;Pros&#x20;and&#x20;Cons&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-schema-first-vs-code-first-pros-and-cons-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/transactional-mutations-in-graphql-consistency-across-multiple-steps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/transaktionale-mutations-in-graphql-konsistenz-ueber-mehrere-schritte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/transactional-mutations-in-graphql-consistency-across-multiple-steps" />
<lastmod>2026-08-09T10:22:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/transactional-mutations-in-graphql-consistency-across-multiple-steps.webp</image:loc><image:title>Transactional Mutations in GraphQL: Consistency Across Multiple Steps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Transactional&#x20;Mutations&#x20;in&#x20;GraphQL&#x3A;&#x20;Consistency&#x20;Across&#x20;Multiple&#x20;Steps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/transactional-mutations-in-graphql-consistency-across-multiple-steps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-union-types-and-interfaces-modeling-graphql-schemas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-union-types-und-interfaces-in-graphql-schemas-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-union-types-and-interfaces-modeling-graphql-schemas" />
<lastmod>2026-08-09T10:22:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-union-types-and-interfaces-modeling-graphql-schemas.webp</image:loc><image:title>Modeling Union Types and Interfaces in GraphQL Schemas</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modeling&#x20;Union&#x20;Types&#x20;and&#x20;Interfaces&#x20;in&#x20;GraphQL&#x20;Schemas"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-union-types-and-interfaces-modeling-graphql-schemas.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql-urql-as-a-lightweight-graphql-client-when-its-enough</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql-urql-als-leichtgewichtiger-graphql-client-wann-er-reicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql-urql-as-a-lightweight-graphql-client-when-its-enough" />
<lastmod>2026-08-09T10:22:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/graphql-urql-as-a-lightweight-graphql-client-when-its-enough.webp</image:loc><image:title>urql as a Lightweight GraphQL Client: When It's Enough</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="urql&#x20;as&#x20;a&#x20;Lightweight&#x20;GraphQL&#x20;Client&#x3A;&#x20;When&#x20;It&#x27;s&#x20;Enough"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/graphql-urql-as-a-lightweight-graphql-client-when-its-enough.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-transferable-objects-and-arraybuffer-transfer-with-postmessage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-array-buffer-transfer-und-transferable-objects-in-postmessage" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-transferable-objects-and-arraybuffer-transfer-with-postmessage" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-transferable-objects-and-arraybuffer-transfer-with-postmessage.webp</image:loc><image:title>Transferable Objects: Moving ArrayBuffers Instead of Copying in postMessage</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Transferable&#x20;Objects&#x3A;&#x20;Moving&#x20;ArrayBuffers&#x20;Instead&#x20;of&#x20;Copying&#x20;in&#x20;postMessage"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-transferable-objects-and-arraybuffer-transfer-with-postmessage.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-advanced-destructuring-patterns-computed-keys-and-defaults</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-array-destrukturierung-fortgeschrittene-muster-computed-keys-defaults" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-advanced-destructuring-patterns-computed-keys-and-defaults" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-advanced-destructuring-patterns-computed-keys-and-defaults.webp</image:loc><image:title>Advanced Destructuring: Computed Keys, Nested Defaults, Rest Renaming</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Advanced&#x20;Destructuring&#x3A;&#x20;Computed&#x20;Keys,&#x20;Nested&#x20;Defaults,&#x20;Rest&#x20;Renaming"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-advanced-destructuring-patterns-computed-keys-and-defaults.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-immutable-array-methods-with-tosorted-toreversed-tospliced</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-array-with-tosorted-toreversed-tospliced-immutable-methoden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-immutable-array-methods-with-tosorted-toreversed-tospliced" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-immutable-array-methods-with-tosorted-toreversed-tospliced.webp</image:loc><image:title>Immutable Array Methods: with(), toSorted(), toReversed(), toSpliced()</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Immutable&#x20;Array&#x20;Methods&#x3A;&#x20;with&#x28;&#x29;,&#x20;toSorted&#x28;&#x29;,&#x20;toReversed&#x28;&#x29;,&#x20;toSpliced&#x28;&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-immutable-array-methods-with-tosorted-toreversed-tospliced.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-atomics-waitasync-non-blocking-worker-synchronization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-atomics-waitasync-non-blocking-synchronisation-in-workern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-atomics-waitasync-non-blocking-worker-synchronization" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-atomics-waitasync-non-blocking-worker-synchronization.webp</image:loc><image:title>Atomics.waitAsync(): Non-Blocking Synchronization Between Web Workers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Atomics.waitAsync&#x28;&#x29;&#x3A;&#x20;Non-Blocking&#x20;Synchronization&#x20;Between&#x20;Web&#x20;Workers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-atomics-waitasync-non-blocking-worker-synchronization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-background-sync-api-replaying-offline-actions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-background-sync-api-offline-aktionen-nachholen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-background-sync-api-replaying-offline-actions" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-background-sync-api-replaying-offline-actions.webp</image:loc><image:title>Background Sync API: Automatically Replaying Offline Actions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Background&#x20;Sync&#x20;API&#x3A;&#x20;Automatically&#x20;Replaying&#x20;Offline&#x20;Actions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-background-sync-api-replaying-offline-actions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-compression-streams-api-native-gzip-in-the-browser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-compression-streams-api-gzip-im-browser-ohne-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-compression-streams-api-native-gzip-in-the-browser" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-compression-streams-api-native-gzip-in-the-browser.webp</image:loc><image:title>Compression Streams API: Gzip in the Browser 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="Compression&#x20;Streams&#x20;API&#x3A;&#x20;Gzip&#x20;in&#x20;the&#x20;Browser&#x20;Without&#x20;a&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-compression-streams-api-native-gzip-in-the-browser.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-custom-elements-lifecycle-attributechangedcallback-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-custom-elements-attributechangedcallback-und-lifecycle-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-custom-elements-lifecycle-attributechangedcallback-pitfalls" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-custom-elements-lifecycle-attributechangedcallback-pitfalls.webp</image:loc><image:title>Custom Elements Lifecycle: attributeChangedCallback and Common Pitfalls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Elements&#x20;Lifecycle&#x3A;&#x20;attributeChangedCallback&#x20;and&#x20;Common&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-custom-elements-lifecycle-attributechangedcallback-pitfalls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-declarative-shadow-dom-server-side-rendering-for-web-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-declarative-shadow-dom-server-side-rendering-fuer-web-components" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-declarative-shadow-dom-server-side-rendering-for-web-components" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-declarative-shadow-dom-server-side-rendering-for-web-components.webp</image:loc><image:title>Declarative Shadow DOM: Rendering Web Components Without Flash of Unstyled Content</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Declarative&#x20;Shadow&#x20;DOM&#x3A;&#x20;Rendering&#x20;Web&#x20;Components&#x20;Without&#x20;Flash&#x20;of&#x20;Unstyled&#x20;Content"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-declarative-shadow-dom-server-side-rendering-for-web-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-elementinternals-api-building-custom-form-controls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-elementinternals-api-eigene-formular-steuerelemente-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-elementinternals-api-building-custom-form-controls" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-elementinternals-api-building-custom-form-controls.webp</image:loc><image:title>ElementInternals API: Making Custom Elements Truly Form-Capable</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ElementInternals&#x20;API&#x3A;&#x20;Making&#x20;Custom&#x20;Elements&#x20;Truly&#x20;Form-Capable"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-elementinternals-api-building-custom-form-controls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-import-attributes-loading-json-modules-with-type-json</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-import-attributes-json-module-mit-type-json-laden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-import-attributes-loading-json-modules-with-type-json" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-import-attributes-loading-json-modules-with-type-json.webp</image:loc><image:title>Import Attributes: Loading JSON Modules Natively With type: 'json'</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Import&#x20;Attributes&#x3A;&#x20;Loading&#x20;JSON&#x20;Modules&#x20;Natively&#x20;With&#x20;type&#x3A;&#x20;&#x27;json&#x27;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-import-attributes-loading-json-modules-with-type-json.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-intl-listformat-and-displaynames-localized-lists-and-names</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-intl-listformat-und-displaynames-lokalisierte-listen-und-namen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-intl-listformat-and-displaynames-localized-lists-and-names" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-intl-listformat-and-displaynames-localized-lists-and-names.webp</image:loc><image:title>Intl.ListFormat and Intl.DisplayNames: Localized Lists and Names Without Translation Tables</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Intl.ListFormat&#x20;and&#x20;Intl.DisplayNames&#x3A;&#x20;Localized&#x20;Lists&#x20;and&#x20;Names&#x20;Without&#x20;Translation&#x20;Tables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-intl-listformat-and-displaynames-localized-lists-and-names.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-intl-relativetimeformat-for-relative-time-labels</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-intl-relativetimeformat-fuer-relative-zeitangaben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-intl-relativetimeformat-for-relative-time-labels" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-intl-relativetimeformat-for-relative-time-labels.webp</image:loc><image:title>Intl.RelativeTimeFormat for Relative Time Labels: A Native Alternative to moment.js and dayjs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Intl.RelativeTimeFormat&#x20;for&#x20;Relative&#x20;Time&#x20;Labels&#x3A;&#x20;A&#x20;Native&#x20;Alternative&#x20;to&#x20;moment.js&#x20;and&#x20;dayjs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-intl-relativetimeformat-for-relative-time-labels.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-intl-segmenter-words-sentences-graphemes-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-intl-segmenter-text-in-woerter-saetze-graphemes-zerlegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-intl-segmenter-words-sentences-graphemes-guide" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-intl-segmenter-words-sentences-graphemes-guide.webp</image:loc><image:title>Intl.Segmenter: Correctly Splitting Text into Words, Sentences, and Grapheme Clusters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Intl.Segmenter&#x3A;&#x20;Correctly&#x20;Splitting&#x20;Text&#x20;into&#x20;Words,&#x20;Sentences,&#x20;and&#x20;Grapheme&#x20;Clusters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-intl-segmenter-words-sentences-graphemes-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-iterator-helpers-lazy-map-filter-take-on-iterators</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-iterator-helpers-map-filter-take-auf-iteratoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-iterator-helpers-lazy-map-filter-take-on-iterators" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-iterator-helpers-lazy-map-filter-take-on-iterators.webp</image:loc><image:title>Iterator Helpers: map(), filter(), take() Directly on Iterators</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Iterator&#x20;Helpers&#x3A;&#x20;map&#x28;&#x29;,&#x20;filter&#x28;&#x29;,&#x20;take&#x28;&#x29;&#x20;Directly&#x20;on&#x20;Iterators"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-iterator-helpers-lazy-map-filter-take-on-iterators.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-navigation-api-modern-spa-routing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-navigation-api-moderne-spa-navigation-ohne-history-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-navigation-api-modern-spa-routing" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-navigation-api-modern-spa-routing.webp</image:loc><image:title>Navigation API: Modern SPA Navigation Without the History API</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Navigation&#x20;API&#x3A;&#x20;Modern&#x20;SPA&#x20;Navigation&#x20;Without&#x20;the&#x20;History&#x20;API"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-navigation-api-modern-spa-routing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-offscreencanvas-moving-rendering-into-a-web-worker</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-offscreencanvas-rendering-in-web-workern-auslagern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-offscreencanvas-moving-rendering-into-a-web-worker" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-offscreencanvas-moving-rendering-into-a-web-worker.webp</image:loc><image:title>OffscreenCanvas: Moving Rendering into a Web Worker</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="OffscreenCanvas&#x3A;&#x20;Moving&#x20;Rendering&#x20;into&#x20;a&#x20;Web&#x20;Worker"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-offscreencanvas-moving-rendering-into-a-web-worker.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-permissions-api-querying-permissions-proactively</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-permissions-api-berechtigungen-proaktiv-abfragen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-permissions-api-querying-permissions-proactively" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-permissions-api-querying-permissions-proactively.webp</image:loc><image:title>Permissions API: Querying Permissions Proactively</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Permissions&#x20;API&#x3A;&#x20;Querying&#x20;Permissions&#x20;Proactively"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-permissions-api-querying-permissions-proactively.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-private-class-fields-and-methods-true-encapsulation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-private-class-fields-und-methoden-echte-kapselung-in-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-private-class-fields-and-methods-true-encapsulation" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-private-class-fields-and-methods-true-encapsulation.webp</image:loc><image:title>Private Class Fields: True Encapsulation in JavaScript, Not a Naming Convention</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Private&#x20;Class&#x20;Fields&#x3A;&#x20;True&#x20;Encapsulation&#x20;in&#x20;JavaScript,&#x20;Not&#x20;a&#x20;Naming&#x20;Convention"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-private-class-fields-and-methods-true-encapsulation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-using-promise-any-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-promise-any-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-using-promise-any-in-practice" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-using-promise-any-in-practice.webp</image:loc><image:title>Using Promise.any() in Practice: The First Successful Result Wins</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Promise.any&#x28;&#x29;&#x20;in&#x20;Practice&#x3A;&#x20;The&#x20;First&#x20;Successful&#x20;Result&#x20;Wins"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-using-promise-any-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-regexp-v-flag-unicode-property-escapes-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-regexp-v-flag-und-unicode-property-escapes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-regexp-v-flag-unicode-property-escapes-guide" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-regexp-v-flag-unicode-property-escapes-guide.webp</image:loc><image:title>RegExp v Flag and Unicode Property Escapes for Robust Text Processing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="RegExp&#x20;v&#x20;Flag&#x20;and&#x20;Unicode&#x20;Property&#x20;Escapes&#x20;for&#x20;Robust&#x20;Text&#x20;Processing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-regexp-v-flag-unicode-property-escapes-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-reporting-api-and-report-to-collecting-browser-errors-centrally</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-reporting-api-und-report-to-fehler-im-browser-zentral-sammeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-reporting-api-and-report-to-collecting-browser-errors-centrally" />
<lastmod>2026-08-09T10:22:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-reporting-api-and-report-to-collecting-browser-errors-centrally.webp</image:loc><image:title>Reporting API and Report-To: Collecting Browser Errors Centrally</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reporting&#x20;API&#x20;and&#x20;Report-To&#x3A;&#x20;Collecting&#x20;Browser&#x20;Errors&#x20;Centrally"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-reporting-api-and-report-to-collecting-browser-errors-centrally.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-scheduler-posttask-controlling-task-priorities</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-scheduler-posttask-prioritaeten-fuer-eigene-tasks-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-scheduler-posttask-controlling-task-priorities" />
<lastmod>2026-08-09T10:22:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-scheduler-posttask-controlling-task-priorities.webp</image:loc><image:title>scheduler.postTask(): Controlling Priority for Your Own JavaScript Tasks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="scheduler.postTask&#x28;&#x29;&#x3A;&#x20;Controlling&#x20;Priority&#x20;for&#x20;Your&#x20;Own&#x20;JavaScript&#x20;Tasks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-scheduler-posttask-controlling-task-priorities.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-screen-wake-lock-api-keeping-the-display-active</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-screen-wake-lock-api-bildschirm-wach-halten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-screen-wake-lock-api-keeping-the-display-active" />
<lastmod>2026-08-09T10:22:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-screen-wake-lock-api-keeping-the-display-active.webp</image:loc><image:title>Screen Wake Lock API: Keeping the Display Active on Purpose</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Screen&#x20;Wake&#x20;Lock&#x20;API&#x3A;&#x20;Keeping&#x20;the&#x20;Display&#x20;Active&#x20;on&#x20;Purpose"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-screen-wake-lock-api-keeping-the-display-active.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-static-initialization-blocks-beyond-the-constructor</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-static-class-blocks-initialisierung-jenseits-des-konstruktors" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-static-initialization-blocks-beyond-the-constructor" />
<lastmod>2026-08-09T10:22:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-static-initialization-blocks-beyond-the-constructor.webp</image:loc><image:title>Static Class Blocks: Initialization Beyond the Constructor</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Static&#x20;Class&#x20;Blocks&#x3A;&#x20;Initialization&#x20;Beyond&#x20;the&#x20;Constructor"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-static-initialization-blocks-beyond-the-constructor.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-string-iswellformed-towellformed-broken-utf16</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-string-iswellformed-towellformed-praktisch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-string-iswellformed-towellformed-broken-utf16" />
<lastmod>2026-08-09T10:22:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-string-iswellformed-towellformed-broken-utf16.webp</image:loc><image:title>String.isWellFormed() and toWellFormed(): Handling Broken UTF-16 Strings Safely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="String.isWellFormed&#x28;&#x29;&#x20;and&#x20;toWellFormed&#x28;&#x29;&#x3A;&#x20;Handling&#x20;Broken&#x20;UTF-16&#x20;Strings&#x20;Safely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-string-iswellformed-towellformed-broken-utf16.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-symbol-primitive-beyond-symbol-iterator</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-symbol-primitive-jenseits-von-symbol-iterator" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-symbol-primitive-beyond-symbol-iterator" />
<lastmod>2026-08-09T10:22:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-symbol-primitive-beyond-symbol-iterator.webp</image:loc><image:title>The Symbol Primitive: Well Known Symbols Beyond Symbol.iterator</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Symbol&#x20;Primitive&#x3A;&#x20;Well&#x20;Known&#x20;Symbols&#x20;Beyond&#x20;Symbol.iterator"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-symbol-primitive-beyond-symbol-iterator.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-urlpattern-api-route-matching-without-regex</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-urlpattern-api-routen-matching-ohne-regex-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-urlpattern-api-route-matching-without-regex" />
<lastmod>2026-08-09T10:22:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-urlpattern-api-route-matching-without-regex.webp</image:loc><image:title>URLPattern API: Route Matching Without a Regex Library</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="URLPattern&#x20;API&#x3A;&#x20;Route&#x20;Matching&#x20;Without&#x20;a&#x20;Regex&#x20;Library"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-urlpattern-api-route-matching-without-regex.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-web-animations-api-programmatic-animations-beyond-css</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-web-animations-api-programmatische-animationen-ohne-css" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-web-animations-api-programmatic-animations-beyond-css" />
<lastmod>2026-08-09T10:22:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-web-animations-api-programmatic-animations-beyond-css.webp</image:loc><image:title>Web Animations API: Programmatic Animations Beyond CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Web&#x20;Animations&#x20;API&#x3A;&#x20;Programmatic&#x20;Animations&#x20;Beyond&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-web-animations-api-programmatic-animations-beyond-css.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-web-push-api-real-push-notifications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-web-push-api-echte-push-benachrichtigungen-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-web-push-api-real-push-notifications" />
<lastmod>2026-08-09T10:22:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-web-push-api-real-push-notifications.webp</image:loc><image:title>Web Push API: Implementing Real Push Notifications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Web&#x20;Push&#x20;API&#x3A;&#x20;Implementing&#x20;Real&#x20;Push&#x20;Notifications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-web-push-api-real-push-notifications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript-webgpu-basics-first-steps-beyond-webgl</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript-webgpu-grundlagen-erste-schritte-jenseits-von-webgl" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript-webgpu-basics-first-steps-beyond-webgl" />
<lastmod>2026-08-09T10:22:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/javascript-webgpu-basics-first-steps-beyond-webgl.webp</image:loc><image:title>WebGPU Basics: First Steps Beyond WebGL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="WebGPU&#x20;Basics&#x3A;&#x20;First&#x20;Steps&#x20;Beyond&#x20;WebGL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/javascript-webgpu-basics-first-steps-beyond-webgl.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-bookmarks-and-favorites-for-navigating-large-magento-codebases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-bookmarks-und-favorites-fuer-navigation-in-grossen-magento-codebases" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-bookmarks-and-favorites-for-navigating-large-magento-codebases" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-bookmarks-and-favorites-for-navigating-large-magento-codebases.webp</image:loc><image:title>Bookmarks and Favorites for Navigating Large Magento Codebases</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bookmarks&#x20;and&#x20;Favorites&#x20;for&#x20;Navigating&#x20;Large&#x20;Magento&#x20;Codebases"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-bookmarks-and-favorites-for-navigating-large-magento-codebases.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-configure-code-vision-and-inline-hints-effectively</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-code-vision-und-inline-hints-sinnvoll-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-configure-code-vision-and-inline-hints-effectively" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-configure-code-vision-and-inline-hints-effectively.webp</image:loc><image:title>Configuring PhpStorm Code Vision and Inline Hints Effectively</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;PhpStorm&#x20;Code&#x20;Vision&#x20;and&#x20;Inline&#x20;Hints&#x20;Effectively"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-configure-code-vision-and-inline-hints-effectively.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-visualizing-the-composer-dependency-graph</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-composer-abhaengigkeitsgraph-in-phpstorm-visualisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-visualizing-the-composer-dependency-graph" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-visualizing-the-composer-dependency-graph.webp</image:loc><image:title>Visualizing the Composer Dependency Graph in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Visualizing&#x20;the&#x20;Composer&#x20;Dependency&#x20;Graph&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-visualizing-the-composer-dependency-graph.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-coverage-highlighting-in-the-editor-not-just-the-report</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-coverage-highlighting-direkt-im-editor-statt-nur-report" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-coverage-highlighting-in-the-editor-not-just-the-report" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-coverage-highlighting-in-the-editor-not-just-the-report.webp</image:loc><image:title>Coverage Highlighting Right in the Editor Instead of Just the Report</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Coverage&#x20;Highlighting&#x20;Right&#x20;in&#x20;the&#x20;Editor&#x20;Instead&#x20;of&#x20;Just&#x20;the&#x20;Report"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-coverage-highlighting-in-the-editor-not-just-the-report.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-custom-color-schemes-for-readability-in-long-sessions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-custom-farbschemata-fuer-lesbarkeit-bei-langen-sessions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-custom-color-schemes-for-readability-in-long-sessions" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-custom-color-schemes-for-readability-in-long-sessions.webp</image:loc><image:title>Custom Color Schemes in PhpStorm: Optimizing Readability for Long Sessions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Color&#x20;Schemes&#x20;in&#x20;PhpStorm&#x3A;&#x20;Optimizing&#x20;Readability&#x20;for&#x20;Long&#x20;Sessions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-custom-color-schemes-for-readability-in-long-sessions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-automatically-generating-database-er-diagrams</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-datenbank-er-diagramme-in-phpstorm-automatisch-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-automatically-generating-database-er-diagrams" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-automatically-generating-database-er-diagrams.webp</image:loc><image:title>Automatically Generating Database ER Diagrams in PhpStorm</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;Database&#x20;ER&#x20;Diagrams&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-automatically-generating-database-er-diagrams.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-using-bulk-operations-in-the-database-data-editor</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-datenbank-massenoperationen-im-data-editor-effizient-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-using-bulk-operations-in-the-database-data-editor" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-using-bulk-operations-in-the-database-data-editor.webp</image:loc><image:title>Using Bulk Operations in the PhpStorm Data Editor Efficiently</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Bulk&#x20;Operations&#x20;in&#x20;the&#x20;PhpStorm&#x20;Data&#x20;Editor&#x20;Efficiently"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-using-bulk-operations-in-the-database-data-editor.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-three-way-merge-conflict-resolution-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-drei-wege-merge-in-phpstorm-konfliktaufloesung-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-three-way-merge-conflict-resolution-in-detail" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-three-way-merge-conflict-resolution-in-detail.webp</image:loc><image:title>Three-Way Merge in PhpStorm: Conflict Resolution in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Three-Way&#x20;Merge&#x20;in&#x20;PhpStorm&#x3A;&#x20;Conflict&#x20;Resolution&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-three-way-merge-conflict-resolution-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-using-eap-and-nightly-builds-sensibly-in-a-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-eap-und-nightly-builds-von-phpstorm-sinnvoll-im-team-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-using-eap-and-nightly-builds-sensibly-in-a-team" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-using-eap-and-nightly-builds-sensibly-in-a-team.webp</image:loc><image:title>Using PhpStorm EAP and Nightly Builds Sensibly 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="Using&#x20;PhpStorm&#x20;EAP&#x20;and&#x20;Nightly&#x20;Builds&#x20;Sensibly&#x20;in&#x20;a&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-using-eap-and-nightly-builds-sensibly-in-a-team.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-discovering-symfony-laravel-routes-with-endpoints-window</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-endpoints-tool-window-fuer-symfony-und-laravel-routen-entdecken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-discovering-symfony-laravel-routes-with-endpoints-window" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-discovering-symfony-laravel-routes-with-endpoints-window.webp</image:loc><image:title>Discovering Symfony and Laravel Routes with the Endpoints Tool Window</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Discovering&#x20;Symfony&#x20;and&#x20;Laravel&#x20;Routes&#x20;with&#x20;the&#x20;Endpoints&#x20;Tool&#x20;Window"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-discovering-symfony-laravel-routes-with-endpoints-window.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-env-files-inspections-and-autocompletion</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-env-dateien-in-phpstorm-inspektionen-und-autovervollstaendigung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-env-files-inspections-and-autocompletion" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-env-files-inspections-and-autocompletion.webp</image:loc><image:title>.env Files in PhpStorm: Inspections and Auto-Completion</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value=".env&#x20;Files&#x20;in&#x20;PhpStorm&#x3A;&#x20;Inspections&#x20;and&#x20;Auto-Completion"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-env-files-inspections-and-autocompletion.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-simultaneous-php-and-nodejs-debugging-in-one-session</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-full-stack-debugging-php-und-node-gleichzeitig-in-phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-simultaneous-php-and-nodejs-debugging-in-one-session" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-simultaneous-php-and-nodejs-debugging-in-one-session.webp</image:loc><image:title>Full-Stack Debugging: PHP and Node.js Together in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Full-Stack&#x20;Debugging&#x3A;&#x20;PHP&#x20;and&#x20;Node.js&#x20;Together&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-simultaneous-php-and-nodejs-debugging-in-one-session.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-http-client-environment-files-manage-private-variables-securely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-http-client-umgebungsdateien-mit-privaten-variablen-sicher-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-http-client-environment-files-manage-private-variables-securely" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-http-client-environment-files-manage-private-variables-securely.webp</image:loc><image:title>PhpStorm HTTP Client Environment Files: Managing Private Variables Securely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PhpStorm&#x20;HTTP&#x20;Client&#x20;Environment&#x20;Files&#x3A;&#x20;Managing&#x20;Private&#x20;Variables&#x20;Securely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-http-client-environment-files-manage-private-variables-securely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-version-and-share-inspection-profiles-with-your-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-inspection-profile-im-team-versionieren-und-teilen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-version-and-share-inspection-profiles-with-your-team" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-version-and-share-inspection-profiles-with-your-team.webp</image:loc><image:title>Versioning and Sharing PhpStorm Inspection Profiles Across a Team</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Versioning&#x20;and&#x20;Sharing&#x20;PhpStorm&#x20;Inspection&#x20;Profiles&#x20;Across&#x20;a&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-version-and-share-inspection-profiles-with-your-team.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-code-review-integration-jetbrains-space</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-jetbrains-space-und-code-review-integration-in-phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-code-review-integration-jetbrains-space" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-code-review-integration-jetbrains-space.webp</image:loc><image:title>JetBrains Space and Code Review Integration 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="JetBrains&#x20;Space&#x20;and&#x20;Code&#x20;Review&#x20;Integration&#x20;Directly&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-code-review-integration-jetbrains-space.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-live-edit-html-css-frontend-preview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-live-edit-fuer-html-css-frontend-vorschau-in-phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-live-edit-html-css-frontend-preview" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-live-edit-html-css-frontend-preview.webp</image:loc><image:title>Live Edit for HTML/CSS: Frontend Preview 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;Edit&#x20;for&#x20;HTML&#x2F;CSS&#x3A;&#x20;Frontend&#x20;Preview&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-live-edit-html-css-frontend-preview.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-local-history-vs-git-which-tool-saves-you</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-local-history-vs-git-wann-welches-werkzeug-rettet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-local-history-vs-git-which-tool-saves-you" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-local-history-vs-git-which-tool-saves-you.webp</image:loc><image:title>Local History vs. Git: Which Tool Saves You in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Local&#x20;History&#x20;vs.&#x20;Git&#x3A;&#x20;Which&#x20;Tool&#x20;Saves&#x20;You&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-local-history-vs-git-which-tool-saves-you.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-multi-cursor-and-column-selection-for-bulk-edits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-multi-cursor-und-column-selection-fuer-massenaenderungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-multi-cursor-and-column-selection-for-bulk-edits" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-multi-cursor-and-column-selection-for-bulk-edits.webp</image:loc><image:title>Multi-Cursor and Column Selection for Bulk Changes in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi-Cursor&#x20;and&#x20;Column&#x20;Selection&#x20;for&#x20;Bulk&#x20;Changes&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-multi-cursor-and-column-selection-for-bulk-edits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-managing-multiple-git-repositories-in-one-window</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-multi-root-projekte-mehrere-repositories-in-einem-phpstorm-fenster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-managing-multiple-git-repositories-in-one-window" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-managing-multiple-git-repositories-in-one-window.webp</image:loc><image:title>Multi-Root Projects: Multiple Git Repositories in One PhpStorm Window</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi-Root&#x20;Projects&#x3A;&#x20;Multiple&#x20;Git&#x20;Repositories&#x20;in&#x20;One&#x20;PhpStorm&#x20;Window"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-managing-multiple-git-repositories-in-one-window.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-automating-phpdoc-generation-and-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-phpdoc-generierung-und-validierung-in-phpstorm-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-automating-phpdoc-generation-and-validation" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-automating-phpdoc-generation-and-validation.webp</image:loc><image:title>Automating PHPDoc Generation and Validation in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;PHPDoc&#x20;Generation&#x20;and&#x20;Validation&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-automating-phpdoc-generation-and-validation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-using-ai-assistant-and-junie-for-code-reviews</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-phpstorm-ai-assistant-und-junie-fuer-code-reviews-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-using-ai-assistant-and-junie-for-code-reviews" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-using-ai-assistant-and-junie-for-code-reviews.webp</image:loc><image:title>Using PhpStorm AI Assistant and Junie for Code Reviews in PHP Teams</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;AI&#x20;Assistant&#x20;and&#x20;Junie&#x20;for&#x20;Code&#x20;Reviews&#x20;in&#x20;PHP&#x20;Teams"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-using-ai-assistant-and-junie-for-code-reviews.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-applying-rector-rules-interactively-with-diff-preview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-rector-regeln-in-phpstorm-interaktiv-anwenden-und-vorschau-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-applying-rector-rules-interactively-with-diff-preview" />
<lastmod>2026-08-09T10:23:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-applying-rector-rules-interactively-with-diff-preview.webp</image:loc><image:title>Applying Rector Rules Interactively in PhpStorm with Diff Preview</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Applying&#x20;Rector&#x20;Rules&#x20;Interactively&#x20;in&#x20;PhpStorm&#x20;with&#x20;Diff&#x20;Preview"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-applying-rector-rules-interactively-with-diff-preview.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-scratch-files-and-scratch-buffers-for-quick-experiments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-scratch-files-und-scratch-buffers-fuer-schnelle-experimente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-scratch-files-and-scratch-buffers-for-quick-experiments" />
<lastmod>2026-08-09T10:23:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-scratch-files-and-scratch-buffers-for-quick-experiments.webp</image:loc><image:title>Scratch Files and Scratch Buffers in PhpStorm for Quick Experiments</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Scratch&#x20;Files&#x20;and&#x20;Scratch&#x20;Buffers&#x20;in&#x20;PhpStorm&#x20;for&#x20;Quick&#x20;Experiments"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-scratch-files-and-scratch-buffers-for-quick-experiments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-settings-sync-align-settings-across-team-and-devices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-settings-sync-einstellungen-teamweit-und-geraeteuebergreifend-abgleichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-settings-sync-align-settings-across-team-and-devices" />
<lastmod>2026-08-09T10:23:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-settings-sync-align-settings-across-team-and-devices.webp</image:loc><image:title>Settings Sync in PhpStorm: Aligning Personal Settings Across Devices</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Settings&#x20;Sync&#x20;in&#x20;PhpStorm&#x3A;&#x20;Aligning&#x20;Personal&#x20;Settings&#x20;Across&#x20;Devices"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-settings-sync-align-settings-across-team-and-devices.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-sftp-deployment-with-automatic-upload-on-save</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-sftp-deployment-mit-automatischem-upload-bei-speichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-sftp-deployment-with-automatic-upload-on-save" />
<lastmod>2026-08-09T10:23:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-sftp-deployment-with-automatic-upload-on-save.webp</image:loc><image:title>SFTP Deployment with Automatic Upload on Save in PhpStorm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SFTP&#x20;Deployment&#x20;with&#x20;Automatic&#x20;Upload&#x20;on&#x20;Save&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-sftp-deployment-with-automatic-upload-on-save.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-fine-tuning-memory-and-heap-settings-for-huge-magento-monorepos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-speicher-und-heap-einstellungen-fuer-riesige-magento-monorepos-feinjustieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-fine-tuning-memory-and-heap-settings-for-huge-magento-monorepos" />
<lastmod>2026-08-09T10:23:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-fine-tuning-memory-and-heap-settings-for-huge-magento-monorepos.webp</image:loc><image:title>Memory and Heap Settings in PhpStorm for Huge Magento Monorepos</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Memory&#x20;and&#x20;Heap&#x20;Settings&#x20;in&#x20;PhpStorm&#x20;for&#x20;Huge&#x20;Magento&#x20;Monorepos"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-fine-tuning-memory-and-heap-settings-for-huge-magento-monorepos.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-share-and-reuse-structural-search-templates-with-your-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-structural-search-templates-im-team-teilen-und-wiederverwenden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-share-and-reuse-structural-search-templates-with-your-team" />
<lastmod>2026-08-09T10:23:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-share-and-reuse-structural-search-templates-with-your-team.webp</image:loc><image:title>Sharing and Reusing PhpStorm Structural Search Templates Across a Team</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sharing&#x20;and&#x20;Reusing&#x20;PhpStorm&#x20;Structural&#x20;Search&#x20;Templates&#x20;Across&#x20;a&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-share-and-reuse-structural-search-templates-with-your-team.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-configuring-custom-todo-patterns-project-wide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-todo-und-fixme-muster-in-phpstorm-projektweit-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-configuring-custom-todo-patterns-project-wide" />
<lastmod>2026-08-09T10:23:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-configuring-custom-todo-patterns-project-wide.webp</image:loc><image:title>Configuring Custom TODO Patterns Project-Wide 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;Custom&#x20;TODO&#x20;Patterns&#x20;Project-Wide&#x20;in&#x20;PhpStorm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-configuring-custom-todo-patterns-project-wide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-setting-up-the-ideavim-plugin-for-practical-use</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-vim-emulation-plugin-fuer-phpstorm-praktisch-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-setting-up-the-ideavim-plugin-for-practical-use" />
<lastmod>2026-08-09T10:23:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-setting-up-the-ideavim-plugin-for-practical-use.webp</image:loc><image:title>Setting Up IdeaVim in PhpStorm Without Losing Refactoring Power</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;IdeaVim&#x20;in&#x20;PhpStorm&#x20;Without&#x20;Losing&#x20;Refactoring&#x20;Power"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-setting-up-the-ideavim-plugin-for-practical-use.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm-zero-config-docker-compose-detection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm-zero-config-docker-compose-erkennung-in-phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm-zero-config-docker-compose-detection" />
<lastmod>2026-08-09T10:23:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpstorm-zero-config-docker-compose-detection.webp</image:loc><image:title>Zero-Config Docker Compose Detection in PhpStorm in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Zero-Config&#x20;Docker&#x20;Compose&#x20;Detection&#x20;in&#x20;PhpStorm&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpstorm-zero-config-docker-compose-detection.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-securing-magento-adminhtml-controllers-with-phpunit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-admin-html-controller-in-magento-mit-phpunit-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-securing-magento-adminhtml-controllers-with-phpunit" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-securing-magento-adminhtml-controllers-with-phpunit.webp</image:loc><image:title>Securing Magento Adminhtml Controllers with PHPUnit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Securing&#x20;Magento&#x20;Adminhtml&#x20;Controllers&#x20;with&#x20;PHPUnit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-securing-magento-adminhtml-controllers-with-phpunit.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-assertobjectequals-and-custom-comparators-in-phpunit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-assertobjectequals-und-eigene-comparators-in-phpunit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-assertobjectequals-and-custom-comparators-in-phpunit" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-assertobjectequals-and-custom-comparators-in-phpunit.webp</image:loc><image:title>assertObjectEquals() and Custom Comparators in PHPUnit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="assertObjectEquals&#x28;&#x29;&#x20;and&#x20;Custom&#x20;Comparators&#x20;in&#x20;PHPUnit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-assertobjectequals-and-custom-comparators-in-phpunit.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-clock-abstraction-for-testable-time-dependent-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-clock-abstraktion-fuer-zeitabhaengigen-code-testbar-machen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-clock-abstraction-for-testable-time-dependent-code" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-clock-abstraction-for-testable-time-dependent-code.webp</image:loc><image:title>Making Time-Dependent Code Testable with a Clock Abstraction</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;Time-Dependent&#x20;Code&#x20;Testable&#x20;with&#x20;a&#x20;Clock&#x20;Abstraction"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-clock-abstraction-for-testable-time-dependent-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-using-codecoverageignore-deliberately-instead-of-inflating-coverage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-codecoverageignore-gezielt-einsetzen-statt-coverage-zu-verfaelschen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-using-codecoverageignore-deliberately-instead-of-inflating-coverage" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-using-codecoverageignore-deliberately-instead-of-inflating-coverage.webp</image:loc><image:title>Using @codeCoverageIgnore Deliberately Instead of Inflating Coverage</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;codeCoverageIgnore&#x20;Deliberately&#x20;Instead&#x20;of&#x20;Inflating&#x20;Coverage"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-using-codecoverageignore-deliberately-instead-of-inflating-coverage.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-implementing-contract-tests-between-php-services-with-phpunit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-contract-tests-zwischen-services-in-php-mit-phpunit-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-implementing-contract-tests-between-php-services-with-phpunit" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-implementing-contract-tests-between-php-services-with-phpunit.webp</image:loc><image:title>Implementing Contract Tests Between Services in PHP with PHPUnit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Contract&#x20;Tests&#x20;Between&#x20;Services&#x20;in&#x20;PHP&#x20;with&#x20;PHPUnit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-implementing-contract-tests-between-php-services-with-phpunit.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-testing-magento-cron-jobs-in-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-cron-jobs-in-magento-isoliert-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-testing-magento-cron-jobs-in-isolation" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-testing-magento-cron-jobs-in-isolation.webp</image:loc><image:title>Testing Magento Cron Jobs in Isolation 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;Magento&#x20;Cron&#x20;Jobs&#x20;in&#x20;Isolation&#x20;with&#x20;PHPUnit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-testing-magento-cron-jobs-in-isolation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-custom-assertions-writing-your-own-assertions-for-domain-objects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-custom-assertions-eigene-assertions-fuer-domaenenobjekte-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-custom-assertions-writing-your-own-assertions-for-domain-objects" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-custom-assertions-writing-your-own-assertions-for-domain-objects.webp</image:loc><image:title>Custom Assertions: Writing Your Own Assertions for Domain Objects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Assertions&#x3A;&#x20;Writing&#x20;Your&#x20;Own&#x20;Assertions&#x20;for&#x20;Domain&#x20;Objects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-custom-assertions-writing-your-own-assertions-for-domain-objects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-securing-eav-attribute-changes-with-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-eav-attribute-aenderungen-mit-tests-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-securing-eav-attribute-changes-with-tests" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-securing-eav-attribute-changes-with-tests.webp</image:loc><image:title>Securing EAV Attribute Changes with 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;EAV&#x20;Attribute&#x20;Changes&#x20;with&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-securing-eav-attribute-changes-with-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-using-faker-for-realistic-test-data-in-php-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-faker-fuer-realistische-testdaten-in-php-projekten-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-using-faker-for-realistic-test-data-in-php-projects" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-using-faker-for-realistic-test-data-in-php-projects.webp</image:loc><image:title>Using Faker for Realistic Test Data 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="Using&#x20;Faker&#x20;for&#x20;Realistic&#x20;Test&#x20;Data&#x20;in&#x20;PHP&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-using-faker-for-realistic-test-data-in-php-projects.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-automatically-retrying-failed-tests-flaky-test-retry-plugins</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-fehlgeschlagene-tests-automatisch-wiederholen-flaky-test-retry-plugins" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-automatically-retrying-failed-tests-flaky-test-retry-plugins" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-automatically-retrying-failed-tests-flaky-test-retry-plugins.webp</image:loc><image:title>Automatically Retrying Failed Tests: Flaky Test Retry Plugins in PHPUnit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automatically&#x20;Retrying&#x20;Failed&#x20;Tests&#x3A;&#x20;Flaky&#x20;Test&#x20;Retry&#x20;Plugins&#x20;in&#x20;PHPUnit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-automatically-retrying-failed-tests-flaky-test-retry-plugins.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-testing-magento-graphql-resolvers-without-full-schema</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-graphql-resolver-unit-tests-ohne-vollen-schema-aufbau" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-testing-magento-graphql-resolvers-without-full-schema" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-testing-magento-graphql-resolvers-without-full-schema.webp</image:loc><image:title>Testing Magento GraphQL Resolvers with PHPUnit Without Building the Full Schema</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&#x20;Resolvers&#x20;with&#x20;PHPUnit&#x20;Without&#x20;Building&#x20;the&#x20;Full&#x20;Schema"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-testing-magento-graphql-resolvers-without-full-schema.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-testing-magento-indexers-in-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-indexer-in-magento-isoliert-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-testing-magento-indexers-in-isolation" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-testing-magento-indexers-in-isolation.webp</image:loc><image:title>Testing Magento Indexers in Isolation</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;Indexers&#x20;in&#x20;Isolation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-testing-magento-indexers-in-isolation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-modeling-multi-store-multi-website-scenarios-in-magento-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-multi-store-und-multi-website-szenarien-in-magento-tests-abbilden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-modeling-multi-store-multi-website-scenarios-in-magento-tests" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-modeling-multi-store-multi-website-scenarios-in-magento-tests.webp</image:loc><image:title>Modeling Multi-Store and Multi-Website Scenarios in Magento Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modeling&#x20;Multi-Store&#x20;and&#x20;Multi-Website&#x20;Scenarios&#x20;in&#x20;Magento&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-modeling-multi-store-multi-website-scenarios-in-magento-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-named-datasets-in-data-providers-readable-test-output</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-named-datasets-in-data-providern-lesbare-testausgaben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-named-datasets-in-data-providers-readable-test-output" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-named-datasets-in-data-providers-readable-test-output.webp</image:loc><image:title>Named Datasets in Data Providers: Readable PHPUnit Test Output</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Named&#x20;Datasets&#x20;in&#x20;Data&#x20;Providers&#x3A;&#x20;Readable&#x20;PHPUnit&#x20;Test&#x20;Output"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-named-datasets-in-data-providers-readable-test-output.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-testing-magento-observer-events-end-to-end-instead-of-isolated</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-observer-events-end-to-end-in-magento-testen-statt-nur-isoliert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-testing-magento-observer-events-end-to-end-instead-of-isolated" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-testing-magento-observer-events-end-to-end-instead-of-isolated.webp</image:loc><image:title>Testing Magento Observer Events End-to-End Instead of Only in Isolation</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;Observer&#x20;Events&#x20;End-to-End&#x20;Instead&#x20;of&#x20;Only&#x20;in&#x20;Isolation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-testing-magento-observer-events-end-to-end-instead-of-isolated.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-phpunit-attributes-instead-of-annotations-migration-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-phpunit-attribute-syntax-statt-annotationen-migration-und-praxis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-phpunit-attributes-instead-of-annotations-migration-guide" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-phpunit-attributes-instead-of-annotations-migration-guide.webp</image:loc><image:title>PHPUnit Attributes Instead of Annotations: Migration and Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;Attributes&#x20;Instead&#x20;of&#x20;Annotations&#x3A;&#x20;Migration&#x20;and&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-phpunit-attributes-instead-of-annotations-migration-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-introducing-a-phpunit-baseline-for-legacy-projects-step-by-step</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-phpunit-baseline-fuer-legacy-projekte-schrittweise-einfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-introducing-a-phpunit-baseline-for-legacy-projects-step-by-step" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-introducing-a-phpunit-baseline-for-legacy-projects-step-by-step.webp</image:loc><image:title>Introducing a PHPUnit Baseline for Legacy Projects 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="Introducing&#x20;a&#x20;PHPUnit&#x20;Baseline&#x20;for&#x20;Legacy&#x20;Projects&#x20;Step&#x20;by&#x20;Step"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-introducing-a-phpunit-baseline-for-legacy-projects-step-by-step.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-phpunit-extension-api-writing-custom-extensions-since-phpunit-10</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-phpunit-extension-api-eigene-erweiterungen-seit-phpunit-10-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-phpunit-extension-api-writing-custom-extensions-since-phpunit-10" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-phpunit-extension-api-writing-custom-extensions-since-phpunit-10.webp</image:loc><image:title>PHPUnit Extension API: Writing Custom Extensions Since PHPUnit 10</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;Extension&#x20;API&#x3A;&#x20;Writing&#x20;Custom&#x20;Extensions&#x20;Since&#x20;PHPUnit&#x20;10"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-phpunit-extension-api-writing-custom-extensions-since-phpunit-10.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-phpunit-lifecycle-hooks-setupbeforeclass-explained-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-phpunit-lifecycle-hooks-beforeclass-setupbeforeclass-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-phpunit-lifecycle-hooks-setupbeforeclass-explained-in-depth" />
<lastmod>2026-08-09T10:23:55+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-phpunit-lifecycle-hooks-setupbeforeclass-explained-in-depth.webp</image:loc><image:title>PHPUnit Lifecycle Hooks: setUpBeforeClass in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;Lifecycle&#x20;Hooks&#x3A;&#x20;setUpBeforeClass&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-phpunit-lifecycle-hooks-setupbeforeclass-explained-in-depth.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-phpunit-and-composer-audit-detecting-vulnerabilities-in-test-dependencies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-phpunit-und-composer-audit-sicherheitsluecken-in-testabhaengigkeiten-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-phpunit-and-composer-audit-detecting-vulnerabilities-in-test-dependencies" />
<lastmod>2026-08-09T10:23:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-phpunit-and-composer-audit-detecting-vulnerabilities-in-test-dependencies.webp</image:loc><image:title>PHPUnit and Composer Audit: Detecting Vulnerabilities in Test Dependencies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PHPUnit&#x20;and&#x20;Composer&#x20;Audit&#x3A;&#x20;Detecting&#x20;Vulnerabilities&#x20;in&#x20;Test&#x20;Dependencies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-phpunit-and-composer-audit-detecting-vulnerabilities-in-test-dependencies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-securing-plugin-order-and-sort-order-with-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-plugin-reihenfolge-und-sort-order-mit-tests-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-securing-plugin-order-and-sort-order-with-tests" />
<lastmod>2026-08-09T10:23:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-securing-plugin-order-and-sort-order-with-tests.webp</image:loc><image:title>Securing Plugin Order and sortOrder with 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;Plugin&#x20;Order&#x20;and&#x20;sortOrder&#x20;with&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-securing-plugin-order-and-sort-order-with-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-when-process-isolation-in-phpunit-is-worth-the-cost</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-process-isolation-in-phpunit-wann-noetig-und-was-es-kostet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-when-process-isolation-in-phpunit-is-worth-the-cost" />
<lastmod>2026-08-09T10:23:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-when-process-isolation-in-phpunit-is-worth-the-cost.webp</image:loc><image:title>Process Isolation in PHPUnit: When It Is Necessary and What It Costs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Process&#x20;Isolation&#x20;in&#x20;PHPUnit&#x3A;&#x20;When&#x20;It&#x20;Is&#x20;Necessary&#x20;and&#x20;What&#x20;It&#x20;Costs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-when-process-isolation-in-phpunit-is-worth-the-cost.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-testing-queue-consumers-and-async-code-in-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-queue-consumer-und-async-code-in-magento-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-testing-queue-consumers-and-async-code-in-magento" />
<lastmod>2026-08-09T10:23:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-testing-queue-consumers-and-async-code-in-magento.webp</image:loc><image:title>Testing Queue Consumers and Async Code 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;Queue&#x20;Consumers&#x20;and&#x20;Async&#x20;Code&#x20;in&#x20;Magento&#x20;with&#x20;PHPUnit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-testing-queue-consumers-and-async-code-in-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-testing-magento-rest-webapi-contract-compliance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-rest-webapi-interfaces-in-magento-vertragstreue-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-testing-magento-rest-webapi-contract-compliance" />
<lastmod>2026-08-09T10:23:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-testing-magento-rest-webapi-contract-compliance.webp</image:loc><image:title>Testing Magento REST Webapi Interface Contract Compliance</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;REST&#x20;Webapi&#x20;Interface&#x20;Contract&#x20;Compliance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-testing-magento-rest-webapi-contract-compliance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-spotting-and-fixing-risky-tests-in-phpunit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-risky-tests-in-phpunit-erkennen-und-beheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-spotting-and-fixing-risky-tests-in-phpunit" />
<lastmod>2026-08-09T10:23:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-spotting-and-fixing-risky-tests-in-phpunit.webp</image:loc><image:title>Risky Tests in PHPUnit: Spotting the Warning Signs and Fixing Them</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Risky&#x20;Tests&#x20;in&#x20;PHPUnit&#x3A;&#x20;Spotting&#x20;the&#x20;Warning&#x20;Signs&#x20;and&#x20;Fixing&#x20;Them"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-spotting-and-fixing-risky-tests-in-phpunit.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-making-soap-and-legacy-interfaces-testable-in-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-soap-und-legacy-schnittstellen-in-magento-testbar-machen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-making-soap-and-legacy-interfaces-testable-in-magento" />
<lastmod>2026-08-09T10:23:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-making-soap-and-legacy-interfaces-testable-in-magento.webp</image:loc><image:title>Making SOAP and Legacy Interfaces Testable in Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;SOAP&#x20;and&#x20;Legacy&#x20;Interfaces&#x20;Testable&#x20;in&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-making-soap-and-legacy-interfaces-testable-in-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-test-doubles-for-http-clients-with-guzzle-mock-handler</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-test-doubles-fuer-http-clients-mit-guzzle-mock-handler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-test-doubles-for-http-clients-with-guzzle-mock-handler" />
<lastmod>2026-08-09T10:23:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-test-doubles-for-http-clients-with-guzzle-mock-handler.webp</image:loc><image:title>Test Doubles for HTTP Clients: Guzzle MockHandler in PHPUnit</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;for&#x20;HTTP&#x20;Clients&#x3A;&#x20;Guzzle&#x20;MockHandler&#x20;in&#x20;PHPUnit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-test-doubles-for-http-clients-with-guzzle-mock-handler.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-test-groups-and-filter-strategies-for-large-suites</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-test-groups-und-filter-strategien-fuer-grosse-suiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-test-groups-and-filter-strategies-for-large-suites" />
<lastmod>2026-08-09T10:23:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-test-groups-and-filter-strategies-for-large-suites.webp</image:loc><image:title>Test Groups and Filter Strategies for Large PHPUnit 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;Groups&#x20;and&#x20;Filter&#x20;Strategies&#x20;for&#x20;Large&#x20;PHPUnit&#x20;Suites"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-test-groups-and-filter-strategies-for-large-suites.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-measuring-and-enforcing-test-coverage-per-module-instead-of-project-wide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-testabdeckung-pro-modul-statt-projektweit-messen-und-durchsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-measuring-and-enforcing-test-coverage-per-module-instead-of-project-wide" />
<lastmod>2026-08-09T10:23:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-measuring-and-enforcing-test-coverage-per-module-instead-of-project-wide.webp</image:loc><image:title>Measuring and Enforcing Test Coverage Per Module Instead of Project Wide</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;Enforcing&#x20;Test&#x20;Coverage&#x20;Per&#x20;Module&#x20;Instead&#x20;of&#x20;Project&#x20;Wide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-measuring-and-enforcing-test-coverage-per-module-instead-of-project-wide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunits-willreturncallback-and-willreturnmap-advanced-mock-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunits-willreturncallback-und-willreturnmap-fortgeschrittene-mock-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunits-willreturncallback-and-willreturnmap-advanced-mock-configuration" />
<lastmod>2026-08-09T10:23:56+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/phpunits-willreturncallback-and-willreturnmap-advanced-mock-configuration.webp</image:loc><image:title>willReturnCallback and willReturnMap: Advanced Mock Configuration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="willReturnCallback&#x20;and&#x20;willReturnMap&#x3A;&#x20;Advanced&#x20;Mock&#x20;Configuration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/phpunits-willreturncallback-and-willreturnmap-advanced-mock-configuration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-context-splitting-avoid-unnecessary-rerenders</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-context-selectors-unnoetige-rerenders-durch-context-splitting-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-context-splitting-avoid-unnecessary-rerenders" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-context-splitting-avoid-unnecessary-rerenders.webp</image:loc><image:title>Context Selectors: Avoiding Unnecessary Re-Renders Through Context Splitting</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Context&#x20;Selectors&#x3A;&#x20;Avoiding&#x20;Unnecessary&#x20;Re-Renders&#x20;Through&#x20;Context&#x20;Splitting"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-context-splitting-avoid-unnecessary-rerenders.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-controlled-vs-uncontrolled-inputs-making-the-practical-call</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-controlled-vs-uncontrolled-inputs-in-react-praktisch-entscheiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-controlled-vs-uncontrolled-inputs-making-the-practical-call" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-controlled-vs-uncontrolled-inputs-making-the-practical-call.webp</image:loc><image:title>Controlled vs. Uncontrolled Inputs in React: Making the Practical Call</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Controlled&#x20;vs.&#x20;Uncontrolled&#x20;Inputs&#x20;in&#x20;React&#x3A;&#x20;Making&#x20;the&#x20;Practical&#x20;Call"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-controlled-vs-uncontrolled-inputs-making-the-practical-call.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-building-custom-hooks-for-reusable-data-fetching-logic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-custom-hooks-fuer-wiederverwendbare-datenabruf-logik-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-building-custom-hooks-for-reusable-data-fetching-logic" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-building-custom-hooks-for-reusable-data-fetching-logic.webp</image:loc><image:title>Building Custom Hooks for Reusable Data-Fetching Logic</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;Hooks&#x20;for&#x20;Reusable&#x20;Data-Fetching&#x20;Logic"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-building-custom-hooks-for-reusable-data-fetching-logic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-error-boundary-retry-and-reset-patterns-for-resilient-uis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-error-boundary-retry-und-reset-patterns-fuer-resiliente-uis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-error-boundary-retry-and-reset-patterns-for-resilient-uis" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-error-boundary-retry-and-reset-patterns-for-resilient-uis.webp</image:loc><image:title>Error Boundary Retry and Reset Patterns for Resilient React UIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Error&#x20;Boundary&#x20;Retry&#x20;and&#x20;Reset&#x20;Patterns&#x20;for&#x20;Resilient&#x20;React&#x20;UIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-error-boundary-retry-and-reset-patterns-for-resilient-uis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-fetch-retry-strategies-with-exponential-backoff-in-hooks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-fetch-retry-strategien-mit-exponential-backoff-in-react-hooks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-fetch-retry-strategies-with-exponential-backoff-in-hooks" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-fetch-retry-strategies-with-exponential-backoff-in-hooks.webp</image:loc><image:title>Fetch Retry with Exponential Backoff in React Hooks | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Fetch&#x20;Retry&#x20;with&#x20;Exponential&#x20;Backoff&#x20;in&#x20;React&#x20;Hooks&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-fetch-retry-strategies-with-exponential-backoff-in-hooks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-forwardref-forwarding-refs-in-reusable-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-forwardref-und-ref-weiterreichen-in-wiederverwendbaren-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-forwardref-forwarding-refs-in-reusable-components" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-forwardref-forwarding-refs-in-reusable-components.webp</image:loc><image:title>forwardRef and Forwarding Refs in Reusable Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="forwardRef&#x20;and&#x20;Forwarding&#x20;Refs&#x20;in&#x20;Reusable&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-forwardref-forwarding-refs-in-reusable-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-jest-axe-in-ci-automated-accessibility-checks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-jest-axe-in-ci-automatisierte-barrierefreiheits-checks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-jest-axe-in-ci-automated-accessibility-checks" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-jest-axe-in-ci-automated-accessibility-checks.webp</image:loc><image:title>jest-axe in CI: Automated Accessibility Checks | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="jest-axe&#x20;in&#x20;CI&#x3A;&#x20;Automated&#x20;Accessibility&#x20;Checks&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-jest-axe-in-ci-automated-accessibility-checks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-key-based-remounting-resetting-components-on-purpose</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-key-basiertes-remounting-komponenten-gezielt-zuruecksetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-key-based-remounting-resetting-components-on-purpose" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-key-based-remounting-resetting-components-on-purpose.webp</image:loc><image:title>Key-Based Remounting: Resetting Components on Purpose | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Key-Based&#x20;Remounting&#x3A;&#x20;Resetting&#x20;Components&#x20;on&#x20;Purpose&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-key-based-remounting-resetting-components-on-purpose.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-avoiding-race-conditions-in-useeffect-with-abortcontroller</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-race-conditions-in-useeffect-mit-abortcontroller-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-avoiding-race-conditions-in-useeffect-with-abortcontroller" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-avoiding-race-conditions-in-useeffect-with-abortcontroller.webp</image:loc><image:title>Avoiding Race Conditions in useEffect with AbortController | Mironsoft</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;useEffect&#x20;with&#x20;AbortController&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-avoiding-race-conditions-in-useeffect-with-abortcontroller.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-19-ref-as-a-prop-without-forwardref</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-19-ref-als-prop-ohne-forwardref-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-19-ref-as-a-prop-without-forwardref" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-19-ref-as-a-prop-without-forwardref.webp</image:loc><image:title>React 19: Using ref as a Regular Prop Without forwardRef</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;Using&#x20;ref&#x20;as&#x20;a&#x20;Regular&#x20;Prop&#x20;Without&#x20;forwardRef"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-19-ref-as-a-prop-without-forwardref.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/composing-multiple-react-context-providers-without-provider-hell</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-context-provider-composition-mehrere-provider-sauber-verschachteln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/composing-multiple-react-context-providers-without-provider-hell" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/composing-multiple-react-context-providers-without-provider-hell.webp</image:loc><image:title>Composing React Context Providers Without Provider Hell</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Composing&#x20;React&#x20;Context&#x20;Providers&#x20;Without&#x20;Provider&#x20;Hell"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/composing-multiple-react-context-providers-without-provider-hell.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-spotting-unnecessary-rerenders-with-devtools-component-highlighting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-devtools-component-highlighting-unnoetige-rerenders-visuell-finden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-spotting-unnecessary-rerenders-with-devtools-component-highlighting" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-spotting-unnecessary-rerenders-with-devtools-component-highlighting.webp</image:loc><image:title>React DevTools Component Highlighting: Spot Unnecessary Re-Renders Visually</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;DevTools&#x20;Component&#x20;Highlighting&#x3A;&#x20;Spot&#x20;Unnecessary&#x20;Re-Renders&#x20;Visually"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-spotting-unnecessary-rerenders-with-devtools-component-highlighting.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-reading-react-devtools-profiler-flame-graphs-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-devtools-profiler-flame-graphs-richtig-interpretieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-reading-react-devtools-profiler-flame-graphs-correctly" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-reading-react-devtools-profiler-flame-graphs-correctly.webp</image:loc><image:title>React DevTools Profiler: Reading Flame Graphs Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;DevTools&#x20;Profiler&#x3A;&#x20;Reading&#x20;Flame&#x20;Graphs&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-reading-react-devtools-profiler-flame-graphs-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-schema-validation-with-zod-vs-yup-in-react-hook-form</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-hook-form-schema-validation-mit-zod-versus-yup-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-schema-validation-with-zod-vs-yup-in-react-hook-form" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-schema-validation-with-zod-vs-yup-in-react-hook-form.webp</image:loc><image:title>React Hook Form with Zod or Yup: A Schema Validation Comparison</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;with&#x20;Zod&#x20;or&#x20;Yup&#x3A;&#x20;A&#x20;Schema&#x20;Validation&#x20;Comparison"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-schema-validation-with-zod-vs-yup-in-react-hook-form.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-key-prop-pitfalls-index-as-key-often-wrong</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-key-prop-fallstricke-warum-index-als-key-oft-falsch-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-key-prop-pitfalls-index-as-key-often-wrong" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-key-prop-pitfalls-index-as-key-often-wrong.webp</image:loc><image:title>React key Prop Pitfalls: Why Index as Key Is Often Wrong</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="React&#x20;key&#x20;Prop&#x20;Pitfalls&#x3A;&#x20;Why&#x20;Index&#x20;as&#x20;Key&#x20;Is&#x20;Often&#x20;Wrong"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-key-prop-pitfalls-index-as-key-often-wrong.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-portals-for-modals-and-tooltips-outside-the-dom-tree</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-portals-modals-und-tooltips-ausserhalb-der-dom-hierarchie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-portals-for-modals-and-tooltips-outside-the-dom-tree" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-portals-for-modals-and-tooltips-outside-the-dom-tree.webp</image:loc><image:title>React Portals: Cleanly Rendering Modals and Tooltips 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="React&#x20;Portals&#x3A;&#x20;Cleanly&#x20;Rendering&#x20;Modals&#x20;and&#x20;Tooltips&#x20;Outside&#x20;the&#x20;DOM&#x20;Tree"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-portals-for-modals-and-tooltips-outside-the-dom-tree.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-why-strict-mode-runs-effects-twice-and-why-cleanup-matters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-strict-mode-effekte-zweimal-warum-das-fuer-cleanup-wichtig-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-why-strict-mode-runs-effects-twice-and-why-cleanup-matters" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-why-strict-mode-runs-effects-twice-and-why-cleanup-matters.webp</image:loc><image:title>React Strict Mode: Why Effects Run Twice and What It Means for Cleanup</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;Why&#x20;Effects&#x20;Run&#x20;Twice&#x20;and&#x20;What&#x20;It&#x20;Means&#x20;for&#x20;Cleanup"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-why-strict-mode-runs-effects-twice-and-why-cleanup-matters.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-testing-library-user-event-vs-fireevent-key-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-react-testing-library-user-event-vs-fireevent-der-unterschied" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-testing-library-user-event-vs-fireevent-key-differences" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-testing-library-user-event-vs-fireevent-key-differences.webp</image:loc><image:title>React Testing Library: user-event vs. fireEvent Compared | Mironsoft</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&#x3A;&#x20;user-event&#x20;vs.&#x20;fireEvent&#x20;Compared&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-testing-library-user-event-vs-fireevent-key-differences.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-render-props-children-function-pattern-still-relevant</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-render-props-vs-children-function-pattern-heute-noch-relevant" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-render-props-children-function-pattern-still-relevant" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-render-props-children-function-pattern-still-relevant.webp</image:loc><image:title>Render Props vs. Children-as-Function Pattern: Still Relevant Today?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Render&#x20;Props&#x20;vs.&#x20;Children-as-Function&#x20;Pattern&#x3A;&#x20;Still&#x20;Relevant&#x20;Today&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-render-props-children-function-pattern-still-relevant.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-setting-up-custom-ssr-with-rendertopipeablestream-without-next-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-rendertopipeablestream-eigenes-ssr-ohne-next-js-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-setting-up-custom-ssr-with-rendertopipeablestream-without-next-js" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-setting-up-custom-ssr-with-rendertopipeablestream-without-next-js.webp</image:loc><image:title>renderToPipeableStream: Setting Up Custom SSR Without Next.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="renderToPipeableStream&#x3A;&#x20;Setting&#x20;Up&#x20;Custom&#x20;SSR&#x20;Without&#x20;Next.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-setting-up-custom-ssr-with-rendertopipeablestream-without-next-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/skeleton-screens-vs-spinners-designing-loading-states-for-ux</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-skeleton-screens-vs-spinner-ladezustaende-ux-gerecht-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/skeleton-screens-vs-spinners-designing-loading-states-for-ux" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/skeleton-screens-vs-spinners-designing-loading-states-for-ux.webp</image:loc><image:title>Skeleton Screens vs. Spinners: Designing Loading States for Real UX</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Skeleton&#x20;Screens&#x20;vs.&#x20;Spinners&#x3A;&#x20;Designing&#x20;Loading&#x20;States&#x20;for&#x20;Real&#x20;UX"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/skeleton-screens-vs-spinners-designing-loading-states-for-ux.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-preloading-images-with-suspense-to-avoid-layout-shift</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-suspense-fuer-bilder-vorladen-und-layout-shifts-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-preloading-images-with-suspense-to-avoid-layout-shift" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-preloading-images-with-suspense-to-avoid-layout-shift.webp</image:loc><image:title>Suspense for Images: Preloading in React 19 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="Suspense&#x20;for&#x20;Images&#x3A;&#x20;Preloading&#x20;in&#x20;React&#x20;19&#x20;Without&#x20;Layout&#x20;Shift"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-preloading-images-with-suspense-to-avoid-layout-shift.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-tanstack-query-mutations-optimistic-updates-and-cache-invalidation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-tanstack-query-mutations-optimistic-updates-und-cache-invalidierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-tanstack-query-mutations-optimistic-updates-and-cache-invalidation" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-tanstack-query-mutations-optimistic-updates-and-cache-invalidation.webp</image:loc><image:title>TanStack Query Mutations: Optimistic Updates and Cache Invalidation in Detail</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;Mutations&#x3A;&#x20;Optimistic&#x20;Updates&#x20;and&#x20;Cache&#x20;Invalidation&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-tanstack-query-mutations-optimistic-updates-and-cache-invalidation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-useactionstate-error-handling-for-server-actions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-useactionstate-fehlerbehandlung-bei-server-actions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-useactionstate-error-handling-for-server-actions" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-useactionstate-error-handling-for-server-actions.webp</image:loc><image:title>useActionState: Structured Error Handling for Server Actions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="useActionState&#x3A;&#x20;Structured&#x20;Error&#x20;Handling&#x20;for&#x20;Server&#x20;Actions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-useactionstate-error-handling-for-server-actions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-dynamic-form-fields-with-react-hook-form-usefieldarray</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-usefieldarray-dynamische-formularfelder-mit-react-hook-form" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-dynamic-form-fields-with-react-hook-form-usefieldarray" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-dynamic-form-fields-with-react-hook-form-usefieldarray.webp</image:loc><image:title>useFieldArray: Dynamic Form Fields 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="useFieldArray&#x3A;&#x20;Dynamic&#x20;Form&#x20;Fields&#x20;with&#x20;React&#x20;Hook&#x20;Form"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-dynamic-form-fields-with-react-hook-form-usefieldarray.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-uselayouteffect-vs-useeffect-understanding-the-timing-difference</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-uselayouteffect-vs-useeffect-timing-unterschiede-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-uselayouteffect-vs-useeffect-understanding-the-timing-difference" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-uselayouteffect-vs-useeffect-understanding-the-timing-difference.webp</image:loc><image:title>useLayoutEffect vs. useEffect: Really Understanding the Timing Difference</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="useLayoutEffect&#x20;vs.&#x20;useEffect&#x3A;&#x20;Really&#x20;Understanding&#x20;the&#x20;Timing&#x20;Difference"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-uselayouteffect-vs-useeffect-understanding-the-timing-difference.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-usereducer-managing-complex-state-logic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-usereducer-komplexe-state-logik-strukturiert-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-usereducer-managing-complex-state-logic" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-usereducer-managing-complex-state-logic.webp</image:loc><image:title>useReducer: Managing Complex State Logic in a Structured Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="useReducer&#x3A;&#x20;Managing&#x20;Complex&#x20;State&#x20;Logic&#x20;in&#x20;a&#x20;Structured&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-usereducer-managing-complex-state-logic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-usewatch-vs-watch-react-hook-form-performance-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-usewatch-vs-watch-in-react-hook-form-performance-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-usewatch-vs-watch-react-hook-form-performance-differences" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-usewatch-vs-watch-react-hook-form-performance-differences.webp</image:loc><image:title>useWatch vs. watch() in React Hook Form: The 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="useWatch&#x20;vs.&#x20;watch&#x28;&#x29;&#x20;in&#x20;React&#x20;Hook&#x20;Form&#x3A;&#x20;The&#x20;Performance&#x20;Differences&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-usewatch-vs-watch-react-hook-form-performance-differences.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-debugging-why-did-you-render-without-third-party-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-why-did-you-render-ohne-drittanbieter-tools-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-debugging-why-did-you-render-without-third-party-tools" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-debugging-why-did-you-render-without-third-party-tools.webp</image:loc><image:title>Debugging Why Did You Render 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="Debugging&#x20;Why&#x20;Did&#x20;You&#x20;Render&#x20;Without&#x20;Third&#x20;Party&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-debugging-why-did-you-render-without-third-party-tools.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-zustand-middleware-persist-and-devtools-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-zustand-middleware-persist-und-devtools-praktisch-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-zustand-middleware-persist-and-devtools-in-practice" />
<lastmod>2026-08-09T10:25:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-zustand-middleware-persist-and-devtools-in-practice.webp</image:loc><image:title>Zustand Middleware: Using persist and devtools in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Zustand&#x20;Middleware&#x3A;&#x20;Using&#x20;persist&#x20;and&#x20;devtools&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-zustand-middleware-persist-and-devtools-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-auto-generate-api-changelogs-from-openapi-diffs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-api-changelog-automatisch-aus-openapi-diffs-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-auto-generate-api-changelogs-from-openapi-diffs" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-auto-generate-api-changelogs-from-openapi-diffs.webp</image:loc><image:title>Auto-Generating an API Changelog from OpenAPI Diffs: From Structural Diff to Readable Text</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Auto-Generating&#x20;an&#x20;API&#x20;Changelog&#x20;from&#x20;OpenAPI&#x20;Diffs&#x3A;&#x20;From&#x20;Structural&#x20;Diff&#x20;to&#x20;Readable&#x20;Text"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-auto-generate-api-changelogs-from-openapi-diffs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-api-gateway-patterns-securing-rest-apis-centrally</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-api-gateway-patterns-fuer-rest-apis-zentral-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-api-gateway-patterns-securing-rest-apis-centrally" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-api-gateway-patterns-securing-rest-apis-centrally.webp</image:loc><image:title>API Gateway Patterns: Securing REST APIs Centrally Instead of Per Service</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="API&#x20;Gateway&#x20;Patterns&#x3A;&#x20;Securing&#x20;REST&#x20;APIs&#x20;Centrally&#x20;Instead&#x20;of&#x20;Per&#x20;Service"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-api-gateway-patterns-securing-rest-apis-centrally.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-api-key-rotation-without-downtime-for-existing-integrators</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-api-key-rotation-ohne-downtime-fuer-bestehende-integratoren-praktisch-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-api-key-rotation-without-downtime-for-existing-integrators" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-api-key-rotation-without-downtime-for-existing-integrators.webp</image:loc><image:title>API Key Rotation Without Downtime for Existing Integrators</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;Rotation&#x20;Without&#x20;Downtime&#x20;for&#x20;Existing&#x20;Integrators"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-api-key-rotation-without-downtime-for-existing-integrators.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-api-versioning-content-negotiation-vs-url-path-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-api-versionierung-content-negotiation-vs-url-pfad-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-api-versioning-content-negotiation-vs-url-path-compared" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-api-versioning-content-negotiation-vs-url-path-compared.webp</image:loc><image:title>API Versioning: Content Negotiation vs. URL Path 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;Versioning&#x3A;&#x20;Content&#x20;Negotiation&#x20;vs.&#x20;URL&#x20;Path&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-api-versioning-content-negotiation-vs-url-path-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-detecting-api-breaking-changes-automatically-in-ci-with-openapi-diff-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-api-vertragsbrueche-automatisch-in-ci-erkennen-openapi-diff-tools" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-detecting-api-breaking-changes-automatically-in-ci-with-openapi-diff-tools" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-detecting-api-breaking-changes-automatically-in-ci-with-openapi-diff-tools.webp</image:loc><image:title>Detecting API Breaking Changes Automatically in CI with OpenAPI Diff Tools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Detecting&#x20;API&#x20;Breaking&#x20;Changes&#x20;Automatically&#x20;in&#x20;CI&#x20;with&#x20;OpenAPI&#x20;Diff&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-detecting-api-breaking-changes-automatically-in-ci-with-openapi-diff-tools.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-asyncapi-documenting-event-driven-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-asyncapi-event-getriebene-apis-dokumentieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-asyncapi-documenting-event-driven-apis" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-asyncapi-documenting-event-driven-apis.webp</image:loc><image:title>AsyncAPI: Documenting Event-Driven APIs Like REST with OpenAPI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="AsyncAPI&#x3A;&#x20;Documenting&#x20;Event-Driven&#x20;APIs&#x20;Like&#x20;REST&#x20;with&#x20;OpenAPI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-asyncapi-documenting-event-driven-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-designing-bulk-and-batch-operations-in-rest-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-bulk-und-batch-operationen-in-rest-apis-sauber-designen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-designing-bulk-and-batch-operations-in-rest-apis" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-designing-bulk-and-batch-operations-in-rest-apis.webp</image:loc><image:title>Designing Clean Bulk and Batch Operations in 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;Bulk&#x20;and&#x20;Batch&#x20;Operations&#x20;in&#x20;REST&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-designing-bulk-and-batch-operations-in-rest-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-circuit-breaker-pattern-for-rest-api-clients</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-circuit-breaker-pattern-fuer-rest-api-clients-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-circuit-breaker-pattern-for-rest-api-clients" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-circuit-breaker-pattern-for-rest-api-clients.webp</image:loc><image:title>Implementing the Circuit Breaker Pattern for REST API Clients</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;Circuit&#x20;Breaker&#x20;Pattern&#x20;for&#x20;REST&#x20;API&#x20;Clients"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-circuit-breaker-pattern-for-rest-api-clients.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-content-negotiation-in-rest-apis-beyond-json</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-content-negotiation-in-rest-apis-jenseits-von-json" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-content-negotiation-in-rest-apis-beyond-json" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-content-negotiation-in-rest-apis-beyond-json.webp</image:loc><image:title>Content Negotiation in REST APIs Beyond JSON</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Content&#x20;Negotiation&#x20;in&#x20;REST&#x20;APIs&#x20;Beyond&#x20;JSON"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-content-negotiation-in-rest-apis-beyond-json.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-understanding-and-securely-configuring-cors-in-rest-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-cors-in-rest-apis-tiefgehend-verstehen-und-sicher-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-understanding-and-securely-configuring-cors-in-rest-apis" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-understanding-and-securely-configuring-cors-in-rest-apis.webp</image:loc><image:title>Understanding and Securely Configuring CORS in REST APIs</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;Securely&#x20;Configuring&#x20;CORS&#x20;in&#x20;REST&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-understanding-and-securely-configuring-cors-in-rest-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-implementing-cursor-based-pagination-in-technical-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-cursor-basierte-pagination-technisch-im-detail-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-implementing-cursor-based-pagination-in-technical-detail" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-implementing-cursor-based-pagination-in-technical-detail.webp</image:loc><image:title>Implementing Cursor-Based Pagination in Technical Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Cursor-Based&#x20;Pagination&#x20;in&#x20;Technical&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-implementing-cursor-based-pagination-in-technical-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-graphql-and-rest-hybrid-apis-when-both-side-by-side-make-sense</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-graphql-und-rest-hybrid-apis-wann-beides-nebeneinander-sinnvoll-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-graphql-and-rest-hybrid-apis-when-both-side-by-side-make-sense" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-graphql-and-rest-hybrid-apis-when-both-side-by-side-make-sense.webp</image:loc><image:title>GraphQL and REST as a Hybrid API: When Running Both Side by Side Makes Sense</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;and&#x20;REST&#x20;as&#x20;a&#x20;Hybrid&#x20;API&#x3A;&#x20;When&#x20;Running&#x20;Both&#x20;Side&#x20;by&#x20;Side&#x20;Makes&#x20;Sense"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-graphql-and-rest-hybrid-apis-when-both-side-by-side-make-sense.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-grpc-vs-rest-which-protocol-for-internal-services</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-grpc-vs-rest-wann-welches-protokoll-fuer-interne-services" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-grpc-vs-rest-which-protocol-for-internal-services" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-grpc-vs-rest-which-protocol-for-internal-services.webp</image:loc><image:title>gRPC vs. REST: Which Protocol for Internal Services</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="gRPC&#x20;vs.&#x20;REST&#x3A;&#x20;Which&#x20;Protocol&#x20;for&#x20;Internal&#x20;Services"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-grpc-vs-rest-which-protocol-for-internal-services.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-implementing-idempotency-keys-for-payment-and-order-endpoints</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-idempotency-keys-fuer-zahlungs-und-bestell-endpoints-praktisch-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-implementing-idempotency-keys-for-payment-and-order-endpoints" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-implementing-idempotency-keys-for-payment-and-order-endpoints.webp</image:loc><image:title>Implementing Idempotency Keys for Payment and Order Endpoints</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Idempotency&#x20;Keys&#x20;for&#x20;Payment&#x20;and&#x20;Order&#x20;Endpoints"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-implementing-idempotency-keys-for-payment-and-order-endpoints.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-modeling-long-running-operations-with-202-accepted-and-polling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-long-running-operations-mit-202-accepted-und-polling-modellieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-modeling-long-running-operations-with-202-accepted-and-polling" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-modeling-long-running-operations-with-202-accepted-and-polling.webp</image:loc><image:title>Modeling Long-Running Operations with 202 Accepted and Polling</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modeling&#x20;Long-Running&#x20;Operations&#x20;with&#x20;202&#x20;Accepted&#x20;and&#x20;Polling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-modeling-long-running-operations-with-202-accepted-and-polling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-setting-up-mtls-for-service-to-service-rest-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-mtls-fuer-service-zu-service-rest-apis-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-setting-up-mtls-for-service-to-service-rest-apis" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-setting-up-mtls-for-service-to-service-rest-apis.webp</image:loc><image:title>Setting Up mTLS for Service-to-Service REST APIs</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;mTLS&#x20;for&#x20;Service-to-Service&#x20;REST&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-setting-up-mtls-for-service-to-service-rest-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-multi-tenant-rest-apis-designing-clean-tenant-isolation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-multi-tenant-rest-apis-mandanten-isolation-sauber-entwerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-multi-tenant-rest-apis-designing-clean-tenant-isolation" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-multi-tenant-rest-apis-designing-clean-tenant-isolation.webp</image:loc><image:title>Multi-Tenant REST APIs: Designing Clean Tenant Isolation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multi-Tenant&#x20;REST&#x20;APIs&#x3A;&#x20;Designing&#x20;Clean&#x20;Tenant&#x20;Isolation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-multi-tenant-rest-apis-designing-clean-tenant-isolation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-mutation-testing-for-rest-api-contract-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-mutation-testing-fuer-rest-api-vertragstests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-mutation-testing-for-rest-api-contract-tests" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-mutation-testing-for-rest-api-contract-tests.webp</image:loc><image:title>Mutation Testing for REST API Contract Tests</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;REST&#x20;API&#x20;Contract&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-mutation-testing-for-rest-api-contract-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-oauth2-device-flow-for-cli-tools-and-headless-clients</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-oauth2-device-flow-fuer-cli-tools-und-headless-clients" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-oauth2-device-flow-for-cli-tools-and-headless-clients" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-oauth2-device-flow-for-cli-tools-and-headless-clients.webp</image:loc><image:title>OAuth2 Device Flow for CLI Tools and Headless Clients</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="OAuth2&#x20;Device&#x20;Flow&#x20;for&#x20;CLI&#x20;Tools&#x20;and&#x20;Headless&#x20;Clients"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-oauth2-device-flow-for-cli-tools-and-headless-clients.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-enforcing-openapi-linting-with-spectral-in-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-openapi-linting-mit-spectral-in-ci-durchsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-enforcing-openapi-linting-with-spectral-in-ci" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-enforcing-openapi-linting-with-spectral-in-ci.webp</image:loc><image:title>Enforcing OpenAPI Linting with Spectral in CI</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Enforcing&#x20;OpenAPI&#x20;Linting&#x20;with&#x20;Spectral&#x20;in&#x20;CI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-enforcing-openapi-linting-with-spectral-in-ci.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-maintaining-postman-collections-as-living-documentation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-postman-collections-als-lebende-dokumentation-pflegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-maintaining-postman-collections-as-living-documentation" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-maintaining-postman-collections-as-living-documentation.webp</image:loc><image:title>Maintaining Postman Collections as Living Documentation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Maintaining&#x20;Postman&#x20;Collections&#x20;as&#x20;Living&#x20;Documentation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-maintaining-postman-collections-as-living-documentation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-implementing-hmac-request-signing-for-webhook-receivers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-request-signing-hmac-fuer-webhook-empfaenger-praktisch-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-implementing-hmac-request-signing-for-webhook-receivers" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-implementing-hmac-request-signing-for-webhook-receivers.webp</image:loc><image:title>Implementing HMAC Request Signing for Webhook Receivers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;HMAC&#x20;Request&#x20;Signing&#x20;for&#x20;Webhook&#x20;Receivers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-implementing-hmac-request-signing-for-webhook-receivers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-response-compression-in-rest-apis-gzip-vs-brotli-tradeoffs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-response-kompression-in-rest-apis-gzip-brotli-und-tradeoffs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-response-compression-in-rest-apis-gzip-vs-brotli-tradeoffs" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-response-compression-in-rest-apis-gzip-vs-brotli-tradeoffs.webp</image:loc><image:title>Response Compression in REST APIs: Gzip vs. Brotli and the Real Tradeoffs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Response&#x20;Compression&#x20;in&#x20;REST&#x20;APIs&#x3A;&#x20;Gzip&#x20;vs.&#x20;Brotli&#x20;and&#x20;the&#x20;Real&#x20;Tradeoffs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-response-compression-in-rest-apis-gzip-vs-brotli-tradeoffs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-optimizing-rest-apis-for-mobile-clients</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-rest-apis-fuer-mobile-clients-bandbreite-und-payload-groesse-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-optimizing-rest-apis-for-mobile-clients" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-optimizing-rest-apis-for-mobile-clients.webp</image:loc><image:title>REST APIs for Mobile Clients: Optimizing Bandwidth and Payload Size</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;Mobile&#x20;Clients&#x3A;&#x20;Optimizing&#x20;Bandwidth&#x20;and&#x20;Payload&#x20;Size"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-optimizing-rest-apis-for-mobile-clients.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-sdk-generation-from-openapi-what-makes-a-good-client</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-sdk-generierung-aus-openapi-was-gute-clients-ausmacht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-sdk-generation-from-openapi-what-makes-a-good-client" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-sdk-generation-from-openapi-what-makes-a-good-client.webp</image:loc><image:title>SDK Generation from OpenAPI: What Makes a Good Client</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SDK&#x20;Generation&#x20;from&#x20;OpenAPI&#x3A;&#x20;What&#x20;Makes&#x20;a&#x20;Good&#x20;Client"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-sdk-generation-from-openapi-what-makes-a-good-client.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-semantic-versioning-for-apis-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-semantic-versioning-fuer-apis-praktisch-durchsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-semantic-versioning-for-apis-in-practice" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-semantic-versioning-for-apis-in-practice.webp</image:loc><image:title>Semantic Versioning for APIs in Practice: Deriving Major, Minor and Patch Correctly</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;APIs&#x20;in&#x20;Practice&#x3A;&#x20;Deriving&#x20;Major,&#x20;Minor&#x20;and&#x20;Patch&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-semantic-versioning-for-apis-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-server-sent-events-vs-websockets-for-rest-api-realtime-updates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-server-sent-events-vs-websockets-fuer-rest-api-echtzeit-updates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-server-sent-events-vs-websockets-for-rest-api-realtime-updates" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-server-sent-events-vs-websockets-for-rest-api-realtime-updates.webp</image:loc><image:title>Server-Sent Events vs. WebSockets for REST API Real-Time Updates</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Server-Sent&#x20;Events&#x20;vs.&#x20;WebSockets&#x20;for&#x20;REST&#x20;API&#x20;Real-Time&#x20;Updates"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-server-sent-events-vs-websockets-for-rest-api-realtime-updates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-offering-sparse-fieldsets-and-partial-responses-in-rest-apis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-sparse-fieldsets-partial-responses-in-rest-apis-anbieten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-offering-sparse-fieldsets-and-partial-responses-in-rest-apis" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-offering-sparse-fieldsets-and-partial-responses-in-rest-apis.webp</image:loc><image:title>Offering Sparse Fieldsets and Partial Responses in REST APIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Offering&#x20;Sparse&#x20;Fieldsets&#x20;and&#x20;Partial&#x20;Responses&#x20;in&#x20;REST&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-offering-sparse-fieldsets-and-partial-responses-in-rest-apis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-sunset-and-deprecation-headers-for-api-retirement</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-sunset-und-deprecation-header-fuer-api-abschaltung-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-sunset-and-deprecation-headers-for-api-retirement" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-sunset-and-deprecation-headers-for-api-retirement.webp</image:loc><image:title>Using Sunset and Deprecation Headers for API Retirement 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;Sunset&#x20;and&#x20;Deprecation&#x20;Headers&#x20;for&#x20;API&#x20;Retirement&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-sunset-and-deprecation-headers-for-api-retirement.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/restapi-token-bucket-vs-sliding-window-rate-limiting-algorithms</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/restapi-token-bucket-vs-sliding-window-rate-limiting-algorithmen-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/restapi-token-bucket-vs-sliding-window-rate-limiting-algorithms" />
<lastmod>2026-08-09T10:25:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/restapi-token-bucket-vs-sliding-window-rate-limiting-algorithms.webp</image:loc><image:title>Token Bucket vs. Sliding Window: Rate Limiting Algorithms in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Token&#x20;Bucket&#x20;vs.&#x20;Sliding&#x20;Window&#x3A;&#x20;Rate&#x20;Limiting&#x20;Algorithms&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/restapi-token-bucket-vs-sliding-window-rate-limiting-algorithms.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-asset-versioning-cache-busting-in-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-asset-versionierung-cache-busting-in-produktion" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-asset-versioning-cache-busting-in-production" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-asset-versioning-cache-busting-in-production.webp</image:loc><image:title>Symfony Asset Versioning and Cache-Busting in Production</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Asset&#x20;Versioning&#x20;and&#x20;Cache-Busting&#x20;in&#x20;Production"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-asset-versioning-cache-busting-in-production.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-clock-component-testable-time-dependent-logic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-clock-component-testbare-zeitabhaengige-logik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-clock-component-testable-time-dependent-logic" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-clock-component-testable-time-dependent-logic.webp</image:loc><image:title>Symfony Clock Component for Testable, Time-Dependent Logic</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Clock&#x20;Component&#x20;for&#x20;Testable,&#x20;Time-Dependent&#x20;Logic"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-clock-component-testable-time-dependent-logic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-console-building-interactive-commands-progress-bars-and-tables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-console-interaktive-commands-progress-bars-und-tables" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-console-building-interactive-commands-progress-bars-and-tables" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-console-building-interactive-commands-progress-bars-and-tables.webp</image:loc><image:title>Symfony Console: Building Interactive Commands with Progress Bars and Tables</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;Building&#x20;Interactive&#x20;Commands&#x20;with&#x20;Progress&#x20;Bars&#x20;and&#x20;Tables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-console-building-interactive-commands-progress-bars-and-tables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-cqrs-separate-command-and-query-bus-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-cqrs-getrennte-command-und-query-bus-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-cqrs-separate-command-and-query-bus-configuration" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-cqrs-separate-command-and-query-bus-configuration.webp</image:loc><image:title>Symfony CQRS: Separate Command and Query Bus Configuration with 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;CQRS&#x3A;&#x20;Separate&#x20;Command&#x20;and&#x20;Query&#x20;Bus&#x20;Configuration&#x20;with&#x20;Messenger"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-cqrs-separate-command-and-query-bus-configuration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-dependency-injection-service-locators-vs-autowiring-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-dependency-injection-service-locators-vs-autowiring" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-dependency-injection-service-locators-vs-autowiring-explained" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-dependency-injection-service-locators-vs-autowiring-explained.webp</image:loc><image:title>Symfony Dependency Injection: Service Locators vs. Autowiring in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Dependency&#x20;Injection&#x3A;&#x20;Service&#x20;Locators&#x20;vs.&#x20;Autowiring&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-dependency-injection-service-locators-vs-autowiring-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-doctrine-custom-dbal-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-doctrine-eigene-feldtypen-custom-dbal-types" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-doctrine-custom-dbal-types" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-custom-dbal-types.webp</image:loc><image:title>Symfony Doctrine: Building Custom DBAL Types for Your Own Field 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;Doctrine&#x3A;&#x20;Building&#x20;Custom&#x20;DBAL&#x20;Types&#x20;for&#x20;Your&#x20;Own&#x20;Field&#x20;Types"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-custom-dbal-types.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-doctrine-fixtures-managing-test-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-doctrine-fixtures-testdaten-strukturiert-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-doctrine-fixtures-managing-test-data" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-fixtures-managing-test-data.webp</image:loc><image:title>Symfony Doctrine Fixtures: Managing Test Data in a Structured Way</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Doctrine&#x20;Fixtures&#x3A;&#x20;Managing&#x20;Test&#x20;Data&#x20;in&#x20;a&#x20;Structured&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-fixtures-managing-test-data.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-doctrine-query-result-cache-vs-second-level-cache-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-doctrine-query-result-cache-vs-second-level-cache" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-doctrine-query-result-cache-vs-second-level-cache-compared" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-query-result-cache-vs-second-level-cache-compared.webp</image:loc><image:title>Symfony Doctrine: Query Result Cache vs. Second-Level Cache Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Doctrine&#x3A;&#x20;Query&#x20;Result&#x20;Cache&#x20;vs.&#x20;Second-Level&#x20;Cache&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-query-result-cache-vs-second-level-cache-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-doctrine-soft-delete-pattern-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-doctrine-soft-delete-pattern-sauber-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-doctrine-soft-delete-pattern-implementation" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-soft-delete-pattern-implementation.webp</image:loc><image:title>Symfony Doctrine Soft Delete Pattern: A Clean Implementation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Doctrine&#x20;Soft&#x20;Delete&#x20;Pattern&#x3A;&#x20;A&#x20;Clean&#x20;Implementation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-doctrine-soft-delete-pattern-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-dotenv-and-parameter-bags-separating-configuration-cleanly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-dotenv-und-parameter-bags-konfiguration-sauber-trennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-dotenv-and-parameter-bags-separating-configuration-cleanly" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-dotenv-and-parameter-bags-separating-configuration-cleanly.webp</image:loc><image:title>Symfony Dotenv and Parameter Bags: Keeping Configuration Cleanly Separated</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Dotenv&#x20;and&#x20;Parameter&#x20;Bags&#x3A;&#x20;Keeping&#x20;Configuration&#x20;Cleanly&#x20;Separated"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-dotenv-and-parameter-bags-separating-configuration-cleanly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-forms-collectiontype-for-dynamic-forms</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-forms-collection-types-dynamische-formulare" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-forms-collectiontype-for-dynamic-forms" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-forms-collectiontype-for-dynamic-forms.webp</image:loc><image:title>Symfony Forms: CollectionType for Dynamic Forms</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Forms&#x3A;&#x20;CollectionType&#x20;for&#x20;Dynamic&#x20;Forms"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-forms-collectiontype-for-dynamic-forms.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-graphql-without-api-platform-graphql-php-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-graphql-ohne-api-platform-graphql-php-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-graphql-without-api-platform-graphql-php-integration" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-graphql-without-api-platform-graphql-php-integration.webp</image:loc><image:title>Symfony Without API Platform: Integrating GraphQL with webonyx/graphql-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;Without&#x20;API&#x20;Platform&#x3A;&#x20;Integrating&#x20;GraphQL&#x20;with&#x20;webonyx&#x2F;graphql-php"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-graphql-without-api-platform-graphql-php-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-health-checks-liveness-readiness-for-kubernetes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-health-checks-liveness-readiness-fuer-kubernetes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-health-checks-liveness-readiness-for-kubernetes" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-health-checks-liveness-readiness-for-kubernetes.webp</image:loc><image:title>Symfony Health Checks: Liveness and Readiness Endpoints for Kubernetes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Health&#x20;Checks&#x3A;&#x20;Liveness&#x20;and&#x20;Readiness&#x20;Endpoints&#x20;for&#x20;Kubernetes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-health-checks-liveness-readiness-for-kubernetes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-http-kernel-events-understanding-the-lifecycle-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-http-kernel-events-lifecycle-im-detail-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-http-kernel-events-understanding-the-lifecycle-in-detail" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-http-kernel-events-understanding-the-lifecycle-in-detail.webp</image:loc><image:title>Symfony HttpKernel Events: Understanding the Request Lifecycle in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;HttpKernel&#x20;Events&#x3A;&#x20;Understanding&#x20;the&#x20;Request&#x20;Lifecycle&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-http-kernel-events-understanding-the-lifecycle-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-i18n-routing-structuring-multilingual-urls-cleanly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-i18n-routing-mehrsprachige-urls-sauber-strukturieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-i18n-routing-structuring-multilingual-urls-cleanly" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-i18n-routing-structuring-multilingual-urls-cleanly.webp</image:loc><image:title>Symfony i18n Routing: Structuring Multilingual URLs Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;i18n&#x20;Routing&#x3A;&#x20;Structuring&#x20;Multilingual&#x20;URLs&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-i18n-routing-structuring-multilingual-urls-cleanly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-messenger-writing-custom-bus-middleware</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-messenger-middleware-eigene-bus-middleware-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-messenger-writing-custom-bus-middleware" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-messenger-writing-custom-bus-middleware.webp</image:loc><image:title>Symfony Messenger: Writing Custom Bus Middleware for Cross-Cutting Concerns</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;Writing&#x20;Custom&#x20;Bus&#x20;Middleware&#x20;for&#x20;Cross-Cutting&#x20;Concerns"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-messenger-writing-custom-bus-middleware.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-messenger-redis-vs-amqp-vs-doctrine-transport-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-messenger-redis-vs-amqp-vs-doctrine-transport-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-messenger-redis-vs-amqp-vs-doctrine-transport-compared" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-messenger-redis-vs-amqp-vs-doctrine-transport-compared.webp</image:loc><image:title>Symfony Messenger Transport Backends Compared: Redis, AMQP and Doctrine</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&#x20;Transport&#x20;Backends&#x20;Compared&#x3A;&#x20;Redis,&#x20;AMQP&#x20;and&#x20;Doctrine"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-messenger-redis-vs-amqp-vs-doctrine-transport-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-messenger-retry-strategies-and-failed-transport-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-messenger-retry-strategien-und-failed-transport-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-messenger-retry-strategies-and-failed-transport-in-detail" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-messenger-retry-strategies-and-failed-transport-in-detail.webp</image:loc><image:title>Symfony Messenger Retry Strategies and the Failed Transport in Detail</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&#x20;Retry&#x20;Strategies&#x20;and&#x20;the&#x20;Failed&#x20;Transport&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-messenger-retry-strategies-and-failed-transport-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-monolog-custom-handlers-and-processors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-monolog-eigene-handler-und-prozessoren-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-monolog-custom-handlers-and-processors" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-monolog-custom-handlers-and-processors.webp</image:loc><image:title>Symfony Monolog: Writing Custom Handlers and Processors</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Monolog&#x3A;&#x20;Writing&#x20;Custom&#x20;Handlers&#x20;and&#x20;Processors"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-monolog-custom-handlers-and-processors.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-panther-browser-tests-for-javascript-heavy-uis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-panther-browser-tests-fuer-javascript-heavy-uis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-panther-browser-tests-for-javascript-heavy-uis" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-panther-browser-tests-for-javascript-heavy-uis.webp</image:loc><image:title>Symfony Panther: Browser Tests for JavaScript-Heavy UIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Panther&#x3A;&#x20;Browser&#x20;Tests&#x20;for&#x20;JavaScript-Heavy&#x20;UIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-panther-browser-tests-for-javascript-heavy-uis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-panther-vs-behat-which-e2e-tool-fits-which-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-panther-vs-behat-welches-e2e-tool-fuer-welches-team" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-panther-vs-behat-which-e2e-tool-fits-which-team" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-panther-vs-behat-which-e2e-tool-fits-which-team.webp</image:loc><image:title>Symfony Panther vs. Behat: Which E2E Tool Fits Which Team</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Panther&#x20;vs.&#x20;Behat&#x3A;&#x20;Which&#x20;E2E&#x20;Tool&#x20;Fits&#x20;Which&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-panther-vs-behat-which-e2e-tool-fits-which-team.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-rate-limiter-comparing-storage-backends</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-rate-limiter-storage-backends-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-rate-limiter-comparing-storage-backends" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-rate-limiter-comparing-storage-backends.webp</image:loc><image:title>Symfony Rate Limiter: Comparing Storage Backends</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;Comparing&#x20;Storage&#x20;Backends"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-rate-limiter-comparing-storage-backends.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-routing-custom-loaders-and-custom-requirements</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-routing-eigene-loader-und-custom-requirements" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-routing-custom-loaders-and-custom-requirements" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-routing-custom-loaders-and-custom-requirements.webp</image:loc><image:title>Symfony Routing: Custom Loaders and Custom Requirements</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Routing&#x3A;&#x20;Custom&#x20;Loaders&#x20;and&#x20;Custom&#x20;Requirements"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-routing-custom-loaders-and-custom-requirements.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-serializer-writing-custom-normalizers-and-denormalizers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-serializer-eigene-normalizer-und-denormalizer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-serializer-writing-custom-normalizers-and-denormalizers" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-serializer-writing-custom-normalizers-and-denormalizers.webp</image:loc><image:title>Symfony Serializer: Writing Custom Normalizers and Denormalizers for Complex Objects</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;Writing&#x20;Custom&#x20;Normalizers&#x20;and&#x20;Denormalizers&#x20;for&#x20;Complex&#x20;Objects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-serializer-writing-custom-normalizers-and-denormalizers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-string-component-unicode-safe-string-manipulation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-string-component-unicode-sicher-manipulieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-string-component-unicode-safe-string-manipulation" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-string-component-unicode-safe-string-manipulation.webp</image:loc><image:title>Symfony String Component: Unicode-Safe String Manipulation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;String&#x20;Component&#x3A;&#x20;Unicode-Safe&#x20;String&#x20;Manipulation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-string-component-unicode-safe-string-manipulation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-twig-custom-extensions-filters-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-twig-eigene-extensions-filter-und-funktionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-twig-custom-extensions-filters-functions" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-twig-custom-extensions-filters-functions.webp</image:loc><image:title>Symfony Twig: Writing Custom Extensions, Filters, and Functions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;Twig&#x3A;&#x20;Writing&#x20;Custom&#x20;Extensions,&#x20;Filters,&#x20;and&#x20;Functions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-twig-custom-extensions-filters-functions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-uid-component-uuid-and-ulid-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-uid-component-uuid-und-ulid-praktisch-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-uid-component-uuid-and-ulid-in-practice" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-uid-component-uuid-and-ulid-in-practice.webp</image:loc><image:title>Symfony UID Component: Using UUID and ULID in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x20;UID&#x20;Component&#x3A;&#x20;Using&#x20;UUID&#x20;and&#x20;ULID&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-uid-component-uuid-and-ulid-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-validator-groups-and-sequences-for-context-dependent-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-validator-gruppen-sequenzen-kontextabhaengige-validierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-validator-groups-and-sequences-for-context-dependent-validation" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-validator-groups-and-sequences-for-context-dependent-validation.webp</image:loc><image:title>Symfony Validator: Validation Groups and Group Sequences for Context-Dependent Validation</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;Validation&#x20;Groups&#x20;and&#x20;Group&#x20;Sequences&#x20;for&#x20;Context-Dependent&#x20;Validation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-validator-groups-and-sequences-for-context-dependent-validation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-receiving-webhooks-and-verifying-hmac-signatures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-webhook-empfang-hmac-signaturen-verifizieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-receiving-webhooks-and-verifying-hmac-signatures" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-receiving-webhooks-and-verifying-hmac-signatures.webp</image:loc><image:title>Symfony: Receiving Incoming Webhooks and Verifying HMAC Signatures</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Symfony&#x3A;&#x20;Receiving&#x20;Incoming&#x20;Webhooks&#x20;and&#x20;Verifying&#x20;HMAC&#x20;Signatures"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-receiving-webhooks-and-verifying-hmac-signatures.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony-workflow-guards-and-transition-blocking-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony-workflow-guards-transition-blocking-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony-workflow-guards-and-transition-blocking-in-practice" />
<lastmod>2026-08-09T10:26:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/symfony-workflow-guards-and-transition-blocking-in-practice.webp</image:loc><image:title>Symfony Workflow: Using Guards and Transition Blocking in Practice</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&#x3A;&#x20;Using&#x20;Guards&#x20;and&#x20;Transition&#x20;Blocking&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/symfony-workflow-guards-and-transition-blocking-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-404-error-page-design-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-404-fehlerseiten-design-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-404-error-page-design-patterns" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-404-error-page-design-patterns.webp</image:loc><image:title>404 and Error Page Design Patterns with Tailwind</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="404&#x20;and&#x20;Error&#x20;Page&#x20;Design&#x20;Patterns&#x20;with&#x20;Tailwind"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-404-error-page-design-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-admin-dashboard-sidebar-navigation-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-admin-sidebar-navigation-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-admin-dashboard-sidebar-navigation-pattern" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-admin-dashboard-sidebar-navigation-pattern.webp</image:loc><image:title>Building Admin Dashboard Sidebar Navigation 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="Building&#x20;Admin&#x20;Dashboard&#x20;Sidebar&#x20;Navigation&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-admin-dashboard-sidebar-navigation-pattern.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-badge-tag-chip-component-system-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-badge-tag-chip-komponenten-system" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-badge-tag-chip-component-system-guide" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-badge-tag-chip-component-system-guide.webp</image:loc><image:title>Building a Badge, Tag and Chip Component System 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="Building&#x20;a&#x20;Badge,&#x20;Tag&#x20;and&#x20;Chip&#x20;Component&#x20;System&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-badge-tag-chip-component-system-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-color-mix-dynamic-color-mixing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-color-mix-dynamische-farbmischung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-color-mix-dynamic-color-mixing" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-color-mix-dynamic-color-mixing.webp</image:loc><image:title>color-mix(): Dynamic Color Mixing in Tailwind at Runtime</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="color-mix&#x28;&#x29;&#x3A;&#x20;Dynamic&#x20;Color&#x20;Mixing&#x20;in&#x20;Tailwind&#x20;at&#x20;Runtime"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-color-mix-dynamic-color-mixing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-command-palette-styling-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-command-palette-cmdk-styling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-command-palette-styling-guide" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-command-palette-styling-guide.webp</image:loc><image:title>Styling a Command Palette with Tailwind: Overlay, Navigation and Fuzzy Highlights</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Styling&#x20;a&#x20;Command&#x20;Palette&#x20;with&#x20;Tailwind&#x3A;&#x20;Overlay,&#x20;Navigation&#x20;and&#x20;Fuzzy&#x20;Highlights"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-command-palette-styling-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-container-query-units-cqw-cqh-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-container-query-units-cqw-cqh-praktisch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-container-query-units-cqw-cqh-in-practice" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-container-query-units-cqw-cqh-in-practice.webp</image:loc><image:title>Tailwind Container Query Units: cqw, cqh and cqi in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;Container&#x20;Query&#x20;Units&#x3A;&#x20;cqw,&#x20;cqh&#x20;and&#x20;cqi&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-container-query-units-cqw-cqh-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-css-in-js-coexistence-styled-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-css-in-js-koexistenz-styled-components" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-css-in-js-coexistence-styled-components" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-css-in-js-coexistence-styled-components.webp</image:loc><image:title>Tailwind and CSS-in-JS in the Same Project: Letting styled-components and Emotion Coexist</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-in-JS&#x20;in&#x20;the&#x20;Same&#x20;Project&#x3A;&#x20;Letting&#x20;styled-components&#x20;and&#x20;Emotion&#x20;Coexist"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-css-in-js-coexistence-styled-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-css-native-nesting-v4-nested-selectors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-css-native-nesting-v4-verschachtelte-selektoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-css-native-nesting-v4-nested-selectors" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-css-native-nesting-v4-nested-selectors.webp</image:loc><image:title>Native CSS Nesting in Tailwind v4: Using Nested Selectors 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="Native&#x20;CSS&#x20;Nesting&#x20;in&#x20;Tailwind&#x20;v4&#x3A;&#x20;Using&#x20;Nested&#x20;Selectors&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-css-native-nesting-v4-nested-selectors.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-custom-scrollbar-styling-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-custom-scrollbar-styling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-custom-scrollbar-styling-guide" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-custom-scrollbar-styling-guide.webp</image:loc><image:title>Custom Scrollbar Styling with Tailwind: WebKit Pseudo-Elements and scrollbar-width</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Scrollbar&#x20;Styling&#x20;with&#x20;Tailwind&#x3A;&#x20;WebKit&#x20;Pseudo-Elements&#x20;and&#x20;scrollbar-width"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-custom-scrollbar-styling-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-adapting-icons-illustrations-for-dark-mode</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-dark-mode-icons-illustrationen-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-adapting-icons-illustrations-for-dark-mode" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-adapting-icons-illustrations-for-dark-mode.webp</image:loc><image:title>Adapting Icons and Illustrations for Dark Mode the Right Way with Tailwind</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Adapting&#x20;Icons&#x20;and&#x20;Illustrations&#x20;for&#x20;Dark&#x20;Mode&#x20;the&#x20;Right&#x20;Way&#x20;with&#x20;Tailwind"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-adapting-icons-illustrations-for-dark-mode.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-file-tree-explorer-ui-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-datei-baum-explorer-ui" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-file-tree-explorer-ui-pattern" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-file-tree-explorer-ui-pattern.webp</image:loc><image:title>File Tree Explorer UI with Tailwind CSS: Building a Recursive Folder Structure</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="File&#x20;Tree&#x20;Explorer&#x20;UI&#x20;with&#x20;Tailwind&#x20;CSS&#x3A;&#x20;Building&#x20;a&#x20;Recursive&#x20;Folder&#x20;Structure"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-file-tree-explorer-ui-pattern.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-diff-comparison-view-styling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-diff-vergleichsansicht-styling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-diff-comparison-view-styling" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-diff-comparison-view-styling.webp</image:loc><image:title>Styling Diff and Comparison Views 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="Styling&#x20;Diff&#x20;and&#x20;Comparison&#x20;Views&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-diff-comparison-view-styling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-drag-and-drop-visual-states-dnd-kit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-drag-and-drop-visuelle-zustaende-dnd-kit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-drag-and-drop-visual-states-dnd-kit" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-drag-and-drop-visual-states-dnd-kit.webp</image:loc><image:title>Styling Drag-and-Drop Visual States with Tailwind and dnd-kit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Styling&#x20;Drag-and-Drop&#x20;Visual&#x20;States&#x20;with&#x20;Tailwind&#x20;and&#x20;dnd-kit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-drag-and-drop-visual-states-dnd-kit.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-empty-states-and-zero-data-screens-design</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-empty-states-zero-data-screens" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-empty-states-and-zero-data-screens-design" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-empty-states-and-zero-data-screens-design.webp</image:loc><image:title>Designing Empty States with Tailwind: Beyond 'No Data'</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Empty&#x20;States&#x20;with&#x20;Tailwind&#x3A;&#x20;Beyond&#x20;&#x27;No&#x20;Data&#x27;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-empty-states-and-zero-data-screens-design.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-brand-color-palette-generator-oklch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-farbpaletten-generator-aus-markenfarbe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-brand-color-palette-generator-oklch" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-brand-color-palette-generator-oklch.webp</image:loc><image:title>Brand Color Palette Generator: Building a Full Tailwind Scale from One Hex Value</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Brand&#x20;Color&#x20;Palette&#x20;Generator&#x3A;&#x20;Building&#x20;a&#x20;Full&#x20;Tailwind&#x20;Scale&#x20;from&#x20;One&#x20;Hex&#x20;Value"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-brand-color-palette-generator-oklch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-responsive-lightbox-image-gallery</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-lightbox-bildergalerie-responsive" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-responsive-lightbox-image-gallery" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-responsive-lightbox-image-gallery.webp</image:loc><image:title>Responsive Image Gallery with a Lightbox Overlay in Tailwind CSS</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Responsive&#x20;Image&#x20;Gallery&#x20;with&#x20;a&#x20;Lightbox&#x20;Overlay&#x20;in&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-responsive-lightbox-image-gallery.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-line-clamp-text-wrap-balance-typography-utilities</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-line-clamp-text-wrap-balance-typografie-utilities" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-line-clamp-text-wrap-balance-typography-utilities" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-line-clamp-text-wrap-balance-typography-utilities.webp</image:loc><image:title>line-clamp and text-wrap: balance/pretty: Modern Typography Utilities in Tailwind</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;and&#x20;text-wrap&#x3A;&#x20;balance&#x2F;pretty&#x3A;&#x20;Modern&#x20;Typography&#x20;Utilities&#x20;in&#x20;Tailwind"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-line-clamp-text-wrap-balance-typography-utilities.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-multi-step-onboarding-flows</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-onboarding-flows-mehrschrittig" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-multi-step-onboarding-flows" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-multi-step-onboarding-flows.webp</image:loc><image:title>Designing Multi-Step Onboarding Flows with Tailwind</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Multi-Step&#x20;Onboarding&#x20;Flows&#x20;with&#x20;Tailwind"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-multi-step-onboarding-flows.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-pricing-table-design-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-pricing-table-muster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-pricing-table-design-patterns" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-pricing-table-design-patterns.webp</image:loc><image:title>Pricing Table Patterns with Tailwind: Making Plans Easy to Compare</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;Patterns&#x20;with&#x20;Tailwind&#x3A;&#x20;Making&#x20;Plans&#x20;Easy&#x20;to&#x20;Compare"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-pricing-table-design-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-property-typed-custom-properties</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-property-custom-properties-typisiert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-property-typed-custom-properties" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-property-typed-custom-properties.webp</image:loc><image:title>Combining @property Typed Custom Properties 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="Combining&#x20;&#x40;property&#x20;Typed&#x20;Custom&#x20;Properties&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-property-typed-custom-properties.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-star-rating-component-system-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-rating-star-komponenten-system" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-star-rating-component-system-guide" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-star-rating-component-system-guide.webp</image:loc><image:title>Building Rating and Star Components 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="Building&#x20;Rating&#x20;and&#x20;Star&#x20;Components&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-star-rating-component-system-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-rich-text-editor-styling-tiptap-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-rich-text-editor-styling-tiptap" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-rich-text-editor-styling-tiptap-guide" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-rich-text-editor-styling-tiptap-guide.webp</image:loc><image:title>Rich Text Editor Styling with Tailwind and TipTap: Getting the prose Class Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Rich&#x20;Text&#x20;Editor&#x20;Styling&#x20;with&#x20;Tailwind&#x20;and&#x20;TipTap&#x3A;&#x20;Getting&#x20;the&#x20;prose&#x20;Class&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-rich-text-editor-styling-tiptap-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-scroll-driven-css-animations-view-timeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-scroll-driven-animations-view-timeline" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-scroll-driven-css-animations-view-timeline" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-scroll-driven-css-animations-view-timeline.webp</image:loc><image:title>Scroll-Driven Animations: scroll-timeline and view-timeline Without JavaScript</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Scroll-Driven&#x20;Animations&#x3A;&#x20;scroll-timeline&#x20;and&#x20;view-timeline&#x20;Without&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-scroll-driven-css-animations-view-timeline.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-split-pane-resizable-panels-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-split-pane-resizable-panels" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-split-pane-resizable-panels-guide" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-split-pane-resizable-panels-guide.webp</image:loc><image:title>Building Split-Pane Layouts and Resizable Panels 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="Building&#x20;Split-Pane&#x20;Layouts&#x20;and&#x20;Resizable&#x20;Panels&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-split-pane-resizable-panels-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-standalone-cli-without-nodejs-npm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-standalone-cli-ohne-nodejs-npm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-standalone-cli-without-nodejs-npm" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-standalone-cli-without-nodejs-npm.webp</image:loc><image:title>Tailwind Standalone CLI: Utility-First CSS Without Node.js or npm</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;Standalone&#x20;CLI&#x3A;&#x20;Utility-First&#x20;CSS&#x20;Without&#x20;Node.js&#x20;or&#x20;npm"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-standalone-cli-without-nodejs-npm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-starting-style-entry-animations-without-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-starting-style-entry-animationen-ohne-javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-starting-style-entry-animations-without-javascript" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-starting-style-entry-animations-without-javascript.webp</image:loc><image:title>@starting-style: Entry Animations Without JavaScript in Tailwind</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="&#x40;starting-style&#x3A;&#x20;Entry&#x20;Animations&#x20;Without&#x20;JavaScript&#x20;in&#x20;Tailwind"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-starting-style-entry-animations-without-javascript.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-sticky-table-headers-and-frozen-columns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-sticky-table-header-frozen-columns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-sticky-table-headers-and-frozen-columns" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-sticky-table-headers-and-frozen-columns.webp</image:loc><image:title>Sticky Table Headers and Frozen Columns with Tailwind Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sticky&#x20;Table&#x20;Headers&#x20;and&#x20;Frozen&#x20;Columns&#x20;with&#x20;Tailwind&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-sticky-table-headers-and-frozen-columns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-testimonial-social-proof-sections</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-testimonial-social-proof-sektionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-testimonial-social-proof-sections" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-testimonial-social-proof-sections.webp</image:loc><image:title>Designing Testimonial and Social Proof Sections with Tailwind</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Testimonial&#x20;and&#x20;Social&#x20;Proof&#x20;Sections&#x20;with&#x20;Tailwind"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-testimonial-social-proof-sections.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-timeline-activity-feed-components-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-timeline-activity-feed-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-timeline-activity-feed-components-guide" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-timeline-activity-feed-components-guide.webp</image:loc><image:title>Building Timeline and Activity Feed Components 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="Building&#x20;Timeline&#x20;and&#x20;Activity&#x20;Feed&#x20;Components&#x20;with&#x20;Tailwind&#x20;CSS"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-timeline-activity-feed-components-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind-virtual-scrolling-styling-large-lists</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind-virtual-scrolling-styling-grosse-listen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind-virtual-scrolling-styling-large-lists" />
<lastmod>2026-08-09T10:26:28+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/tailwind-virtual-scrolling-styling-large-lists.webp</image:loc><image:title>Virtual Scrolling with Tailwind: Styling Huge Lists Without the Jank</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;Tailwind&#x3A;&#x20;Styling&#x20;Huge&#x20;Lists&#x20;Without&#x20;the&#x20;Jank"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/tailwind-virtual-scrolling-styling-large-lists.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-defineModel-explained-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-3-5-definemodel-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-defineModel-explained-in-depth" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-defineModel-explained-in-depth.webp</image:loc><image:title>Vue 3.4+ defineModel in Depth: Two-Way Binding Without Boilerplate</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.4&#x2B;&#x20;defineModel&#x20;in&#x20;Depth&#x3A;&#x20;Two-Way&#x20;Binding&#x20;Without&#x20;Boilerplate"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-defineModel-explained-in-depth.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-axe-core-accessibility-ci-automation-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-axe-core-barrierefreiheit-in-ci-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-axe-core-accessibility-ci-automation-guide" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-axe-core-accessibility-ci-automation-guide.webp</image:loc><image:title>Automating Accessibility Testing in the Vue CI Pipeline 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;in&#x20;the&#x20;Vue&#x20;CI&#x20;Pipeline&#x20;with&#x20;axe-core"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-axe-core-accessibility-ci-automation-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-composables-abortcontroller-clean-cancellation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-composables-mit-abortcontroller-sauber-abbrechen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-composables-abortcontroller-clean-cancellation" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-composables-abortcontroller-clean-cancellation.webp</image:loc><image:title>Making Vue Composables Cleanly Cancellable with AbortController</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;Vue&#x20;Composables&#x20;Cleanly&#x20;Cancellable&#x20;with&#x20;AbortController"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-composables-abortcontroller-clean-cancellation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-writing-custom-directives-app-directive-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-custom-directives-eigene-v-direktiven-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-writing-custom-directives-app-directive-api" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-writing-custom-directives-app-directive-api.webp</image:loc><image:title>Writing Custom Vue Directives: The app.directive() API Explained</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;Vue&#x20;Directives&#x3A;&#x20;The&#x20;app.directive&#x28;&#x29;&#x20;API&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-writing-custom-directives-app-directive-api.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-custom-elements-web-components-export</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-custom-elements-web-components-exportieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-custom-elements-web-components-export" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-custom-elements-web-components-export.webp</image:loc><image:title>Exporting Vue Components as Custom Elements: defineCustomElement() in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Exporting&#x20;Vue&#x20;Components&#x20;as&#x20;Custom&#x20;Elements&#x3A;&#x20;defineCustomElement&#x28;&#x29;&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-custom-elements-web-components-export.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-defineexpose-template-refs-on-child-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-defineexpose-und-template-refs-auf-kindkomponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-defineexpose-template-refs-on-child-components" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-defineexpose-template-refs-on-child-components.webp</image:loc><image:title>defineExpose and Template Refs on Child Components in Vue, Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="defineExpose&#x20;and&#x20;Template&#x20;Refs&#x20;on&#x20;Child&#x20;Components&#x20;in&#x20;Vue,&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-defineexpose-template-refs-on-child-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-large-forms-performance-field-level-reactivity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-grosse-formulare-performance-feldweise-reaktivitaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-large-forms-performance-field-level-reactivity" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-large-forms-performance-field-level-reactivity.webp</image:loc><image:title>Performance in Large Vue Forms: Field Level Reactivity Instead of One Big Object</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Performance&#x20;in&#x20;Large&#x20;Vue&#x20;Forms&#x3A;&#x20;Field&#x20;Level&#x20;Reactivity&#x20;Instead&#x20;of&#x20;One&#x20;Big&#x20;Object"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-large-forms-performance-field-level-reactivity.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-msw-api-mocking-vue-tests-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-msw-api-mocking-in-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-msw-api-mocking-vue-tests-guide" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-msw-api-mocking-vue-tests-guide.webp</image:loc><image:title>Mock Service Worker (MSW) for API Mocking in Vue Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mock&#x20;Service&#x20;Worker&#x20;&#x28;MSW&#x29;&#x20;for&#x20;API&#x20;Mocking&#x20;in&#x20;Vue&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-msw-api-mocking-vue-tests-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/nuxt-passkeys-webauthn-authentication</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-auth-passkeys-webauthn-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/nuxt-passkeys-webauthn-authentication" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nuxt-passkeys-webauthn-authentication.webp</image:loc><image:title>Passkeys and WebAuthn in Nuxt Apps: Building Passwordless Login 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="Passkeys&#x20;and&#x20;WebAuthn&#x20;in&#x20;Nuxt&#x20;Apps&#x3A;&#x20;Building&#x20;Passwordless&#x20;Login&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nuxt-passkeys-webauthn-authentication.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-nuxt-content-studio-headless-cms-integration-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-content-studio-headless-cms-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-nuxt-content-studio-headless-cms-integration-guide" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-content-studio-headless-cms-integration-guide.webp</image:loc><image:title>Using Nuxt Content Studio as a Headless CMS Integration</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;Content&#x20;Studio&#x20;as&#x20;a&#x20;Headless&#x20;CMS&#x20;Integration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-content-studio-headless-cms-integration-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-nuxt-content-search-with-fuse-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-content-suche-mit-fuse-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-nuxt-content-search-with-fuse-js" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-content-search-with-fuse-js.webp</image:loc><image:title>Adding Full-Text Search to Nuxt Content Pages with Fuse.js</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Adding&#x20;Full-Text&#x20;Search&#x20;to&#x20;Nuxt&#x20;Content&#x20;Pages&#x20;with&#x20;Fuse.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-content-search-with-fuse-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/nuxt-devtools-custom-modules-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-devtools-eigene-module-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/nuxt-devtools-custom-modules-guide" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nuxt-devtools-custom-modules-guide.webp</image:loc><image:title>Writing Custom Nuxt Modules: Build Hooks and a DevTools Tab of Your Own</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;Nuxt&#x20;Modules&#x3A;&#x20;Build&#x20;Hooks&#x20;and&#x20;a&#x20;DevTools&#x20;Tab&#x20;of&#x20;Your&#x20;Own"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nuxt-devtools-custom-modules-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-nuxt-error-vue-custom-error-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-error-vue-eigene-fehlerseiten-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-nuxt-error-vue-custom-error-pages" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-error-vue-custom-error-pages.webp</image:loc><image:title>Nuxt error.vue: Designing Custom Error Pages</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;error.vue&#x3A;&#x20;Designing&#x20;Custom&#x20;Error&#x20;Pages"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-error-vue-custom-error-pages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-nuxt-i18n-multilingual-nuxt-apps-with-nuxtjs-i18n</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-i18n-mehrsprachige-nuxt-apps-mit-nuxtjs-i18n" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-nuxt-i18n-multilingual-nuxt-apps-with-nuxtjs-i18n" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-i18n-multilingual-nuxt-apps-with-nuxtjs-i18n.webp</image:loc><image:title>Building Multilingual Nuxt Apps with @nuxtjs/i18n</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Multilingual&#x20;Nuxt&#x20;Apps&#x20;with&#x20;&#x40;nuxtjs&#x2F;i18n"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-i18n-multilingual-nuxt-apps-with-nuxtjs-i18n.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-nuxt-image-cdn-providers-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-image-cdn-provider-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-nuxt-image-cdn-providers-compared" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-image-cdn-providers-compared.webp</image:loc><image:title>Nuxt Image CDN Providers Compared: IPX, Cloudinary, and imgix</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;CDN&#x20;Providers&#x20;Compared&#x3A;&#x20;IPX,&#x20;Cloudinary,&#x20;and&#x20;imgix"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-image-cdn-providers-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-nuxt-islands-and-partial-hydration-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-islands-partial-hydration-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-nuxt-islands-and-partial-hydration-explained" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-islands-and-partial-hydration-explained.webp</image:loc><image:title>Understanding Nuxt Islands and Partial Hydration</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;Islands&#x20;and&#x20;Partial&#x20;Hydration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-islands-and-partial-hydration-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-nuxt-layers-shared-config-multiple-apps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-layers-mehrere-apps-geteilte-config" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-nuxt-layers-shared-config-multiple-apps" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-layers-shared-config-multiple-apps.webp</image:loc><image:title>Nuxt Layers: Building Multiple Apps on a Shared Configuration</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;Layers&#x3A;&#x20;Building&#x20;Multiple&#x20;Apps&#x20;on&#x20;a&#x20;Shared&#x20;Configuration"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-layers-shared-config-multiple-apps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-nuxt-nitro-storage-unstorage-key-value-caching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-nitro-storage-kv-unstorage-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-nuxt-nitro-storage-unstorage-key-value-caching" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-nitro-storage-unstorage-key-value-caching.webp</image:loc><image:title>Nuxt Nitro Storage: Using unstorage for Practical Caching</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;Nitro&#x20;Storage&#x3A;&#x20;Using&#x20;unstorage&#x20;for&#x20;Practical&#x20;Caching"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-nitro-storage-unstorage-key-value-caching.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/nuxt-plugins-vs-composables-when-to-use-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/nuxt-plugins-vs-composables-wann-was" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/nuxt-plugins-vs-composables-when-to-use-which" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nuxt-plugins-vs-composables-when-to-use-which.webp</image:loc><image:title>Nuxt Plugins vs. Composables: 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="Nuxt&#x20;Plugins&#x20;vs.&#x20;Composables&#x3A;&#x20;When&#x20;to&#x20;Use&#x20;Which"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nuxt-plugins-vs-composables-when-to-use-which.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-nuxt-runtime-config-vs-build-time-env-variables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-runtime-config-vs-build-time-env-variablen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-nuxt-runtime-config-vs-build-time-env-variables" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-runtime-config-vs-build-time-env-variables.webp</image:loc><image:title>Nuxt Runtime Config vs. Build-Time Environment Variables</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;Runtime&#x20;Config&#x20;vs.&#x20;Build-Time&#x20;Environment&#x20;Variables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-runtime-config-vs-build-time-env-variables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/nuxt-incremental-static-regeneration-isr</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-static-site-incremental-regeneration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/nuxt-incremental-static-regeneration-isr" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/nuxt-incremental-static-regeneration-isr.webp</image:loc><image:title>Incremental Static Regeneration in Nuxt: Keeping Static Pages Fresh in the Background</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Incremental&#x20;Static&#x20;Regeneration&#x20;in&#x20;Nuxt&#x3A;&#x20;Keeping&#x20;Static&#x20;Pages&#x20;Fresh&#x20;in&#x20;the&#x20;Background"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/nuxt-incremental-static-regeneration-isr.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-nuxt-usefetch-vs-useasyncdata-detailed-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-nuxt-usefetch-vs-useasyncdata-unterschiede-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-nuxt-usefetch-vs-useasyncdata-detailed-comparison" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-nuxt-usefetch-vs-useasyncdata-detailed-comparison.webp</image:loc><image:title>Nuxt useFetch vs. useAsyncData: Which Composable to Use, and When</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Nuxt&#x20;useFetch&#x20;vs.&#x20;useAsyncData&#x3A;&#x20;Which&#x20;Composable&#x20;to&#x20;Use,&#x20;and&#x20;When"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-nuxt-usefetch-vs-useasyncdata-detailed-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-reactive-map-set-collections-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-reactive-collections-map-set-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-reactive-map-set-collections-in-practice" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-reactive-map-set-collections-in-practice.webp</image:loc><image:title>Using Reactive Map and Set in Vue: Selection Sets and Lookup Maps</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Reactive&#x20;Map&#x20;and&#x20;Set&#x20;in&#x20;Vue&#x3A;&#x20;Selection&#x20;Sets&#x20;and&#x20;Lookup&#x20;Maps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-reactive-map-set-collections-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-router-data-loaders-router4-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-router-data-loaders-neue-router-4-funktion" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-router-data-loaders-router4-guide" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-router-data-loaders-router4-guide.webp</image:loc><image:title>Vue Router Data Loaders: The New Router 4 Feature Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Router&#x20;Data&#x20;Loaders&#x3A;&#x20;The&#x20;New&#x20;Router&#x20;4&#x20;Feature&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-router-data-loaders-router4-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-script-setup-generics-typed-reusable-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-script-setup-generics-typisierte-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-script-setup-generics-typed-reusable-components" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-script-setup-generics-typed-reusable-components.webp</image:loc><image:title>Vue script setup Generics: Building Typed, Reusable Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;script&#x20;setup&#x20;Generics&#x3A;&#x20;Building&#x20;Typed,&#x20;Reusable&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-script-setup-generics-typed-reusable-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-server-components-experimental-status</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/server-components-experimenteller-stand" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-server-components-experimental-status" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-server-components-experimental-status.webp</image:loc><image:title>Vue Server Components: Experimental Status and Concept Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Server&#x20;Components&#x3A;&#x20;Experimental&#x20;Status&#x20;and&#x20;Concept&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-server-components-experimental-status.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-typing-slots-with-typescript-defineslots</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-slots-typisierung-mit-typescript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-typing-slots-with-typescript-defineslots" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-typing-slots-with-typescript-defineslots.webp</image:loc><image:title>Typing Vue Slots with TypeScript: defineSlots&lt;T&gt;() for Type-Safe Scoped Slots</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Typing&#x20;Vue&#x20;Slots&#x20;with&#x20;TypeScript&#x3A;&#x20;defineSlots&lt;T&gt;&#x28;&#x29;&#x20;for&#x20;Type-Safe&#x20;Scoped&#x20;Slots"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-typing-slots-with-typescript-defineslots.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-teleport-nested-stacked-modals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-teleport-verschachtelte-modals-stapeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-teleport-nested-stacked-modals" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-teleport-nested-stacked-modals.webp</image:loc><image:title>Vue Teleport for Nested, Stacked Modals 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&#x20;Teleport&#x20;for&#x20;Nested,&#x20;Stacked&#x20;Modals&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-teleport-nested-stacked-modals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-test-utils-shallowmount-vs-mount-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-test-utils-shallow-vs-mount-wann-was" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-test-utils-shallowmount-vs-mount-guide" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-test-utils-shallowmount-vs-mount-guide.webp</image:loc><image:title>Vue Test Utils: shallowMount vs. mount Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vue&#x20;Test&#x20;Utils&#x3A;&#x20;shallowMount&#x20;vs.&#x20;mount&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-test-utils-shallowmount-vs-mount-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vue-veevalidate-zod-form-validation-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vue-veevalidate-plus-zod-formular-validierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vue-veevalidate-zod-form-validation-guide" />
<lastmod>2026-08-09T10:26:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vue-veevalidate-zod-form-validation-guide.webp</image:loc><image:title>VeeValidate Combined with Zod for Vue Form Validation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="VeeValidate&#x20;Combined&#x20;with&#x20;Zod&#x20;for&#x20;Vue&#x20;Form&#x20;Validation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vue-veevalidate-zod-form-validation-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-article-newsarticle-schema-publishers-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-article-und-newsarticle-schema-fuer-publisher" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-article-newsarticle-schema-publishers-guide" />
<lastmod>2026-08-09T10:27:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-article-newsarticle-schema-publishers-guide.webp</image:loc><image:title>Using Article and NewsArticle Schema Correctly for Publishers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Article&#x20;and&#x20;NewsArticle&#x20;Schema&#x20;Correctly&#x20;for&#x20;Publishers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-article-newsarticle-schema-publishers-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-author-schema-eeat-technical-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-author-schema-und-eeat-technisch-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-author-schema-eeat-technical-implementation" />
<lastmod>2026-08-09T10:27:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-author-schema-eeat-technical-implementation.webp</image:loc><image:title>Implementing Author Schema and E-E-A-T 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;Author&#x20;Schema&#x20;and&#x20;E-E-A-T&#x20;Technically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-author-schema-eeat-technical-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-content-decay-diagnosing-falling-rankings</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-content-decay-sinkende-rankings-systematisch-diagnostizieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-content-decay-diagnosing-falling-rankings" />
<lastmod>2026-08-09T10:27:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-content-decay-diagnosing-falling-rankings.webp</image:loc><image:title>Content Decay: Systematically Diagnosing Falling Rankings on Existing Pages</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Content&#x20;Decay&#x3A;&#x20;Systematically&#x20;Diagnosing&#x20;Falling&#x20;Rankings&#x20;on&#x20;Existing&#x20;Pages"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-content-decay-diagnosing-falling-rankings.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-crawl-stats-report-google-search-console-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-crawl-stats-report-search-console-interpretieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-crawl-stats-report-google-search-console-explained" />
<lastmod>2026-08-09T10:27:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-crawl-stats-report-google-search-console-explained.webp</image:loc><image:title>Interpreting the Crawl Stats Report in Google Search Console</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Interpreting&#x20;the&#x20;Crawl&#x20;Stats&#x20;Report&#x20;in&#x20;Google&#x20;Search&#x20;Console"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-crawl-stats-report-google-search-console-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-featured-snippets-optimization-position-zero</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-featured-snippets-optimieren-position-null" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-featured-snippets-optimization-position-zero" />
<lastmod>2026-08-09T10:27:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-featured-snippets-optimization-position-zero.webp</image:loc><image:title>Optimizing Featured Snippets: How to Win Position Zero on Google</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;Featured&#x20;Snippets&#x3A;&#x20;How&#x20;to&#x20;Win&#x20;Position&#x20;Zero&#x20;on&#x20;Google"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-featured-snippets-optimization-position-zero.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-ga4-vs-search-console-data-reconciliation-discrepancies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-ga4-vs-search-console-datenabgleich-und-diskrepanzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-ga4-vs-search-console-data-reconciliation-discrepancies" />
<lastmod>2026-08-09T10:27:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-ga4-vs-search-console-data-reconciliation-discrepancies.webp</image:loc><image:title>GA4 vs. Google Search Console: Reconciling Data and Common Discrepancies</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GA4&#x20;vs.&#x20;Google&#x20;Search&#x20;Console&#x3A;&#x20;Reconciling&#x20;Data&#x20;and&#x20;Common&#x20;Discrepancies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-ga4-vs-search-console-data-reconciliation-discrepancies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-google-image-search-ranking-beyond-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-google-bildersuche-ranking-faktoren-jenseits-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-google-image-search-ranking-beyond-performance" />
<lastmod>2026-08-09T10:27:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-google-image-search-ranking-beyond-performance.webp</image:loc><image:title>Google Image Search: Ranking Factors Beyond Loading Performance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Google&#x20;Image&#x20;Search&#x3A;&#x20;Ranking&#x20;Factors&#x20;Beyond&#x20;Loading&#x20;Performance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-google-image-search-ranking-beyond-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-optimizing-google-business-profile-local-seo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-google-business-profile-local-seo-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-optimizing-google-business-profile-local-seo" />
<lastmod>2026-08-09T10:27:13+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-optimizing-google-business-profile-local-seo.webp</image:loc><image:title>Optimizing Your Google Business Profile: Local SEO for More Local Visibility</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;Your&#x20;Google&#x20;Business&#x20;Profile&#x3A;&#x20;Local&#x20;SEO&#x20;for&#x20;More&#x20;Local&#x20;Visibility"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-optimizing-google-business-profile-local-seo.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-optimizing-for-google-discover-as-an-additional-traffic-source</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-google-discover-traffic-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-optimizing-for-google-discover-as-an-additional-traffic-source" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-optimizing-for-google-discover-as-an-additional-traffic-source.webp</image:loc><image:title>Optimizing for Google Discover as an Additional Traffic Source</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;Google&#x20;Discover&#x20;as&#x20;an&#x20;Additional&#x20;Traffic&#x20;Source"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-optimizing-for-google-discover-as-an-additional-traffic-source.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-headless-pwa-ecommerce-seo-architecture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-headless-pwa-e-commerce-seo-architektur" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-headless-pwa-ecommerce-seo-architecture" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-headless-pwa-ecommerce-seo-architecture.webp</image:loc><image:title>SEO Architecture for Headless and PWA E-Commerce</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SEO&#x20;Architecture&#x20;for&#x20;Headless&#x20;and&#x20;PWA&#x20;E-Commerce"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-headless-pwa-ecommerce-seo-architecture.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-using-internal-site-search-as-an-seo-data-source</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-interne-suche-als-seo-datenquelle-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-using-internal-site-search-as-an-seo-data-source" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-using-internal-site-search-as-an-seo-data-source.webp</image:loc><image:title>Using Internal Site Search as an SEO Data Source</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Internal&#x20;Site&#x20;Search&#x20;as&#x20;an&#x20;SEO&#x20;Data&#x20;Source"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-using-internal-site-search-as-an-seo-data-source.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-detecting-resolving-keyword-cannibalization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-keyword-kannibalisierung-erkennen-und-loesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-detecting-resolving-keyword-cannibalization" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-detecting-resolving-keyword-cannibalization.webp</image:loc><image:title>Detecting and Resolving Keyword Cannibalization</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;Resolving&#x20;Keyword&#x20;Cannibalization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-detecting-resolving-keyword-cannibalization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-llm-citability-chatgpt-perplexity-traffic-source</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-llm-zitierbarkeit-chatgpt-perplexity-als-traffic-quelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-llm-citability-chatgpt-perplexity-traffic-source" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-llm-citability-chatgpt-perplexity-traffic-source.webp</image:loc><image:title>LLM Citability: How ChatGPT and Perplexity Become a New Traffic Source</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="LLM&#x20;Citability&#x3A;&#x20;How&#x20;ChatGPT&#x20;and&#x20;Perplexity&#x20;Become&#x20;a&#x20;New&#x20;Traffic&#x20;Source"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-llm-citability-chatgpt-perplexity-traffic-source.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-magento-layered-navigation-seo-friendly-filter-urls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-magento-layered-navigation-seo-freundliche-filter-urls" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-magento-layered-navigation-seo-friendly-filter-urls" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-magento-layered-navigation-seo-friendly-filter-urls.webp</image:loc><image:title>Making Magento Layered Navigation SEO-Friendly: Controlling Filter URLs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;Magento&#x20;Layered&#x20;Navigation&#x20;SEO-Friendly&#x3A;&#x20;Controlling&#x20;Filter&#x20;URLs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-magento-layered-navigation-seo-friendly-filter-urls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-modern-pagination-seo-without-rel-next-prev</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-moderne-pagination-seo-ohne-rel-next-prev" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-modern-pagination-seo-without-rel-next-prev" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-modern-pagination-seo-without-rel-next-prev.webp</image:loc><image:title>Modern Pagination SEO Without rel=next/prev</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modern&#x20;Pagination&#x20;SEO&#x20;Without&#x20;rel&#x3D;next&#x2F;prev"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-modern-pagination-seo-without-rel-next-prev.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-noindex-vs-canonical-vs-robots-txt-decision-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-noindex-vs-canonical-vs-robots-txt-entscheidungsrahmen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-noindex-vs-canonical-vs-robots-txt-decision-framework" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-noindex-vs-canonical-vs-robots-txt-decision-framework.webp</image:loc><image:title>Noindex vs. Canonical vs. robots.txt: A Clear Decision Framework</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Noindex&#x20;vs.&#x20;Canonical&#x20;vs.&#x20;robots.txt&#x3A;&#x20;A&#x20;Clear&#x20;Decision&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-noindex-vs-canonical-vs-robots-txt-decision-framework.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-finding-fixing-orphan-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-orphan-pages-aufspueren-und-beheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-finding-fixing-orphan-pages" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-finding-fixing-orphan-pages.webp</image:loc><image:title>Finding and Fixing Orphan Pages</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;Orphan&#x20;Pages"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-finding-fixing-orphan-pages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-winning-people-also-ask-boxes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-people-also-ask-fragen-gezielt-erobern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-winning-people-also-ask-boxes" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-winning-people-also-ask-boxes.webp</image:loc><image:title>Winning People Also Ask: How to Target PAA Boxes for More Visibility</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Winning&#x20;People&#x20;Also&#x20;Ask&#x3A;&#x20;How&#x20;to&#x20;Target&#x20;PAA&#x20;Boxes&#x20;for&#x20;More&#x20;Visibility"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-winning-people-also-ask-boxes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-avoiding-redirect-chains-migration-mapping</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-redirect-chains-redirect-mapping-migrationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-avoiding-redirect-chains-migration-mapping" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-avoiding-redirect-chains-migration-mapping.webp</image:loc><image:title>Avoiding Redirect Chains: Clean Redirect Mapping for Website Migrations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Redirect&#x20;Chains&#x3A;&#x20;Clean&#x20;Redirect&#x20;Mapping&#x20;for&#x20;Website&#x20;Migrations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-avoiding-redirect-chains-migration-mapping.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-seo-ab-testing-methodology-splitsignal-searchpilot</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-seo-ab-testing-methodik-mit-splitsignal-searchpilot" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-seo-ab-testing-methodology-splitsignal-searchpilot" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-seo-ab-testing-methodology-splitsignal-searchpilot.webp</image:loc><image:title>SEO A/B Testing with SplitSignal and SearchPilot: Methodology Over Guesswork</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SEO&#x20;A&#x2F;B&#x20;Testing&#x20;with&#x20;SplitSignal&#x20;and&#x20;SearchPilot&#x3A;&#x20;Methodology&#x20;Over&#x20;Guesswork"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-seo-ab-testing-methodology-splitsignal-searchpilot.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-seo-content-briefing-templates-writers-actually-use</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-seo-content-briefing-vorlagen-fuer-autoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-seo-content-briefing-templates-writers-actually-use" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-seo-content-briefing-templates-writers-actually-use.webp</image:loc><image:title>SEO Content Briefing Templates Writers Actually Use</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SEO&#x20;Content&#x20;Briefing&#x20;Templates&#x20;Writers&#x20;Actually&#x20;Use"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-seo-content-briefing-templates-writers-actually-use.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-seo-for-infinite-scroll-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-seo-fuer-infinite-scroll-seiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-seo-for-infinite-scroll-pages" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-seo-for-infinite-scroll-pages.webp</image:loc><image:title>SEO for Infinite Scroll Pages: Staying Crawlable Despite Endless Loading</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SEO&#x20;for&#x20;Infinite&#x20;Scroll&#x20;Pages&#x3A;&#x20;Staying&#x20;Crawlable&#x20;Despite&#x20;Endless&#x20;Loading"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-seo-for-infinite-scroll-pages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-building-seo-monitoring-and-alerting-for-ranking-drops</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-seo-monitoring-alerting-bei-ranking-einbruechen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-building-seo-monitoring-and-alerting-for-ranking-drops" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-building-seo-monitoring-and-alerting-for-ranking-drops.webp</image:loc><image:title>Building SEO Monitoring and Alerting for Ranking Drops</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;SEO&#x20;Monitoring&#x20;and&#x20;Alerting&#x20;for&#x20;Ranking&#x20;Drops"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-building-seo-monitoring-and-alerting-for-ranking-drops.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-serp-features-overview-search-term</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-serp-features-uebersicht-suchbegriff" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-serp-features-overview-search-term" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-serp-features-overview-search-term.webp</image:loc><image:title>SERP Features at a Glance: Which Feature Is Realistic for Which Search Term</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SERP&#x20;Features&#x20;at&#x20;a&#x20;Glance&#x3A;&#x20;Which&#x20;Feature&#x20;Is&#x20;Realistic&#x20;for&#x20;Which&#x20;Search&#x20;Term"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-serp-features-overview-search-term.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-sitelinks-search-box-schema-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-sitelinks-search-box-schema-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-sitelinks-search-box-schema-implementation" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-sitelinks-search-box-schema-implementation.webp</image:loc><image:title>Implementing Sitelinks Search Box Schema</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Sitelinks&#x20;Search&#x20;Box&#x20;Schema"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-sitelinks-search-box-schema-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-structured-data-monitoring-automated-ci-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-strukturierte-daten-monitoring-in-ci-automatisiert-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-structured-data-monitoring-automated-ci-testing" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-structured-data-monitoring-automated-ci-testing.webp</image:loc><image:title>Testing Structured Data in CI: Automated Checks Instead of Manual Rich Results Testing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;Structured&#x20;Data&#x20;in&#x20;CI&#x3A;&#x20;Automated&#x20;Checks&#x20;Instead&#x20;of&#x20;Manual&#x20;Rich&#x20;Results&#x20;Testing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-structured-data-monitoring-automated-ci-testing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-identifying-consolidating-thin-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-thin-content-identifizieren-und-konsolidieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-identifying-consolidating-thin-content" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-identifying-consolidating-thin-content.webp</image:loc><image:title>Identifying and Consolidating Thin Content</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;Consolidating&#x20;Thin&#x20;Content"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-identifying-consolidating-thin-content.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-handling-url-parameters-cleanly-for-seo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-url-parameter-handling-seo-technisch-sauber-loesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-handling-url-parameters-cleanly-for-seo" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-handling-url-parameters-cleanly-for-seo.webp</image:loc><image:title>Handling URL Parameters Cleanly for SEO</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Handling&#x20;URL&#x20;Parameters&#x20;Cleanly&#x20;for&#x20;SEO"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-handling-url-parameters-cleanly-for-seo.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-videoobject-schema-video-seo-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-videoobject-schema-fuer-video-seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-videoobject-schema-video-seo-implementation" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-videoobject-schema-video-seo-implementation.webp</image:loc><image:title>Implementing VideoObject Schema for Video SEO in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;VideoObject&#x20;Schema&#x20;for&#x20;Video&#x20;SEO&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-videoobject-schema-video-seo-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo-website-relaunch-seo-checklist-domain-migration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo-website-relaunch-seo-checkliste-domainwechsel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo-website-relaunch-seo-checklist-domain-migration" />
<lastmod>2026-08-09T10:27:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo-website-relaunch-seo-checklist-domain-migration.webp</image:loc><image:title>Website Relaunch SEO Checklist for Domain Migrations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Website&#x20;Relaunch&#x20;SEO&#x20;Checklist&#x20;for&#x20;Domain&#x20;Migrations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo-website-relaunch-seo-checklist-domain-migration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-avif-adaptive-quality-based-on-network-speed</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-avif-adaptive-qualitaet-je-nach-netzwerkgeschwindigkeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-avif-adaptive-quality-based-on-network-speed" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-avif-adaptive-quality-based-on-network-speed.webp</image:loc><image:title>Serving AVIF With Adaptive Quality Based on Network Speed</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Serving&#x20;AVIF&#x20;With&#x20;Adaptive&#x20;Quality&#x20;Based&#x20;on&#x20;Network&#x20;Speed"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-avif-adaptive-quality-based-on-network-speed.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-back-forward-cache-bfcache-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-back-forward-cache-bfcache-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-back-forward-cache-bfcache-optimization" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-back-forward-cache-bfcache-optimization.webp</image:loc><image:title>Optimizing the Back/Forward Cache (bfcache)</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;Back&#x2F;Forward&#x20;Cache&#x20;&#x28;bfcache&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-back-forward-cache-bfcache-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-brotli-vs-zstd-compression-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-brotli-vs-zstd-kompression-im-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-brotli-vs-zstd-compression-compared" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-brotli-vs-zstd-compression-compared.webp</image:loc><image:title>Brotli vs. Zstandard (Zstd): A Practical Compression Comparison</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Brotli&#x20;vs.&#x20;Zstandard&#x20;&#x28;Zstd&#x29;&#x3A;&#x20;A&#x20;Practical&#x20;Compression&#x20;Comparison"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-brotli-vs-zstd-compression-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-cache-invalidation-strategies-in-distributed-systems</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-cache-invalidierung-strategien-bei-verteilten-systemen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-cache-invalidation-strategies-in-distributed-systems" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-cache-invalidation-strategies-in-distributed-systems.webp</image:loc><image:title>Cache Invalidation Strategies in Distributed Systems, Approached Practically</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;in&#x20;Distributed&#x20;Systems,&#x20;Approached&#x20;Practically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-cache-invalidation-strategies-in-distributed-systems.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-client-hints-network-aware-loading</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-client-hints-netzwerkbewusstes-laden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-client-hints-network-aware-loading" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-client-hints-network-aware-loading.webp</image:loc><image:title>Using Client Hints for Network-Aware Loading</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Client&#x20;Hints&#x20;for&#x20;Network-Aware&#x20;Loading"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-client-hints-network-aware-loading.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-finding-cumulative-layout-shift-causes-systematically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-cumulative-layout-shift-ursachen-systematisch-finden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-finding-cumulative-layout-shift-causes-systematically" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-finding-cumulative-layout-shift-causes-systematically.webp</image:loc><image:title>Cumulative Layout Shift: Finding the Causes Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cumulative&#x20;Layout&#x20;Shift&#x3A;&#x20;Finding&#x20;the&#x20;Causes&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-finding-cumulative-layout-shift-causes-systematically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-database-read-replicas-for-performance-scaling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-datenbank-read-replicas-fuer-performance-skalierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-database-read-replicas-for-performance-scaling" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-database-read-replicas-for-performance-scaling.webp</image:loc><image:title>Using Database Read Replicas for Performance Scaling</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Database&#x20;Read&#x20;Replicas&#x20;for&#x20;Performance&#x20;Scaling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-database-read-replicas-for-performance-scaling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-fetchpriority-resource-prioritization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-fetchpriority-attribut-ressourcen-priorisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-fetchpriority-resource-prioritization" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-fetchpriority-resource-prioritization.webp</image:loc><image:title>The fetchpriority Attribute: Targeted Resource Prioritization</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;fetchpriority&#x20;Attribute&#x3A;&#x20;Targeted&#x20;Resource&#x20;Prioritization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-fetchpriority-resource-prioritization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-font-subsetting-and-variable-fonts-for-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-font-subsetting-und-variable-fonts-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-font-subsetting-and-variable-fonts-for-performance" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-font-subsetting-and-variable-fonts-for-performance.webp</image:loc><image:title>Font Subsetting and Variable Fonts for Better Performance</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Font&#x20;Subsetting&#x20;and&#x20;Variable&#x20;Fonts&#x20;for&#x20;Better&#x20;Performance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-font-subsetting-and-variable-fonts-for-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-solving-graphql-n-plus-1-with-dataloader-batching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-graphql-n-plus-1-mit-dataloader-batching-loesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-solving-graphql-n-plus-1-with-dataloader-batching" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-solving-graphql-n-plus-1-with-dataloader-batching.webp</image:loc><image:title>Solving the GraphQL N+1 Problem with DataLoader Batching</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Solving&#x20;the&#x20;GraphQL&#x20;N&#x2B;1&#x20;Problem&#x20;with&#x20;DataLoader&#x20;Batching"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-solving-graphql-n-plus-1-with-dataloader-batching.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-import-maps-native-es-modules</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-import-maps-native-es-modules-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-import-maps-native-es-modules" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-import-maps-native-es-modules.webp</image:loc><image:title>Import Maps and Native ES Modules: Performance Implications</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&#x20;and&#x20;Native&#x20;ES&#x20;Modules&#x3A;&#x20;Performance&#x20;Implications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-import-maps-native-es-modules.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-reducing-javascript-hydration-cost</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-javascript-hydration-kosten-reduzieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-reducing-javascript-hydration-cost" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-reducing-javascript-hydration-cost.webp</image:loc><image:title>Reducing JavaScript Hydration Cost: Partial Hydration and Resumability</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reducing&#x20;JavaScript&#x20;Hydration&#x20;Cost&#x3A;&#x20;Partial&#x20;Hydration&#x20;and&#x20;Resumability"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-reducing-javascript-hydration-cost.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-identifying-and-optimizing-the-largest-contentful-paint-element</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-largest-contentful-paint-element-identifizieren-und-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-identifying-and-optimizing-the-largest-contentful-paint-element" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-identifying-and-optimizing-the-largest-contentful-paint-element.webp</image:loc><image:title>Largest Contentful Paint: Identifying and Optimizing the Right Element</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Largest&#x20;Contentful&#x20;Paint&#x3A;&#x20;Identifying&#x20;and&#x20;Optimizing&#x20;the&#x20;Right&#x20;Element"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-identifying-and-optimizing-the-largest-contentful-paint-element.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-long-animation-frames-api-loaf-diagnostics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-long-animation-frames-api-loaf-diagnostik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-long-animation-frames-api-loaf-diagnostics" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-long-animation-frames-api-loaf-diagnostics.webp</image:loc><image:title>The Long Animation Frames API (LoAF) for Diagnosing Main-Thread Blocking</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Long&#x20;Animation&#x20;Frames&#x20;API&#x20;&#x28;LoAF&#x29;&#x20;for&#x20;Diagnosing&#x20;Main-Thread&#x20;Blocking"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-long-animation-frames-api-loaf-diagnostics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-magento-full-page-cache-warmup-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-magento-full-page-cache-warmup-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-magento-full-page-cache-warmup-strategies" />
<lastmod>2026-08-09T10:27:44+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-magento-full-page-cache-warmup-strategies.webp</image:loc><image:title>Magento Full Page Cache Warmup Strategies Against the Thundering Herd Problem</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Full&#x20;Page&#x20;Cache&#x20;Warmup&#x20;Strategies&#x20;Against&#x20;the&#x20;Thundering&#x20;Herd&#x20;Problem"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-magento-full-page-cache-warmup-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-message-queue-based-offloading-for-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-message-queue-basiertes-offloading-fuer-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-message-queue-based-offloading-for-performance" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-message-queue-based-offloading-for-performance.webp</image:loc><image:title>Message Queue-Based Offloading for Better Performance</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-Based&#x20;Offloading&#x20;for&#x20;Better&#x20;Performance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-message-queue-based-offloading-for-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-measuring-ab-testing-tool-performance-impact</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-performance-impact-von-a-b-testing-tools-messen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-measuring-ab-testing-tool-performance-impact" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-measuring-ab-testing-tool-performance-impact.webp</image:loc><image:title>Measuring and Minimizing the Performance Impact of A/B Testing Tools</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;Minimizing&#x20;the&#x20;Performance&#x20;Impact&#x20;of&#x20;A&#x2F;B&#x20;Testing&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-measuring-ab-testing-tool-performance-impact.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-real-device-testing-for-low-end-hardware</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-performance-testing-auf-echten-lowend-geraeten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-real-device-testing-for-low-end-hardware" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-real-device-testing-for-low-end-hardware.webp</image:loc><image:title>Performance Testing on Real Low-End Devices Instead of Desktop Simulation Alone</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Performance&#x20;Testing&#x20;on&#x20;Real&#x20;Low-End&#x20;Devices&#x20;Instead&#x20;of&#x20;Desktop&#x20;Simulation&#x20;Alone"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-real-device-testing-for-low-end-hardware.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-priority-hints-and-preload-strategies-for-load-order</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-priority-hints-kombiniert-mit-preload-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-priority-hints-and-preload-strategies-for-load-order" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-priority-hints-and-preload-strategies-for-load-order.webp</image:loc><image:title>Priority Hints Combined With Preload Strategies for Optimal Load Order</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Priority&#x20;Hints&#x20;Combined&#x20;With&#x20;Preload&#x20;Strategies&#x20;for&#x20;Optimal&#x20;Load&#x20;Order"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-priority-hints-and-preload-strategies-for-load-order.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-redis-cluster-performance-tuning-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-redis-cluster-performance-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-redis-cluster-performance-tuning-guide" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-redis-cluster-performance-tuning-guide.webp</image:loc><image:title>Redis Cluster Performance Tuning for High-Traffic 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;Performance&#x20;Tuning&#x20;for&#x20;High-Traffic&#x20;Magento&#x20;Stores"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-redis-cluster-performance-tuning-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-request-idle-callback-and-scheduler-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-request-idle-callback-und-scheduler-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-request-idle-callback-and-scheduler-api" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-request-idle-callback-and-scheduler-api.webp</image:loc><image:title>requestIdleCallback and the New Scheduler API for Non-Urgent Work</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="requestIdleCallback&#x20;and&#x20;the&#x20;New&#x20;Scheduler&#x20;API&#x20;for&#x20;Non-Urgent&#x20;Work"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-request-idle-callback-and-scheduler-api.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-server-timing-api-backend-visibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-server-timing-api-backend-performance-sichtbar-machen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-server-timing-api-backend-visibility" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-server-timing-api-backend-visibility.webp</image:loc><image:title>Server-Timing API: Making Backend Performance Visible 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="Server-Timing&#x20;API&#x3A;&#x20;Making&#x20;Backend&#x20;Performance&#x20;Visible&#x20;in&#x20;the&#x20;Browser"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-server-timing-api-backend-visibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-skeleton-screens-perceived-performance-vs-real-metrics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-skeleton-screens-gefuehlte-performance-vs-echte-metriken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-skeleton-screens-perceived-performance-vs-real-metrics" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-skeleton-screens-perceived-performance-vs-real-metrics.webp</image:loc><image:title>Skeleton Screens: Perceived Performance vs. Actual Metrics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Skeleton&#x20;Screens&#x3A;&#x20;Perceived&#x20;Performance&#x20;vs.&#x20;Actual&#x20;Metrics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-skeleton-screens-perceived-performance-vs-real-metrics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-speculation-rules-api-predictive-prerendering</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-speculation-rules-api-praediktives-prerendering" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-speculation-rules-api-predictive-prerendering" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-speculation-rules-api-predictive-prerendering.webp</image:loc><image:title>Speculation Rules API: Predictive Prerendering for Seamless Navigation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Speculation&#x20;Rules&#x20;API&#x3A;&#x20;Predictive&#x20;Prerendering&#x20;for&#x20;Seamless&#x20;Navigation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-speculation-rules-api-predictive-prerendering.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-streaming-ssr-with-react-18-real-performance-gains</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-streaming-ssr-react-18-performance-vorteile" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-streaming-ssr-with-react-18-real-performance-gains" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-streaming-ssr-with-react-18-real-performance-gains.webp</image:loc><image:title>Streaming SSR With React 18: The Real Performance Gains</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;With&#x20;React&#x20;18&#x3A;&#x20;The&#x20;Real&#x20;Performance&#x20;Gains"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-streaming-ssr-with-react-18-real-performance-gains.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-time-to-first-byte-server-side-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-time-to-first-byte-ttfb-serverseitige-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-time-to-first-byte-server-side-optimization" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-time-to-first-byte-server-side-optimization.webp</image:loc><image:title>Time to First Byte (TTFB): A Deep Dive into Server-Side Optimization</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Time&#x20;to&#x20;First&#x20;Byte&#x20;&#x28;TTFB&#x29;&#x3A;&#x20;A&#x20;Deep&#x20;Dive&#x20;into&#x20;Server-Side&#x20;Optimization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-time-to-first-byte-server-side-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-view-transitions-api-performance-page-transitions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-view-transitions-api-performance-seitenuebergaenge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-view-transitions-api-performance-page-transitions" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-view-transitions-api-performance-page-transitions.webp</image:loc><image:title>The View Transitions API and Its Performance Impact on Page Transitions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;View&#x20;Transitions&#x20;API&#x20;and&#x20;Its&#x20;Performance&#x20;Impact&#x20;on&#x20;Page&#x20;Transitions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-view-transitions-api-performance-page-transitions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-web-vitals-attribution-api-root-cause-diagnosis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-web-vitals-attribution-api-ursachen-diagnostizieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-web-vitals-attribution-api-root-cause-diagnosis" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-web-vitals-attribution-api-root-cause-diagnosis.webp</image:loc><image:title>Using the Web Vitals Attribution API for Root Cause Diagnosis</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;Web&#x20;Vitals&#x20;Attribution&#x20;API&#x20;for&#x20;Root&#x20;Cause&#x20;Diagnosis"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-web-vitals-attribution-api-root-cause-diagnosis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-webassembly-for-performance-critical-operations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-webassembly-fuer-performance-kritische-operationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-webassembly-for-performance-critical-operations" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-webassembly-for-performance-critical-operations.webp</image:loc><image:title>WebAssembly for Performance-Critical Operations in the Web Frontend</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="WebAssembly&#x20;for&#x20;Performance-Critical&#x20;Operations&#x20;in&#x20;the&#x20;Web&#x20;Frontend"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-webassembly-for-performance-critical-operations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/performance-integrating-webpagetest-api-into-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/performance-webpagetest-api-automatisiert-in-ci-einbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/performance-integrating-webpagetest-api-into-ci" />
<lastmod>2026-08-09T10:27:45+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/performance-integrating-webpagetest-api-into-ci.webp</image:loc><image:title>Integrating the WebPageTest API Automatically into a 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;the&#x20;WebPageTest&#x20;API&#x20;Automatically&#x20;into&#x20;a&#x20;CI&#x20;Pipeline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/performance-integrating-webpagetest-api-into-ci.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-api-versioning-and-its-security-implications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-api-versionierung-und-security-implikationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-api-versioning-and-its-security-implications" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-api-versioning-and-its-security-implications.webp</image:loc><image:title>API Versioning and Its Security Implications</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;and&#x20;Its&#x20;Security&#x20;Implications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-api-versioning-and-its-security-implications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-bola-idor-broken-object-level-authorization-prevention</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-broken-object-level-authorization-bola-idor-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-bola-idor-broken-object-level-authorization-prevention" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-bola-idor-broken-object-level-authorization-prevention.webp</image:loc><image:title>Preventing Broken Object Level Authorization (BOLA/IDOR) in APIs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preventing&#x20;Broken&#x20;Object&#x20;Level&#x20;Authorization&#x20;&#x28;BOLA&#x2F;IDOR&#x29;&#x20;in&#x20;APIs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-bola-idor-broken-object-level-authorization-prevention.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-certificate-pinning-mobile-api-clients</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-certificate-pinning-fuer-mobile-und-api-clients" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-certificate-pinning-mobile-api-clients" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-certificate-pinning-mobile-api-clients.webp</image:loc><image:title>Certificate Pinning for Mobile Apps and API Clients</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Certificate&#x20;Pinning&#x20;for&#x20;Mobile&#x20;Apps&#x20;and&#x20;API&#x20;Clients"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-certificate-pinning-mobile-api-clients.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-container-image-scanning-in-ci-cd-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-container-image-scanning-ci-cd" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-container-image-scanning-in-ci-cd-pipelines" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-container-image-scanning-in-ci-cd-pipelines.webp</image:loc><image:title>Container Image Scanning in CI/CD: Catching Vulnerabilities Before Deployment</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Container&#x20;Image&#x20;Scanning&#x20;in&#x20;CI&#x2F;CD&#x3A;&#x20;Catching&#x20;Vulnerabilities&#x20;Before&#x20;Deployment"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-container-image-scanning-in-ci-cd-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-csp-level-3-nonce-based-content-security-policy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-csp-level-3-nonce-basierte-content-security-policy" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-csp-level-3-nonce-based-content-security-policy" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-csp-level-3-nonce-based-content-security-policy.webp</image:loc><image:title>CSP Level 3: Nonce-Based Content Security Policy Instead of unsafe-inline</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="CSP&#x20;Level&#x20;3&#x3A;&#x20;Nonce-Based&#x20;Content&#x20;Security&#x20;Policy&#x20;Instead&#x20;of&#x20;unsafe-inline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-csp-level-3-nonce-based-content-security-policy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-dns-security-dnssec-caa-records-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-dns-security-dnssec-und-caa-records" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-dns-security-dnssec-caa-records-in-practice" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-dns-security-dnssec-caa-records-in-practice.webp</image:loc><image:title>DNS Security in Practice: DNSSEC and CAA Records</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="DNS&#x20;Security&#x20;in&#x20;Practice&#x3A;&#x20;DNSSEC&#x20;and&#x20;CAA&#x20;Records"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-dns-security-dnssec-caa-records-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-gdpr-data-breach-notification-process</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-dsgvo-meldeprozess-datenschutzverletzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-gdpr-data-breach-notification-process" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-gdpr-data-breach-notification-process.webp</image:loc><image:title>GDPR: Implementing the Data Breach Notification Process in Practice</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;Implementing&#x20;the&#x20;Data&#x20;Breach&#x20;Notification&#x20;Process&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-gdpr-data-breach-notification-process.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-applying-fuzzing-for-security-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-fuzzing-fuer-security-testing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-applying-fuzzing-for-security-testing" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-applying-fuzzing-for-security-testing.webp</image:loc><image:title>Applying Fuzzing for Security Testing in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Applying&#x20;Fuzzing&#x20;for&#x20;Security&#x20;Testing&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-applying-fuzzing-for-security-testing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-understanding-and-preventing-http-request-smuggling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-http-request-smuggling-verstehen-und-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-understanding-and-preventing-http-request-smuggling" />
<lastmod>2026-08-09T10:28:03+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-http-request-smuggling.webp</image:loc><image:title>Understanding and Preventing HTTP Request Smuggling</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;Preventing&#x20;HTTP&#x20;Request&#x20;Smuggling"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-understanding-and-preventing-http-request-smuggling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-scanning-infrastructure-as-code-for-misconfigurations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-infrastructure-as-code-security-scanning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-scanning-infrastructure-as-code-for-misconfigurations" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-scanning-infrastructure-as-code-for-misconfigurations.webp</image:loc><image:title>Infrastructure-as-Code Security Scanning: Catching Misconfigurations Before Deployment</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Infrastructure-as-Code&#x20;Security&#x20;Scanning&#x3A;&#x20;Catching&#x20;Misconfigurations&#x20;Before&#x20;Deployment"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-scanning-infrastructure-as-code-for-misconfigurations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-understanding-and-preventing-log-injection-and-log-forging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-log-injection-log-forging-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-understanding-and-preventing-log-injection-and-log-forging" />
<lastmod>2026-08-09T10:28:03+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-log-injection-and-log-forging.webp</image:loc><image:title>Understanding and Preventing Log Injection and Log Forging</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;Preventing&#x20;Log&#x20;Injection&#x20;and&#x20;Log&#x20;Forging"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-understanding-and-preventing-log-injection-and-log-forging.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-mass-assignment-vulnerabilities-prevent-allowlist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-mass-assignment-schwachstellen-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-mass-assignment-vulnerabilities-prevent-allowlist" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-mass-assignment-vulnerabilities-prevent-allowlist.webp</image:loc><image:title>Preventing Mass Assignment Vulnerabilities</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preventing&#x20;Mass&#x20;Assignment&#x20;Vulnerabilities"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-mass-assignment-vulnerabilities-prevent-allowlist.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-reliably-preventing-open-redirect-vulnerabilities</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-open-redirect-schwachstellen-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-reliably-preventing-open-redirect-vulnerabilities" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-reliably-preventing-open-redirect-vulnerabilities.webp</image:loc><image:title>Reliably Preventing Open Redirect Vulnerabilities</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reliably&#x20;Preventing&#x20;Open&#x20;Redirect&#x20;Vulnerabilities"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-reliably-preventing-open-redirect-vulnerabilities.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-permissions-policy-header-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-permissions-policy-header-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-permissions-policy-header-explained" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-permissions-policy-header-explained.webp</image:loc><image:title>The Permissions-Policy Header 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;Permissions-Policy&#x20;Header&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-permissions-policy-header-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-understanding-and-preventing-prototype-pollution-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-prototype-pollution-in-javascript-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-understanding-and-preventing-prototype-pollution-in-javascript" />
<lastmod>2026-08-09T10:28:03+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-prototype-pollution-in-javascript.webp</image:loc><image:title>Understanding and Preventing Prototype Pollution in JavaScript</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;Preventing&#x20;Prototype&#x20;Pollution&#x20;in&#x20;JavaScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-understanding-and-preventing-prototype-pollution-in-javascript.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-understanding-race-condition-vulnerabilities-in-web-applications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-race-condition-schwachstellen-in-webanwendungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-understanding-race-condition-vulnerabilities-in-web-applications" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-understanding-race-condition-vulnerabilities-in-web-applications.webp</image:loc><image:title>Understanding Race Condition Vulnerabilities in Web Applications</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Race&#x20;Condition&#x20;Vulnerabilities&#x20;in&#x20;Web&#x20;Applications"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-understanding-race-condition-vulnerabilities-in-web-applications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-rate-limiting-bypass-techniques-and-countermeasures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-rate-limiting-umgehungstechniken-und-gegenmassnahmen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-rate-limiting-bypass-techniques-and-countermeasures" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-rate-limiting-bypass-techniques-and-countermeasures.webp</image:loc><image:title>Rate Limiting Bypass Techniques and Effective Countermeasures</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;Bypass&#x20;Techniques&#x20;and&#x20;Effective&#x20;Countermeasures"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-rate-limiting-bypass-techniques-and-countermeasures.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-understanding-redos-regular-expression-denial-of-service</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-redos-regular-expression-denial-of-service" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-understanding-redos-regular-expression-denial-of-service" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-understanding-redos-regular-expression-denial-of-service.webp</image:loc><image:title>Understanding ReDoS: Regular Expression Denial of Service</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;ReDoS&#x3A;&#x20;Regular&#x20;Expression&#x20;Denial&#x20;of&#x20;Service"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-understanding-redos-regular-expression-denial-of-service.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-automating-secrets-rotation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-secrets-rotation-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-automating-secrets-rotation" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-automating-secrets-rotation.webp</image:loc><image:title>Automating Secrets Rotation: Why Static Keys Leave a Permanent Risk Window</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;Secrets&#x20;Rotation&#x3A;&#x20;Why&#x20;Static&#x20;Keys&#x20;Leave&#x20;a&#x20;Permanent&#x20;Risk&#x20;Window"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-automating-secrets-rotation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-building-a-security-champions-program-in-your-team</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-security-champions-programm-im-team-aufbauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-building-a-security-champions-program-in-your-team" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-building-a-security-champions-program-in-your-team.webp</image:loc><image:title>Building a Security Champions Program in Your Development Team</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;Security&#x20;Champions&#x20;Program&#x20;in&#x20;Your&#x20;Development&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-building-a-security-champions-program-in-your-team.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-incident-postmortems-without-blame</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-incident-postmortems-ohne-schuldzuweisung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-incident-postmortems-without-blame" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-incident-postmortems-without-blame.webp</image:loc><image:title>Running Security Incident Postmortems Without Blame</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Running&#x20;Security&#x20;Incident&#x20;Postmortems&#x20;Without&#x20;Blame"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-incident-postmortems-without-blame.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-security-txt-rfc-9116-vulnerability-disclosure-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-security-txt-rfc-9116-vulnerability-disclosure" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-security-txt-rfc-9116-vulnerability-disclosure-guide" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-security-txt-rfc-9116-vulnerability-disclosure-guide.webp</image:loc><image:title>security.txt Under RFC 9116: Implementing a Vulnerability Disclosure Policy</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="security.txt&#x20;Under&#x20;RFC&#x20;9116&#x3A;&#x20;Implementing&#x20;a&#x20;Vulnerability&#x20;Disclosure&#x20;Policy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-security-txt-rfc-9116-vulnerability-disclosure-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-ssrf-server-side-request-forgery-prevention-allowlist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-ssrf-server-side-request-forgery-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-ssrf-server-side-request-forgery-prevention-allowlist" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-ssrf-server-side-request-forgery-prevention-allowlist.webp</image:loc><image:title>Preventing Server-Side Request Forgery (SSRF)</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preventing&#x20;Server-Side&#x20;Request&#x20;Forgery&#x20;&#x28;SSRF&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-ssrf-server-side-request-forgery-prevention-allowlist.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-detecting-preventing-subdomain-takeover</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-subdomain-takeover-schwachstellen-erkennen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-detecting-preventing-subdomain-takeover" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-detecting-preventing-subdomain-takeover.webp</image:loc><image:title>Detecting and Preventing Subdomain Takeover Vulnerabilities</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;Preventing&#x20;Subdomain&#x20;Takeover&#x20;Vulnerabilities"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-detecting-preventing-subdomain-takeover.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-subresource-integrity-sri-for-third-party-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-subresource-integrity-sri-fuer-drittanbieter-skripte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-subresource-integrity-sri-for-third-party-scripts" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-subresource-integrity-sri-for-third-party-scripts.webp</image:loc><image:title>Subresource Integrity (SRI) for Third-Party Scripts, Done Right</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;&#x28;SRI&#x29;&#x20;for&#x20;Third-Party&#x20;Scripts,&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-subresource-integrity-sri-for-third-party-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-applying-stride-threat-modeling-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-threat-modeling-mit-stride-methodik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-applying-stride-threat-modeling-in-practice" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-applying-stride-threat-modeling-in-practice.webp</image:loc><image:title>Applying STRIDE Threat Modeling in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Applying&#x20;STRIDE&#x20;Threat&#x20;Modeling&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-applying-stride-threat-modeling-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-timing-attacks-constant-time-comparison-hash-equals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-timing-attacks-und-constant-time-vergleiche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-timing-attacks-constant-time-comparison-hash-equals" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-timing-attacks-constant-time-comparison-hash-equals.webp</image:loc><image:title>Timing Attacks and Constant-Time Comparisons</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Timing&#x20;Attacks&#x20;and&#x20;Constant-Time&#x20;Comparisons"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-timing-attacks-constant-time-comparison-hash-equals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-webauthn-passkeys-implementation-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-webauthn-passkeys-implementierung-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-webauthn-passkeys-implementation-in-detail" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-webauthn-passkeys-implementation-in-detail.webp</image:loc><image:title>WebAuthn/Passkeys Implementation in Detail: A Security Perspective</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="WebAuthn&#x2F;Passkeys&#x20;Implementation&#x20;in&#x20;Detail&#x3A;&#x20;A&#x20;Security&#x20;Perspective"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-webauthn-passkeys-implementation-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-xxe-xml-external-entity-attacks-prevention-php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-xxe-xml-external-entity-angriffe-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-xxe-xml-external-entity-attacks-prevention-php" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-xxe-xml-external-entity-attacks-prevention-php.webp</image:loc><image:title>Preventing XML External Entity (XXE) Attacks</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preventing&#x20;XML&#x20;External&#x20;Entity&#x20;&#x28;XXE&#x29;&#x20;Attacks"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-xxe-xml-external-entity-attacks-prevention-php.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/security-zero-trust-architecture-core-principles</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/security-zero-trust-architektur-grundprinzipien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/security-zero-trust-architecture-core-principles" />
<lastmod>2026-08-09T10:28:03+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/security-zero-trust-architecture-core-principles.webp</image:loc><image:title>Zero-Trust Architecture: Understanding the Core Principles in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Zero-Trust&#x20;Architecture&#x3A;&#x20;Understanding&#x20;the&#x20;Core&#x20;Principles&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/security-zero-trust-architecture-core-principles.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-allure-reports-building-meaningful-test-reports</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-allure-reports-fuer-testsuiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-allure-reports-building-meaningful-test-reports" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-allure-reports-building-meaningful-test-reports.webp</image:loc><image:title>Allure Reports: Building Meaningful Test Reports</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Allure&#x20;Reports&#x3A;&#x20;Building&#x20;Meaningful&#x20;Test&#x20;Reports"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-allure-reports-building-meaningful-test-reports.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-reliably-testing-authentication-flows-end-to-end</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-auth-flows-end-to-end-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-reliably-testing-authentication-flows-end-to-end" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-reliably-testing-authentication-flows-end-to-end.webp</image:loc><image:title>Reliably Testing Authentication Flows 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="Reliably&#x20;Testing&#x20;Authentication&#x20;Flows&#x20;End&#x20;to&#x20;End"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-reliably-testing-authentication-flows-end-to-end.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-chaos-engineering-testing-resilience-deliberately-and-safely</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-chaos-engineering-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-chaos-engineering-testing-resilience-deliberately-and-safely" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-chaos-engineering-testing-resilience-deliberately-and-safely.webp</image:loc><image:title>Chaos Engineering: Testing Resilience Deliberately and Safely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Chaos&#x20;Engineering&#x3A;&#x20;Testing&#x20;Resilience&#x20;Deliberately&#x20;and&#x20;Safely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-chaos-engineering-testing-resilience-deliberately-and-safely.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-code-review-for-tests-what-to-watch-for</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-code-review-fuer-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-code-review-for-tests-what-to-watch-for" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-code-review-for-tests-what-to-watch-for.webp</image:loc><image:title>Code Review for Tests: What to Pay Special Attention To</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;for&#x20;Tests&#x3A;&#x20;What&#x20;to&#x20;Pay&#x20;Special&#x20;Attention&#x20;To"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-code-review-for-tests-what-to-watch-for.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-reliably-implementing-cross-tab-and-multi-window-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-cross-tab-und-multi-window-testing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-reliably-implementing-cross-tab-and-multi-window-testing" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-reliably-implementing-cross-tab-and-multi-window-testing.webp</image:loc><image:title>Reliably Implementing Cross-Tab and Multi-Window Testing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reliably&#x20;Implementing&#x20;Cross-Tab&#x20;and&#x20;Multi-Window&#x20;Testing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-reliably-implementing-cross-tab-and-multi-window-testing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-securing-file-uploads-and-downloads-in-e2e-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-datei-uploads-und-downloads-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-securing-file-uploads-and-downloads-in-e2e-tests" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-securing-file-uploads-and-downloads-in-e2e-tests.webp</image:loc><image:title>Securing File Uploads and Downloads in E2E 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;File&#x20;Uploads&#x20;and&#x20;Downloads&#x20;in&#x20;E2E&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-securing-file-uploads-and-downloads-in-e2e-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-reliably-isolating-third-party-scripts-in-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-drittanbieter-skripte-in-tests-isolieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-reliably-isolating-third-party-scripts-in-tests" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-reliably-isolating-third-party-scripts-in-tests.webp</image:loc><image:title>Reliably Isolating Third-Party Scripts in Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reliably&#x20;Isolating&#x20;Third-Party&#x20;Scripts&#x20;in&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-reliably-isolating-third-party-scripts-in-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-automatically-testing-gdpr-cookie-consent-banners</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-dsgvo-cookie-consent-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-automatically-testing-gdpr-cookie-consent-banners" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-automatically-testing-gdpr-cookie-consent-banners.webp</image:loc><image:title>Automatically Testing GDPR Cookie Consent Banners</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automatically&#x20;Testing&#x20;GDPR&#x20;Cookie&#x20;Consent&#x20;Banners"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-automatically-testing-gdpr-cookie-consent-banners.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-reliably-testing-email-delivery-in-e2e-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-email-versand-in-e2e-tests-prüfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-reliably-testing-email-delivery-in-e2e-tests" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-reliably-testing-email-delivery-in-e2e-tests.webp</image:loc><image:title>Reliably Testing Email Delivery in E2E Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reliably&#x20;Testing&#x20;Email&#x20;Delivery&#x20;in&#x20;E2E&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-reliably-testing-email-delivery-in-e2e-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-analyzing-historical-test-data-trends-instead-of-snapshots</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-historische-testdaten-auswerten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-analyzing-historical-test-data-trends-instead-of-snapshots" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-analyzing-historical-test-data-trends-instead-of-snapshots.webp</image:loc><image:title>Analyzing Historical Test Data: Trends Instead of Snapshots</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Analyzing&#x20;Historical&#x20;Test&#x20;Data&#x3A;&#x20;Trends&#x20;Instead&#x20;of&#x20;Snapshots"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-analyzing-historical-test-data-trends-instead-of-snapshots.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-testing-internationalization-i18n-automatically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-internationalisierung-i18n-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-testing-internationalization-i18n-automatically" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-testing-internationalization-i18n-automatically.webp</image:loc><image:title>Testing Internationalization (i18n) Automatically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;Internationalization&#x20;&#x28;i18n&#x29;&#x20;Automatically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-testing-internationalization-i18n-automatically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-ai-assisted-test-generation-opportunities-and-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-ki-gestützte-testgenerierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-ai-assisted-test-generation-opportunities-and-pitfalls" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-ai-assisted-test-generation-opportunities-and-pitfalls.webp</image:loc><image:title>AI-Assisted Test Generation: Opportunities and Pitfalls in Detail</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;Test&#x20;Generation&#x3A;&#x20;Opportunities&#x20;and&#x20;Pitfalls&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-ai-assisted-test-generation-opportunities-and-pitfalls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-load-testing-with-k6-verifying-magento-store-scalability</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-lasttests-mit-k6" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-load-testing-with-k6-verifying-magento-store-scalability" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-load-testing-with-k6-verifying-magento-store-scalability.webp</image:loc><image:title>Load Testing with k6: Verifying Magento Store Scalability</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;with&#x20;k6&#x3A;&#x20;Verifying&#x20;Magento&#x20;Store&#x20;Scalability"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-load-testing-with-k6-verifying-magento-store-scalability.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-onboarding-new-developers-into-existing-test-suites</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-onboarding-neuer-entwickler-in-testsuiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-onboarding-new-developers-into-existing-test-suites" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-onboarding-new-developers-into-existing-test-suites.webp</image:loc><image:title>Onboarding New Developers into Existing Test Suites</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;Existing&#x20;Test&#x20;Suites"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-onboarding-new-developers-into-existing-test-suites.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-penetration-testing-vs-e2e-testing-distinction-and-interplay</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-penetration-testing-vs-e2e-testing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-penetration-testing-vs-e2e-testing-distinction-and-interplay" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-penetration-testing-vs-e2e-testing-distinction-and-interplay.webp</image:loc><image:title>Penetration Testing vs. E2E Testing: Distinction and Interplay</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;vs.&#x20;E2E&#x20;Testing&#x3A;&#x20;Distinction&#x20;and&#x20;Interplay"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-penetration-testing-vs-e2e-testing-distinction-and-interplay.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-enforcing-performance-budgets-automatically-in-e2e-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-performance-budgets-in-e2e-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-enforcing-performance-budgets-automatically-in-e2e-tests" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-enforcing-performance-budgets-automatically-in-e2e-tests.webp</image:loc><image:title>Enforcing Performance Budgets Automatically in E2E Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Enforcing&#x20;Performance&#x20;Budgets&#x20;Automatically&#x20;in&#x20;E2E&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-enforcing-performance-budgets-automatically-in-e2e-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-playwright-network-interception-and-route-mocking-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-playwright-netzwerk-interception-und-route-mocking" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-playwright-network-interception-and-route-mocking-in-detail" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-playwright-network-interception-and-route-mocking-in-detail.webp</image:loc><image:title>Playwright Network Interception and Route Mocking in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Playwright&#x20;Network&#x20;Interception&#x20;and&#x20;Route&#x20;Mocking&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-playwright-network-interception-and-route-mocking-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-automatically-testing-security-headers-in-e2e-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-security-headers-in-e2e-tests-prüfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-automatically-testing-security-headers-in-e2e-tests" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-automatically-testing-security-headers-in-e2e-tests.webp</image:loc><image:title>Automatically Testing Security Headers in E2E Tests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automatically&#x20;Testing&#x20;Security&#x20;Headers&#x20;in&#x20;E2E&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-automatically-testing-security-headers-in-e2e-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-self-healing-tests-limits-and-real-benefit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-self-healing-tests-grenzen-und-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-self-healing-tests-limits-and-real-benefit" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-self-healing-tests-limits-and-real-benefit.webp</image:loc><image:title>Self-Healing Tests: Limits and Real Benefit 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="Self-Healing&#x20;Tests&#x3A;&#x20;Limits&#x20;and&#x20;Real&#x20;Benefit&#x20;at&#x20;a&#x20;Glance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-self-healing-tests-limits-and-real-benefit.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-setting-up-slack-notifications-for-failed-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-slack-benachrichtigungen-fuer-testfehler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-setting-up-slack-notifications-for-failed-tests" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-setting-up-slack-notifications-for-failed-tests.webp</image:loc><image:title>Setting Up Slack Notifications for Failed Tests</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;Slack&#x20;Notifications&#x20;for&#x20;Failed&#x20;Tests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-setting-up-slack-notifications-for-failed-tests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-setting-up-a-snapshot-testing-strategy-for-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-snapshot-testing-strategie-fuer-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-setting-up-a-snapshot-testing-strategy-for-components" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-setting-up-a-snapshot-testing-strategy-for-components.webp</image:loc><image:title>Setting Up a Snapshot Testing Strategy for Components</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;Snapshot&#x20;Testing&#x20;Strategy&#x20;for&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-setting-up-a-snapshot-testing-strategy-for-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-soak-tests-verifying-long-term-stability-under-sustained-load</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-soak-tests-langzeitstabilität" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-soak-tests-verifying-long-term-stability-under-sustained-load" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-soak-tests-verifying-long-term-stability-under-sustained-load.webp</image:loc><image:title>Soak Tests: Verifying Long-Term Stability Under Sustained Load</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Soak&#x20;Tests&#x3A;&#x20;Verifying&#x20;Long-Term&#x20;Stability&#x20;Under&#x20;Sustained&#x20;Load"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-soak-tests-verifying-long-term-stability-under-sustained-load.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-spike-tests-realistically-simulating-sudden-load-surges</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-spike-tests-lastspitzen-simulieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-spike-tests-realistically-simulating-sudden-load-surges" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-spike-tests-realistically-simulating-sudden-load-surges.webp</image:loc><image:title>Spike Tests: Realistically Simulating Sudden Load Surges</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Spike&#x20;Tests&#x3A;&#x20;Realistically&#x20;Simulating&#x20;Sudden&#x20;Load&#x20;Surges"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-spike-tests-realistically-simulating-sudden-load-surges.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-the-test-data-builder-pattern-for-readable-test-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-test-data-builder-pattern-fuer-lesbare-testdaten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-the-test-data-builder-pattern-for-readable-test-data" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-the-test-data-builder-pattern-for-readable-test-data.webp</image:loc><image:title>The Test Data Builder Pattern for Readable, Maintainable Test Data</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;Data&#x20;Builder&#x20;Pattern&#x20;for&#x20;Readable,&#x20;Maintainable&#x20;Test&#x20;Data"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-the-test-data-builder-pattern-for-readable-test-data.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-test-metrics-that-actually-matter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-test-metriken-die-wirklich-zaehlen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-test-metrics-that-actually-matter" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-test-metrics-that-actually-matter.webp</image:loc><image:title>Test Metrics That Actually Matter, Beyond Green or Red</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Test&#x20;Metrics&#x20;That&#x20;Actually&#x20;Matter,&#x20;Beyond&#x20;Green&#x20;or&#x20;Red"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-test-metrics-that-actually-matter.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-test-observability-using-traces-and-logs-for-test-runs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-test-observability-mit-tracing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-test-observability-using-traces-and-logs-for-test-runs" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-test-observability-using-traces-and-logs-for-test-runs.webp</image:loc><image:title>Test Observability: Using Traces and Logs for Test Runs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Test&#x20;Observability&#x3A;&#x20;Using&#x20;Traces&#x20;and&#x20;Logs&#x20;for&#x20;Test&#x20;Runs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-test-observability-using-traces-and-logs-for-test-runs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-test-code-refactoring-strategies-for-growing-test-suites</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-testcode-refactoring-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-test-code-refactoring-strategies-for-growing-test-suites" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-test-code-refactoring-strategies-for-growing-test-suites.webp</image:loc><image:title>Test Code Refactoring Strategies for Growing Test 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;Code&#x20;Refactoring&#x20;Strategies&#x20;for&#x20;Growing&#x20;Test&#x20;Suites"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-test-code-refactoring-strategies-for-growing-test-suites.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-test-documentation-that-actually-gets-used</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-testdokumentation-die-genutzt-wird" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-test-documentation-that-actually-gets-used" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-test-documentation-that-actually-gets-used.webp</image:loc><image:title>Test Documentation That Actually Gets Used</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Test&#x20;Documentation&#x20;That&#x20;Actually&#x20;Gets&#x20;Used"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-test-documentation-that-actually-gets-used.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-understanding-visual-diffing-algorithms</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-visual-diffing-algorithmen-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-understanding-visual-diffing-algorithms" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-understanding-visual-diffing-algorithms.webp</image:loc><image:title>Understanding Visual Diffing Algorithms and Reducing False Positives</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;Visual&#x20;Diffing&#x20;Algorithms&#x20;and&#x20;Reducing&#x20;False&#x20;Positives"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-understanding-visual-diffing-algorithms.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testing-testing-websocket-connections-automatically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testing-websocket-verbindungen-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testing-testing-websocket-connections-automatically" />
<lastmod>2026-08-09T10:29:26+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/testing-testing-websocket-connections-automatically.webp</image:loc><image:title>Testing WebSocket Connections Automatically</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;Automatically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/testing-testing-websocket-connections-automatically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-abstract-new-construct-signatures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-abstract-construct-signatures" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-abstract-new-construct-signatures" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-abstract-new-construct-signatures.webp</image:loc><image:title>Abstract Construct Signatures in TypeScript Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Abstract&#x20;Construct&#x20;Signatures&#x20;in&#x20;TypeScript&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-abstract-new-construct-signatures.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-assertion-functions-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-assertion-functions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-assertion-functions-explained" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-assertion-functions-explained.webp</image:loc><image:title>Assertion Functions in TypeScript: Custom Type Checks with asserts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Assertion&#x20;Functions&#x20;in&#x20;TypeScript&#x3A;&#x20;Custom&#x20;Type&#x20;Checks&#x20;with&#x20;asserts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-assertion-functions-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-building-type-safe-cli-tools</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-cli-tools-typsicher-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-building-type-safe-cli-tools" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-building-type-safe-cli-tools.webp</image:loc><image:title>Building Type-Safe CLI Tools with 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;Type-Safe&#x20;CLI&#x20;Tools&#x20;with&#x20;TypeScript"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-building-type-safe-cli-tools.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-const-assertions-as-const-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-const-assertions-as-const" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-const-assertions-as-const-explained" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-const-assertions-as-const-explained.webp</image:loc><image:title>as const: Const Assertions for Literal, Immutable Types</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="as&#x20;const&#x3A;&#x20;Const&#x20;Assertions&#x20;for&#x20;Literal,&#x20;Immutable&#x20;Types"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-const-assertions-as-const-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-const-type-parameters-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-const-type-parameters" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-const-type-parameters-guide" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-const-type-parameters-guide.webp</image:loc><image:title>const Type Parameters in TypeScript: Precise Inference</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="const&#x20;Type&#x20;Parameters&#x20;in&#x20;TypeScript&#x3A;&#x20;Precise&#x20;Inference"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-const-type-parameters-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-introduction-to-effect-ts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-effect-ts-einfuehrung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-introduction-to-effect-ts" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-introduction-to-effect-ts.webp</image:loc><image:title>Introduction to Effect-TS: Typed Functional Error Handling and Side Effects</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Introduction&#x20;to&#x20;Effect-TS&#x3A;&#x20;Typed&#x20;Functional&#x20;Error&#x20;Handling&#x20;and&#x20;Side&#x20;Effects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-introduction-to-effect-ts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-enums-vs-union-literals-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-enums-vs-union-literals" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-enums-vs-union-literals-comparison" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-enums-vs-union-literals-comparison.webp</image:loc><image:title>Enums vs. Union Literal Types in TypeScript: Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Enums&#x20;vs.&#x20;Union&#x20;Literal&#x20;Types&#x20;in&#x20;TypeScript&#x3A;&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-enums-vs-union-literals-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-writing-custom-eslint-rules</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-eslint-custom-rules-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-writing-custom-eslint-rules" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-writing-custom-eslint-rules.webp</image:loc><image:title>Writing Custom ESLint Rules for TypeScript Codebases</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;ESLint&#x20;Rules&#x20;for&#x20;TypeScript&#x20;Codebases"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-writing-custom-eslint-rules.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-typescript-for-python-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-fuer-python-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-typescript-for-python-developers" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-typescript-for-python-developers.webp</image:loc><image:title>TypeScript for Python Developers: Concepts and Differences Explained</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;Python&#x20;Developers&#x3A;&#x20;Concepts&#x20;and&#x20;Differences&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-typescript-for-python-developers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-function-overloads-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-funktionsueberladung-overloads" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-function-overloads-guide" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-function-overloads-guide.webp</image:loc><image:title>TypeScript Function Overloads: 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="TypeScript&#x20;Function&#x20;Overloads&#x3A;&#x20;A&#x20;Practical&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-function-overloads-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-index-signatures-vs-record-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-index-signatures-record-types" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-index-signatures-vs-record-types" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-index-signatures-vs-record-types.webp</image:loc><image:title>Index Signatures vs. Record Types: 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="Index&#x20;Signatures&#x20;vs.&#x20;Record&#x20;Types&#x3A;&#x20;When&#x20;to&#x20;Use&#x20;Which"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-index-signatures-vs-record-types.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-isolatedmodules-flag-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-isolatedmodules-flag-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-isolatedmodules-flag-explained" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-isolatedmodules-flag-explained.webp</image:loc><image:title>The isolatedModules Flag Explained: Why Modern Build Tools Require It</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;isolatedModules&#x20;Flag&#x20;Explained&#x3A;&#x20;Why&#x20;Modern&#x20;Build&#x20;Tools&#x20;Require&#x20;It"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-isolatedmodules-flag-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-generating-json-schema</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-json-schema-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-generating-json-schema" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-generating-json-schema.webp</image:loc><image:title>Generating JSON Schema Automatically from TypeScript Types</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;JSON&#x20;Schema&#x20;Automatically&#x20;from&#x20;TypeScript&#x20;Types"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-generating-json-schema.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-with-bun</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-mit-bun" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-with-bun" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-with-bun.webp</image:loc><image:title>TypeScript with Bun: Native Execution Without a Compile Step</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;Bun&#x3A;&#x20;Native&#x20;Execution&#x20;Without&#x20;a&#x20;Compile&#x20;Step"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-with-bun.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-typescript-with-deno</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-mit-deno" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-typescript-with-deno" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-typescript-with-deno.webp</image:loc><image:title>TypeScript with Deno: Native Support Without Any Build Step</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;Deno&#x3A;&#x20;Native&#x20;Support&#x20;Without&#x20;Any&#x20;Build&#x20;Step"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-typescript-with-deno.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-typesafe-database-access-drizzle-orm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-mit-drizzle-orm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-typesafe-database-access-drizzle-orm" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-typesafe-database-access-drizzle-orm.webp</image:loc><image:title>TypeScript with Drizzle ORM: Type-Safe Database Access Without Code Generation</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;Drizzle&#x20;ORM&#x3A;&#x20;Type-Safe&#x20;Database&#x20;Access&#x20;Without&#x20;Code&#x20;Generation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-typesafe-database-access-drizzle-orm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-typescript-with-hono-rpc</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-mit-hono-rpc" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-typescript-with-hono-rpc" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-typescript-with-hono-rpc.webp</image:loc><image:title>TypeScript with Hono RPC: Type-Safe APIs Without Code Generation</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&#x20;RPC&#x3A;&#x20;Type-Safe&#x20;APIs&#x20;Without&#x20;Code&#x20;Generation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-typescript-with-hono-rpc.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-typescript-with-prisma</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-mit-prisma" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-typescript-with-prisma" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-typescript-with-prisma.webp</image:loc><image:title>TypeScript with Prisma: End-to-End Type Safety from Schema to Query</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;Prisma&#x3A;&#x20;End-to-End&#x20;Type&#x20;Safety&#x20;from&#x20;Schema&#x20;to&#x20;Query"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-typescript-with-prisma.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-typescript-with-solidjs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-mit-solidjs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-typescript-with-solidjs" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-typescript-with-solidjs.webp</image:loc><image:title>TypeScript with SolidJS: Fine-Grained Reactivity, Fully Typed</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;SolidJS&#x3A;&#x20;Fine-Grained&#x20;Reactivity,&#x20;Fully&#x20;Typed"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-typescript-with-solidjs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-typescript-playground-for-learning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-playground-zum-lernen-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-typescript-playground-for-learning" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-typescript-playground-for-learning.webp</image:loc><image:title>Using the TypeScript Playground to Learn and Debug Types Deliberately</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;Playground&#x20;to&#x20;Learn&#x20;and&#x20;Debug&#x20;Types&#x20;Deliberately"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-typescript-playground-for-learning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-pnpm-workspaces-for-monorepos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-pnpm-workspaces-monorepo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-pnpm-workspaces-for-monorepos" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-pnpm-workspaces-for-monorepos.webp</image:loc><image:title>Structuring TypeScript Monorepos Cleanly with pnpm Workspaces</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Structuring&#x20;TypeScript&#x20;Monorepos&#x20;Cleanly&#x20;with&#x20;pnpm&#x20;Workspaces"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-pnpm-workspaces-for-monorepos.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-project-references-for-monorepos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-project-references-monorepo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-project-references-for-monorepos" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-project-references-for-monorepos.webp</image:loc><image:title>TypeScript Project References for Fast Monorepo Builds</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;Project&#x20;References&#x20;for&#x20;Fast&#x20;Monorepo&#x20;Builds"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-project-references-for-monorepos.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-readonly-arrays-and-tuples</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-readonly-arrays-tuples" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-readonly-arrays-and-tuples" />
<lastmod>2026-08-09T10:29:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-readonly-arrays-and-tuples.webp</image:loc><image:title>Readonly Arrays and Tuples in TypeScript, Type-Safely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Readonly&#x20;Arrays&#x20;and&#x20;Tuples&#x20;in&#x20;TypeScript,&#x20;Type-Safely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-readonly-arrays-and-tuples.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-satisfies-operator-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-satisfies-operator" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-satisfies-operator-explained" />
<lastmod>2026-08-09T10:29:53+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-satisfies-operator-explained.webp</image:loc><image:title>TypeScript satisfies Operator: Type Checks Without Widening</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="TypeScript&#x20;satisfies&#x20;Operator&#x3A;&#x20;Type&#x20;Checks&#x20;Without&#x20;Widening"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-satisfies-operator-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-server-actions-type-safe</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-server-actions-typsicher" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-server-actions-type-safe" />
<lastmod>2026-08-09T10:29:53+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-server-actions-type-safe.webp</image:loc><image:title>Using Server Actions with Full Type Safety</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Server&#x20;Actions&#x20;with&#x20;Full&#x20;Type&#x20;Safety"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-server-actions-type-safe.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-migrating-to-strict-null-checks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-strict-null-checks-migration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-migrating-to-strict-null-checks" />
<lastmod>2026-08-09T10:29:53+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-migrating-to-strict-null-checks.webp</image:loc><image:title>Migrating an Existing Codebase to strictNullChecks: 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="Migrating&#x20;an&#x20;Existing&#x20;Codebase&#x20;to&#x20;strictNullChecks&#x3A;&#x20;Strategy&#x20;and&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-migrating-to-strict-null-checks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-writing-custom-type-predicates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-type-predicates-eigene-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-writing-custom-type-predicates" />
<lastmod>2026-08-09T10:29:53+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-writing-custom-type-predicates.webp</image:loc><image:title>Writing Custom Type Predicates: Using the is Syntax Correctly</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;Type&#x20;Predicates&#x3A;&#x20;Using&#x20;the&#x20;is&#x20;Syntax&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-writing-custom-type-predicates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-using-declarations-resource-management-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-using-declarations-resource-management" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-using-declarations-resource-management-guide" />
<lastmod>2026-08-09T10:29:53+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-using-declarations-resource-management-guide.webp</image:loc><image:title>using Declarations in TypeScript: Resource Management</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="using&#x20;Declarations&#x20;in&#x20;TypeScript&#x3A;&#x20;Resource&#x20;Management"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-using-declarations-resource-management-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-verbatim-module-syntax-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-verbatim-module-syntax" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-verbatim-module-syntax-explained" />
<lastmod>2026-08-09T10:29:53+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-verbatim-module-syntax-explained.webp</image:loc><image:title>verbatimModuleSyntax: Controlling Import/Export Behavior Explicitly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="verbatimModuleSyntax&#x3A;&#x20;Controlling&#x20;Import&#x2F;Export&#x20;Behavior&#x20;Explicitly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-verbatim-module-syntax-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript-typed-worker-threads</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript-worker-threads-typisiert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript-typed-worker-threads" />
<lastmod>2026-08-09T10:29:53+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/typescript-typed-worker-threads.webp</image:loc><image:title>Using Node.js Worker Threads 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="Using&#x20;Node.js&#x20;Worker&#x20;Threads&#x20;in&#x20;a&#x20;Type-Safe&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/typescript-typed-worker-threads.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-aliases-command-line-productivity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-alias-produktivitaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-aliases-command-line-productivity" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-aliases-command-line-productivity.webp</image:loc><image:title>Custom Git Aliases for More Command Line Productivity</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Git&#x20;Aliases&#x20;for&#x20;More&#x20;Command&#x20;Line&#x20;Productivity"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-aliases-command-line-productivity.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-applying-email-patches-with-git-am</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-am-patches-anwenden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-applying-email-patches-with-git-am" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-applying-email-patches-with-git-am.webp</image:loc><image:title>git am: Applying Email Patches Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="git&#x20;am&#x3A;&#x20;Applying&#x20;Email&#x20;Patches&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-applying-email-patches-with-git-am.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-exporting-clean-releases-with-git-archive</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-archive-releases-exportieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-exporting-clean-releases-with-git-archive" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-exporting-clean-releases-with-git-archive.webp</image:loc><image:title>Git Archive: Exporting Clean Releases Without the .git Directory</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Archive&#x3A;&#x20;Exporting&#x20;Clean&#x20;Releases&#x20;Without&#x20;the&#x20;.git&#x20;Directory"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-exporting-clean-releases-with-git-archive.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-blame-ignoring-formatting-commits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-blame-ignore-revs-formatierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-blame-ignoring-formatting-commits" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-blame-ignoring-formatting-commits.webp</image:loc><image:title>.git-blame-ignore-revs: Hiding Formatting Commits from git blame</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value=".git-blame-ignore-revs&#x3A;&#x20;Hiding&#x20;Formatting&#x20;Commits&#x20;from&#x20;git&#x20;blame"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-blame-ignoring-formatting-commits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-bundle-offline-repository-transfer</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-bundle-offline-transfer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-bundle-offline-repository-transfer" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-bundle-offline-repository-transfer.webp</image:loc><image:title>Git Bundle: Transferring Repositories Offline 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="Git&#x20;Bundle&#x3A;&#x20;Transferring&#x20;Repositories&#x20;Offline&#x20;Without&#x20;a&#x20;Server"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-bundle-offline-repository-transfer.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-reviewing-commit-history-before-merging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-commit-history-review-vor-merge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-reviewing-commit-history-before-merging" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-reviewing-commit-history-before-merging.webp</image:loc><image:title>Reviewing Commit History Before a Merge Instead of Just the Diff</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reviewing&#x20;Commit&#x20;History&#x20;Before&#x20;a&#x20;Merge&#x20;Instead&#x20;of&#x20;Just&#x20;the&#x20;Diff"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-reviewing-commit-history-before-merging.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-signing-commits-with-ssh-keys-instead-of-gpg</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-commit-signing-ssh-keys-statt-gpg" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-signing-commits-with-ssh-keys-instead-of-gpg" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-signing-commits-with-ssh-keys-instead-of-gpg.webp</image:loc><image:title>Signing Commits with SSH Keys Instead of GPG: Setup and Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Signing&#x20;Commits&#x20;with&#x20;SSH&#x20;Keys&#x20;Instead&#x20;of&#x20;GPG&#x3A;&#x20;Setup&#x20;and&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-signing-commits-with-ssh-keys-instead-of-gpg.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-commit-templates-for-consistent-messages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-commit-template-einheitliche-nachrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-commit-templates-for-consistent-messages" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-commit-templates-for-consistent-messages.webp</image:loc><image:title>Git Commit Templates: Enforcing Consistent Commit Messages 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="Git&#x20;Commit&#x20;Templates&#x3A;&#x20;Enforcing&#x20;Consistent&#x20;Commit&#x20;Messages&#x20;in&#x20;a&#x20;Team"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-commit-templates-for-consistent-messages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-setting-up-credential-helpers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-credential-helpers-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-setting-up-credential-helpers" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-setting-up-credential-helpers.webp</image:loc><image:title>Setting Up Git Credential Helpers: Secure and Convenient Auth</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;Credential&#x20;Helpers&#x3A;&#x20;Secure&#x20;and&#x20;Convenient&#x20;Auth"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-setting-up-credential-helpers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-diff-algorithms-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-diff-algorithmen-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-diff-algorithms-compared" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-diff-algorithms-compared.webp</image:loc><image:title>Git Diff Algorithms Compared: Myers, Patience, Histogram</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;Algorithms&#x20;Compared&#x3A;&#x20;Myers,&#x20;Patience,&#x20;Histogram"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-diff-algorithms-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-format-patch-workflow-without-pull-requests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-format-patch-workflow" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-format-patch-workflow-without-pull-requests" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-format-patch-workflow-without-pull-requests.webp</image:loc><image:title>git format-patch: Patch-Based Workflows Without Pull Requests</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="git&#x20;format-patch&#x3A;&#x20;Patch-Based&#x20;Workflows&#x20;Without&#x20;Pull&#x20;Requests"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-format-patch-workflow-without-pull-requests.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-fsck-checking-repository-integrity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-fsck-repository-integritaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-fsck-checking-repository-integrity" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-fsck-checking-repository-integrity.webp</image:loc><image:title>git fsck: Checking Repository Integrity and Detecting Data Corruption</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="git&#x20;fsck&#x3A;&#x20;Checking&#x20;Repository&#x20;Integrity&#x20;and&#x20;Detecting&#x20;Data&#x20;Corruption"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-fsck-checking-repository-integrity.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-workflow-design-github-actions-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-github-actions-workflow-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-workflow-design-github-actions-pipelines" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-workflow-design-github-actions-pipelines.webp</image:loc><image:title>Git Workflow Design for Efficient GitHub Actions Pipelines</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Workflow&#x20;Design&#x20;for&#x20;Efficient&#x20;GitHub&#x20;Actions&#x20;Pipelines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-workflow-design-github-actions-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-lfs-migration-for-existing-repositories</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-lfs-migration-bestehendes-repo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-lfs-migration-for-existing-repositories" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-lfs-migration-for-existing-repositories.webp</image:loc><image:title>Git LFS Migration: Converting an Existing Repository Retroactively</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&#x20;Migration&#x3A;&#x20;Converting&#x20;an&#x20;Existing&#x20;Repository&#x20;Retroactively"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-lfs-migration-for-existing-repositories.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-log-follow-file-history-across-renames</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-log-follow-datei-historie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-log-follow-file-history-across-renames" />
<lastmod>2026-08-09T10:30:21+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-log-follow-file-history-across-renames.webp</image:loc><image:title>git log --follow: Tracking a File's History Across Renames</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="git&#x20;log&#x20;--follow&#x3A;&#x20;Tracking&#x20;a&#x20;File&#x27;s&#x20;History&#x20;Across&#x20;Renames"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-log-follow-file-history-across-renames.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-resolving-magento-composer-lock-conflicts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-magento-composer-lock-konflikte-loesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-resolving-magento-composer-lock-conflicts" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-resolving-magento-composer-lock-conflicts.webp</image:loc><image:title>Resolving composer.lock Merge Conflicts Properly 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="Resolving&#x20;composer.lock&#x20;Merge&#x20;Conflicts&#x20;Properly&#x20;in&#x20;Magento&#x20;Projects"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-resolving-magento-composer-lock-conflicts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-maintenance-keeping-repository-health-automatic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-maintenance-repository-gesundheit-automatisch-pflegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-maintenance-keeping-repository-health-automatic" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-maintenance-keeping-repository-health-automatic.webp</image:loc><image:title>Git Maintenance: Keeping Repository Health in Check Automatically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Maintenance&#x3A;&#x20;Keeping&#x20;Repository&#x20;Health&#x20;in&#x20;Check&#x20;Automatically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-maintenance-keeping-repository-health-automatic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-setting-up-mirror-repositories-and-keeping-them-in-sync</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-mirror-repositories-einrichten-und-synchron-halten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-setting-up-mirror-repositories-and-keeping-them-in-sync" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-setting-up-mirror-repositories-and-keeping-them-in-sync.webp</image:loc><image:title>Setting Up Git Mirror Repositories and Keeping Them in Sync</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;Mirror&#x20;Repositories&#x20;and&#x20;Keeping&#x20;Them&#x20;in&#x20;Sync"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-setting-up-mirror-repositories-and-keeping-them-in-sync.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-performance-tuning-for-large-monorepos</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-monorepo-performance-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-performance-tuning-for-large-monorepos" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-performance-tuning-for-large-monorepos.webp</image:loc><image:title>Git Performance Tuning for Very Large Monorepos</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Performance&#x20;Tuning&#x20;for&#x20;Very&#x20;Large&#x20;Monorepos"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-performance-tuning-for-large-monorepos.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-notes-attaching-metadata-to-commits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-notes-zusatzinformationen-anhaengen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-notes-attaching-metadata-to-commits" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-notes-attaching-metadata-to-commits.webp</image:loc><image:title>Git Notes: Attaching Extra Information to Commits Without Rewriting History</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Notes&#x3A;&#x20;Attaching&#x20;Extra&#x20;Information&#x20;to&#x20;Commits&#x20;Without&#x20;Rewriting&#x20;History"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-notes-attaching-metadata-to-commits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-partial-clone-and-shallow-clone</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-partial-clone-und-shallow-clone" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-partial-clone-and-shallow-clone" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-partial-clone-and-shallow-clone.webp</image:loc><image:title>Partial Clone and Shallow Clone: Faster Cloning of Large Histories</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Partial&#x20;Clone&#x20;and&#x20;Shallow&#x20;Clone&#x3A;&#x20;Faster&#x20;Cloning&#x20;of&#x20;Large&#x20;Histories"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-partial-clone-and-shallow-clone.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-automating-tasks-post-merge-hooks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-post-merge-hooks-automatisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-automating-tasks-post-merge-hooks" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-automating-tasks-post-merge-hooks.webp</image:loc><image:title>Post-Merge Hooks: Automating Tasks After Every Merge</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Post-Merge&#x20;Hooks&#x3A;&#x20;Automating&#x20;Tasks&#x20;After&#x20;Every&#x20;Merge"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-automating-tasks-post-merge-hooks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-resolving-recurring-merge-conflicts-with-rerere</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-rerere-wiederkehrende-konflikte-automatisch-loesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-resolving-recurring-merge-conflicts-with-rerere" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-resolving-recurring-merge-conflicts-with-rerere.webp</image:loc><image:title>Git Rerere: Letting Git Resolve Recurring Merge Conflicts Automatically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Rerere&#x3A;&#x20;Letting&#x20;Git&#x20;Resolve&#x20;Recurring&#x20;Merge&#x20;Conflicts&#x20;Automatically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-resolving-recurring-merge-conflicts-with-rerere.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-shallow-clones-ci-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-shallow-clone-in-ci-pipelines" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-shallow-clones-ci-pipelines" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-shallow-clones-ci-pipelines.webp</image:loc><image:title>Using Shallow Clones Deliberately in CI 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;Shallow&#x20;Clones&#x20;Deliberately&#x20;in&#x20;CI&#x20;Pipelines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-shallow-clones-ci-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-sparse-checkout-for-large-repositories</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-sparse-checkout-grosse-repositories" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-sparse-checkout-for-large-repositories" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-sparse-checkout-for-large-repositories.webp</image:loc><image:title>Git Sparse Checkout: Checking Out Only What You Need From Large Repositories</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Sparse&#x20;Checkout&#x3A;&#x20;Checking&#x20;Out&#x20;Only&#x20;What&#x20;You&#x20;Need&#x20;From&#x20;Large&#x20;Repositories"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-sparse-checkout-for-large-repositories.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-subtree-vs-submodule-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-subtree-vs-submodule" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-subtree-vs-submodule-comparison" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-subtree-vs-submodule-comparison.webp</image:loc><image:title>Git Subtree vs. Submodule: Choosing the Right Strategy for Each Use Case</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Subtree&#x20;vs.&#x20;Submodule&#x3A;&#x20;Choosing&#x20;the&#x20;Right&#x20;Strategy&#x20;for&#x20;Each&#x20;Use&#x20;Case"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-subtree-vs-submodule-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-tag-strategies-semantic-versioning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-tag-strategien-semver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-tag-strategies-semantic-versioning" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-tag-strategies-semantic-versioning.webp</image:loc><image:title>Implementing Git Tag Strategies With Semantic Versioning 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;Git&#x20;Tag&#x20;Strategies&#x20;With&#x20;Semantic&#x20;Versioning&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-tag-strategies-semantic-versioning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-workflows-distributed-teams-timezones</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-verteilte-teams-zeitzonen-workflow" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-workflows-distributed-teams-timezones" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-workflows-distributed-teams-timezones.webp</image:loc><image:title>Git Workflows for Distributed Teams Across Time Zones</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Workflows&#x20;for&#x20;Distributed&#x20;Teams&#x20;Across&#x20;Time&#x20;Zones"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-workflows-distributed-teams-timezones.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-workflows-for-solo-developers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-workflows-fuer-solo-entwickler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-workflows-for-solo-developers" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-workflows-for-solo-developers.webp</image:loc><image:title>Git Workflows for Solo Developers: How Much Process Actually Helps?</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Git&#x20;Workflows&#x20;for&#x20;Solo&#x20;Developers&#x3A;&#x20;How&#x20;Much&#x20;Process&#x20;Actually&#x20;Helps&#x3F;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-workflows-for-solo-developers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git-worktree-for-local-code-reviews</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git-worktree-fuer-code-reviews" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git-worktree-for-local-code-reviews" />
<lastmod>2026-08-09T10:30:22+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/git-worktree-for-local-code-reviews.webp</image:loc><image:title>Using Git Worktree Deliberately for Local Code 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;Git&#x20;Worktree&#x20;Deliberately&#x20;for&#x20;Local&#x20;Code&#x20;Reviews"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/git-worktree-for-local-code-reviews.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-btrfs-send-receive-incremental-backups</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-btrfs-send-receive-inkrementelle-backups" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-btrfs-send-receive-incremental-backups" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-btrfs-send-receive-incremental-backups.webp</image:loc><image:title>Btrfs Send/Receive: Efficient Incremental Backups at the Block Level</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Btrfs&#x20;Send&#x2F;Receive&#x3A;&#x20;Efficient&#x20;Incremental&#x20;Backups&#x20;at&#x20;the&#x20;Block&#x20;Level"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-btrfs-send-receive-incremental-backups.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-btrfs-snapshots-and-subvolumes-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-btrfs-snapshots-subvolumes-praktisch-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-btrfs-snapshots-and-subvolumes-in-practice" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-btrfs-snapshots-and-subvolumes-in-practice.webp</image:loc><image:title>Btrfs Snapshots and Subvolumes: Using Copy on Write Filesystems in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Btrfs&#x20;Snapshots&#x20;and&#x20;Subvolumes&#x3A;&#x20;Using&#x20;Copy&#x20;on&#x20;Write&#x20;Filesystems&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-btrfs-snapshots-and-subvolumes-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/cgroups-v2-controllers-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/cgroups-v2-controller-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/cgroups-v2-controllers-explained" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/cgroups-v2-controllers-explained.webp</image:loc><image:title>cgroups v2 Controllers in Detail: Limiting CPU, Memory, and I/O Precisely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="cgroups&#x20;v2&#x20;Controllers&#x20;in&#x20;Detail&#x3A;&#x20;Limiting&#x20;CPU,&#x20;Memory,&#x20;and&#x20;I&#x2F;O&#x20;Precisely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/cgroups-v2-controllers-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/container-networking-bridge-macvlan-overlay</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/container-netzwerke-bridge-macvlan" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/container-networking-bridge-macvlan-overlay" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/container-networking-bridge-macvlan-overlay.webp</image:loc><image:title>Container Networking: Bridge, macvlan, and Overlay Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Container&#x20;Networking&#x3A;&#x20;Bridge,&#x20;macvlan,&#x20;and&#x20;Overlay&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/container-networking-bridge-macvlan-overlay.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-exploring-debugfs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-debugfs-erkunden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-exploring-debugfs" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-exploring-debugfs.webp</image:loc><image:title>Exploring debugfs: Kernel Internals Beyond /proc and /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;debugfs&#x3A;&#x20;Kernel&#x20;Internals&#x20;Beyond&#x20;&#x2F;proc&#x20;and&#x20;&#x2F;sys"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-exploring-debugfs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-ebpf-bpftrace-introduction</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-ebpf-bpftrace-einfuehrung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-ebpf-bpftrace-introduction" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-ebpf-bpftrace-introduction.webp</image:loc><image:title>eBPF and bpftrace: Modern Kernel Observability Without Kernel Modules</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="eBPF&#x20;and&#x20;bpftrace&#x3A;&#x20;Modern&#x20;Kernel&#x20;Observability&#x20;Without&#x20;Kernel&#x20;Modules"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-ebpf-bpftrace-introduction.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/grub-bootloader-configuration-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/grub-bootloader-konfiguration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/grub-bootloader-configuration-guide" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/grub-bootloader-configuration-guide.webp</image:loc><image:title>Configuring and Fixing the GRUB Bootloader: From Kernel Parameters to the Rescue Shell</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;Fixing&#x20;the&#x20;GRUB&#x20;Bootloader&#x3A;&#x20;From&#x20;Kernel&#x20;Parameters&#x20;to&#x20;the&#x20;Rescue&#x20;Shell"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/grub-bootloader-configuration-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/initramfs-and-dracut-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/initramfs-dracut-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/initramfs-and-dracut-fundamentals" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/initramfs-and-dracut-fundamentals.webp</image:loc><image:title>initramfs and dracut: How Linux Finds the Root Filesystem at Boot Time</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="initramfs&#x20;and&#x20;dracut&#x3A;&#x20;How&#x20;Linux&#x20;Finds&#x20;the&#x20;Root&#x20;Filesystem&#x20;at&#x20;Boot&#x20;Time"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/initramfs-and-dracut-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-inotify-fanotify-filesystem-monitoring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-inotify-fanotify-dateisystemueberwachung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-inotify-fanotify-filesystem-monitoring" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-inotify-fanotify-filesystem-monitoring.webp</image:loc><image:title>Monitoring Filesystem Events With inotify and fanotify</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Monitoring&#x20;Filesystem&#x20;Events&#x20;With&#x20;inotify&#x20;and&#x20;fanotify"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-inotify-fanotify-filesystem-monitoring.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/kernel-live-patching-with-kpatch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/kernel-live-patching-kpatch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/kernel-live-patching-with-kpatch" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/kernel-live-patching-with-kpatch.webp</image:loc><image:title>Kernel Live Patching with kpatch: Applying Security Updates Without a Reboot</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Kernel&#x20;Live&#x20;Patching&#x20;with&#x20;kpatch&#x3A;&#x20;Applying&#x20;Security&#x20;Updates&#x20;Without&#x20;a&#x20;Reboot"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/kernel-live-patching-with-kpatch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-network-bonding-with-lacp</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-netzwerk-bonding-mit-lacp" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-network-bonding-with-lacp" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-network-bonding-with-lacp.webp</image:loc><image:title>Network Bonding With LACP: Combining Failover and Bandwidth</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Network&#x20;Bonding&#x20;With&#x20;LACP&#x3A;&#x20;Combining&#x20;Failover&#x20;and&#x20;Bandwidth"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-network-bonding-with-lacp.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-migrating-from-iptables-to-nftables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-nftables-migration-von-iptables" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-migrating-from-iptables-to-nftables" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-migrating-from-iptables-to-nftables.webp</image:loc><image:title>nftables: Migrating From iptables to the Modern Firewall Framework</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="nftables&#x3A;&#x20;Migrating&#x20;From&#x20;iptables&#x20;to&#x20;the&#x20;Modern&#x20;Firewall&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-migrating-from-iptables-to-nftables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-understanding-overlayfs-union-filesystem</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-overlayfs-union-filesystem-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-understanding-overlayfs-union-filesystem" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-understanding-overlayfs-union-filesystem.webp</image:loc><image:title>Understanding OverlayFS: The Union Filesystem Behind Every Docker Container</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;OverlayFS&#x3A;&#x20;The&#x20;Union&#x20;Filesystem&#x20;Behind&#x20;Every&#x20;Docker&#x20;Container"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-understanding-overlayfs-union-filesystem.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-troubleshooting-path-mtu-discovery</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-path-mtu-discovery-troubleshooten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-troubleshooting-path-mtu-discovery" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-troubleshooting-path-mtu-discovery.webp</image:loc><image:title>Troubleshooting Path MTU Discovery: When Packets Mysteriously Vanish</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Troubleshooting&#x20;Path&#x20;MTU&#x20;Discovery&#x3A;&#x20;When&#x20;Packets&#x20;Mysteriously&#x20;Vanish"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-troubleshooting-path-mtu-discovery.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/podman-rootless-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/podman-rootless-container" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/podman-rootless-containers" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/podman-rootless-containers.webp</image:loc><image:title>Podman: Rootless Containers 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="Podman&#x3A;&#x20;Rootless&#x20;Containers&#x20;as&#x20;a&#x20;Docker&#x20;Alternative"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/podman-rootless-containers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-mastering-ps-pgrep-pkill</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-procps-tools-ps-pgrep-pkill" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-mastering-ps-pgrep-pkill" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-mastering-ps-pgrep-pkill.webp</image:loc><image:title>ps, pgrep, and pkill in Detail: Finding and Controlling Processes Precisely</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ps,&#x20;pgrep,&#x20;and&#x20;pkill&#x20;in&#x20;Detail&#x3A;&#x20;Finding&#x20;and&#x20;Controlling&#x20;Processes&#x20;Precisely"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-mastering-ps-pgrep-pkill.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/rsyslog-centralized-logging-multiple-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/rsyslog-zentrales-logging-mehrere-server" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/rsyslog-centralized-logging-multiple-servers" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/rsyslog-centralized-logging-multiple-servers.webp</image:loc><image:title>Centralized Logging with rsyslog: Consolidating Logs From Multiple Servers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Centralized&#x20;Logging&#x20;with&#x20;rsyslog&#x3A;&#x20;Consolidating&#x20;Logs&#x20;From&#x20;Multiple&#x20;Servers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/rsyslog-centralized-logging-multiple-servers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seccomp-syscall-filtering</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seccomp-syscall-filter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seccomp-syscall-filtering" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seccomp-syscall-filtering.webp</image:loc><image:title>seccomp: Syscall Filtering for Hardened Containers and Processes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="seccomp&#x3A;&#x20;Syscall&#x20;Filtering&#x20;for&#x20;Hardened&#x20;Containers&#x20;and&#x20;Processes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seccomp-syscall-filtering.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-debugging-syscalls-with-strace</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-strace-syscalls-debuggen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-debugging-syscalls-with-strace" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-debugging-syscalls-with-strace.webp</image:loc><image:title>strace: Debugging a Process's System Calls Live</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="strace&#x3A;&#x20;Debugging&#x20;a&#x20;Process&#x27;s&#x20;System&#x20;Calls&#x20;Live"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-debugging-syscalls-with-strace.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/systemd-nspawn-lightweight-containers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/systemd-nspawn-container" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/systemd-nspawn-lightweight-containers" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/systemd-nspawn-lightweight-containers.webp</image:loc><image:title>systemd-nspawn: Lightweight Containers Without Docker</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="systemd-nspawn&#x3A;&#x20;Lightweight&#x20;Containers&#x20;Without&#x20;Docker"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/systemd-nspawn-lightweight-containers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/systemd-resolved-dns-caching-and-split-dns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/systemd-resolved-dns-caching-split-dns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/systemd-resolved-dns-caching-and-split-dns" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/systemd-resolved-dns-caching-and-split-dns.webp</image:loc><image:title>Configuring systemd-resolved: DNS Caching and Split DNS on Linux</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;systemd-resolved&#x3A;&#x20;DNS&#x20;Caching&#x20;and&#x20;Split&#x20;DNS&#x20;on&#x20;Linux"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/systemd-resolved-dns-caching-and-split-dns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/systemd-socket-activation-starting-services-on-demand</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/systemd-socket-activation-dienste-bei-bedarf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/systemd-socket-activation-starting-services-on-demand" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/systemd-socket-activation-starting-services-on-demand.webp</image:loc><image:title>systemd Socket Activation: Starting Services Only When Needed</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="systemd&#x20;Socket&#x20;Activation&#x3A;&#x20;Starting&#x20;Services&#x20;Only&#x20;When&#x20;Needed"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/systemd-socket-activation-starting-services-on-demand.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/systemd-vs-alternative-init-systems</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/systemd-vs-alternative-init-systeme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/systemd-vs-alternative-init-systems" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/systemd-vs-alternative-init-systems.webp</image:loc><image:title>systemd vs. OpenRC vs. runit: Comparing Init Systems 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="systemd&#x20;vs.&#x20;OpenRC&#x20;vs.&#x20;runit&#x3A;&#x20;Comparing&#x20;Init&#x20;Systems&#x20;for&#x20;Servers&#x20;and&#x20;Containers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/systemd-vs-alternative-init-systems.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-traffic-shaping-with-tc-and-qdisc</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-traffic-shaping-mit-tc-und-qdisc" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-traffic-shaping-with-tc-and-qdisc" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-traffic-shaping-with-tc-and-qdisc.webp</image:loc><image:title>Traffic Shaping With tc and qdisc: Steering Bandwidth With Purpose</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Traffic&#x20;Shaping&#x20;With&#x20;tc&#x20;and&#x20;qdisc&#x3A;&#x20;Steering&#x20;Bandwidth&#x20;With&#x20;Purpose"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-traffic-shaping-with-tc-and-qdisc.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/transparent-huge-pages-vs-explicit-hugepages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/transparent-huge-pages-vs-hugepages" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/transparent-huge-pages-vs-explicit-hugepages" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/transparent-huge-pages-vs-explicit-hugepages.webp</image:loc><image:title>Transparent Huge Pages vs. Explicit Huge Pages: Differences and Tuning 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="Transparent&#x20;Huge&#x20;Pages&#x20;vs.&#x20;Explicit&#x20;Huge&#x20;Pages&#x3A;&#x20;Differences&#x20;and&#x20;Tuning&#x20;for&#x20;Database&#x20;Servers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/transparent-huge-pages-vs-explicit-hugepages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/udev-rules-automating-device-events</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/udev-regeln-geraete-events-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/udev-rules-automating-device-events" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/udev-rules-automating-device-events.webp</image:loc><image:title>udev Rules: Automatically Handling Device Events</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="udev&#x20;Rules&#x3A;&#x20;Automatically&#x20;Handling&#x20;Device&#x20;Events"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/udev-rules-automating-device-events.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-tuning-vm-overcommit-memory</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-vm-overcommit-memory-tuning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-tuning-vm-overcommit-memory" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-tuning-vm-overcommit-memory.webp</image:loc><image:title>Setting vm.overcommit_memory Correctly: Understanding Memory Overcommit</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Setting&#x20;vm.overcommit_memory&#x20;Correctly&#x3A;&#x20;Understanding&#x20;Memory&#x20;Overcommit"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-tuning-vm-overcommit-memory.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-watchdog-timers-hardware-and-software</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/watchdog-timer-hardware-software-linux" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-watchdog-timers-hardware-and-software" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-watchdog-timers-hardware-and-software.webp</image:loc><image:title>Linux Watchdog Timers: Using Hardware and Software Watchdogs 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;Watchdog&#x20;Timers&#x3A;&#x20;Using&#x20;Hardware&#x20;and&#x20;Software&#x20;Watchdogs&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-watchdog-timers-hardware-and-software.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-setting-up-wireguard-vpn-on-linux</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-wireguard-vpn-unter-linux-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-setting-up-wireguard-vpn-on-linux" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-setting-up-wireguard-vpn-on-linux.webp</image:loc><image:title>Setting Up WireGuard VPN on Linux: Lean, Modern Encryption</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;WireGuard&#x20;VPN&#x20;on&#x20;Linux&#x3A;&#x20;Lean,&#x20;Modern&#x20;Encryption"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-setting-up-wireguard-vpn-on-linux.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux-zfs-on-linux-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux-zfs-on-linux-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux-zfs-on-linux-fundamentals" />
<lastmod>2026-08-09T10:30:42+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/linux-zfs-on-linux-fundamentals.webp</image:loc><image:title>ZFS on Linux: Fundamentals for Servers With High Data Integrity Requirements</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ZFS&#x20;on&#x20;Linux&#x3A;&#x20;Fundamentals&#x20;for&#x20;Servers&#x20;With&#x20;High&#x20;Data&#x20;Integrity&#x20;Requirements"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/linux-zfs-on-linux-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-accessibility-monitoring-in-production-with-lighthouse-ci</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-monitoring-im-betrieb-mit-lighthouse-ci" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-accessibility-monitoring-in-production-with-lighthouse-ci" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessibility-monitoring-in-production-with-lighthouse-ci.webp</image:loc><image:title>Accessibility Monitoring in Production 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="Accessibility&#x20;Monitoring&#x20;in&#x20;Production&#x20;With&#x20;Lighthouse&#x20;CI"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessibility-monitoring-in-production-with-lighthouse-ci.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/accessibility-overlays-why-they-fall-short</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/accessibility-overlays-warum-sie-nicht-reichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/accessibility-overlays-why-they-fall-short" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/accessibility-overlays-why-they-fall-short.webp</image:loc><image:title>Accessibility Overlays: Why One-Click Widgets Are Not Enough</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessibility&#x20;Overlays&#x3A;&#x20;Why&#x20;One-Click&#x20;Widgets&#x20;Are&#x20;Not&#x20;Enough"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/accessibility-overlays-why-they-fall-short.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/accessible-accordion-tabs-aria-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/accordion-tabs-barrierefrei-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/accessible-accordion-tabs-aria-patterns" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/accessible-accordion-tabs-aria-patterns.webp</image:loc><image:title>Implementing Accessible Accordions and Tabs</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;Accordions&#x20;and&#x20;Tabs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/accessible-accordion-tabs-aria-patterns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-integrating-axe-core-into-the-developer-workflow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-axe-core-in-den-entwickler-workflow-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-integrating-axe-core-into-the-developer-workflow" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-integrating-axe-core-into-the-developer-workflow.webp</image:loc><image:title>Integrating axe-core Into the Developer Workflow</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrating&#x20;axe-core&#x20;Into&#x20;the&#x20;Developer&#x20;Workflow"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-integrating-axe-core-into-the-developer-workflow.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-accessible-breadcrumbs-and-pagination</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-barrierefreie-breadcrumbs-pagination" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-accessible-breadcrumbs-and-pagination" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-breadcrumbs-and-pagination.webp</image:loc><image:title>Accessible Breadcrumbs and Pagination</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessible&#x20;Breadcrumbs&#x20;and&#x20;Pagination"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-breadcrumbs-and-pagination.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-accessible-charts-and-data-visualization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-barrierefreie-diagramme-datenvisualisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-accessible-charts-and-data-visualization" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-charts-and-data-visualization.webp</image:loc><image:title>Accessible Charts and Data Visualization</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessible&#x20;Charts&#x20;and&#x20;Data&#x20;Visualization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-charts-and-data-visualization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-accessible-pdf-documents-in-the-shop</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-barrierefreie-pdf-dokumente-shop" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-accessible-pdf-documents-in-the-shop" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-pdf-documents-in-the-shop.webp</image:loc><image:title>Accessible PDF Documents in the Shop: Invoices, Catalogs, Data Sheets</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessible&#x20;PDF&#x20;Documents&#x20;in&#x20;the&#x20;Shop&#x3A;&#x20;Invoices,&#x20;Catalogs,&#x20;Data&#x20;Sheets"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-accessible-pdf-documents-in-the-shop.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/accessible-payment-methods-checkout</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreie-zahlungsmethoden-checkout" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/accessible-payment-methods-checkout" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/accessible-payment-methods-checkout.webp</image:loc><image:title>Accessible Payment Methods in Checkout: Radiogroup, iFrames and 3-D Secure</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessible&#x20;Payment&#x20;Methods&#x20;in&#x20;Checkout&#x3A;&#x20;Radiogroup,&#x20;iFrames&#x20;and&#x20;3-D&#x20;Secure"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/accessible-payment-methods-checkout.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/accessibility-legal-risk-enforcement-realistic-assessment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-abmahnungen-rechtliches-risiko-einschaetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/accessibility-legal-risk-enforcement-realistic-assessment" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/accessibility-legal-risk-enforcement-realistic-assessment.webp</image:loc><image:title>Accessibility and Cease-and-Desist Letters: Assessing the Legal Risk Realistically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessibility&#x20;and&#x20;Cease-and-Desist&#x20;Letters&#x3A;&#x20;Assessing&#x20;the&#x20;Legal&#x20;Risk&#x20;Realistically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/accessibility-legal-risk-enforcement-realistic-assessment.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-prioritizing-accessibility-findings-by-severity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-accessibility-findings-nach-schweregrad-priorisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-prioritizing-accessibility-findings-by-severity" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-prioritizing-accessibility-findings-by-severity.webp</image:loc><image:title>Prioritizing Accessibility Findings in Ticketing by Severity</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Prioritizing&#x20;Accessibility&#x20;Findings&#x20;in&#x20;Ticketing&#x20;by&#x20;Severity"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-prioritizing-accessibility-findings-by-severity.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-running-user-testing-with-people-with-disabilities</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-user-testing-mit-menschen-mit-behinderungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-running-user-testing-with-people-with-disabilities" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-running-user-testing-with-people-with-disabilities.webp</image:loc><image:title>Running User Testing With People With Disabilities</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Running&#x20;User&#x20;Testing&#x20;With&#x20;People&#x20;With&#x20;Disabilities"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-running-user-testing-with-people-with-disabilities.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-making-cookie-consent-banners-accessible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-cookie-consent-banner-barrierefrei-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-making-cookie-consent-banners-accessible" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-cookie-consent-banners-accessible.webp</image:loc><image:title>Making Cookie Consent Banners 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;Cookie&#x20;Consent&#x20;Banners&#x20;Accessible"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-cookie-consent-banners-accessible.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-anchoring-accessibility-through-design-tokens</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-design-tokens-systematisch-verankern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-anchoring-accessibility-through-design-tokens" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-anchoring-accessibility-through-design-tokens.webp</image:loc><image:title>Anchoring Accessibility Systematically Through Design Tokens</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Anchoring&#x20;Accessibility&#x20;Systematically&#x20;Through&#x20;Design&#x20;Tokens"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-anchoring-accessibility-through-design-tokens.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/accessible-drag-and-drop-keyboard-alternative</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/drag-and-drop-barrierefrei-alternative" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/accessible-drag-and-drop-keyboard-alternative" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/accessible-drag-and-drop-keyboard-alternative.webp</image:loc><image:title>Accessible Drag and Drop: Offering Keyboard and Screen Reader Alternatives</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Accessible&#x20;Drag&#x20;and&#x20;Drop&#x3A;&#x20;Offering&#x20;Keyboard&#x20;and&#x20;Screen&#x20;Reader&#x20;Alternatives"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/accessible-drag-and-drop-keyboard-alternative.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/en-301-549-european-accessibility-standard</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/en-301-549-europaeische-norm-digitale-barrierefreiheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/en-301-549-european-accessibility-standard" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/en-301-549-european-accessibility-standard.webp</image:loc><image:title>EN 301 549: The European Standard for Digital Accessibility</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="EN&#x20;301&#x20;549&#x3A;&#x20;The&#x20;European&#x20;Standard&#x20;for&#x20;Digital&#x20;Accessibility"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/en-301-549-european-accessibility-standard.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-cognitive-accessibility-plain-language-clear-ux-copy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-kognitive-barrierefreiheit-leichte-sprache" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-cognitive-accessibility-plain-language-clear-ux-copy" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-cognitive-accessibility-plain-language-clear-ux-copy.webp</image:loc><image:title>Cognitive Accessibility: Plain Language and Clear UX Copy</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cognitive&#x20;Accessibility&#x3A;&#x20;Plain&#x20;Language&#x20;and&#x20;Clear&#x20;UX&#x20;Copy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-cognitive-accessibility-plain-language-clear-ux-copy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-making-live-chat-widgets-accessible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-live-chat-widgets-barrierefrei-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-making-live-chat-widgets-accessible" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-live-chat-widgets-accessible.webp</image:loc><image:title>Making Live Chat Widgets Accessible: Keyboard, Focus, and aria-live Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;Live&#x20;Chat&#x20;Widgets&#x20;Accessible&#x3A;&#x20;Keyboard,&#x20;Focus,&#x20;and&#x20;aria-live&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-live-chat-widgets-accessible.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/accessible-modal-dialogs-focus-trap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/modal-dialoge-barrierefrei-focus-trap" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/accessible-modal-dialogs-focus-trap" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/accessible-modal-dialogs-focus-trap.webp</image:loc><image:title>Accessible Modal Dialogs: Implementing Focus Traps 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;Modal&#x20;Dialogs&#x3A;&#x20;Implementing&#x20;Focus&#x20;Traps&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/accessible-modal-dialogs-focus-trap.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/accessible-multi-step-forms-progress</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/multi-step-formulare-fortschritt-barrierefrei" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/accessible-multi-step-forms-progress" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/accessible-multi-step-forms-progress.webp</image:loc><image:title>Making Multi-Step Forms and Progress Indicators 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;Multi-Step&#x20;Forms&#x20;and&#x20;Progress&#x20;Indicators&#x20;Accessible"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/accessible-multi-step-forms-progress.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-making-newsletter-signup-and-double-opt-in-accessible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-newsletter-anmeldung-und-double-opt-in-barrierefrei" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-making-newsletter-signup-and-double-opt-in-accessible" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-newsletter-signup-and-double-opt-in-accessible.webp</image:loc><image:title>Making Newsletter Signup and Double Opt-In 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;Newsletter&#x20;Signup&#x20;and&#x20;Double&#x20;Opt-In&#x20;Accessible"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-newsletter-signup-and-double-opt-in-accessible.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/accessible-price-display-discounts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/preisdarstellung-rabatte-barrierefrei" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/accessible-price-display-discounts" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/accessible-price-display-discounts.webp</image:loc><image:title>Communicating Prices and Discounts Accessibly: del, ins and Discount Badges</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Communicating&#x20;Prices&#x20;and&#x20;Discounts&#x20;Accessibly&#x3A;&#x20;del,&#x20;ins&#x20;and&#x20;Discount&#x20;Badges"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/accessible-price-display-discounts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/voice-control-speech-recognition-compatibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sprachsteuerung-voice-control-kompatibilität" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/voice-control-speech-recognition-compatibility" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/voice-control-speech-recognition-compatibility.webp</image:loc><image:title>Voice Control Compatibility: Supporting Voice Control and Dragon NaturallySpeaking</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Voice&#x20;Control&#x20;Compatibility&#x3A;&#x20;Supporting&#x20;Voice&#x20;Control&#x20;and&#x20;Dragon&#x20;NaturallySpeaking"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/voice-control-speech-recognition-compatibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/accessible-star-ratings-product-reviews</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sternebewertungen-rezensionen-barrierefrei" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/accessible-star-ratings-product-reviews" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/accessible-star-ratings-product-reviews.webp</image:loc><image:title>Making Star Ratings and Product Reviews 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;Star&#x20;Ratings&#x20;and&#x20;Product&#x20;Reviews&#x20;Accessible"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/accessible-star-ratings-product-reviews.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-making-search-and-autocomplete-accessible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-suchfeld-und-autocomplete-barrierefrei-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-making-search-and-autocomplete-accessible" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-search-and-autocomplete-accessible.webp</image:loc><image:title>Making Search and Autocomplete Suggestions 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;Search&#x20;and&#x20;Autocomplete&#x20;Suggestions&#x20;Accessible"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-search-and-autocomplete-accessible.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-getting-text-alternatives-for-icon-only-buttons-right</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-text-alternativen-icon-only-buttons" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-getting-text-alternatives-for-icon-only-buttons-right" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-getting-text-alternatives-for-icon-only-buttons-right.webp</image:loc><image:title>Getting Text Alternatives for Icon-only Buttons 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;Text&#x20;Alternatives&#x20;for&#x20;Icon-only&#x20;Buttons&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-getting-text-alternatives-for-icon-only-buttons-right.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit-making-toast-notifications-and-snackbars-accessible</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit-toast-notifications-und-snackbars-barrierefrei" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit-making-toast-notifications-and-snackbars-accessible" />
<lastmod>2026-08-09T10:31:09+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-toast-notifications-and-snackbars-accessible.webp</image:loc><image:title>Making Toast Notifications and Snackbars 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;Toast&#x20;Notifications&#x20;and&#x20;Snackbars&#x20;Accessible"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/barrierefreiheit-making-toast-notifications-and-snackbars-accessible.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/touch-target-size-mobile-accessibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/touch-target-größe-mobile-barrierefreiheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/touch-target-size-mobile-accessibility" />
<lastmod>2026-08-09T10:31:10+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/touch-target-size-mobile-accessibility.webp</image:loc><image:title>Touch Target Size: Mobile Accessibility for Fingers, Not Mouse Pointers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Touch&#x20;Target&#x20;Size&#x3A;&#x20;Mobile&#x20;Accessibility&#x20;for&#x20;Fingers,&#x20;Not&#x20;Mouse&#x20;Pointers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/touch-target-size-mobile-accessibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vpat-accessibility-conformance-report-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vpat-accessibility-conformance-report-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vpat-accessibility-conformance-report-guide" />
<lastmod>2026-08-09T10:31:10+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/vpat-accessibility-conformance-report-guide.webp</image:loc><image:title>Creating a VPAT and Accessibility Conformance Report</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;VPAT&#x20;and&#x20;Accessibility&#x20;Conformance&#x20;Report"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/vpat-accessibility-conformance-report-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/wcag-22-new-success-criteria-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/wcag-22-neue-erfolgskriterien-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/wcag-22-new-success-criteria-explained" />
<lastmod>2026-08-09T10:31:10+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/wcag-22-new-success-criteria-explained.webp</image:loc><image:title>WCAG 2.2: The New Success Criteria in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="WCAG&#x20;2.2&#x3A;&#x20;The&#x20;New&#x20;Success&#x20;Criteria&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/wcag-22-new-success-criteria-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/accessible-wishlist-toggle-button</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/wishlist-merkzettel-barrierefrei" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/accessible-wishlist-toggle-button" />
<lastmod>2026-08-09T10:31:10+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/accessible-wishlist-toggle-button.webp</image:loc><image:title>Making Wishlists Accessible: Toggle Button Pattern and Status Announcements</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;Wishlists&#x20;Accessible&#x3A;&#x20;Toggle&#x20;Button&#x20;Pattern&#x20;and&#x20;Status&#x20;Announcements"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/accessible-wishlist-toggle-button.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-defining-custom-agent-skills</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-agent-skills-eigene-faehigkeiten-definieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-defining-custom-agent-skills" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-defining-custom-agent-skills.webp</image:loc><image:title>Defining Custom Skills for Claude Code: Packaging Team Abilities</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;Skills&#x20;for&#x20;Claude&#x20;Code&#x3A;&#x20;Packaging&#x20;Team&#x20;Abilities"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-defining-custom-agent-skills.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-designing-agentic-rag-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-agentische-rag-pipelines-designen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-designing-agentic-rag-pipelines" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-designing-agentic-rag-pipelines.webp</image:loc><image:title>Designing Agentic RAG Pipelines with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Agentic&#x20;RAG&#x20;Pipelines&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-designing-agentic-rag-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-api-versioning-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-api-versionierungsstrategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-api-versioning-strategies" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-api-versioning-strategies.webp</image:loc><image:title>Thinking Through API Versioning Strategies with Claude: URL, Header, Deprecation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Thinking&#x20;Through&#x20;API&#x20;Versioning&#x20;Strategies&#x20;with&#x20;Claude&#x3A;&#x20;URL,&#x20;Header,&#x20;Deprecation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-api-versioning-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-building-browser-extensions-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-browser-extension-entwicklung-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-building-browser-extensions-with-claude" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-building-browser-extensions-with-claude.webp</image:loc><image:title>Building Browser Extensions with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Browser&#x20;Extensions&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-building-browser-extensions-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-designing-caching-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-caching-strategien-entwerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-designing-caching-strategies" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-designing-caching-strategies.webp</image:loc><image:title>Designing Caching Strategies with Claude: Invalidation, Layers, Stampede</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Caching&#x20;Strategies&#x20;with&#x20;Claude&#x3A;&#x20;Invalidation,&#x20;Layers,&#x20;Stampede"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-designing-caching-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-generating-changelogs-from-commits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-changelog-generierung-aus-commits" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-generating-changelogs-from-commits" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-generating-changelogs-from-commits.webp</image:loc><image:title>Generating Changelogs Automatically From Commits With Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Generating&#x20;Changelogs&#x20;Automatically&#x20;From&#x20;Commits&#x20;With&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-generating-changelogs-from-commits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-designing-chaos-engineering-experiments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-chaos-engineering-experimente-designen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-designing-chaos-engineering-experiments" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-designing-chaos-engineering-experiments.webp</image:loc><image:title>Designing Chaos Engineering Experiments with Claude: Hypotheses, Blast Radius, and Preparation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Chaos&#x20;Engineering&#x20;Experiments&#x20;with&#x20;Claude&#x3A;&#x20;Hypotheses,&#x20;Blast&#x20;Radius,&#x20;and&#x20;Preparation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-designing-chaos-engineering-experiments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-analyzing-cloud-cost-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-cloud-kostenoptimierung-analysieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-analyzing-cloud-cost-optimization" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-analyzing-cloud-cost-optimization.webp</image:loc><image:title>Analyzing Cloud Cost Optimization with Claude: Cost Exports, RI Strategy, and Limits</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Analyzing&#x20;Cloud&#x20;Cost&#x20;Optimization&#x20;with&#x20;Claude&#x3A;&#x20;Cost&#x20;Exports,&#x20;RI&#x20;Strategy,&#x20;and&#x20;Limits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-analyzing-cloud-cost-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-computer-use-browser-automation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-computer-use-browser-automatisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-computer-use-browser-automation" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-computer-use-browser-automation.webp</image:loc><image:title>Claude Computer Use: Browser Automation Beyond Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Claude&#x20;Computer&#x20;Use&#x3A;&#x20;Browser&#x20;Automation&#x20;Beyond&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-computer-use-browser-automation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-analyzing-database-index-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-datenbank-indexstrategien-analysieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-analyzing-database-index-strategies" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-analyzing-database-index-strategies.webp</image:loc><image:title>Analyzing Database Index Strategies with Claude: EXPLAIN, Composite Order</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Analyzing&#x20;Database&#x20;Index&#x20;Strategies&#x20;with&#x20;Claude&#x3A;&#x20;EXPLAIN,&#x20;Composite&#x20;Order"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-analyzing-database-index-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-planning-major-dependency-upgrades</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-dependency-upgrades-planen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-planning-major-dependency-upgrades" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-planning-major-dependency-upgrades.webp</image:loc><image:title>Planning Major Dependency Upgrades With Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Planning&#x20;Major&#x20;Dependency&#x20;Upgrades&#x20;With&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-planning-major-dependency-upgrades.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-gdpr-privacy-by-design-code-review</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-dsgvo-privacy-by-design-code-review" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-gdpr-privacy-by-design-code-review" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-gdpr-privacy-by-design-code-review.webp</image:loc><image:title>GDPR and Privacy by Design in Code Review with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GDPR&#x20;and&#x20;Privacy&#x20;by&#x20;Design&#x20;in&#x20;Code&#x20;Review&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-gdpr-privacy-by-design-code-review.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-designing-cli-tools-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-eigene-cli-tools-entwerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-designing-cli-tools-with-claude" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-designing-cli-tools-with-claude.webp</image:loc><image:title>Designing Your Own CLI Tools with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Your&#x20;Own&#x20;CLI&#x20;Tools&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-designing-cli-tools-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-event-driven-architecture-design</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-event-driven-architektur-design" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-event-driven-architecture-design" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-event-driven-architecture-design.webp</image:loc><image:title>Designing Event-Driven Architecture with Claude: Schema, Idempotency, Versioning</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Event-Driven&#x20;Architecture&#x20;with&#x20;Claude&#x3A;&#x20;Schema,&#x20;Idempotency,&#x20;Versioning"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-event-driven-architecture-design.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-extended-thinking-controlling-reasoning-effort</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-extended-thinking-reasoning-effort-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-extended-thinking-controlling-reasoning-effort" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-extended-thinking-controlling-reasoning-effort.webp</image:loc><image:title>Extended Thinking: Controlling Claude's Reasoning Effort on Purpose</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Extended&#x20;Thinking&#x3A;&#x20;Controlling&#x20;Claude&#x27;s&#x20;Reasoning&#x20;Effort&#x20;on&#x20;Purpose"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-extended-thinking-controlling-reasoning-effort.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-feature-flag-rollout-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-feature-flag-rollout-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-feature-flag-rollout-strategies" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-feature-flag-rollout-strategies.webp</image:loc><image:title>Thinking Through Feature Flag Rollout Strategies with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Thinking&#x20;Through&#x20;Feature&#x20;Flag&#x20;Rollout&#x20;Strategies&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-feature-flag-rollout-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-managing-translation-strings-for-i18n</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-i18n-uebersetzungsstrings-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-managing-translation-strings-for-i18n" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-managing-translation-strings-for-i18n.webp</image:loc><image:title>Internationalization: Managing Translation Strings with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Internationalization&#x3A;&#x20;Managing&#x20;Translation&#x20;Strings&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-managing-translation-strings-for-i18n.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-migrating-legacy-languages-cobol-perl-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-legacy-sprachen-migration-cobol-perl" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-migrating-legacy-languages-cobol-perl-with-claude" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-migrating-legacy-languages-cobol-perl-with-claude.webp</image:loc><image:title>Migrating Legacy Languages: Modernizing COBOL and Perl with Claude</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;Languages&#x3A;&#x20;Modernizing&#x20;COBOL&#x20;and&#x20;Perl&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-migrating-legacy-languages-cobol-perl-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-building-load-testing-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-load-testing-skripte-entwickeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-building-load-testing-scripts" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-building-load-testing-scripts.webp</image:loc><image:title>Building Load Testing Scripts with Claude: k6, Realistic Load Profiles, and Percentiles</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Load&#x20;Testing&#x20;Scripts&#x20;with&#x20;Claude&#x3A;&#x20;k6,&#x20;Realistic&#x20;Load&#x20;Profiles,&#x20;and&#x20;Percentiles"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-building-load-testing-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-designing-microservices-boundaries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-microservices-schnitt-entwerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-designing-microservices-boundaries" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-designing-microservices-boundaries.webp</image:loc><image:title>Designing Microservices Boundaries with Claude: Finding Bounded Contexts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Designing&#x20;Microservices&#x20;Boundaries&#x20;with&#x20;Claude&#x3A;&#x20;Finding&#x20;Bounded&#x20;Contexts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-designing-microservices-boundaries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-monorepo-tooling-decisions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-monorepo-tooling-entscheidungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-monorepo-tooling-decisions" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-monorepo-tooling-decisions.webp</image:loc><image:title>Thinking Through Monorepo Tooling Decisions with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Thinking&#x20;Through&#x20;Monorepo&#x20;Tooling&#x20;Decisions&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-monorepo-tooling-decisions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-configuring-observability-dashboards</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-observability-dashboards-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-configuring-observability-dashboards" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-configuring-observability-dashboards.webp</image:loc><image:title>Configuring Observability Dashboards with Claude: PromQL, Panels, and Alert Thresholds</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Observability&#x20;Dashboards&#x20;with&#x20;Claude&#x3A;&#x20;PromQL,&#x20;Panels,&#x20;and&#x20;Alert&#x20;Thresholds"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-configuring-observability-dashboards.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-creating-on-call-runbooks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-on-call-runbooks-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-creating-on-call-runbooks" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-creating-on-call-runbooks.webp</image:loc><image:title>Creating On-Call Runbooks with Claude: From Postmortems to Reusable Templates</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Creating&#x20;On-Call&#x20;Runbooks&#x20;with&#x20;Claude&#x3A;&#x20;From&#x20;Postmortems&#x20;to&#x20;Reusable&#x20;Templates"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-creating-on-call-runbooks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-understanding-open-source-contributions-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-open-source-beitraege-verstehen-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-understanding-open-source-contributions-with-claude" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-understanding-open-source-contributions-with-claude.webp</image:loc><image:title>Understanding and Contributing to Unfamiliar Open Source Codebases with Claude</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;Contributing&#x20;to&#x20;Unfamiliar&#x20;Open&#x20;Source&#x20;Codebases&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-understanding-open-source-contributions-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-choosing-between-rag-fine-tuning-and-prompting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-rag-vs-fine-tuning-vs-prompting-entscheiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-choosing-between-rag-fine-tuning-and-prompting" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-choosing-between-rag-fine-tuning-and-prompting.webp</image:loc><image:title>RAG vs. Fine-Tuning vs. Prompting: Choosing the Right Approach</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="RAG&#x20;vs.&#x20;Fine-Tuning&#x20;vs.&#x20;Prompting&#x3A;&#x20;Choosing&#x20;the&#x20;Right&#x20;Approach"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-choosing-between-rag-fine-tuning-and-prompting.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-sast-style-security-reviews-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-sast-aehnliche-security-reviews-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-sast-style-security-reviews-with-claude" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-sast-style-security-reviews-with-claude.webp</image:loc><image:title>Running SAST-Style Security Reviews with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Running&#x20;SAST-Style&#x20;Security&#x20;Reviews&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-sast-style-security-reviews-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-technical-due-diligence-code-audits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-technische-due-diligence-code-audits" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-technical-due-diligence-code-audits" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-technical-due-diligence-code-audits.webp</image:loc><image:title>Technical Due Diligence: Code Audits with Claude in M&amp;A Deals</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Technical&#x20;Due&#x20;Diligence&#x3A;&#x20;Code&#x20;Audits&#x20;with&#x20;Claude&#x20;in&#x20;M&amp;A&#x20;Deals"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-technical-due-diligence-code-audits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-preparing-technical-interviews-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-technische-vorstellungsgespraeche-vorbereiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-preparing-technical-interviews-with-claude" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-preparing-technical-interviews-with-claude.webp</image:loc><image:title>Preparing for Technical Interviews with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Preparing&#x20;for&#x20;Technical&#x20;Interviews&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-preparing-technical-interviews-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-setting-up-vector-database-pipelines</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-vector-datenbank-pipelines-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-setting-up-vector-database-pipelines" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-setting-up-vector-database-pipelines.webp</image:loc><image:title>Setting Up Vector Database Pipelines with Claude</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;Vector&#x20;Database&#x20;Pipelines&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-setting-up-vector-database-pipelines.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai-building-webhook-integrations-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai-webhook-integrationen-entwickeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai-building-webhook-integrations-with-claude" />
<lastmod>2026-08-09T10:31:31+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/claude-ai-building-webhook-integrations-with-claude.webp</image:loc><image:title>Building Webhook Integrations with Claude</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Building&#x20;Webhook&#x20;Integrations&#x20;with&#x20;Claude"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/claude-ai-building-webhook-integrations-with-claude.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-alpine-plugins-x-intersect-and-x-collapse</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-alpine-plugins-x-intersect-x-collapse" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-alpine-plugins-x-intersect-and-x-collapse" />
<lastmod>2026-08-09T10:32:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-alpine-plugins-x-intersect-and-x-collapse.webp</image:loc><image:title>Using the Alpine Plugins x-intersect and x-collapse in the Hyva Theme</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;Alpine&#x20;Plugins&#x20;x-intersect&#x20;and&#x20;x-collapse&#x20;in&#x20;the&#x20;Hyva&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-alpine-plugins-x-intersect-and-x-collapse.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-alpine-stores-global-state</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-alpine-stores-globaler-state" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-alpine-stores-global-state" />
<lastmod>2026-08-09T10:32:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-alpine-stores-global-state.webp</image:loc><image:title>Alpine.js Stores for Global State in the Hyva Theme</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;Stores&#x20;for&#x20;Global&#x20;State&#x20;in&#x20;the&#x20;Hyva&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-alpine-stores-global-state.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-order-status-shipment-tracking-ui</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-bestellstatus-sendungsverfolgung-ui" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-order-status-shipment-tracking-ui" />
<lastmod>2026-08-09T10:32:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-order-status-shipment-tracking-ui.webp</image:loc><image:title>Order Status &amp; Tracking UI in the Hyvä Customer Account</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Order&#x20;Status&#x20;&amp;&#x20;Tracking&#x20;UI&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Customer&#x20;Account"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-order-status-shipment-tracking-ui.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-ci-pipeline-for-tailwind-builds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-ci-pipeline-fuer-tailwind-build" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-ci-pipeline-for-tailwind-builds" />
<lastmod>2026-08-09T10:32:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-ci-pipeline-for-tailwind-builds.webp</image:loc><image:title>Setting Up a CI Pipeline for the Tailwind Build 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="Setting&#x20;Up&#x20;a&#x20;CI&#x20;Pipeline&#x20;for&#x20;the&#x20;Tailwind&#x20;Build&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-ci-pipeline-for-tailwind-builds.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-content-staging-with-page-builder</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-content-staging-mit-pagebuilder" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-content-staging-with-page-builder" />
<lastmod>2026-08-09T10:32:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-content-staging-with-page-builder.webp</image:loc><image:title>Content Staging with Page Builder in Hyvä: Shipping Scheduled Campaigns Reliably</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;with&#x20;Page&#x20;Builder&#x20;in&#x20;Hyv&#xE4;&#x3A;&#x20;Shipping&#x20;Scheduled&#x20;Campaigns&#x20;Reliably"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-content-staging-with-page-builder.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-third-party-js-integration-without-csp-breaks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-drittanbieter-js-integration-ohne-csp-bruch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-third-party-js-integration-without-csp-breaks" />
<lastmod>2026-08-09T10:32:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-third-party-js-integration-without-csp-breaks.webp</image:loc><image:title>Integrating Third Party JavaScript into the Hyva Theme Without Breaking CSP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Integrating&#x20;Third&#x20;Party&#x20;JavaScript&#x20;into&#x20;the&#x20;Hyva&#x20;Theme&#x20;Without&#x20;Breaking&#x20;CSP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-third-party-js-integration-without-csp-breaks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-elasticsearch-opensearch-facet-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-elasticsearch-opensearch-facetten-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-elasticsearch-opensearch-facet-performance" />
<lastmod>2026-08-09T10:32:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-elasticsearch-opensearch-facet-performance.webp</image:loc><image:title>Elasticsearch and OpenSearch Facets in Hyvä: Keeping Aggregations Fast</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Elasticsearch&#x20;and&#x20;OpenSearch&#x20;Facets&#x20;in&#x20;Hyv&#xE4;&#x3A;&#x20;Keeping&#x20;Aggregations&#x20;Fast"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-elasticsearch-opensearch-facet-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-form-validation-ux-client-server</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-formular-validierung-ux-client-server" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-form-validation-ux-client-server" />
<lastmod>2026-08-09T10:32:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-form-validation-ux-client-server.webp</image:loc><image:title>Form Validation in the Hyva Theme: Wiring Client and Server Together Properly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Form&#x20;Validation&#x20;in&#x20;the&#x20;Hyva&#x20;Theme&#x3A;&#x20;Wiring&#x20;Client&#x20;and&#x20;Server&#x20;Together&#x20;Properly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-form-validation-ux-client-server.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-graphql-fragment-reuse</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-graphql-fragment-wiederverwendung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-graphql-fragment-reuse" />
<lastmod>2026-08-09T10:32:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-graphql-fragment-reuse.webp</image:loc><image:title>Structuring Reusable GraphQL Fragments in a Hyvä Theme</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Structuring&#x20;Reusable&#x20;GraphQL&#x20;Fragments&#x20;in&#x20;a&#x20;Hyv&#xE4;&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-graphql-fragment-reuse.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-store-credit-gift-card-balance-ui</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-guthaben-gutscheine-store-credit-ui" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-store-credit-gift-card-balance-ui" />
<lastmod>2026-08-09T10:32:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-store-credit-gift-card-balance-ui.webp</image:loc><image:title>Store Credit and Gift Balances in the Hyvä Customer Account: Getting the UI Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Store&#x20;Credit&#x20;and&#x20;Gift&#x20;Balances&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Customer&#x20;Account&#x3A;&#x20;Getting&#x20;the&#x20;UI&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-store-credit-gift-card-balance-ui.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-headless-pwa-hybrid-approaches</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-headless-pwa-hybrid-ansaetze" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-headless-pwa-hybrid-approaches" />
<lastmod>2026-08-09T10:32:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-headless-pwa-hybrid-approaches.webp</image:loc><image:title>Headless/PWA Hybrid Approaches with Hyvä as the Base: When Only Part of the Page Needs to Be Headless</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Headless&#x2F;PWA&#x20;Hybrid&#x20;Approaches&#x20;with&#x20;Hyv&#xE4;&#x20;as&#x20;the&#x20;Base&#x3A;&#x20;When&#x20;Only&#x20;Part&#x20;of&#x20;the&#x20;Page&#x20;Needs&#x20;to&#x20;Be&#x20;Headless"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-headless-pwa-hybrid-approaches.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-html-minification-and-caching-fine-tuning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-html-minification-und-caching-feinschliff" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-html-minification-and-caching-fine-tuning" />
<lastmod>2026-08-09T10:32:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-html-minification-and-caching-fine-tuning.webp</image:loc><image:title>HTML Minification and Caching Fine-Tuning in a Hyvä Theme: Limits and Avoiding Fragmentation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="HTML&#x20;Minification&#x20;and&#x20;Caching&#x20;Fine-Tuning&#x20;in&#x20;a&#x20;Hyv&#xE4;&#x20;Theme&#x3A;&#x20;Limits&#x20;and&#x20;Avoiding&#x20;Fragmentation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-html-minification-and-caching-fine-tuning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-customer-group-pricing-display</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-kundengruppen-spezifische-preisanzeige" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-customer-group-pricing-display" />
<lastmod>2026-08-09T10:32:07+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-customer-group-pricing-display.webp</image:loc><image:title>Customer Group Specific Price Display in the Hyvä Theme: B2B Pricing, Login Gating and Cache Pitfalls</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Customer&#x20;Group&#x20;Specific&#x20;Price&#x20;Display&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Theme&#x3A;&#x20;B2B&#x20;Pricing,&#x20;Login&#x20;Gating&#x20;and&#x20;Cache&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-customer-group-pricing-display.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-monitoring-frontend-errors-in-the-theme</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-monitoring-frontend-fehler-im-theme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-monitoring-frontend-errors-in-the-theme" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-monitoring-frontend-errors-in-the-theme.webp</image:loc><image:title>Monitoring Frontend Errors 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="Monitoring&#x20;Frontend&#x20;Errors&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-monitoring-frontend-errors-in-the-theme.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-multi-website-vs-multi-store-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-multi-website-vs-multi-store-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-multi-website-vs-multi-store-strategy" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-multi-website-vs-multi-store-strategy.webp</image:loc><image:title>Multi-Website vs. Multi-Store in a Hyvä Theme: 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="Multi-Website&#x20;vs.&#x20;Multi-Store&#x20;in&#x20;a&#x20;Hyv&#xE4;&#x20;Theme&#x3A;&#x20;Choosing&#x20;the&#x20;Right&#x20;Strategy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-multi-website-vs-multi-store-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-playwright-testing-for-alpine-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-playwright-tests-fuer-alpine-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-playwright-testing-for-alpine-components" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-playwright-testing-for-alpine-components.webp</image:loc><image:title>Playwright Tests for Alpine.js Components 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="Playwright&#x20;Tests&#x20;for&#x20;Alpine.js&#x20;Components&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-playwright-testing-for-alpine-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-tier-pricing-and-countdown-timers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-preisdarstellung-staffelpreise-countdown" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-tier-pricing-and-countdown-timers" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-tier-pricing-and-countdown-timers.webp</image:loc><image:title>Price Display in Hyvä: Building Robust Tier Pricing and Countdown Timers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Price&#x20;Display&#x20;in&#x20;Hyv&#xE4;&#x3A;&#x20;Building&#x20;Robust&#x20;Tier&#x20;Pricing&#x20;and&#x20;Countdown&#x20;Timers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-tier-pricing-and-countdown-timers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-product-review-ui-design</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-produktbewertungen-review-ui" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-product-review-ui-design" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-product-review-ui-design.webp</image:loc><image:title>Product Reviews in Hyva: Building the Review UI 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="Product&#x20;Reviews&#x20;in&#x20;Hyva&#x3A;&#x20;Building&#x20;the&#x20;Review&#x20;UI&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-product-review-ui-design.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-building-a-product-compare-page</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-produktvergleich-compare-seite" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-building-a-product-compare-page" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-building-a-product-compare-page.webp</image:loc><image:title>Product Compare Pages in Hyva: Alpine.js and the Native GraphQL Compare API</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Product&#x20;Compare&#x20;Pages&#x20;in&#x20;Hyva&#x3A;&#x20;Alpine.js&#x20;and&#x20;the&#x20;Native&#x20;GraphQL&#x20;Compare&#x20;API"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-building-a-product-compare-page.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-b2b-quick-order-bulk-ordering</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-quick-order-b2b-schnellbestellung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-b2b-quick-order-bulk-ordering" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-b2b-quick-order-bulk-ordering.webp</image:loc><image:title>B2B Quick Order in Hyvä: Bulk SKU Entry, CSV Import, and GraphQL Batch Mutations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="B2B&#x20;Quick&#x20;Order&#x20;in&#x20;Hyv&#xE4;&#x3A;&#x20;Bulk&#x20;SKU&#x20;Entry,&#x20;CSV&#x20;Import,&#x20;and&#x20;GraphQL&#x20;Batch&#x20;Mutations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-b2b-quick-order-bulk-ordering.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-responsive-images-srcset-art-direction</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-responsive-bilder-srcset-art-direction" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-responsive-images-srcset-art-direction" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-responsive-images-srcset-art-direction.webp</image:loc><image:title>Responsive Images in a Hyvä Theme: Using srcset and Art Direction Correctly</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;a&#x20;Hyv&#xE4;&#x20;Theme&#x3A;&#x20;Using&#x20;srcset&#x20;and&#x20;Art&#x20;Direction&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-responsive-images-srcset-art-direction.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-rma-returns-ui-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-rma-retouren-ui-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-rma-returns-ui-implementation" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-rma-returns-ui-implementation.webp</image:loc><image:title>RMA Returns UI in Hyva: Building the Request Form and Status Timeline</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="RMA&#x20;Returns&#x20;UI&#x20;in&#x20;Hyva&#x3A;&#x20;Building&#x20;the&#x20;Request&#x20;Form&#x20;and&#x20;Status&#x20;Timeline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-rma-returns-ui-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-skeleton-loading-states-perceived-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-skeleton-loading-states-wahrgenommene-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-skeleton-loading-states-perceived-performance" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-skeleton-loading-states-perceived-performance.webp</image:loc><image:title>Skeleton Loading States in Hyva Theme: Improving Perceived Performance</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;States&#x20;in&#x20;Hyva&#x20;Theme&#x3A;&#x20;Improving&#x20;Perceived&#x20;Performance"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-skeleton-loading-states-perceived-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-store-view-based-styling-white-labeling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-store-view-styling-white-labeling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-store-view-based-styling-white-labeling" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-store-view-based-styling-white-labeling.webp</image:loc><image:title>Store View Specific Styling and White Labeling in the Hyva Theme</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Store&#x20;View&#x20;Specific&#x20;Styling&#x20;and&#x20;White&#x20;Labeling&#x20;in&#x20;the&#x20;Hyva&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-store-view-based-styling-white-labeling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-search-suggestions-on-404-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-suchvorschlaege-bei-404-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-search-suggestions-on-404-pages" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-search-suggestions-on-404-pages.webp</image:loc><image:title>Implementing Search Suggestions on the 404 Page in a 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;Search&#x20;Suggestions&#x20;on&#x20;the&#x20;404&#x20;Page&#x20;in&#x20;a&#x20;Hyv&#xE4;&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-search-suggestions-on-404-pages.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-debugging-theme-fallback-resolution</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-theme-fallback-debugging-werkzeuge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-debugging-theme-fallback-resolution" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-debugging-theme-fallback-resolution.webp</image:loc><image:title>Debugging the Hyvä Theme Fallback: Tools and Workflow 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="Debugging&#x20;the&#x20;Hyv&#xE4;&#x20;Theme&#x20;Fallback&#x3A;&#x20;Tools&#x20;and&#x20;Workflow&#x20;for&#x20;Magento&#x20;Developers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-debugging-theme-fallback-resolution.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-theme-versioning-and-update-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-theme-versionierung-update-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-theme-versioning-and-update-strategy" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-theme-versioning-and-update-strategy.webp</image:loc><image:title>Theme Versioning and Update Strategy for Hyvä</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Theme&#x20;Versioning&#x20;and&#x20;Update&#x20;Strategy&#x20;for&#x20;Hyv&#xE4;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-theme-versioning-and-update-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-related-products-cross-sell-carousels</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-verwandte-produkte-cross-sell-carousels" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-related-products-cross-sell-carousels" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-related-products-cross-sell-carousels.webp</image:loc><image:title>Related Products and Cross-Sell Carousels in Hyva Theme</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Related&#x20;Products&#x20;and&#x20;Cross-Sell&#x20;Carousels&#x20;in&#x20;Hyva&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-related-products-cross-sell-carousels.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-visual-regression-testing-in-the-theme</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-visual-regression-testing-im-theme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-visual-regression-testing-in-the-theme" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-visual-regression-testing-in-the-theme.webp</image:loc><image:title>Establishing Visual Regression Testing 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="Establishing&#x20;Visual&#x20;Regression&#x20;Testing&#x20;in&#x20;the&#x20;Hyv&#xE4;&#x20;Theme"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-visual-regression-testing-in-the-theme.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva-customizing-the-full-cart-page</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva-warenkorbseite-cart-page-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva-customizing-the-full-cart-page" />
<lastmod>2026-08-09T10:32:08+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/hyva-customizing-the-full-cart-page.webp</image:loc><image:title>Customizing the Full Cart Page in Hyva Theme, Not the Minicart</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;Full&#x20;Cart&#x20;Page&#x20;in&#x20;Hyva&#x20;Theme,&#x20;Not&#x20;the&#x20;Minicart"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/hyva-customizing-the-full-cart-page.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-custom-admin-dashboard-widgets</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-admin-dashboard-custom-widgets" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-custom-admin-dashboard-widgets" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-custom-admin-dashboard-widgets.webp</image:loc><image:title>Building Custom Widgets for the Magento 2 Admin Dashboard</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;Widgets&#x20;for&#x20;the&#x20;Magento&#x20;2&#x20;Admin&#x20;Dashboard"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-custom-admin-dashboard-widgets.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-custom-admin-grid-filters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-admin-ui-component-custom-grid-filter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-custom-admin-grid-filters" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-custom-admin-grid-filters.webp</image:loc><image:title>Building Custom Filters for Admin UI Component Grids 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;Custom&#x20;Filters&#x20;for&#x20;Admin&#x20;UI&#x20;Component&#x20;Grids&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-custom-admin-grid-filters.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-admin-mass-actions-bulk-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-admin-ui-component-mass-actions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-admin-mass-actions-bulk-api" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-admin-mass-actions-bulk-api.webp</image:loc><image:title>Mass Actions in Magento 2 Admin Grids: Building Custom Bulk Operations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mass&#x20;Actions&#x20;in&#x20;Magento&#x20;2&#x20;Admin&#x20;Grids&#x3A;&#x20;Building&#x20;Custom&#x20;Bulk&#x20;Operations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-admin-mass-actions-bulk-api.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-company-credit-limits-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-b2b-company-credit-limits" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-company-credit-limits-guide" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-company-credit-limits-guide.webp</image:loc><image:title>Company Credit Limits in Magento 2: Modeling Credit for Company Accounts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Company&#x20;Credit&#x20;Limits&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Modeling&#x20;Credit&#x20;for&#x20;Company&#x20;Accounts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-company-credit-limits-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-negotiable-quotes-workflow-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-b2b-negotiable-quotes-workflow" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-negotiable-quotes-workflow-guide" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-negotiable-quotes-workflow-guide.webp</image:loc><image:title>Negotiable Quotes in Magento 2: The B2B Negotiation Workflow Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Negotiable&#x20;Quotes&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;The&#x20;B2B&#x20;Negotiation&#x20;Workflow&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-negotiable-quotes-workflow-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-quick-order-backend-api-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-b2b-quick-order-backend-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-quick-order-backend-api-guide" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-quick-order-backend-api-guide.webp</image:loc><image:title>Quick Order in Magento 2: The Backend API Behind SKU-Based Fast Ordering</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Quick&#x20;Order&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;The&#x20;Backend&#x20;API&#x20;Behind&#x20;SKU-Based&#x20;Fast&#x20;Ordering"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-quick-order-backend-api-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-requisition-lists-technical-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-b2b-requisition-lists" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-requisition-lists-technical-guide" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-requisition-lists-technical-guide.webp</image:loc><image:title>Requisition Lists in Magento 2: Understanding Recurring Order Lists Technically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Requisition&#x20;Lists&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Understanding&#x20;Recurring&#x20;Order&#x20;Lists&#x20;Technically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-requisition-lists-technical-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-shared-catalogs-pricing-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-b2b-shared-catalogs-preisstrategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-shared-catalogs-pricing-strategy" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-shared-catalogs-pricing-strategy.webp</image:loc><image:title>Shared Catalogs in Magento 2: Customer-Specific Catalogs and Pricing Strategy</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Shared&#x20;Catalogs&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;Customer-Specific&#x20;Catalogs&#x20;and&#x20;Pricing&#x20;Strategy"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-shared-catalogs-pricing-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-backorder-management-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-backorder-management-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-backorder-management-strategy" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-backorder-management-strategy.webp</image:loc><image:title>Backorder Management Strategy: Selling at Zero Stock 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="Backorder&#x20;Management&#x20;Strategy&#x3A;&#x20;Selling&#x20;at&#x20;Zero&#x20;Stock&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-backorder-management-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-catalog-data-consistency-audit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-catalog-data-integrity-audits" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-catalog-data-consistency-audit" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-catalog-data-consistency-audit.webp</image:loc><image:title>Auditing Catalog Data Integrity in Magento 2: A Custom CLI Audit Command</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Auditing&#x20;Catalog&#x20;Data&#x20;Integrity&#x20;in&#x20;Magento&#x20;2&#x3A;&#x20;A&#x20;Custom&#x20;CLI&#x20;Audit&#x20;Command"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-catalog-data-consistency-audit.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-catalog-permissions-b2b-visibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-catalog-permissions-b2b-sichtbarkeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-catalog-permissions-b2b-visibility" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-catalog-permissions-b2b-visibility.webp</image:loc><image:title>Catalog Permissions: Controlling Category and Product Visibility per Customer Group</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Catalog&#x20;Permissions&#x3A;&#x20;Controlling&#x20;Category&#x20;and&#x20;Product&#x20;Visibility&#x20;per&#x20;Customer&#x20;Group"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-catalog-permissions-b2b-visibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-catalog-price-rule-indexer-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-catalog-price-rule-indexer-tiefe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-catalog-price-rule-indexer-in-depth" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-catalog-price-rule-indexer-in-depth.webp</image:loc><image:title>The Catalog Price Rule Indexer in Depth: How Automatic Discounts Get Calculated</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Catalog&#x20;Price&#x20;Rule&#x20;Indexer&#x20;in&#x20;Depth&#x3A;&#x20;How&#x20;Automatic&#x20;Discounts&#x20;Get&#x20;Calculated"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-catalog-price-rule-indexer-in-depth.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-refund-handling-custom-payment-methods</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-custom-payment-method-refund-handling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-refund-handling-custom-payment-methods" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-refund-handling-custom-payment-methods.webp</image:loc><image:title>Implementing Refund Handling for Custom Payment Methods 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="Implementing&#x20;Refund&#x20;Handling&#x20;for&#x20;Custom&#x20;Payment&#x20;Methods&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-refund-handling-custom-payment-methods.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-external-tax-calculation-service-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-custom-tax-calculation-service-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-external-tax-calculation-service-integration" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-external-tax-calculation-service-integration.webp</image:loc><image:title>Integrating an External Tax Calculation Service 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;an&#x20;External&#x20;Tax&#x20;Calculation&#x20;Service&#x20;into&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-external-tax-calculation-service-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-graphql-caching-per-customer-group</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-graphql-caching-pro-kundengruppe-korrekt-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-graphql-caching-per-customer-group" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-graphql-caching-per-customer-group.webp</image:loc><image:title>Getting GraphQL Caching Per Customer Group Right in Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Getting&#x20;GraphQL&#x20;Caching&#x20;Per&#x20;Customer&#x20;Group&#x20;Right&#x20;in&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-graphql-caching-per-customer-group.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-graphql-file-upload-mutations-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-graphql-datei-uploads-per-mutation-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-graphql-file-upload-mutations-guide" />
<lastmod>2026-08-09T10:32:34+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-graphql-file-upload-mutations-guide.webp</image:loc><image:title>Implementing File Uploads Through GraphQL Mutations in Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;File&#x20;Uploads&#x20;Through&#x20;GraphQL&#x20;Mutations&#x20;in&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-graphql-file-upload-mutations-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-graphql-query-complexity-limiting-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-graphql-query-complexity-und-tiefe-begrenzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-graphql-query-complexity-limiting-explained" />
<lastmod>2026-08-09T10:32:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-graphql-query-complexity-limiting-explained.webp</image:loc><image:title>GraphQL Query Complexity Limiting in Magento: Guarding Against Overloaded Queries</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GraphQL&#x20;Query&#x20;Complexity&#x20;Limiting&#x20;in&#x20;Magento&#x3A;&#x20;Guarding&#x20;Against&#x20;Overloaded&#x20;Queries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-graphql-query-complexity-limiting-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-graphql-schema-stitching-external-services</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-graphql-schema-stitching-externe-services-einbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-graphql-schema-stitching-external-services" />
<lastmod>2026-08-09T10:32: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-stitching-external-services.webp</image:loc><image:title>GraphQL Schema Stitching: Wiring External Services Into Magento's Product Schema</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;Stitching&#x3A;&#x20;Wiring&#x20;External&#x20;Services&#x20;Into&#x20;Magento&#x27;s&#x20;Product&#x20;Schema"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-graphql-schema-stitching-external-services.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-cleaning-up-inventory-reservations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-inventory-reservation-cleanup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-cleaning-up-inventory-reservations" />
<lastmod>2026-08-09T10:32:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-cleaning-up-inventory-reservations.webp</image:loc><image:title>Cleaning Up Inventory Reservations: When Orders and Reservations Drift Apart</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cleaning&#x20;Up&#x20;Inventory&#x20;Reservations&#x3A;&#x20;When&#x20;Orders&#x20;and&#x20;Reservations&#x20;Drift&#x20;Apart"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-cleaning-up-inventory-reservations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-custom-msi-source-selection-algorithm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-msi-source-selection-algorithmus-eigener" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-custom-msi-source-selection-algorithm" />
<lastmod>2026-08-09T10:32:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-custom-msi-source-selection-algorithm.webp</image:loc><image:title>Building a Custom MSI Source Selection Algorithm: SourceSelectionInterface Explained</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;MSI&#x20;Source&#x20;Selection&#x20;Algorithm&#x3A;&#x20;SourceSelectionInterface&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-custom-msi-source-selection-algorithm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-multi-source-distance-priority-algorithm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-multi-source-distance-priority-algorithmus" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-multi-source-distance-priority-algorithm" />
<lastmod>2026-08-09T10:32:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-multi-source-distance-priority-algorithm.webp</image:loc><image:title>The Distance and Priority Algorithm in Multi-Source Inventory 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;Distance&#x20;and&#x20;Priority&#x20;Algorithm&#x20;in&#x20;Multi-Source&#x20;Inventory&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-multi-source-distance-priority-algorithm.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-custom-opensearch-analyzers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-opensearch-custom-analyzer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-custom-opensearch-analyzers" />
<lastmod>2026-08-09T10:32:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-custom-opensearch-analyzers.webp</image:loc><image:title>Configuring Custom OpenSearch Analyzers for Magento Product Search</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;OpenSearch&#x20;Analyzers&#x20;for&#x20;Magento&#x20;Product&#x20;Search"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-custom-opensearch-analyzers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-custom-order-status-workflow</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-order-status-custom-workflow" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-custom-order-status-workflow" />
<lastmod>2026-08-09T10:32:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-custom-order-status-workflow.webp</image:loc><image:title>Modeling Custom Order Statuses and Status Transitions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modeling&#x20;Custom&#x20;Order&#x20;Statuses&#x20;and&#x20;Status&#x20;Transitions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-custom-order-status-workflow.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-partial-shipment-workflow-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-partial-shipment-workflow" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-partial-shipment-workflow-explained" />
<lastmod>2026-08-09T10:32:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-partial-shipment-workflow-explained.webp</image:loc><image:title>Modeling Partial Shipments: The Partial Shipment Workflow 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="Modeling&#x20;Partial&#x20;Shipments&#x3A;&#x20;The&#x20;Partial&#x20;Shipment&#x20;Workflow&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-partial-shipment-workflow-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-product-recommendations-module-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-produkt-recommendations-modul-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-product-recommendations-module-setup" />
<lastmod>2026-08-09T10:32:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-product-recommendations-module-setup.webp</image:loc><image:title>Configuring Magento's Native Product Recommendations Module</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Magento&#x27;s&#x20;Native&#x20;Product&#x20;Recommendations&#x20;Module"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-product-recommendations-module-setup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-rest-api-rate-limiting-and-throttling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-rest-api-rate-limiting-und-throttling-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-rest-api-rate-limiting-and-throttling" />
<lastmod>2026-08-09T10:32:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-rest-api-rate-limiting-and-throttling.webp</image:loc><image:title>Implementing REST API Rate Limiting and Throttling in Magento</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;REST&#x20;API&#x20;Rate&#x20;Limiting&#x20;and&#x20;Throttling&#x20;in&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-rest-api-rate-limiting-and-throttling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-scheduled-import-export-automation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-scheduled-import-export-automatisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-scheduled-import-export-automation" />
<lastmod>2026-08-09T10:32:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-scheduled-import-export-automation.webp</image:loc><image:title>Automating Import/Export Profiles in Magento 2 with Cron</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Automating&#x20;Import&#x2F;Export&#x20;Profiles&#x20;in&#x20;Magento&#x20;2&#x20;with&#x20;Cron"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-scheduled-import-export-automation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-extending-xml-sitemap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-sitemap-xml-erweitern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-extending-xml-sitemap" />
<lastmod>2026-08-09T10:32:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-extending-xml-sitemap.webp</image:loc><image:title>Extending and Customizing the XML Sitemap 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;and&#x20;Customizing&#x20;the&#x20;XML&#x20;Sitemap&#x20;in&#x20;Magento&#x20;2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-extending-xml-sitemap.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-search-autocomplete-customization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-suche-autocomplete-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-search-autocomplete-customization" />
<lastmod>2026-08-09T10:32:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-search-autocomplete-customization.webp</image:loc><image:title>Customizing Magento Search Autocomplete Suggestions on the Backend</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;Search&#x20;Autocomplete&#x20;Suggestions&#x20;on&#x20;the&#x20;Backend"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-search-autocomplete-customization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento-two-factor-authentication-customer-accounts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento-two-factor-fuer-kundenkonten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento-two-factor-authentication-customer-accounts" />
<lastmod>2026-08-09T10:32:35+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/magento-two-factor-authentication-customer-accounts.webp</image:loc><image:title>Setting Up Two-Factor Authentication for Customer Accounts</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;Two-Factor&#x20;Authentication&#x20;for&#x20;Customer&#x20;Accounts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/magento-two-factor-authentication-customer-accounts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-abstract-methods-in-traits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-abstrakte-methoden-in-traits" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-abstract-methods-in-traits" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-abstract-methods-in-traits.webp</image:loc><image:title>Abstract Methods in Traits: Enforcing a Contract Without an Interface</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Abstract&#x20;Methods&#x20;in&#x20;Traits&#x3A;&#x20;Enforcing&#x20;a&#x20;Contract&#x20;Without&#x20;an&#x20;Interface"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-abstract-methods-in-traits.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-array-unpacking-string-keys-since-php-81</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-array-unpacking-string-keys-spread-operator" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-array-unpacking-string-keys-since-php-81" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-array-unpacking-string-keys-since-php-81.webp</image:loc><image:title>Array Unpacking with String Keys: The Spread Operator Since PHP 8.1</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Array&#x20;Unpacking&#x20;with&#x20;String&#x20;Keys&#x3A;&#x20;The&#x20;Spread&#x20;Operator&#x20;Since&#x20;PHP&#x20;8.1"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-array-unpacking-string-keys-since-php-81.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-implementing-the-circuit-breaker-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-circuit-breaker-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-implementing-the-circuit-breaker-pattern" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-implementing-the-circuit-breaker-pattern.webp</image:loc><image:title>Implementing the Circuit Breaker Pattern in PHP</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;Circuit&#x20;Breaker&#x20;Pattern&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-implementing-the-circuit-breaker-pattern.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-closures-binding-closure-bind-bindto-scope</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-closures-binden-closure-bind-bindto-scope" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-closures-binding-closure-bind-bindto-scope" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-closures-binding-closure-bind-bindto-scope.webp</image:loc><image:title>Closure::bind and bindTo: Closure Scope Context in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Closure&#x3A;&#x3A;bind&#x20;and&#x20;bindTo&#x3A;&#x20;Closure&#x20;Scope&#x20;Context&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-closures-binding-closure-bind-bindto-scope.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-cqrs-pattern-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-cqrs-pattern-praktisch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-cqrs-pattern-in-practice" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-cqrs-pattern-in-practice.webp</image:loc><image:title>CQRS in PHP in Practice: 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="CQRS&#x20;in&#x20;PHP&#x20;in&#x20;Practice&#x3A;&#x20;Separating&#x20;Commands&#x20;and&#x20;Queries"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-cqrs-pattern-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/dnf-types-disjunctive-normal-form-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/dnf-types-disjunctive-normal-form-php" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/dnf-types-disjunctive-normal-form-explained" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/dnf-types-disjunctive-normal-form-explained.webp</image:loc><image:title>DNF Types in PHP 8.2: Combining Union and Intersection Types</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="DNF&#x20;Types&#x20;in&#x20;PHP&#x20;8.2&#x3A;&#x20;Combining&#x20;Union&#x20;and&#x20;Intersection&#x20;Types"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/dnf-types-disjunctive-normal-form-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-registering-custom-stream-wrappers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-eigene-stream-wrapper-registrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-registering-custom-stream-wrappers" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-registering-custom-stream-wrappers.webp</image:loc><image:title>Registering Custom Stream Wrappers in PHP: stream_wrapper_register Explained</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;Stream&#x20;Wrappers&#x20;in&#x20;PHP&#x3A;&#x20;stream_wrapper_register&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-registering-custom-stream-wrappers.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-enum-serialization-json-and-database</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/enum-serialisierung-json-und-datenbank-persistenz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-enum-serialization-json-and-database" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-enum-serialization-json-and-database.webp</image:loc><image:title>Serializing Enums: Getting JSON and Database Persistence Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Serializing&#x20;Enums&#x3A;&#x20;Getting&#x20;JSON&#x20;and&#x20;Database&#x20;Persistence&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-enum-serialization-json-and-database.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-error-suppression-alternatives-without-at-operator</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-error-suppression-alternativen-ohne-at-operator" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-error-suppression-alternatives-without-at-operator" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-error-suppression-alternatives-without-at-operator.webp</image:loc><image:title>Error Suppression Without the @ Operator: Clean Alternatives in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Error&#x20;Suppression&#x20;Without&#x20;the&#x20;&#x40;&#x20;Operator&#x3A;&#x20;Clean&#x20;Alternatives&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-error-suppression-alternatives-without-at-operator.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-event-sourcing-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-event-sourcing-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-event-sourcing-fundamentals" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-event-sourcing-fundamentals.webp</image:loc><image:title>Event Sourcing in PHP: Fundamentals 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="Event&#x20;Sourcing&#x20;in&#x20;PHP&#x3A;&#x20;Fundamentals&#x20;Without&#x20;a&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-event-sourcing-fundamentals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-implementing-feature-flags</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-feature-flags-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-implementing-feature-flags" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-implementing-feature-flags.webp</image:loc><image:title>Implementing Feature Flags in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Feature&#x20;Flags&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-implementing-feature-flags.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-building-a-graphql-server-from-scratch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-graphql-server-von-grund-auf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-building-a-graphql-server-from-scratch" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-building-a-graphql-server-from-scratch.webp</image:loc><image:title>Building a GraphQL Server in PHP 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;GraphQL&#x20;Server&#x20;in&#x20;PHP&#x20;From&#x20;Scratch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-building-a-graphql-server-from-scratch.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/never-return-type-php-functions-that-never-return</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/never-return-type-funktionen-ohne-rueckkehr" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/never-return-type-php-functions-that-never-return" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/never-return-type-php-functions-that-never-return.webp</image:loc><image:title>The never Return Type in PHP 8.1: Functions That Never Return</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;never&#x20;Return&#x20;Type&#x20;in&#x20;PHP&#x20;8.1&#x3A;&#x20;Functions&#x20;That&#x20;Never&#x20;Return"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/never-return-type-php-functions-that-never-return.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/new-in-initializers-php-object-defaults</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/new-in-initializers-objekte-als-default-werte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/new-in-initializers-php-object-defaults" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/new-in-initializers-php-object-defaults.webp</image:loc><image:title>new in Initializers: Object Defaults in PHP 8.1</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="new&#x20;in&#x20;Initializers&#x3A;&#x20;Object&#x20;Defaults&#x20;in&#x20;PHP&#x20;8.1"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/new-in-initializers-php-object-defaults.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-object-comparison-equality-identity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-objektvergleich-gleichheit-identitaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-object-comparison-equality-identity" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-object-comparison-equality-identity.webp</image:loc><image:title>Object Comparison in PHP: == vs. === and What Is Really Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Object&#x20;Comparison&#x20;in&#x20;PHP&#x3A;&#x20;&#x3D;&#x3D;&#x20;vs.&#x20;&#x3D;&#x3D;&#x3D;&#x20;and&#x20;What&#x20;Is&#x20;Really&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-object-comparison-equality-identity.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-output-buffering-in-php-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-output-buffering-ob-start" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-output-buffering-in-php-explained" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-output-buffering-in-php-explained.webp</image:loc><image:title>Output Buffering in PHP: ob_start and the Output Buffer Functions Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Output&#x20;Buffering&#x20;in&#x20;PHP&#x3A;&#x20;ob_start&#x20;and&#x20;the&#x20;Output&#x20;Buffer&#x20;Functions&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-output-buffering-in-php-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-building-a-psr14-event-dispatcher</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-psr14-event-dispatcher-eigenbau" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-building-a-psr14-event-dispatcher" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-building-a-psr14-event-dispatcher.webp</image:loc><image:title>Implementing a PSR-14 Event Dispatcher From Scratch</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;PSR-14&#x20;Event&#x20;Dispatcher&#x20;From&#x20;Scratch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-building-a-psr14-event-dispatcher.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-building-a-psr15-middleware-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-psr15-middleware-eigenbau" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-building-a-psr15-middleware-pipeline" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-building-a-psr15-middleware-pipeline.webp</image:loc><image:title>Implementing PSR-15 Middleware From Scratch: Understanding the Pipeline</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;PSR-15&#x20;Middleware&#x20;From&#x20;Scratch&#x3A;&#x20;Understanding&#x20;the&#x20;Pipeline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-building-a-psr15-middleware-pipeline.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/readonly-classes-php-immutable-whole-classes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/readonly-classes-ganze-klassen-unveraenderlich-machen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/readonly-classes-php-immutable-whole-classes" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/readonly-classes-php-immutable-whole-classes.webp</image:loc><image:title>Readonly Classes in PHP 8.2: Making Whole Classes Immutable</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Readonly&#x20;Classes&#x20;in&#x20;PHP&#x20;8.2&#x3A;&#x20;Making&#x20;Whole&#x20;Classes&#x20;Immutable"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/readonly-classes-php-immutable-whole-classes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-regex-catastrophic-backtracking-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-regulaere-ausdruecke-backtracking-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-regex-catastrophic-backtracking-performance" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-regex-catastrophic-backtracking-performance.webp</image:loc><image:title>Regular Expressions: Catastrophic Backtracking and Performance Pitfalls in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Regular&#x20;Expressions&#x3A;&#x20;Catastrophic&#x20;Backtracking&#x20;and&#x20;Performance&#x20;Pitfalls&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-regex-catastrophic-backtracking-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-retry-and-backoff-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-retry-backoff-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-retry-and-backoff-strategies" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-retry-and-backoff-strategies.webp</image:loc><image:title>Retry Strategies and Backoff Algorithms in PHP</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Retry&#x20;Strategies&#x20;and&#x20;Backoff&#x20;Algorithms&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-retry-and-backoff-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-custom-session-handler-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-session-handler-interface-eigenbau" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-custom-session-handler-implementation" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-custom-session-handler-implementation.webp</image:loc><image:title>SessionHandlerInterface: Building a Custom Session Store 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="SessionHandlerInterface&#x3A;&#x20;Building&#x20;a&#x20;Custom&#x20;Session&#x20;Store&#x20;Without&#x20;a&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-custom-session-handler-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-spl-stack-queue-priority-queue-data-structures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-spl-stack-queue-priority-queue-datenstrukturen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-spl-stack-queue-priority-queue-data-structures" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-spl-stack-queue-priority-queue-data-structures.webp</image:loc><image:title>SplStack, SplQueue, SplPriorityQueue: Using SPL Data Structures in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SplStack,&#x20;SplQueue,&#x20;SplPriorityQueue&#x3A;&#x20;Using&#x20;SPL&#x20;Data&#x20;Structures&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-spl-stack-queue-priority-queue-data-structures.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-splobjectstorage-objects-as-map-keys</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-splobjectstorage-objekte-als-map-keys" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-splobjectstorage-objects-as-map-keys" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-splobjectstorage-objects-as-map-keys.webp</image:loc><image:title>SplObjectStorage: Using Objects as Map Keys in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SplObjectStorage&#x3A;&#x20;Using&#x20;Objects&#x20;as&#x20;Map&#x20;Keys&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-splobjectstorage-objects-as-map-keys.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-static-properties-inheritance-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-statische-eigenschaften-vererbung-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-static-properties-inheritance-pitfalls" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-static-properties-inheritance-pitfalls.webp</image:loc><image:title>Static Properties and Inheritance: The Shared State Pitfall</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Static&#x20;Properties&#x20;and&#x20;Inheritance&#x3A;&#x20;The&#x20;Shared&#x20;State&#x20;Pitfall"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-static-properties-inheritance-pitfalls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-string-interpolation-performance-compared</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-string-interpolation-performance-heredoc" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-string-interpolation-performance-compared" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-string-interpolation-performance-compared.webp</image:loc><image:title>String Interpolation and Performance: Heredoc, Concatenation, and sprintf Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="String&#x20;Interpolation&#x20;and&#x20;Performance&#x3A;&#x20;Heredoc,&#x20;Concatenation,&#x20;and&#x20;sprintf&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-string-interpolation-performance-compared.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-building-your-own-templating-engine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-templating-engine-selbst-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-building-your-own-templating-engine" />
<lastmod>2026-08-09T10:32:58+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-templating-engine.webp</image:loc><image:title>Building Your Own Templating Engine 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;Your&#x20;Own&#x20;Templating&#x20;Engine&#x20;in&#x20;PHP"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-building-your-own-templating-engine.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-variadic-functions-spread-operator-function-call</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-variadic-funktionen-spread-operator-funktionsaufruf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-variadic-functions-spread-operator-function-call" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-variadic-functions-spread-operator-function-call.webp</image:loc><image:title>Variadic Functions and the Spread Operator: ...$args in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Variadic&#x20;Functions&#x20;and&#x20;the&#x20;Spread&#x20;Operator&#x3A;&#x20;...&#x24;args&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-variadic-functions-spread-operator-function-call.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-weak-vs-strict-typing-pitfalls</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-weak-vs-strict-typing-fallstricke" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-weak-vs-strict-typing-pitfalls" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-weak-vs-strict-typing-pitfalls.webp</image:loc><image:title>Weak vs. Strict Typing: Pitfalls Beyond declare(strict_types=1)</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Weak&#x20;vs.&#x20;Strict&#x20;Typing&#x3A;&#x20;Pitfalls&#x20;Beyond&#x20;declare&#x28;strict_types&#x3D;1&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-weak-vs-strict-typing-pitfalls.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php-websocket-server-with-ratchet</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php-websocket-server-mit-ratchet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php-websocket-server-with-ratchet" />
<lastmod>2026-08-09T10:32:58+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/php-websocket-server-with-ratchet.webp</image:loc><image:title>Building a WebSocket Server in PHP with Ratchet</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;WebSocket&#x20;Server&#x20;in&#x20;PHP&#x20;with&#x20;Ratchet"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/php-websocket-server-with-ratchet.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-measuring-ai-overview-click-through-rate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-ai-overview-click-through-rate-messen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-measuring-ai-overview-click-through-rate" />
<lastmod>2026-08-09T10:33:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-measuring-ai-overview-click-through-rate.webp</image:loc><image:title>Making AI Overview Click-Through Rate Measurable</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Making&#x20;AI&#x20;Overview&#x20;Click-Through&#x20;Rate&#x20;Measurable"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-measuring-ai-overview-click-through-rate.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-ai-search-hallucinations-brand-risk-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-ai-search-halluzinationen-markenrisiko-management" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-ai-search-hallucinations-brand-risk-management" />
<lastmod>2026-08-09T10:33:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-ai-search-hallucinations-brand-risk-management.webp</image:loc><image:title>Detecting and Managing AI Hallucinations About Your Own Brand</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;Managing&#x20;AI&#x20;Hallucinations&#x20;About&#x20;Your&#x20;Own&#x20;Brand"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-ai-search-hallucinations-brand-risk-management.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-amazon-rufus-ai-shopping-assistant-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-amazon-rufus-ki-shopping-assistent-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-amazon-rufus-ai-shopping-assistant-optimization" />
<lastmod>2026-08-09T10:33:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-amazon-rufus-ai-shopping-assistant-optimization.webp</image:loc><image:title>Amazon Rufus: Optimizing Product Data for the AI Shopping Assistant</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Amazon&#x20;Rufus&#x3A;&#x20;Optimizing&#x20;Product&#x20;Data&#x20;for&#x20;the&#x20;AI&#x20;Shopping&#x20;Assistant"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-amazon-rufus-ai-shopping-assistant-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bluesky-decentralized-social-seo-implications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bluesky-dezentrale-social-seo-implikationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bluesky-decentralized-social-seo-implications" />
<lastmod>2026-08-09T10:33:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/bluesky-decentralized-social-seo-implications.webp</image:loc><image:title>Bluesky and Decentralized Social Networks: SEO Implications of the AT Protocol</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bluesky&#x20;and&#x20;Decentralized&#x20;Social&#x20;Networks&#x3A;&#x20;SEO&#x20;Implications&#x20;of&#x20;the&#x20;AT&#x20;Protocol"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/bluesky-decentralized-social-seo-implications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-claude-ai-web-search-visibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-claude-ai-suche-sichtbarkeit-web-tool" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-claude-ai-web-search-visibility" />
<lastmod>2026-08-09T10:33:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-claude-ai-web-search-visibility.webp</image:loc><image:title>Optimizing Visibility in Claude's Web 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;Claude&#x27;s&#x20;Web&#x20;Search"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-claude-ai-web-search-visibility.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-content-freshness-signals-ai-search-vs-google</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-content-aktualitaet-signale-ki-suche-vs-google" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-content-freshness-signals-ai-search-vs-google" />
<lastmod>2026-08-09T10:33:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-content-freshness-signals-ai-search-vs-google.webp</image:loc><image:title>Content Freshness: How AI Search Engines Weight It Differently Than Google</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Content&#x20;Freshness&#x3A;&#x20;How&#x20;AI&#x20;Search&#x20;Engines&#x20;Weight&#x20;It&#x20;Differently&#x20;Than&#x20;Google"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-content-freshness-signals-ai-search-vs-google.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/discord-community-visibility-despite-closed-platform</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/discord-community-seo-sichtbarkeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/discord-community-visibility-despite-closed-platform" />
<lastmod>2026-08-09T10:33:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/discord-community-visibility-despite-closed-platform.webp</image:loc><image:title>Discord Communities: Building Visibility Despite a Closed Platform</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Discord&#x20;Communities&#x3A;&#x20;Building&#x20;Visibility&#x20;Despite&#x20;a&#x20;Closed&#x20;Platform"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/discord-community-visibility-despite-closed-platform.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-employee-advocacy-programs-real-seo-effect</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-employee-advocacy-programme-seo-effekt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-employee-advocacy-programs-real-seo-effect" />
<lastmod>2026-08-09T10:33:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-employee-advocacy-programs-real-seo-effect.webp</image:loc><image:title>Employee Advocacy Programs: The Real SEO and Reach Effect</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Employee&#x20;Advocacy&#x20;Programs&#x3A;&#x20;The&#x20;Real&#x20;SEO&#x20;and&#x20;Reach&#x20;Effect"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-employee-advocacy-programs-real-seo-effect.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-geo-for-local-businesses-ai-search</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-geo-fuer-lokale-unternehmen-ki-suche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-geo-for-local-businesses-ai-search" />
<lastmod>2026-08-09T10:33:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-geo-for-local-businesses-ai-search.webp</image:loc><image:title>GEO for Local Businesses: Visibility in Location Based AI Search Answers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GEO&#x20;for&#x20;Local&#x20;Businesses&#x3A;&#x20;Visibility&#x20;in&#x20;Location&#x20;Based&#x20;AI&#x20;Search&#x20;Answers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-geo-for-local-businesses-ai-search.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/geo-for-pricing-pages-pricing-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/geo-fuer-preisseiten-pricing-content" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/geo-for-pricing-pages-pricing-content" />
<lastmod>2026-08-09T10:33:18+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/geo-for-pricing-pages-pricing-content.webp</image:loc><image:title>GEO for Pricing Pages: Optimizing Pricing Content for AI Purchase Advice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GEO&#x20;for&#x20;Pricing&#x20;Pages&#x3A;&#x20;Optimizing&#x20;Pricing&#x20;Content&#x20;for&#x20;AI&#x20;Purchase&#x20;Advice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/geo-for-pricing-pages-pricing-content.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/geo-for-tutorials-how-to-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/geo-fuer-tutorial-anleitungscontent" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/geo-for-tutorials-how-to-content" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/geo-for-tutorials-how-to-content.webp</image:loc><image:title>GEO for Tutorials: Why Step-by-Step Guides Are Ideal 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="GEO&#x20;for&#x20;Tutorials&#x3A;&#x20;Why&#x20;Step-by-Step&#x20;Guides&#x20;Are&#x20;Ideal&#x20;for&#x20;AI&#x20;Answers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/geo-for-tutorials-how-to-content.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/geo-for-comparison-pages-product-comparisons</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/geo-fuer-vergleichsseiten-produktvergleiche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/geo-for-comparison-pages-product-comparisons" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/geo-for-comparison-pages-product-comparisons.webp</image:loc><image:title>GEO for Comparison Pages: Why AI Search Engines Love Citing Product Comparisons</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="GEO&#x20;for&#x20;Comparison&#x20;Pages&#x3A;&#x20;Why&#x20;AI&#x20;Search&#x20;Engines&#x20;Love&#x20;Citing&#x20;Product&#x20;Comparisons"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/geo-for-comparison-pages-product-comparisons.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/multilingual-content-and-geo-ai-search</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/geo-multi-language-content-ki-suche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/multilingual-content-and-geo-ai-search" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/multilingual-content-and-geo-ai-search.webp</image:loc><image:title>Multilingual Content and GEO: How AI Search Engines Handle Translations</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multilingual&#x20;Content&#x20;and&#x20;GEO&#x3A;&#x20;How&#x20;AI&#x20;Search&#x20;Engines&#x20;Handle&#x20;Translations"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/multilingual-content-and-geo-ai-search.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-unified-geo-social-seo-reporting-dashboard</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-geo-social-seo-gemeinsames-reporting-dashboard" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-unified-geo-social-seo-reporting-dashboard" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-unified-geo-social-seo-reporting-dashboard.webp</image:loc><image:title>Building a Unified Reporting Dashboard for GEO, Social, and Classic SEO</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;Unified&#x20;Reporting&#x20;Dashboard&#x20;for&#x20;GEO,&#x20;Social,&#x20;and&#x20;Classic&#x20;SEO"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-unified-geo-social-seo-reporting-dashboard.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/structured-data-vs-unstructured-content-geo-test</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/geo-strukturierte-daten-vs-unstrukturierter-content-test" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/structured-data-vs-unstructured-content-geo-test" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/structured-data-vs-unstructured-content-geo-test.webp</image:loc><image:title>Structured Data vs. Unstructured Content: A GEO Comparison Test</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Structured&#x20;Data&#x20;vs.&#x20;Unstructured&#x20;Content&#x3A;&#x20;A&#x20;GEO&#x20;Comparison&#x20;Test"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/structured-data-vs-unstructured-content-geo-test.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/instagram-reels-vs-youtube-shorts-seo-comparison</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/instagram-reels-youtube-shorts-seo-vergleich" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/instagram-reels-vs-youtube-shorts-seo-comparison" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/instagram-reels-vs-youtube-shorts-seo-comparison.webp</image:loc><image:title>Instagram Reels vs. YouTube Shorts: An SEO and Discoverability Comparison</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Instagram&#x20;Reels&#x20;vs.&#x20;YouTube&#x20;Shorts&#x3A;&#x20;An&#x20;SEO&#x20;and&#x20;Discoverability&#x20;Comparison"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/instagram-reels-vs-youtube-shorts-seo-comparison.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-ai-shopping-agents-checkout-automation-seo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-ki-agenten-shopping-checkout-seo-implikationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-ai-shopping-agents-checkout-automation-seo" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-ai-shopping-agents-checkout-automation-seo.webp</image:loc><image:title>AI Shopping Agents and Checkout Automation: SEO Implications for E-Commerce</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="AI&#x20;Shopping&#x20;Agents&#x20;and&#x20;Checkout&#x20;Automation&#x3A;&#x20;SEO&#x20;Implications&#x20;for&#x20;E-Commerce"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-ai-shopping-agents-checkout-automation-seo.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-ai-search-personalization-vs-seo-personalization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-ki-suche-personalisierung-vs-seo-personalisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-ai-search-personalization-vs-seo-personalization" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-ai-search-personalization-vs-seo-personalization.webp</image:loc><image:title>AI Search Personalization vs. Classic SEO Personalization</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="AI&#x20;Search&#x20;Personalization&#x20;vs.&#x20;Classic&#x20;SEO&#x20;Personalization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-ai-search-personalization-vs-seo-personalization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-ai-search-engine-attribution-models</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-ki-suchmaschinen-attribution-modelle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-ai-search-engine-attribution-models" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-ai-search-engine-attribution-models.webp</image:loc><image:title>Attribution in AI Search: Assigning Traffic Sources Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Attribution&#x20;in&#x20;AI&#x20;Search&#x3A;&#x20;Assigning&#x20;Traffic&#x20;Sources&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-ai-search-engine-attribution-models.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-llms-txt-standard-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-llms-txt-standard-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-llms-txt-standard-implementation" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-llms-txt-standard-implementation.webp</image:loc><image:title>Implementing the llms.txt Standard: A Structured Summary for AI Crawlers</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;llms.txt&#x20;Standard&#x3A;&#x20;A&#x20;Structured&#x20;Summary&#x20;for&#x20;AI&#x20;Crawlers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-llms-txt-standard-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mastodon-fediverse-seo-implications</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mastodon-fediverse-seo-implikationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mastodon-fediverse-seo-implications" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mastodon-fediverse-seo-implications.webp</image:loc><image:title>Mastodon and the Fediverse: SEO Implications of ActivityPub</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Mastodon&#x20;and&#x20;the&#x20;Fediverse&#x3A;&#x20;SEO&#x20;Implications&#x20;of&#x20;ActivityPub"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mastodon-fediverse-seo-implications.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-newsletter-social-distribution-seo-halo-effect</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-newsletter-social-distribution-seo-halo-effekt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-newsletter-social-distribution-seo-halo-effect" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-newsletter-social-distribution-seo-halo-effect.webp</image:loc><image:title>Newsletter and Social Distribution: The SEO Halo Effect of Indirect Channels</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Newsletter&#x20;and&#x20;Social&#x20;Distribution&#x3A;&#x20;The&#x20;SEO&#x20;Halo&#x20;Effect&#x20;of&#x20;Indirect&#x20;Channels"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-newsletter-social-distribution-seo-halo-effect.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-podcast-seo-shownotes-transcripts-discoverability</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-podcast-seo-shownotes-transkripte-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-podcast-seo-shownotes-transcripts-discoverability" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-podcast-seo-shownotes-transcripts-discoverability.webp</image:loc><image:title>Podcast SEO: Optimizing Shownotes and Transcripts for Discoverability</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Podcast&#x20;SEO&#x3A;&#x20;Optimizing&#x20;Shownotes&#x20;and&#x20;Transcripts&#x20;for&#x20;Discoverability"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-podcast-seo-shownotes-transcripts-discoverability.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-prompt-workflows-for-geo-visibility-research</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-prompt-workflows-fuer-sichtbarkeits-recherche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-prompt-workflows-for-geo-visibility-research" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-prompt-workflows-for-geo-visibility-research.webp</image:loc><image:title>Prompt Workflows for Systematic GEO Visibility Research</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Prompt&#x20;Workflows&#x20;for&#x20;Systematic&#x20;GEO&#x20;Visibility&#x20;Research"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-prompt-workflows-for-geo-visibility-research.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-social-media-algorithm-changes-reach-decline-response</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-social-media-algorithmus-aenderungen-reichweite" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-social-media-algorithm-changes-reach-decline-response" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-social-media-algorithm-changes-reach-decline-response.webp</image:loc><image:title>Social Media Algorithm Changes: A Systematic Response to Reach Declines</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;Algorithm&#x20;Changes&#x3A;&#x20;A&#x20;Systematic&#x20;Response&#x20;to&#x20;Reach&#x20;Declines"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-social-media-algorithm-changes-reach-decline-response.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-social-media-data-as-geo-training-signal</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-social-media-daten-als-geo-trainingssignal" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-social-media-data-as-geo-training-signal" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-social-media-data-as-geo-training-signal.webp</image:loc><image:title>Social Media Data as a GEO Training Signal: What AI Systems Actually Learn</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;Data&#x20;as&#x20;a&#x20;GEO&#x20;Training&#x20;Signal&#x3A;&#x20;What&#x20;AI&#x20;Systems&#x20;Actually&#x20;Learn"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-social-media-data-as-geo-training-signal.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-implementing-social-proof-widgets-cleanly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-social-proof-widgets-technische-umsetzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-implementing-social-proof-widgets-cleanly" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-implementing-social-proof-widgets-cleanly.webp</image:loc><image:title>Implementing Social Proof Widgets Cleanly on the Technical Level</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Social&#x20;Proof&#x20;Widgets&#x20;Cleanly&#x20;on&#x20;the&#x20;Technical&#x20;Level"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-implementing-social-proof-widgets-cleanly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/threads-seo-and-discoverability</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/threads-seo-discoverability" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/threads-seo-and-discoverability" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/threads-seo-and-discoverability.webp</image:loc><image:title>Threads SEO and Discoverability: How Meta Makes Public Posts Crawlable</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Threads&#x20;SEO&#x20;and&#x20;Discoverability&#x3A;&#x20;How&#x20;Meta&#x20;Makes&#x20;Public&#x20;Posts&#x20;Crawlable"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/threads-seo-and-discoverability.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-wikipedia-knowledge-graphs-foundation-ai-search</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-wikipedia-knowledge-graph-ki-suche-grundlage" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-wikipedia-knowledge-graphs-foundation-ai-search" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-wikipedia-knowledge-graphs-foundation-ai-search.webp</image:loc><image:title>Wikipedia and Knowledge Graphs as a Foundation for AI Search Answers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Wikipedia&#x20;and&#x20;Knowledge&#x20;Graphs&#x20;as&#x20;a&#x20;Foundation&#x20;for&#x20;AI&#x20;Search&#x20;Answers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-wikipedia-knowledge-graphs-foundation-ai-search.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo2-zero-click-economy-content-monetization-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo2-zero-click-oekonomie-content-monetarisierung-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo2-zero-click-economy-content-monetization-strategy" />
<lastmod>2026-08-09T10:33:19+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/seo2-zero-click-economy-content-monetization-strategy.webp</image:loc><image:title>The Zero-Click Economy: Rethinking Content Monetization</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Zero-Click&#x20;Economy&#x3A;&#x20;Rethinking&#x20;Content&#x20;Monetization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/seo2-zero-click-economy-content-monetization-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-upgrading-from-5-7-to-8-0-practical-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-57-auf-80-upgrade-praxisleitfaden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-upgrading-from-5-7-to-8-0-practical-guide" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-upgrading-from-5-7-to-8-0-practical-guide.webp</image:loc><image:title>Upgrading MySQL 5.7 to 8.0: A Practical Guide 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="Upgrading&#x20;MySQL&#x20;5.7&#x20;to&#x20;8.0&#x3A;&#x20;A&#x20;Practical&#x20;Guide&#x20;for&#x20;Magento&#x20;Shops"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-upgrading-from-5-7-to-8-0-practical-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-8-recursive-common-table-expressions-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-8-common-table-expressions-rekursiv-implementierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-8-recursive-common-table-expressions-implementation" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-8-recursive-common-table-expressions-implementation.webp</image:loc><image:title>Recursive CTEs in MySQL 8: Implementation Details and Pitfalls</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;in&#x20;MySQL&#x20;8&#x3A;&#x20;Implementation&#x20;Details&#x20;and&#x20;Pitfalls"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-8-recursive-common-table-expressions-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-8-descending-and-invisible-indexes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-8-descending-indexes-und-invisible-indexes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-8-descending-and-invisible-indexes" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-8-descending-and-invisible-indexes.webp</image:loc><image:title>MySQL 8: Using Descending and Invisible Indexes 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="MySQL&#x20;8&#x3A;&#x20;Using&#x20;Descending&#x20;and&#x20;Invisible&#x20;Indexes&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-8-descending-and-invisible-indexes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-8-histogram-statistics-for-the-optimizer</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-8-histogram-statistics-fuer-den-optimizer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-8-histogram-statistics-for-the-optimizer" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-8-histogram-statistics-for-the-optimizer.webp</image:loc><image:title>MySQL 8: Histogram Statistics Against Skewed Data Distributions</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&#x3A;&#x20;Histogram&#x20;Statistics&#x20;Against&#x20;Skewed&#x20;Data&#x20;Distributions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-8-histogram-statistics-for-the-optimizer.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-8-roles-and-granular-privilege-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-8-roles-und-granulare-rechteverwaltung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-8-roles-and-granular-privilege-management" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-8-roles-and-granular-privilege-management.webp</image:loc><image:title>MySQL 8 Roles: Granular Privilege Management Instead of Per User GRANTs</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;Roles&#x3A;&#x20;Granular&#x20;Privilege&#x20;Management&#x20;Instead&#x20;of&#x20;Per&#x20;User&#x20;GRANTs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-8-roles-and-granular-privilege-management.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-adaptive-hash-index-explained-and-tuned</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-adaptive-hash-index-verstehen-und-tunen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-adaptive-hash-index-explained-and-tuned" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-adaptive-hash-index-explained-and-tuned.webp</image:loc><image:title>The Adaptive Hash Index: Understanding and Tuning Automatic InnoDB Optimization</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Adaptive&#x20;Hash&#x20;Index&#x3A;&#x20;Understanding&#x20;and&#x20;Tuning&#x20;Automatic&#x20;InnoDB&#x20;Optimization"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-adaptive-hash-index-explained-and-tuned.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-audit-plugin-compliance-requirements</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-audit-plugin-fuer-compliance-anforderungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-audit-plugin-compliance-requirements" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-audit-plugin-compliance-requirements.webp</image:loc><image:title>Using the Audit Plugin for Compliance Requirements: Access Logging in MySQL</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;Audit&#x20;Plugin&#x20;for&#x20;Compliance&#x20;Requirements&#x3A;&#x20;Access&#x20;Logging&#x20;in&#x20;MySQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-audit-plugin-compliance-requirements.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-backup-encryption-with-xtrabackup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-backup-verschluesselung-mit-xtrabackup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-backup-encryption-with-xtrabackup" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-backup-encryption-with-xtrabackup.webp</image:loc><image:title>Implementing Backup Encryption with XtraBackup in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Backup&#x20;Encryption&#x20;with&#x20;XtraBackup&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-backup-encryption-with-xtrabackup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-user-management-password-policies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-benutzerverwaltung-und-passwort-policies" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-user-management-password-policies" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-user-management-password-policies.webp</image:loc><image:title>Implementing Clean User Management and Password Policies in MySQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Clean&#x20;User&#x20;Management&#x20;and&#x20;Password&#x20;Policies&#x20;in&#x20;MySQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-user-management-password-policies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-change-buffer-and-undo-logs-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-change-buffer-und-undo-logs-erklaert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-change-buffer-and-undo-logs-explained" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-change-buffer-and-undo-logs-explained.webp</image:loc><image:title>Change Buffer and Undo Logs: InnoDB's Invisible Workers Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Change&#x20;Buffer&#x20;and&#x20;Undo&#x20;Logs&#x3A;&#x20;InnoDB&#x27;s&#x20;Invisible&#x20;Workers&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-change-buffer-and-undo-logs-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-clone-plugin-fast-replica-provisioning</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-clone-plugin-fuer-schnelles-replica-provisioning" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-clone-plugin-fast-replica-provisioning" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-clone-plugin-fast-replica-provisioning.webp</image:loc><image:title>The MySQL Clone Plugin: Fast Provisioning for New Replicas</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;Clone&#x20;Plugin&#x3A;&#x20;Fast&#x20;Provisioning&#x20;for&#x20;New&#x20;Replicas"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-clone-plugin-fast-replica-provisioning.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-event-scheduler-recurring-jobs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-event-scheduler-fuer-wiederkehrende-jobs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-event-scheduler-recurring-jobs" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-event-scheduler-recurring-jobs.webp</image:loc><image:title>The Event Scheduler: Recurring Jobs Directly Inside MySQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Event&#x20;Scheduler&#x3A;&#x20;Recurring&#x20;Jobs&#x20;Directly&#x20;Inside&#x20;MySQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-event-scheduler-recurring-jobs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-gh-ost-triggerless-schema-migrations-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-gh-ost-triggerlose-schema-migrationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-gh-ost-triggerless-schema-migrations-explained" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-gh-ost-triggerless-schema-migrations-explained.webp</image:loc><image:title>gh-ost: Triggerless Schema Migrations via Binlog Streaming</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="gh-ost&#x3A;&#x20;Triggerless&#x20;Schema&#x20;Migrations&#x20;via&#x20;Binlog&#x20;Streaming"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-gh-ost-triggerless-schema-migrations-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-group-replication-conflict-detection-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-group-replication-konflikterkennung-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-group-replication-conflict-detection-explained" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-group-replication-conflict-detection-explained.webp</image:loc><image:title>Group Replication: Understanding Conflict Detection in Multi-Primary Setups</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Group&#x20;Replication&#x3A;&#x20;Understanding&#x20;Conflict&#x20;Detection&#x20;in&#x20;Multi-Primary&#x20;Setups"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-group-replication-conflict-detection-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-gtid-replication-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-gtid-basierte-replikation-praktisch-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-gtid-replication-in-practice" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-gtid-replication-in-practice.webp</image:loc><image:title>Putting GTID-Based Replication to Work in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Putting&#x20;GTID-Based&#x20;Replication&#x20;to&#x20;Work&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-gtid-replication-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-innodb-cluster-and-mysql-router-setup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-innodb-cluster-und-mysql-router-setup" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-innodb-cluster-and-mysql-router-setup" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-innodb-cluster-and-mysql-router-setup.webp</image:loc><image:title>MySQL InnoDB Cluster and MySQL Router: Building High Availability Without External Tools</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MySQL&#x20;InnoDB&#x20;Cluster&#x20;and&#x20;MySQL&#x20;Router&#x3A;&#x20;Building&#x20;High&#x20;Availability&#x20;Without&#x20;External&#x20;Tools"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-innodb-cluster-and-mysql-router-setup.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-json-table-function-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-json-table-funktion-praktischer-einsatz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-json-table-function-in-practice" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-json-table-function-in-practice.webp</image:loc><image:title>The JSON_TABLE Function in MySQL: Querying JSON Data Relationally</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;JSON_TABLE&#x20;Function&#x20;in&#x20;MySQL&#x3A;&#x20;Querying&#x20;JSON&#x20;Data&#x20;Relationally"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-json-table-function-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-myrocks-as-an-innodb-alternative-when-the-lsm-tree-approach-pays-off</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-myrocks-als-innodb-alternative-wann-sich-der-lsm-tree-ansatz-lohnt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-myrocks-as-an-innodb-alternative-when-the-lsm-tree-approach-pays-off" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-myrocks-as-an-innodb-alternative-when-the-lsm-tree-approach-pays-off.webp</image:loc><image:title>MyRocks as an InnoDB Alternative: When the LSM-Tree Approach Pays Off</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MyRocks&#x20;as&#x20;an&#x20;InnoDB&#x20;Alternative&#x3A;&#x20;When&#x20;the&#x20;LSM-Tree&#x20;Approach&#x20;Pays&#x20;Off"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-myrocks-as-an-innodb-alternative-when-the-lsm-tree-approach-pays-off.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-instant-vs-inplace-vs-copy-online-ddl-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-online-ddl-algorithm-instant-vs-inplace" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-instant-vs-inplace-vs-copy-online-ddl-explained" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-instant-vs-inplace-vs-copy-online-ddl-explained.webp</image:loc><image:title>Online DDL in MySQL: Understanding ALGORITHM=INSTANT vs. INPLACE vs. COPY</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Online&#x20;DDL&#x20;in&#x20;MySQL&#x3A;&#x20;Understanding&#x20;ALGORITHM&#x3D;INSTANT&#x20;vs.&#x20;INPLACE&#x20;vs.&#x20;COPY"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-instant-vs-inplace-vs-copy-online-ddl-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-performance-schema-for-deep-query-analysis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-performance-schema-fuer-query-analyse-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-performance-schema-for-deep-query-analysis" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-performance-schema-for-deep-query-analysis.webp</image:loc><image:title>Using the MySQL Performance Schema for Deep Query 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;MySQL&#x20;Performance&#x20;Schema&#x20;for&#x20;Deep&#x20;Query&#x20;Analysis"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-performance-schema-for-deep-query-analysis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-pt-online-schema-change-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-pt-online-schema-change-praktischer-einsatz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-pt-online-schema-change-in-practice" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-pt-online-schema-change-in-practice.webp</image:loc><image:title>Using pt-online-schema-change in Practice: Schema Changes Without Locking</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;pt-online-schema-change&#x20;in&#x20;Practice&#x3A;&#x20;Schema&#x20;Changes&#x20;Without&#x20;Locking"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-pt-online-schema-change-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-replication-filters-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-replikationsfilter-gezielt-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-replication-filters-in-practice" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-replication-filters-in-practice.webp</image:loc><image:title>Using Replication Filters Deliberately: Replicating Only What Matters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Replication&#x20;Filters&#x20;Deliberately&#x3A;&#x20;Replicating&#x20;Only&#x20;What&#x20;Matters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-replication-filters-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-semi-sync-replication-lag-monitoring</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-semi-sync-replikation-lag-ueberwachen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-semi-sync-replication-lag-monitoring" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-semi-sync-replication-lag-monitoring.webp</image:loc><image:title>Semi-Synchronous Replication: Monitoring Lag Systematically</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Semi-Synchronous&#x20;Replication&#x3A;&#x20;Monitoring&#x20;Lag&#x20;Systematically"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-semi-sync-replication-lag-monitoring.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-sys-schema-practical-views-for-diagnostics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-sys-schema-praktische-views-fuer-diagnose" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-sys-schema-practical-views-for-diagnostics" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-sys-schema-practical-views-for-diagnostics.webp</image:loc><image:title>The sys Schema: Practical Views for Everyday MySQL Diagnostics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;sys&#x20;Schema&#x3A;&#x20;Practical&#x20;Views&#x20;for&#x20;Everyday&#x20;MySQL&#x20;Diagnostics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-sys-schema-practical-views-for-diagnostics.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-using-table-compression-with-row-format-compressed-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-tabellenkompression-mit-row-format-compressed-praktisch-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-using-table-compression-with-row-format-compressed-in-practice" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-using-table-compression-with-row-format-compressed-in-practice.webp</image:loc><image:title>Using Table Compression With ROW_FORMAT=COMPRESSED 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;Table&#x20;Compression&#x20;With&#x20;ROW_FORMAT&#x3D;COMPRESSED&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-using-table-compression-with-row-format-compressed-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-using-temporary-and-memory-tables-the-right-way</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-temporaere-und-memory-tables-richtig-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-using-temporary-and-memory-tables-the-right-way" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-using-temporary-and-memory-tables-the-right-way.webp</image:loc><image:title>Using Temporary and Memory Tables in MySQL 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;Temporary&#x20;and&#x20;Memory&#x20;Tables&#x20;in&#x20;MySQL&#x20;the&#x20;Right&#x20;Way"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-using-temporary-and-memory-tables-the-right-way.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-thread-pool-plugin-for-high-connection-counts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-thread-pool-plugin-fuer-hohe-verbindungszahlen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-thread-pool-plugin-for-high-connection-counts" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-thread-pool-plugin-for-high-connection-counts.webp</image:loc><image:title>The Thread Pool Plugin: Serving High Connection Counts Efficiently</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Thread&#x20;Pool&#x20;Plugin&#x3A;&#x20;Serving&#x20;High&#x20;Connection&#x20;Counts&#x20;Efficiently"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-thread-pool-plugin-for-high-connection-counts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-tls-encrypted-connections-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-tls-verschluesselte-verbindungen-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-tls-encrypted-connections-configuration" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-tls-encrypted-connections-configuration.webp</image:loc><image:title>Configuring TLS-Encrypted MySQL Connections: Server, Client, and Certificates</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;TLS-Encrypted&#x20;MySQL&#x20;Connections&#x3A;&#x20;Server,&#x20;Client,&#x20;and&#x20;Certificates"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-tls-encrypted-connections-configuration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-triggers-and-events-performance-implications-in-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-trigger-und-events-performance-implikationen-im-praxisbetrieb" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-triggers-and-events-performance-implications-in-production" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-triggers-and-events-performance-implications-in-production.webp</image:loc><image:title>Triggers and Events: Performance Implications in Production</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Triggers&#x20;and&#x20;Events&#x3A;&#x20;Performance&#x20;Implications&#x20;in&#x20;Production"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-triggers-and-events-performance-implications-in-production.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql-vitess-for-horizontal-mysql-scaling-sharding-without-rewriting-the-application</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql-vitess-fuer-horizontale-mysql-skalierung-sharding-ohne-anwendungsumbau" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql-vitess-for-horizontal-mysql-scaling-sharding-without-rewriting-the-application" />
<lastmod>2026-08-09T10:33:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/mysql-vitess-for-horizontal-mysql-scaling-sharding-without-rewriting-the-application.webp</image:loc><image:title>Vitess for Horizontal MySQL Scaling: Sharding Without Rewriting the Application</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Vitess&#x20;for&#x20;Horizontal&#x20;MySQL&#x20;Scaling&#x3A;&#x20;Sharding&#x20;Without&#x20;Rewriting&#x20;the&#x20;Application"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/mysql-vitess-for-horizontal-mysql-scaling-sharding-without-rewriting-the-application.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-acl-categories-and-command-restrictions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-acl-kategorien-und-command-restriktionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-acl-categories-and-command-restrictions" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-acl-categories-and-command-restrictions.webp</image:loc><image:title>Using Redis ACL Categories and Command Restrictions 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;Redis&#x20;ACL&#x20;Categories&#x20;and&#x20;Command&#x20;Restrictions&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-acl-categories-and-command-restrictions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-acl-selectors-and-granular-permissions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-acl-selectors-und-granulare-berechtigungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-acl-selectors-and-granular-permissions" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-acl-selectors-and-granular-permissions.webp</image:loc><image:title>ACL Selectors: Granular Permissions Beyond Simple Command Lists</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="ACL&#x20;Selectors&#x3A;&#x20;Granular&#x20;Permissions&#x20;Beyond&#x20;Simple&#x20;Command&#x20;Lists"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-acl-selectors-and-granular-permissions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-active-defrag-automatic-memory-fragmentation-reduction</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-active-defrag-speicherfragmentierung-automatisch-reduzieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-active-defrag-automatic-memory-fragmentation-reduction" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-active-defrag-automatic-memory-fragmentation-reduction.webp</image:loc><image:title>Active Defrag in Redis: Automatically Reducing Memory Fragmentation in the Background</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Active&#x20;Defrag&#x20;in&#x20;Redis&#x3A;&#x20;Automatically&#x20;Reducing&#x20;Memory&#x20;Fragmentation&#x20;in&#x20;the&#x20;Background"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-active-defrag-automatic-memory-fragmentation-reduction.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-as-a-vector-database-for-similarity-search</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-als-vektordatenbank-fuer-aehnlichkeitssuche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-as-a-vector-database-for-similarity-search" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-as-a-vector-database-for-similarity-search.webp</image:loc><image:title>Redis as a Vector Database: Using Similarity Search for Embeddings</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;Vector&#x20;Database&#x3A;&#x20;Using&#x20;Similarity&#x20;Search&#x20;for&#x20;Embeddings"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-as-a-vector-database-for-similarity-search.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-running-on-kubernetes-with-the-redis-operator</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-auf-kubernetes-mit-redis-operator-betreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-running-on-kubernetes-with-the-redis-operator" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-running-on-kubernetes-with-the-redis-operator.webp</image:loc><image:title>Running Redis on Kubernetes with the Redis Operator</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Running&#x20;Redis&#x20;on&#x20;Kubernetes&#x20;with&#x20;the&#x20;Redis&#x20;Operator"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-running-on-kubernetes-with-the-redis-operator.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-client-side-caching-with-tracking</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-client-side-caching-mit-tracking" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-client-side-caching-with-tracking" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-client-side-caching-with-tracking.webp</image:loc><image:title>Client-Side Caching With Tracking: Keeping Redis Data in Application Memory</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Client-Side&#x20;Caching&#x20;With&#x20;Tracking&#x3A;&#x20;Keeping&#x20;Redis&#x20;Data&#x20;in&#x20;Application&#x20;Memory"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-client-side-caching-with-tracking.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-connection-pooling-configuration-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-connection-pooling-in-anwendungen-richtig-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-connection-pooling-configuration-guide" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-connection-pooling-configuration-guide.webp</image:loc><image:title>Configuring Connection Pooling for Redis Clients 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;Connection&#x20;Pooling&#x20;for&#x20;Redis&#x20;Clients&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-connection-pooling-configuration-guide.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-avoiding-cross-slot-operations-in-cluster-mode</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-cross-slot-operationen-im-cluster-umgehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-avoiding-cross-slot-operations-in-cluster-mode" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-avoiding-cross-slot-operations-in-cluster-mode.webp</image:loc><image:title>Avoiding Cross-Slot Operations in Redis Cluster Mode</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Cross-Slot&#x20;Operations&#x20;in&#x20;Redis&#x20;Cluster&#x20;Mode"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-avoiding-cross-slot-operations-in-cluster-mode.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-placing-dragonfly-as-a-drop-in-redis-alternative</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-dragonfly-als-drop-in-redis-alternative-einordnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-placing-dragonfly-as-a-drop-in-redis-alternative" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-placing-dragonfly-as-a-drop-in-redis-alternative.webp</image:loc><image:title>Placing Dragonfly as a Drop-in Redis Alternative</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Placing&#x20;Dragonfly&#x20;as&#x20;a&#x20;Drop-in&#x20;Redis&#x20;Alternative"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-placing-dragonfly-as-a-drop-in-redis-alternative.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-functions-vs-classic-lua-scripting-migration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-functions-vs-lua-scripting-migration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-functions-vs-classic-lua-scripting-migration" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-functions-vs-classic-lua-scripting-migration.webp</image:loc><image:title>Redis Functions vs. Classic Lua Scripting: Migration in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Functions&#x20;vs.&#x20;Classic&#x20;Lua&#x20;Scripting&#x3A;&#x20;Migration&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-functions-vs-classic-lua-scripting-migration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-key-eviction-sampling-algorithm-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-key-eviction-sampling-algorithmus-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-key-eviction-sampling-algorithm-explained" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-key-eviction-sampling-algorithm-explained.webp</image:loc><image:title>The Key Eviction Sampling Algorithm: How Redis Really Chooses Under maxmemory</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Key&#x20;Eviction&#x20;Sampling&#x20;Algorithm&#x3A;&#x20;How&#x20;Redis&#x20;Really&#x20;Chooses&#x20;Under&#x20;maxmemory"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-key-eviction-sampling-algorithm-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-key-namespacing-strategies-for-multi-tenancy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-key-namespacing-strategien-fuer-multi-tenancy" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-key-namespacing-strategies-for-multi-tenancy" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-key-namespacing-strategies-for-multi-tenancy.webp</image:loc><image:title>Redis Key Namespacing Strategies for Multi-Tenancy Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Key&#x20;Namespacing&#x20;Strategies&#x20;for&#x20;Multi-Tenancy&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-key-namespacing-strategies-for-multi-tenancy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-keydb-the-multi-threaded-alternative-to-redis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-keydb-multi-threaded-alternative-zu-redis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-keydb-the-multi-threaded-alternative-to-redis" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-keydb-the-multi-threaded-alternative-to-redis.webp</image:loc><image:title>KeyDB: Placing the Multi-Threaded Alternative to Redis</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="KeyDB&#x3A;&#x20;Placing&#x20;the&#x20;Multi-Threaded&#x20;Alternative&#x20;to&#x20;Redis"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-keydb-the-multi-threaded-alternative-to-redis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-latency-monitor-for-performance-diagnosis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-latency-monitor-fuer-performance-diagnose" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-latency-monitor-for-performance-diagnosis" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-latency-monitor-for-performance-diagnosis.webp</image:loc><image:title>The Redis Latency Monitor for Systematic Performance Diagnosis</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Redis&#x20;Latency&#x20;Monitor&#x20;for&#x20;Systematic&#x20;Performance&#x20;Diagnosis"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-latency-monitor-for-performance-diagnosis.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-lazy-freeing-deleting-large-keys-without-blocking</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-lazy-freeing-grosse-keys-ohne-blockierung-loeschen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-lazy-freeing-deleting-large-keys-without-blocking" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-lazy-freeing-deleting-large-keys-without-blocking.webp</image:loc><image:title>Lazy Freeing in Redis: Deleting Large Keys Without Blocking the Server</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Lazy&#x20;Freeing&#x20;in&#x20;Redis&#x3A;&#x20;Deleting&#x20;Large&#x20;Keys&#x20;Without&#x20;Blocking&#x20;the&#x20;Server"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-lazy-freeing-deleting-large-keys-without-blocking.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-magento-avoiding-blocking-commands-in-web-processes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-magento-blocking-commands-vermeiden-in-webprozessen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-magento-avoiding-blocking-commands-in-web-processes" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-magento-avoiding-blocking-commands-in-web-processes.webp</image:loc><image:title>Avoiding Blocking Redis Commands in Magento Web Processes</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Blocking&#x20;Redis&#x20;Commands&#x20;in&#x20;Magento&#x20;Web&#x20;Processes"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-magento-avoiding-blocking-commands-in-web-processes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-magento-client-side-caching-for-hot-keys</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-magento-client-side-caching-fuer-hot-keys" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-magento-client-side-caching-for-hot-keys" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-magento-client-side-caching-for-hot-keys.webp</image:loc><image:title>Client-Side Caching for Hot Keys in Magento Shops With Redis</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Client-Side&#x20;Caching&#x20;for&#x20;Hot&#x20;Keys&#x20;in&#x20;Magento&#x20;Shops&#x20;With&#x20;Redis"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-magento-client-side-caching-for-hot-keys.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-magento-graphql-response-caching-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-magento-graphql-caching-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-magento-graphql-response-caching-strategies" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-magento-graphql-response-caching-strategies.webp</image:loc><image:title>Redis Caching Strategies for Magento GraphQL: More Granular Than 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="Redis&#x20;Caching&#x20;Strategies&#x20;for&#x20;Magento&#x20;GraphQL&#x3A;&#x20;More&#x20;Granular&#x20;Than&#x20;Full&#x20;Page&#x20;Cache"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-magento-graphql-response-caching-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-magento-indexer-lock-coordination</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-magento-indexer-lock-koordination" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-magento-indexer-lock-coordination" />
<lastmod>2026-08-09T10:34:04+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-magento-indexer-lock-coordination.webp</image:loc><image:title>Using Redis for Indexer Lock Coordination in Magento</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;for&#x20;Indexer&#x20;Lock&#x20;Coordination&#x20;in&#x20;Magento"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-magento-indexer-lock-coordination.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-magento-multi-store-cache-tag-strategy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-magento-multi-store-cache-tag-strategie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-magento-multi-store-cache-tag-strategy" />
<lastmod>2026-08-09T10:34:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-magento-multi-store-cache-tag-strategy.webp</image:loc><image:title>Cache Tag Strategy for Multi-Store Magento Setups With Redis</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cache&#x20;Tag&#x20;Strategy&#x20;for&#x20;Multi-Store&#x20;Magento&#x20;Setups&#x20;With&#x20;Redis"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-magento-multi-store-cache-tag-strategy.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-object-encoding-listpack-vs-hashtable-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-object-encoding-listpack-vs-hashtable-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-object-encoding-listpack-vs-hashtable-explained" />
<lastmod>2026-08-09T10:34:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-object-encoding-listpack-vs-hashtable-explained.webp</image:loc><image:title>Understanding OBJECT ENCODING: Listpack vs. Hashtable and the Automatic Switchover Point</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Understanding&#x20;OBJECT&#x20;ENCODING&#x3A;&#x20;Listpack&#x20;vs.&#x20;Hashtable&#x20;and&#x20;the&#x20;Automatic&#x20;Switchover&#x20;Point"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-object-encoding-listpack-vs-hashtable-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-pipelining-for-high-throughput</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-pipelining-fuer-hohen-durchsatz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-pipelining-for-high-throughput" />
<lastmod>2026-08-09T10:34:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-pipelining-for-high-throughput.webp</image:loc><image:title>Redis Pipelining for High Throughput: Cutting Round-Trips on Purpose</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Redis&#x20;Pipelining&#x20;for&#x20;High&#x20;Throughput&#x3A;&#x20;Cutting&#x20;Round-Trips&#x20;on&#x20;Purpose"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-pipelining-for-high-throughput.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-prometheus-monitoring-with-redis-exporter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-prometheus-monitoring-mit-redis-exporter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-prometheus-monitoring-with-redis-exporter" />
<lastmod>2026-08-09T10:34:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-prometheus-monitoring-with-redis-exporter.webp</image:loc><image:title>Setting Up Prometheus Monitoring With the Redis Exporter</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;Prometheus&#x20;Monitoring&#x20;With&#x20;the&#x20;Redis&#x20;Exporter"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-prometheus-monitoring-with-redis-exporter.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-redisbloom-probabilistic-data-structures-beyond-hyperloglog</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-redisbloom-probabilistische-datenstrukturen-jenseits-hyperloglog" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-redisbloom-probabilistic-data-structures-beyond-hyperloglog" />
<lastmod>2026-08-09T10:34:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-redisbloom-probabilistic-data-structures-beyond-hyperloglog.webp</image:loc><image:title>RedisBloom: Probabilistic Data Structures Beyond HyperLogLog</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="RedisBloom&#x3A;&#x20;Probabilistic&#x20;Data&#x20;Structures&#x20;Beyond&#x20;HyperLogLog"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-redisbloom-probabilistic-data-structures-beyond-hyperloglog.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-redisearch-full-text-search-and-secondary-indexes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-redisearch-volltextsuche-und-sekundaerindizes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-redisearch-full-text-search-and-secondary-indexes" />
<lastmod>2026-08-09T10:34:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-redisearch-full-text-search-and-secondary-indexes.webp</image:loc><image:title>RediSearch: Full-Text Search and Secondary Indexes on Redis Data</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="RediSearch&#x3A;&#x20;Full-Text&#x20;Search&#x20;and&#x20;Secondary&#x20;Indexes&#x20;on&#x20;Redis&#x20;Data"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-redisearch-full-text-search-and-secondary-indexes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-redisjson-native-json-document-storage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-redisjson-strukturierte-dokumente-speichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-redisjson-native-json-document-storage" />
<lastmod>2026-08-09T10:34:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-redisjson-native-json-document-storage.webp</image:loc><image:title>RedisJSON: Storing Structured Documents Natively in Redis</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="RedisJSON&#x3A;&#x20;Storing&#x20;Structured&#x20;Documents&#x20;Natively&#x20;in&#x20;Redis"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-redisjson-native-json-document-storage.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-redistimeseries-for-metrics-and-monitoring-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-redistimeseries-fuer-metriken-und-monitoring-daten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-redistimeseries-for-metrics-and-monitoring-data" />
<lastmod>2026-08-09T10:34:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-redistimeseries-for-metrics-and-monitoring-data.webp</image:loc><image:title>RedisTimeSeries: Storing Metrics and Monitoring Data Efficiently</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="RedisTimeSeries&#x3A;&#x20;Storing&#x20;Metrics&#x20;and&#x20;Monitoring&#x20;Data&#x20;Efficiently"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-redistimeseries-for-metrics-and-monitoring-data.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-resp3-protocol-what-actually-changes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-resp3-protokoll-was-sich-aendert" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-resp3-protocol-what-actually-changes" />
<lastmod>2026-08-09T10:34:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-resp3-protocol-what-actually-changes.webp</image:loc><image:title>The RESP3 Protocol: What Actually Changes Compared to RESP2</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;RESP3&#x20;Protocol&#x3A;&#x20;What&#x20;Actually&#x20;Changes&#x20;Compared&#x20;to&#x20;RESP2"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-resp3-protocol-what-actually-changes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-tls-end-to-end-encryption-configuration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-tls-verschluesselung-end-to-end-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-tls-end-to-end-encryption-configuration" />
<lastmod>2026-08-09T10:34:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-tls-end-to-end-encryption-configuration.webp</image:loc><image:title>Configuring End-to-End TLS Encryption in Redis: Server, Client, Rotation</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;End-to-End&#x20;TLS&#x20;Encryption&#x20;in&#x20;Redis&#x3A;&#x20;Server,&#x20;Client,&#x20;Rotation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-tls-end-to-end-encryption-configuration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis-valkey-the-open-source-fork-after-the-license-change</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis-valkey-der-open-source-fork-nach-lizenzaenderung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis-valkey-the-open-source-fork-after-the-license-change" />
<lastmod>2026-08-09T10:34:05+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/redis-valkey-the-open-source-fork-after-the-license-change.webp</image:loc><image:title>Valkey: Placing the Open-Source Fork After Redis' License Change</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Valkey&#x3A;&#x20;Placing&#x20;the&#x20;Open-Source&#x20;Fork&#x20;After&#x20;Redis&#x27;&#x20;License&#x20;Change"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/redis-valkey-the-open-source-fork-after-the-license-change.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-bulk-api-tuning-for-high-indexing-throughput</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-bulk-api-tuning-fuer-hohen-indexierungsdurchsatz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-bulk-api-tuning-for-high-indexing-throughput" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-bulk-api-tuning-for-high-indexing-throughput.webp</image:loc><image:title>Bulk API Tuning for High Indexing Throughput</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bulk&#x20;API&#x20;Tuning&#x20;for&#x20;High&#x20;Indexing&#x20;Throughput"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-bulk-api-tuning-for-high-indexing-throughput.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-circuit-breakers-preventing-out-of-memory-errors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-circuit-breaker-out-of-memory-fehler-verhindern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-circuit-breakers-preventing-out-of-memory-errors" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-circuit-breakers-preventing-out-of-memory-errors.webp</image:loc><image:title>Circuit Breakers in Elasticsearch: Preventing Out-of-Memory Errors Proactively</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Circuit&#x20;Breakers&#x20;in&#x20;Elasticsearch&#x3A;&#x20;Preventing&#x20;Out-of-Memory&#x20;Errors&#x20;Proactively"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-circuit-breakers-preventing-out-of-memory-errors.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-cross-cluster-replication-for-disaster-recovery</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-cross-cluster-replication-fuer-disaster-recovery" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-cross-cluster-replication-for-disaster-recovery" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-cross-cluster-replication-for-disaster-recovery.webp</image:loc><image:title>Cross-Cluster Replication for Disaster Recovery: Keeping Leader and Follower Indices in Sync</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cross-Cluster&#x20;Replication&#x20;for&#x20;Disaster&#x20;Recovery&#x3A;&#x20;Keeping&#x20;Leader&#x20;and&#x20;Follower&#x20;Indices&#x20;in&#x20;Sync"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-cross-cluster-replication-for-disaster-recovery.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-cross-cluster-search-federated-queries-across-clusters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-cross-cluster-search-verteilte-abfragen-ueber-cluster" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-cross-cluster-search-federated-queries-across-clusters" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-cross-cluster-search-federated-queries-across-clusters.webp</image:loc><image:title>Cross-Cluster Search: Federated Queries Across Multiple Elasticsearch Clusters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Cross-Cluster&#x20;Search&#x3A;&#x20;Federated&#x20;Queries&#x20;Across&#x20;Multiple&#x20;Elasticsearch&#x20;Clusters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-cross-cluster-search-federated-queries-across-clusters.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-data-streams-for-time-based-data-management</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-data-streams-fuer-zeitbasierte-daten-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-data-streams-for-time-based-data-management" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-data-streams-for-time-based-data-management.webp</image:loc><image:title>Data Streams for Time-Based Data Management</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Data&#x20;Streams&#x20;for&#x20;Time-Based&#x20;Data&#x20;Management"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-data-streams-for-time-based-data-management.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-optimizing-dense-vector-mapping-and-indexing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-dense-vector-mapping-und-indexierung-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-optimizing-dense-vector-mapping-and-indexing" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-optimizing-dense-vector-mapping-and-indexing.webp</image:loc><image:title>Optimizing Dense Vector Mapping and Indexing: Dimension, Quantization, Memory</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;Dense&#x20;Vector&#x20;Mapping&#x20;and&#x20;Indexing&#x3A;&#x20;Dimension,&#x20;Quantization,&#x20;Memory"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-optimizing-dense-vector-mapping-and-indexing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-field-level-and-document-level-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-field-level-und-document-level-security" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-field-level-and-document-level-security" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-field-level-and-document-level-security.webp</image:loc><image:title>Configuring Field-Level and Document-Level Security in Elasticsearch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Configuring&#x20;Field-Level&#x20;and&#x20;Document-Level&#x20;Security&#x20;in&#x20;Elasticsearch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-field-level-and-document-level-security.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-force-merge-and-segment-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-force-merge-und-segment-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-force-merge-and-segment-optimization" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-force-merge-and-segment-optimization.webp</image:loc><image:title>Using Force Merge and Segment Optimization 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;Force&#x20;Merge&#x20;and&#x20;Segment&#x20;Optimization&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-force-merge-and-segment-optimization.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-frozen-tier-for-rarely-queried-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-frozen-tier-fuer-selten-abgefragte-daten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-frozen-tier-for-rarely-queried-data" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-frozen-tier-for-rarely-queried-data.webp</image:loc><image:title>The Frozen Tier: Keeping Rarely Queried Data Cost-Efficient</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Frozen&#x20;Tier&#x3A;&#x20;Keeping&#x20;Rarely&#x20;Queried&#x20;Data&#x20;Cost-Efficient"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-frozen-tier-for-rarely-queried-data.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-hybrid-search-combining-bm25-and-vector-search</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-hybrid-search-kombination-aus-bm25-und-vektorsuche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-hybrid-search-combining-bm25-and-vector-search" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-hybrid-search-combining-bm25-and-vector-search.webp</image:loc><image:title>Hybrid Search: Combining BM25 and Vector Search With Reciprocal Rank Fusion</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Hybrid&#x20;Search&#x3A;&#x20;Combining&#x20;BM25&#x20;and&#x20;Vector&#x20;Search&#x20;With&#x20;Reciprocal&#x20;Rank&#x20;Fusion"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-hybrid-search-combining-bm25-and-vector-search.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-index-lifecycle-management-policies-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-index-lifecycle-management-richtlinien-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-index-lifecycle-management-policies-in-detail" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-index-lifecycle-management-policies-in-detail.webp</image:loc><image:title>Index Lifecycle Management: Configuring ILM Policies in Detail</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Index&#x20;Lifecycle&#x20;Management&#x3A;&#x20;Configuring&#x20;ILM&#x20;Policies&#x20;in&#x20;Detail"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-index-lifecycle-management-policies-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-ingest-pipelines-for-data-transformation-before-indexing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-ingest-pipelines-fuer-datentransformation-vor-dem-indexieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-ingest-pipelines-for-data-transformation-before-indexing" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-ingest-pipelines-for-data-transformation-before-indexing.webp</image:loc><image:title>Ingest Pipelines: Data Transformation Before Indexing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Ingest&#x20;Pipelines&#x3A;&#x20;Data&#x20;Transformation&#x20;Before&#x20;Indexing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-ingest-pipelines-for-data-transformation-before-indexing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-knn-search-for-semantic-similarity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-knn-suche-fuer-semantische-aehnlichkeit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-knn-search-for-semantic-similarity" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-knn-search-for-semantic-similarity.webp</image:loc><image:title>kNN Search for Semantic Similarity: Understanding Approximate kNN With HNSW</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="kNN&#x20;Search&#x20;for&#x20;Semantic&#x20;Similarity&#x3A;&#x20;Understanding&#x20;Approximate&#x20;kNN&#x20;With&#x20;HNSW"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-knn-search-for-semantic-similarity.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-magento-cluster-sizing-for-large-catalogs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-magento-elasticsearch-cluster-sizing-fuer-grosse-kataloge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-magento-cluster-sizing-for-large-catalogs" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-cluster-sizing-for-large-catalogs.webp</image:loc><image:title>Elasticsearch Cluster Sizing for Magento Stores With 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="Elasticsearch&#x20;Cluster&#x20;Sizing&#x20;for&#x20;Magento&#x20;Stores&#x20;With&#x20;Very&#x20;Large&#x20;Catalogs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-cluster-sizing-for-large-catalogs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-magento-custom-scoring-with-painless-scripts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-magento-elasticsearch-custom-scoring-mit-painless" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-magento-custom-scoring-with-painless-scripts" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-custom-scoring-with-painless-scripts.webp</image:loc><image:title>Custom Scoring in Magento with Painless: Stock Level and Margin as Ranking Factors</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Custom&#x20;Scoring&#x20;in&#x20;Magento&#x20;with&#x20;Painless&#x3A;&#x20;Stock&#x20;Level&#x20;and&#x20;Margin&#x20;as&#x20;Ranking&#x20;Factors"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-custom-scoring-with-painless-scripts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-magento-search-performance-monitoring-with-slow-log</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-magento-suche-performance-monitoring-mit-slow-log" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-magento-search-performance-monitoring-with-slow-log" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-search-performance-monitoring-with-slow-log.webp</image:loc><image:title>Magento Search Performance Monitoring With the Elasticsearch Slow Log</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magento&#x20;Search&#x20;Performance&#x20;Monitoring&#x20;With&#x20;the&#x20;Elasticsearch&#x20;Slow&#x20;Log"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-magento-search-performance-monitoring-with-slow-log.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-node-roles-beyond-master-and-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-node-rollen-jenseits-von-master-und-data-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-node-roles-beyond-master-and-data" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-node-roles-beyond-master-and-data.webp</image:loc><image:title>Node Roles Beyond Master and Data: Ingest, ML, Coordinating, and Transform Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Node&#x20;Roles&#x20;Beyond&#x20;Master&#x20;and&#x20;Data&#x3A;&#x20;Ingest,&#x20;ML,&#x20;Coordinating,&#x20;and&#x20;Transform&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-node-roles-beyond-master-and-data.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-opensearch-dashboards-vs-kibana-differences</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-opensearch-dashboards-vs-kibana-unterschiede" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-opensearch-dashboards-vs-kibana-differences" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-opensearch-dashboards-vs-kibana-differences.webp</image:loc><image:title>OpenSearch Dashboards vs. Kibana: Differences After the Fork for Magento Search Analytics</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="OpenSearch&#x20;Dashboards&#x20;vs.&#x20;Kibana&#x3A;&#x20;Differences&#x20;After&#x20;the&#x20;Fork&#x20;for&#x20;Magento&#x20;Search&#x20;Analytics"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-opensearch-dashboards-vs-kibana-differences.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-opensearch-security-plugin-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-opensearch-security-plugin-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-opensearch-security-plugin-in-detail" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-opensearch-security-plugin-in-detail.webp</image:loc><image:title>The OpenSearch Security Plugin in Detail: Role-Based Access Control for Magento Search Clusters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;OpenSearch&#x20;Security&#x20;Plugin&#x20;in&#x20;Detail&#x3A;&#x20;Role-Based&#x20;Access&#x20;Control&#x20;for&#x20;Magento&#x20;Search&#x20;Clusters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-opensearch-security-plugin-in-detail.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-painless-scripting-for-custom-logic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-painless-scripting-fuer-benutzerdefinierte-logik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-painless-scripting-for-custom-logic" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-painless-scripting-for-custom-logic.webp</image:loc><image:title>Painless Scripting for Custom Logic</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Painless&#x20;Scripting&#x20;for&#x20;Custom&#x20;Logic"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-painless-scripting-for-custom-logic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-percolator-query-implementing-reverse-search</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-percolator-query-umgekehrte-suche-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-percolator-query-implementing-reverse-search" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-percolator-query-implementing-reverse-search.webp</image:loc><image:title>The Percolator Query: Implementing Reverse Search in Elasticsearch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Percolator&#x20;Query&#x3A;&#x20;Implementing&#x20;Reverse&#x20;Search&#x20;in&#x20;Elasticsearch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-percolator-query-implementing-reverse-search.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-point-in-time-api-for-consistent-pagination</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-point-in-time-api-fuer-konsistente-paginierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-point-in-time-api-for-consistent-pagination" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-point-in-time-api-for-consistent-pagination.webp</image:loc><image:title>The Point-in-Time API for Consistent Pagination in Elasticsearch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Point-in-Time&#x20;API&#x20;for&#x20;Consistent&#x20;Pagination&#x20;in&#x20;Elasticsearch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-point-in-time-api-for-consistent-pagination.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-reindex-from-remote-migrating-data-between-clusters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-reindex-from-remote-daten-zwischen-clustern-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-reindex-from-remote-migrating-data-between-clusters" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-reindex-from-remote-migrating-data-between-clusters.webp</image:loc><image:title>Reindex From Remote: Migrating Data Between Clusters</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reindex&#x20;From&#x20;Remote&#x3A;&#x20;Migrating&#x20;Data&#x20;Between&#x20;Clusters"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-reindex-from-remote-migrating-data-between-clusters.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-request-cache-and-shard-query-cache-explained</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-request-cache-und-shard-query-cache-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-request-cache-and-shard-query-cache-explained" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-request-cache-and-shard-query-cache-explained.webp</image:loc><image:title>Request Cache and Shard Query Cache in Elasticsearch Explained</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Request&#x20;Cache&#x20;and&#x20;Shard&#x20;Query&#x20;Cache&#x20;in&#x20;Elasticsearch&#x20;Explained"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-request-cache-and-shard-query-cache-explained.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-rollover-api-practical-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-rollover-api-praktische-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-rollover-api-practical-strategies" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-rollover-api-practical-strategies.webp</image:loc><image:title>The Rollover API: Practical Strategies for Growing Indices</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Rollover&#x20;API&#x3A;&#x20;Practical&#x20;Strategies&#x20;for&#x20;Growing&#x20;Indices"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-rollover-api-practical-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-search-templates-for-reusable-queries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-search-templates-fuer-wiederverwendbare-queries" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-search-templates-for-reusable-queries" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-search-templates-for-reusable-queries.webp</image:loc><image:title>Using Search Templates for Reusable Queries in Elasticsearch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Using&#x20;Search&#x20;Templates&#x20;for&#x20;Reusable&#x20;Queries&#x20;in&#x20;Elasticsearch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-search-templates-for-reusable-queries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-implementing-semantic-product-search-for-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-semantische-produktsuche-fuer-magento-shops" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-implementing-semantic-product-search-for-magento" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-implementing-semantic-product-search-for-magento.webp</image:loc><image:title>Implementing Semantic Product Search for Magento Shops With Vector Search</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implementing&#x20;Semantic&#x20;Product&#x20;Search&#x20;for&#x20;Magento&#x20;Shops&#x20;With&#x20;Vector&#x20;Search"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-implementing-semantic-product-search-for-magento.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-snapshot-lifecycle-management-automated-backups</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-snapshot-lifecycle-management-automatisierte-backups" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-snapshot-lifecycle-management-automated-backups" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-snapshot-lifecycle-management-automated-backups.webp</image:loc><image:title>Snapshot Lifecycle Management: Setting Up Automated Backups</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Snapshot&#x20;Lifecycle&#x20;Management&#x3A;&#x20;Setting&#x20;Up&#x20;Automated&#x20;Backups"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-snapshot-lifecycle-management-automated-backups.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-sparse-vector-search-with-elser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-sparse-vector-suche-mit-elser" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-sparse-vector-search-with-elser" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-sparse-vector-search-with-elser.webp</image:loc><image:title>Sparse Vector Search With ELSER: Semantic Search Without Your Own Embedding Model</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sparse&#x20;Vector&#x20;Search&#x20;With&#x20;ELSER&#x3A;&#x20;Semantic&#x20;Search&#x20;Without&#x20;Your&#x20;Own&#x20;Embedding&#x20;Model"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-sparse-vector-search-with-elser.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch-terms-enum-api-for-efficient-autocomplete-sources</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch-terms-enum-api-fuer-effiziente-autocomplete-quellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch-terms-enum-api-for-efficient-autocomplete-sources" />
<lastmod>2026-08-09T10:34:27+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/elasticsearch-terms-enum-api-for-efficient-autocomplete-sources.webp</image:loc><image:title>The Terms Enum API for Efficient Autocomplete Sources in Elasticsearch</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Terms&#x20;Enum&#x20;API&#x20;for&#x20;Efficient&#x20;Autocomplete&#x20;Sources&#x20;in&#x20;Elasticsearch"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/elasticsearch-terms-enum-api-for-efficient-autocomplete-sources.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-advisory-locks-for-application-side-coordination</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-advisory-locks-fuer-anwendungsseitige-koordination" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-advisory-locks-for-application-side-coordination" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-advisory-locks-for-application-side-coordination.webp</image:loc><image:title>Advisory Locks for Application-Side Coordination</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Advisory&#x20;Locks&#x20;for&#x20;Application-Side&#x20;Coordination"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-advisory-locks-for-application-side-coordination.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-bitemporal-modeling-valid-time-vs-transaction-time</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-bitemporale-datenmodellierung-gueltigkeit-vs-erfassung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-bitemporal-modeling-valid-time-vs-transaction-time" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-bitemporal-modeling-valid-time-vs-transaction-time.webp</image:loc><image:title>Bitemporal Data Modeling: Valid Time vs. Transaction Time</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Bitemporal&#x20;Data&#x20;Modeling&#x3A;&#x20;Valid&#x20;Time&#x20;vs.&#x20;Transaction&#x20;Time"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-bitemporal-modeling-valid-time-vs-transaction-time.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-columnstore-indexes-for-analytical-workloads</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-columnstore-indizes-fuer-analytische-workloads" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-columnstore-indexes-for-analytical-workloads" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-columnstore-indexes-for-analytical-workloads.webp</image:loc><image:title>Columnstore Indexes for Analytical Workloads: Placing Column Storage Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Columnstore&#x20;Indexes&#x20;for&#x20;Analytical&#x20;Workloads&#x3A;&#x20;Placing&#x20;Column&#x20;Storage&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-columnstore-indexes-for-analytical-workloads.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-composite-keys-vs-surrogate-keys-in-junction-tables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-composite-keys-vs-surrogate-keys-in-verbindungstabellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-composite-keys-vs-surrogate-keys-in-junction-tables" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-composite-keys-vs-surrogate-keys-in-junction-tables.webp</image:loc><image:title>Composite Keys vs. Surrogate Keys in Junction Tables</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Composite&#x20;Keys&#x20;vs.&#x20;Surrogate&#x20;Keys&#x20;in&#x20;Junction&#x20;Tables"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-composite-keys-vs-surrogate-keys-in-junction-tables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-cost-based-optimizer-how-plans-really-form</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-cost-based-optimizer-wie-plaene-wirklich-entstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-cost-based-optimizer-how-plans-really-form" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-cost-based-optimizer-how-plans-really-form.webp</image:loc><image:title>The Cost-Based Optimizer: How Execution Plans Actually Come to Be</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Cost-Based&#x20;Optimizer&#x3A;&#x20;How&#x20;Execution&#x20;Plans&#x20;Actually&#x20;Come&#x20;to&#x20;Be"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-cost-based-optimizer-how-plans-really-form.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-covering-indexes-explained-database-agnostic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-covering-indizes-framework-unabhaengig-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-covering-indexes-explained-database-agnostic" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-covering-indexes-explained-database-agnostic.webp</image:loc><image:title>Covering Indexes Explained Independently of Any Framework</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Covering&#x20;Indexes&#x20;Explained&#x20;Independently&#x20;of&#x20;Any&#x20;Framework"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-covering-indexes-explained-database-agnostic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-data-anonymization-for-test-and-staging-environments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-datenanonymisierung-fuer-test-und-staging-umgebungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-data-anonymization-for-test-and-staging-environments" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-data-anonymization-for-test-and-staging-environments.webp</image:loc><image:title>Data Anonymization for Test and Staging Environments Done Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Data&#x20;Anonymization&#x20;for&#x20;Test&#x20;and&#x20;Staging&#x20;Environments&#x20;Done&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-data-anonymization-for-test-and-staging-environments.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-data-quality-checks-as-part-of-the-pipeline</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-datenqualitaets-checks-als-teil-der-pipeline" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-data-quality-checks-as-part-of-the-pipeline" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-data-quality-checks-as-part-of-the-pipeline.webp</image:loc><image:title>Data Quality Checks as a Fixed Part of the Data Pipeline</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;Checks&#x20;as&#x20;a&#x20;Fixed&#x20;Part&#x20;of&#x20;the&#x20;Data&#x20;Pipeline"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-data-quality-checks-as-part-of-the-pipeline.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-detecting-and-cleaning-duplicates-in-sql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-duplikate-erkennen-und-bereinigen-in-sql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-detecting-and-cleaning-duplicates-in-sql" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-detecting-and-cleaning-duplicates-in-sql.webp</image:loc><image:title>Detecting and Cleaning Duplicates in SQL: Practical Strategies</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;Cleaning&#x20;Duplicates&#x20;in&#x20;SQL&#x3A;&#x20;Practical&#x20;Strategies"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-detecting-and-cleaning-duplicates-in-sql.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-dynamic-data-masking-concepts-and-implementation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-dynamic-data-masking-konzepte-und-umsetzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-dynamic-data-masking-concepts-and-implementation" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-dynamic-data-masking-concepts-and-implementation.webp</image:loc><image:title>Dynamic Data Masking: Concepts and Implementation 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="Dynamic&#x20;Data&#x20;Masking&#x3A;&#x20;Concepts&#x20;and&#x20;Implementation&#x20;in&#x20;Relational&#x20;Databases"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-dynamic-data-masking-concepts-and-implementation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-effective-dating-for-time-bound-records</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-effective-dating-fuer-zeitlich-begrenzte-datensaetze" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-effective-dating-for-time-bound-records" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-effective-dating-for-time-bound-records.webp</image:loc><image:title>Effective Dating for Time-Bound Records in SQL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Effective&#x20;Dating&#x20;for&#x20;Time-Bound&#x20;Records&#x20;in&#x20;SQL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-effective-dating-for-time-bound-records.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-filter-clause-conditional-aggregation-window-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-filter-klausel-fuer-bedingte-aggregation-in-window-functions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-filter-clause-conditional-aggregation-window-functions" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-filter-clause-conditional-aggregation-window-functions.webp</image:loc><image:title>The FILTER Clause for Conditional Aggregation in Window Functions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;FILTER&#x20;Clause&#x20;for&#x20;Conditional&#x20;Aggregation&#x20;in&#x20;Window&#x20;Functions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-filter-clause-conditional-aggregation-window-functions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-foreign-data-wrappers-cross-database-queries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-foreign-data-wrapper-fuer-datenbankuebergreifende-abfragen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-foreign-data-wrappers-cross-database-queries" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-foreign-data-wrappers-cross-database-queries.webp</image:loc><image:title>Foreign Data Wrappers: Cross-Database Queries Without ETL</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Foreign&#x20;Data&#x20;Wrappers&#x3A;&#x20;Cross-Database&#x20;Queries&#x20;Without&#x20;ETL"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-foreign-data-wrappers-cross-database-queries.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-emulating-full-outer-join-without-native-support</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-full-outer-join-emulation-ohne-native-unterstuetzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-emulating-full-outer-join-without-native-support" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-emulating-full-outer-join-without-native-support.webp</image:loc><image:title>Emulating FULL OUTER JOIN When Native Support Is Missing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Emulating&#x20;FULL&#x20;OUTER&#x20;JOIN&#x20;When&#x20;Native&#x20;Support&#x20;Is&#x20;Missing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-emulating-full-outer-join-without-native-support.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-common-sql-antipatterns-and-why-they-hurt</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-haeufige-sql-antipatterns-und-warum-sie-schaden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-common-sql-antipatterns-and-why-they-hurt" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-common-sql-antipatterns-and-why-they-hurt.webp</image:loc><image:title>Common SQL Antipatterns and Why They Hurt</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Common&#x20;SQL&#x20;Antipatterns&#x20;and&#x20;Why&#x20;They&#x20;Hurt"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-common-sql-antipatterns-and-why-they-hurt.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-idempotency-keys-for-safe-api-writes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-idempotenzschluessel-fuer-sichere-api-schreibvorgaenge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-idempotency-keys-for-safe-api-writes" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-idempotency-keys-for-safe-api-writes.webp</image:loc><image:title>Idempotency Keys for Safe API Writes 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="Idempotency&#x20;Keys&#x20;for&#x20;Safe&#x20;API&#x20;Writes&#x20;at&#x20;the&#x20;Database&#x20;Level"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-idempotency-keys-for-safe-api-writes.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-implicit-joins-vs-explicit-join-syntax</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-implizite-joins-vs-explizite-join-syntax" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-implicit-joins-vs-explicit-join-syntax" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-implicit-joins-vs-explicit-join-syntax.webp</image:loc><image:title>Implicit Joins vs. Explicit JOIN Syntax: Why the Comma Notation Stays Risky</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Implicit&#x20;Joins&#x20;vs.&#x20;Explicit&#x20;JOIN&#x20;Syntax&#x3A;&#x20;Why&#x20;the&#x20;Comma&#x20;Notation&#x20;Stays&#x20;Risky"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-implicit-joins-vs-explicit-join-syntax.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-intersect-except-set-operations-in-practice</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-intersect-und-except-mengenoperationen-praktisch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-intersect-except-set-operations-in-practice" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-intersect-except-set-operations-in-practice.webp</image:loc><image:title>INTERSECT and EXCEPT: Set Operations in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="INTERSECT&#x20;and&#x20;EXCEPT&#x3A;&#x20;Set&#x20;Operations&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-intersect-except-set-operations-in-practice.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-chaining-multiple-ctes-readability-vs-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-mehrere-ctes-verketten-lesbarkeit-vs-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-chaining-multiple-ctes-readability-vs-performance" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-chaining-multiple-ctes-readability-vs-performance.webp</image:loc><image:title>Chaining Multiple CTEs: Readability vs. Performance Reality</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Chaining&#x20;Multiple&#x20;CTEs&#x3A;&#x20;Readability&#x20;vs.&#x20;Performance&#x20;Reality"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-chaining-multiple-ctes-readability-vs-performance.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-avoiding-natural-keys-as-foreign-keys</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-natural-keys-in-fremdschluesseln-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-avoiding-natural-keys-as-foreign-keys" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-avoiding-natural-keys-as-foreign-keys.webp</image:loc><image:title>Avoiding Natural Keys as Foreign Keys</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Avoiding&#x20;Natural&#x20;Keys&#x20;as&#x20;Foreign&#x20;Keys"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-avoiding-natural-keys-as-foreign-keys.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-percent-rank-cume-dist-relative-ranking</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-percent-rank-cume-dist-fuer-relative-rangordnung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-percent-rank-cume-dist-relative-ranking" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-percent-rank-cume-dist-relative-ranking.webp</image:loc><image:title>PERCENT_RANK and CUME_DIST: Relative Ranking Instead of Fixed Positions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="PERCENT_RANK&#x20;and&#x20;CUME_DIST&#x3A;&#x20;Relative&#x20;Ranking&#x20;Instead&#x20;of&#x20;Fixed&#x20;Positions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-percent-rank-cume-dist-relative-ranking.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-configuring-query-timeout-strategies-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-query-timeout-strategien-richtig-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-configuring-query-timeout-strategies-correctly" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-configuring-query-timeout-strategies-correctly.webp</image:loc><image:title>Configuring Query Timeout Strategies 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;Query&#x20;Timeout&#x20;Strategies&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-configuring-query-timeout-strategies-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-repairing-referential-integrity-after-the-fact</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-referenzielle-integritaet-nachtraeglich-reparieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-repairing-referential-integrity-after-the-fact" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-repairing-referential-integrity-after-the-fact.webp</image:loc><image:title>Repairing Referential Integrity After the Fact: A Systematic Guide</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Repairing&#x20;Referential&#x20;Integrity&#x20;After&#x20;the&#x20;Fact&#x3A;&#x20;A&#x20;Systematic&#x20;Guide"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-repairing-referential-integrity-after-the-fact.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-select-star-why-avoid-it-in-production-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-select-star-warum-es-in-produktivcode-vermieden-wird" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-select-star-why-avoid-it-in-production-code" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-select-star-why-avoid-it-in-production-code.webp</image:loc><image:title>SELECT *: Why It Gets Avoided in Production Code</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="SELECT&#x20;&#x2A;&#x3A;&#x20;Why&#x20;It&#x20;Gets&#x20;Avoided&#x20;in&#x20;Production&#x20;Code"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-select-star-why-avoid-it-in-production-code.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-sequence-gaps-and-why-theyre-normal</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-sequenzen-gaps-und-warum-sie-normal-sind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-sequence-gaps-and-why-theyre-normal" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-sequence-gaps-and-why-theyre-normal.webp</image:loc><image:title>Sequence Gaps and Why They're Normal</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Sequence&#x20;Gaps&#x20;and&#x20;Why&#x20;They&#x27;re&#x20;Normal"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-sequence-gaps-and-why-theyre-normal.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-snapshot-isolation-vs-ssi-closing-the-last-gap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-snapshot-isolation-vs-serializable-snapshot-isolation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-snapshot-isolation-vs-ssi-closing-the-last-gap" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-snapshot-isolation-vs-ssi-closing-the-last-gap.webp</image:loc><image:title>Snapshot Isolation vs. Serializable Snapshot Isolation: Closing the Last Gap</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Snapshot&#x20;Isolation&#x20;vs.&#x20;Serializable&#x20;Snapshot&#x20;Isolation&#x3A;&#x20;Closing&#x20;the&#x20;Last&#x20;Gap"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-snapshot-isolation-vs-ssi-closing-the-last-gap.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-system-versioned-temporal-tables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-system-versionierte-temporale-tabellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-system-versioned-temporal-tables" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-system-versioned-temporal-tables.webp</image:loc><image:title>System-Versioned Temporal Tables: Automatic History Under SQL:2011</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="System-Versioned&#x20;Temporal&#x20;Tables&#x3A;&#x20;Automatic&#x20;History&#x20;Under&#x20;SQL&#x3A;2011"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-system-versioned-temporal-tables.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-table-partitioning-vs-sharding-the-difference</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-tabellen-partitionierung-vs-sharding-der-unterschied" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-table-partitioning-vs-sharding-the-difference" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-table-partitioning-vs-sharding-the-difference.webp</image:loc><image:title>Table Partitioning vs. Sharding: The Often-Confused Difference</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Table&#x20;Partitioning&#x20;vs.&#x20;Sharding&#x3A;&#x20;The&#x20;Often-Confused&#x20;Difference"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-table-partitioning-vs-sharding-the-difference.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-uuid-vs-ulid-vs-auto-increment-as-primary-key</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-uuid-vs-ulid-vs-auto-increment-als-primaerschluessel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-uuid-vs-ulid-vs-auto-increment-as-primary-key" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-uuid-vs-ulid-vs-auto-increment-as-primary-key.webp</image:loc><image:title>UUID vs. ULID vs. Auto-Increment as Primary Key: Index Consequences</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="UUID&#x20;vs.&#x20;ULID&#x20;vs.&#x20;Auto-Increment&#x20;as&#x20;Primary&#x20;Key&#x3A;&#x20;Index&#x20;Consequences"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-uuid-vs-ulid-vs-auto-increment-as-primary-key.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql-handling-time-zones-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql-zeitzonen-korrekt-in-sql-verarbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql-handling-time-zones-correctly" />
<lastmod>2026-08-09T10:34:52+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/sql-handling-time-zones-correctly.webp</image:loc><image:title>Handling Time Zones Correctly in SQL: UTC, Offsets, and DST</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Handling&#x20;Time&#x20;Zones&#x20;Correctly&#x20;in&#x20;SQL&#x3A;&#x20;UTC,&#x20;Offsets,&#x20;and&#x20;DST"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/sql-handling-time-zones-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-app-clips-and-instant-apps-for-instant-first-use</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-app-clips-und-instant-apps-fuer-schnelle-erstnutzung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-app-clips-and-instant-apps-for-instant-first-use" />
<lastmod>2026-08-09T10:35:38+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-app-clips-and-instant-apps-for-instant-first-use.webp</image:loc><image:title>App Clips and Instant Apps for Instant First Use | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="App&#x20;Clips&#x20;and&#x20;Instant&#x20;Apps&#x20;for&#x20;Instant&#x20;First&#x20;Use&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-app-clips-and-instant-apps-for-instant-first-use.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-app-tracking-transparency-att-ios-privacy-prompts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-app-tracking-transparency-att-ios-datenschutz-prompts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-app-tracking-transparency-att-ios-privacy-prompts" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-app-tracking-transparency-att-ios-privacy-prompts.webp</image:loc><image:title>App Tracking Transparency (ATT): Implementing iOS Privacy Prompts Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="App&#x20;Tracking&#x20;Transparency&#x20;&#x28;ATT&#x29;&#x3A;&#x20;Implementing&#x20;iOS&#x20;Privacy&#x20;Prompts&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-app-tracking-transparency-att-ios-privacy-prompts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-automated-accessibility-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-barrierefreiheit-automatisiert-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-automated-accessibility-testing" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-automated-accessibility-testing.webp</image:loc><image:title>Automated Accessibility Testing in React Native: CI Integration and Limits</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;Testing&#x20;in&#x20;React&#x20;Native&#x3A;&#x20;CI&#x20;Integration&#x20;and&#x20;Limits"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-automated-accessibility-testing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-image-caching-strategies-with-fast-image</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-bild-caching-strategien-mit-fast-image-optimieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-image-caching-strategies-with-fast-image" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-image-caching-strategies-with-fast-image.webp</image:loc><image:title>Optimizing Image Caching Strategies with FastImage</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Optimizing&#x20;Image&#x20;Caching&#x20;Strategies&#x20;with&#x20;FastImage"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-image-caching-strategies-with-fast-image.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-codegen-for-turbomodules-generating-type-safe-interfaces</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-codegen-fuer-turbomodules-typsichere-schnittstellen-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-codegen-for-turbomodules-generating-type-safe-interfaces" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-codegen-for-turbomodules-generating-type-safe-interfaces.webp</image:loc><image:title>Codegen for TurboModules: Generating Type-Safe Interfaces</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Codegen&#x20;for&#x20;TurboModules&#x3A;&#x20;Generating&#x20;Type-Safe&#x20;Interfaces"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-codegen-for-turbomodules-generating-type-safe-interfaces.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-building-custom-expo-modules-with-the-expo-modules-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-eigene-expo-module-mit-der-expo-modules-api-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-building-custom-expo-modules-with-the-expo-modules-api" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-building-custom-expo-modules-with-the-expo-modules-api.webp</image:loc><image:title>Building Custom Expo Modules with the Expo Modules API | Mironsoft</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;Expo&#x20;Modules&#x20;with&#x20;the&#x20;Expo&#x20;Modules&#x20;API&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-building-custom-expo-modules-with-the-expo-modules-api.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-expo-router-nested-layouts-and-modals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-expo-router-verschachtelte-layouts-und-modals" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-expo-router-nested-layouts-and-modals" />
<lastmod>2026-08-09T10:35:39+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-nested-layouts-and-modals.webp</image:loc><image:title>Expo Router: Nested Layouts and Modals</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;Nested&#x20;Layouts&#x20;and&#x20;Modals"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-expo-router-nested-layouts-and-modals.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-fabric-renderer-building-custom-native-view-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-fabric-renderer-custom-components-eigene-native-views-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-fabric-renderer-building-custom-native-view-components" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-fabric-renderer-building-custom-native-view-components.webp</image:loc><image:title>The Fabric Renderer: Building Custom Native Views as Custom Components</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Fabric&#x20;Renderer&#x3A;&#x20;Building&#x20;Custom&#x20;Native&#x20;Views&#x20;as&#x20;Custom&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-fabric-renderer-building-custom-native-view-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-combining-gesture-handler-and-reanimated-for-complex-interactions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-gesture-handler-und-reanimated-kombinieren-komplexe-interaktionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-combining-gesture-handler-and-reanimated-for-complex-interactions" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-combining-gesture-handler-and-reanimated-for-complex-interactions.webp</image:loc><image:title>Combining Gesture Handler and Reanimated for Complex Interactions</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Combining&#x20;Gesture&#x20;Handler&#x20;and&#x20;Reanimated&#x20;for&#x20;Complex&#x20;Interactions"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-combining-gesture-handler-and-reanimated-for-complex-interactions.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-google-play-data-safety-section-filled-out-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-google-play-data-safety-angaben-korrekt-ausfuellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-google-play-data-safety-section-filled-out-correctly" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-google-play-data-safety-section-filled-out-correctly.webp</image:loc><image:title>Filling Out Google Play Data Safety Details Correctly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Filling&#x20;Out&#x20;Google&#x20;Play&#x20;Data&#x20;Safety&#x20;Details&#x20;Correctly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-google-play-data-safety-section-filled-out-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-supporting-ipad-split-view-multitasking-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-ipad-split-view-und-multitasking-layouts-unterstuetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-supporting-ipad-split-view-multitasking-layouts" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-supporting-ipad-split-view-multitasking-layouts.webp</image:loc><image:title>Supporting iPad Split View and Multitasking Layouts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Supporting&#x20;iPad&#x20;Split&#x20;View&#x20;and&#x20;Multitasking&#x20;Layouts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-supporting-ipad-split-view-multitasking-layouts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-jsi-direct-cpp-bindings-without-the-bridge</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-jsi-direkte-cpp-bindings-ohne-bridge" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-jsi-direct-cpp-bindings-without-the-bridge" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-jsi-direct-cpp-bindings-without-the-bridge.webp</image:loc><image:title>JSI: Writing Direct C++ Bindings Without the Bridge</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="JSI&#x3A;&#x20;Writing&#x20;Direct&#x20;C&#x2B;&#x2B;&#x20;Bindings&#x20;Without&#x20;the&#x20;Bridge"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-jsi-direct-cpp-bindings-without-the-bridge.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-layout-animations-automatic-transitions-without-manual-timing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-layout-animations-automatische-uebergaenge-ohne-manuelles-timing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-layout-animations-automatic-transitions-without-manual-timing" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-layout-animations-automatic-transitions-without-manual-timing.webp</image:loc><image:title>Layout Animations: Automatic Transitions Without Manual Timing</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Layout&#x20;Animations&#x3A;&#x20;Automatic&#x20;Transitions&#x20;Without&#x20;Manual&#x20;Timing"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-layout-animations-automatic-transitions-without-manual-timing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-ios-live-activities-for-dynamic-lock-screen-updates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-live-activities-fuer-ios-dynamische-sperrbildschirm-updates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-ios-live-activities-for-dynamic-lock-screen-updates" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-ios-live-activities-for-dynamic-lock-screen-updates.webp</image:loc><image:title>iOS Live Activities: Dynamic Lock Screen Updates | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="iOS&#x20;Live&#x20;Activities&#x3A;&#x20;Dynamic&#x20;Lock&#x20;Screen&#x20;Updates&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-ios-live-activities-for-dynamic-lock-screen-updates.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-integrating-lottie-animations-in-react-native</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-lottie-animationen-in-react-native-einbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-integrating-lottie-animations-in-react-native" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-integrating-lottie-animations-in-react-native.webp</image:loc><image:title>Integrating Lottie 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="Integrating&#x20;Lottie&#x20;Animations&#x20;in&#x20;React&#x20;Native"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-integrating-lottie-animations-in-react-native.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-mmkv-vs-asyncstorage-faster-local-key-value-storage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-mmkv-vs-asyncstorage-schneller-lokaler-key-value-speicher" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-mmkv-vs-asyncstorage-faster-local-key-value-storage" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-mmkv-vs-asyncstorage-faster-local-key-value-storage.webp</image:loc><image:title>MMKV vs. AsyncStorage: Faster Local Key-Value Storage</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="MMKV&#x20;vs.&#x20;AsyncStorage&#x3A;&#x20;Faster&#x20;Local&#x20;Key-Value&#x20;Storage"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-mmkv-vs-asyncstorage-faster-local-key-value-storage.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-testing-native-modules-in-isolation-mock-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-native-module-isoliert-testen-mock-strategien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-testing-native-modules-in-isolation-mock-strategies" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-testing-native-modules-in-isolation-mock-strategies.webp</image:loc><image:title>Testing Native Modules in Isolation: Mock Strategies for Jest</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Testing&#x20;Native&#x20;Modules&#x20;in&#x20;Isolation&#x3A;&#x20;Mock&#x20;Strategies&#x20;for&#x20;Jest"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-testing-native-modules-in-isolation-mock-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-navigation-state-persistence-surviving-app-restarts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-navigation-state-persistenz-app-neustart-ueberleben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-navigation-state-persistence-surviving-app-restarts" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-navigation-state-persistence-surviving-app-restarts.webp</image:loc><image:title>Navigation State Persistence: Surviving an App Restart</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Navigation&#x20;State&#x20;Persistence&#x3A;&#x20;Surviving&#x20;an&#x20;App&#x20;Restart"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-navigation-state-persistence-surviving-app-restarts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-offline-sync-conflict-resolution-strategies</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-offline-sync-konfliktloesung-strategien-fuer-mobile-apps" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-offline-sync-conflict-resolution-strategies" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-offline-sync-conflict-resolution-strategies.webp</image:loc><image:title>Offline Sync Conflict Resolution: Strategies 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="Offline&#x20;Sync&#x20;Conflict&#x20;Resolution&#x3A;&#x20;Strategies&#x20;for&#x20;Mobile&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-offline-sync-conflict-resolution-strategies.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-performance-monitoring-with-firebase-performance-and-new-relic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-performance-monitoring-mit-firebase-performance-und-new-relic" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-performance-monitoring-with-firebase-performance-and-new-relic" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-performance-monitoring-with-firebase-performance-and-new-relic.webp</image:loc><image:title>Performance Monitoring in React Native: Firebase Performance and New Relic in Practice</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Performance&#x20;Monitoring&#x20;in&#x20;React&#x20;Native&#x3A;&#x20;Firebase&#x20;Performance&#x20;and&#x20;New&#x20;Relic&#x20;in&#x20;Practice"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-performance-monitoring-with-firebase-performance-and-new-relic.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-for-tv-android-tv-and-tvos-navigation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-fuer-tv-android-tv-und-tvos-navigation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-for-tv-android-tv-and-tvos-navigation" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-for-tv-android-tv-and-tvos-navigation.webp</image:loc><image:title>React Native for TV: Android TV and tvOS Navigation</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;for&#x20;TV&#x3A;&#x20;Android&#x20;TV&#x20;and&#x20;tvOS&#x20;Navigation"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-for-tv-android-tv-and-tvos-navigation.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-skia-custom-graphics-and-canvas-drawing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-react-native-skia-eigene-grafiken-und-canvas-zeichnen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-skia-custom-graphics-and-canvas-drawing" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-skia-custom-graphics-and-canvas-drawing.webp</image:loc><image:title>React Native Skia: Drawing Custom Graphics and Canvas</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;Skia&#x3A;&#x20;Drawing&#x20;Custom&#x20;Graphics&#x20;and&#x20;Canvas"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-skia-custom-graphics-and-canvas-drawing.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-react-native-web-sharing-code-between-mobile-and-browser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-react-native-web-code-sharing-zwischen-mobile-und-web" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-react-native-web-sharing-code-between-mobile-and-browser" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-react-native-web-sharing-code-between-mobile-and-browser.webp</image:loc><image:title>React Native Web: Sharing Code Between Mobile and Browser</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;Web&#x3A;&#x20;Sharing&#x20;Code&#x20;Between&#x20;Mobile&#x20;and&#x20;Browser"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-react-native-web-sharing-code-between-mobile-and-browser.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-understanding-reanimated-worklets-ui-thread-vs-js-thread</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-reanimated-worklets-verstehen-ui-thread-vs-js-thread" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-understanding-reanimated-worklets-ui-thread-vs-js-thread" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-understanding-reanimated-worklets-ui-thread-vs-js-thread.webp</image:loc><image:title>Reanimated Worklets Explained: UI Thread vs. JS Thread</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reanimated&#x20;Worklets&#x20;Explained&#x3A;&#x20;UI&#x20;Thread&#x20;vs.&#x20;JS&#x20;Thread"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-understanding-reanimated-worklets-ui-thread-vs-js-thread.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-finding-and-fixing-memory-leaks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-speicherlecks-aufspueren-und-beheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-finding-and-fixing-memory-leaks" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-finding-and-fixing-memory-leaks.webp</image:loc><image:title>Finding and Fixing Memory Leaks in 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="Finding&#x20;and&#x20;Fixing&#x20;Memory&#x20;Leaks&#x20;in&#x20;React&#x20;Native&#x20;Apps"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-finding-and-fixing-memory-leaks.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-tab-navigation-performance-lazy-loading-screens</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-tab-navigation-performance-lazy-loading-von-screens" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-tab-navigation-performance-lazy-loading-screens" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-tab-navigation-performance-lazy-loading-screens.webp</image:loc><image:title>Tab Navigation Performance: Getting Lazy Loading of Screens Right</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tab&#x20;Navigation&#x20;Performance&#x3A;&#x20;Getting&#x20;Lazy&#x20;Loading&#x20;of&#x20;Screens&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-tab-navigation-performance-lazy-loading-screens.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-encrypted-local-storage-sqlcipher-secure-databases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-verschluesselter-lokaler-speicher-sqlcipher-und-secure-databases" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-encrypted-local-storage-sqlcipher-secure-databases" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-encrypted-local-storage-sqlcipher-secure-databases.webp</image:loc><image:title>Encrypted Local Storage: SQLCipher and Secure Databases</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Encrypted&#x20;Local&#x20;Storage&#x3A;&#x20;SQLCipher&#x20;and&#x20;Secure&#x20;Databases"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-encrypted-local-storage-sqlcipher-secure-databases.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-visual-regression-testing-with-screenshot-comparisons</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-visuelles-regressionstesting-mit-screenshot-vergleichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-visual-regression-testing-with-screenshot-comparisons" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-visual-regression-testing-with-screenshot-comparisons.webp</image:loc><image:title>Visual Regression Testing in React Native: Getting Screenshot Comparisons Right</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;in&#x20;React&#x20;Native&#x3A;&#x20;Getting&#x20;Screenshot&#x20;Comparisons&#x20;Right"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-visual-regression-testing-with-screenshot-comparisons.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-connecting-watchos-and-wear-os-companion-apps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-watchos-und-wear-os-companion-apps-anbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-connecting-watchos-and-wear-os-companion-apps" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-connecting-watchos-and-wear-os-companion-apps.webp</image:loc><image:title>Connecting watchOS and Wear OS Companion Apps | Mironsoft</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Connecting&#x20;watchOS&#x20;and&#x20;Wear&#x20;OS&#x20;Companion&#x20;Apps&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-connecting-watchos-and-wear-os-companion-apps.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native-windows-and-macos-out-of-tree-platforms</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native-windows-und-macos-out-of-tree-plattformen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native-windows-and-macos-out-of-tree-platforms" />
<lastmod>2026-08-09T10:35:39+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/react-native-windows-and-macos-out-of-tree-platforms.webp</image:loc><image:title>React Native Windows and macOS: Out-of-Tree Platforms Explained | Mironsoft</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;Windows&#x20;and&#x20;macOS&#x3A;&#x20;Out-of-Tree&#x20;Platforms&#x20;Explained&#x20;&#x7C;&#x20;Mironsoft"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/react-native-windows-and-macos-out-of-tree-platforms.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-alpine-js-with-graphql-queries-without-a-heavy-framework</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-alpine-js-mit-graphql-abfragen-ohne-schweres-framework" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-alpine-js-with-graphql-queries-without-a-heavy-framework" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-alpine-js-with-graphql-queries-without-a-heavy-framework.webp</image:loc><image:title>Alpine.js with GraphQL: Queries Without a Heavy Framework Like Apollo or urql</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;GraphQL&#x3A;&#x20;Queries&#x20;Without&#x20;a&#x20;Heavy&#x20;Framework&#x20;Like&#x20;Apollo&#x20;or&#x20;urql"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-alpine-js-with-graphql-queries-without-a-heavy-framework.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-barcode-and-qr-code-scanner-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-barcode-und-qr-code-scanner-mit-alpine-js" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-barcode-and-qr-code-scanner-integration" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-barcode-and-qr-code-scanner-integration.webp</image:loc><image:title>Barcode and QR Code Scanner Integration 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="Barcode&#x20;and&#x20;QR&#x20;Code&#x20;Scanner&#x20;Integration&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-barcode-and-qr-code-scanner-integration.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-product-image-magnifier-zoom-effect-without-library</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-bildlupe-zoom-effekt-fuer-produktbilder-ohne-bibliothek" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-product-image-magnifier-zoom-effect-without-library" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-product-image-magnifier-zoom-effect-without-library.webp</image:loc><image:title>Image Magnifier: Zoom Effect for Product Photos Without a Library 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="Image&#x20;Magnifier&#x3A;&#x20;Zoom&#x20;Effect&#x20;for&#x20;Product&#x20;Photos&#x20;Without&#x20;a&#x20;Library&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-product-image-magnifier-zoom-effect-without-library.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-client-side-csv-export-from-html-table</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-csv-export-aus-html-tabelle-clientseitig-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-client-side-csv-export-from-html-table" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-client-side-csv-export-from-html-table.webp</image:loc><image:title>Generating a CSV Export from an HTML Table Client-Side 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;CSV&#x20;Export&#x20;from&#x20;an&#x20;HTML&#x20;Table&#x20;Client-Side&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-client-side-csv-export-from-html-table.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-dark-mode-color-scheme-transitions-without-flicker-fouc</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-dark-mode-farbschema-uebergaenge-ohne-flackern-fouc" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-dark-mode-color-scheme-transitions-without-flicker-fouc" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-dark-mode-color-scheme-transitions-without-flicker-fouc.webp</image:loc><image:title>Dark Mode Color Scheme Transitions Without Flicker (FOUC)</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;Color&#x20;Scheme&#x20;Transitions&#x20;Without&#x20;Flicker&#x20;&#x28;FOUC&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-dark-mode-color-scheme-transitions-without-flicker-fouc.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-file-drag-and-drop-zone-visual-drop-feedback</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-datei-drag-and-drop-zone-visuelles-feedback" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-file-drag-and-drop-zone-visual-drop-feedback" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-file-drag-and-drop-zone-visual-drop-feedback.webp</image:loc><image:title>File Drag-and-Drop Zone with Visual Drop Feedback</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="File&#x20;Drag-and-Drop&#x20;Zone&#x20;with&#x20;Visual&#x20;Drop&#x20;Feedback"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-file-drag-and-drop-zone-visual-drop-feedback.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-switching-to-a-print-friendly-view-controlling-print-styles-with-alpine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-druckfreundliche-ansicht-umschalten-print-styles-mit-alpine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-switching-to-a-print-friendly-view-controlling-print-styles-with-alpine" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-switching-to-a-print-friendly-view-controlling-print-styles-with-alpine.webp</image:loc><image:title>Switching to a Print-Friendly View: Controlling Print Styles 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="Switching&#x20;to&#x20;a&#x20;Print-Friendly&#x20;View&#x3A;&#x20;Controlling&#x20;Print&#x20;Styles&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-switching-to-a-print-friendly-view-controlling-print-styles-with-alpine.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-dynamic-classes-with-x-bind-class-object-vs-array-syntax</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-dynamische-klassen-mit-x-bind-class-objektsyntax-vs-array" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-dynamic-classes-with-x-bind-class-object-vs-array-syntax" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-dynamic-classes-with-x-bind-class-object-vs-array-syntax.webp</image:loc><image:title>Dynamic Classes with x-bind:class: Object Syntax vs. Array Syntax</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Dynamic&#x20;Classes&#x20;with&#x20;x-bind&#x3A;class&#x3A;&#x20;Object&#x20;Syntax&#x20;vs.&#x20;Array&#x20;Syntax"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-dynamic-classes-with-x-bind-class-object-vs-array-syntax.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-registering-custom-x-directives-the-directive-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-eigene-x-direktiven-registrieren-alpine-directive-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-registering-custom-x-directives-the-directive-api" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-registering-custom-x-directives-the-directive-api.webp</image:loc><image:title>Registering Custom x-Directives: The Alpine Directive API In Depth</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;x-Directives&#x3A;&#x20;The&#x20;Alpine&#x20;Directive&#x20;API&#x20;In&#x20;Depth"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-registering-custom-x-directives-the-directive-api.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-supporting-forced-colors-high-contrast-mode</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-hoher-kontrast-modus-forced-colors-unterstuetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-supporting-forced-colors-high-contrast-mode" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-supporting-forced-colors-high-contrast-mode.webp</image:loc><image:title>High Contrast Mode: Supporting Forced Colors</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="High&#x20;Contrast&#x20;Mode&#x3A;&#x20;Supporting&#x20;Forced&#x20;Colors"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-supporting-forced-colors-high-contrast-mode.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-catching-and-reporting-init-errors-error-handling-in-alpine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-init-fehler-abfangen-und-melden-error-handling-in-alpine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-catching-and-reporting-init-errors-error-handling-in-alpine" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-catching-and-reporting-init-errors-error-handling-in-alpine.webp</image:loc><image:title>Catching And Reporting Init Errors: Error Handling 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="Catching&#x20;And&#x20;Reporting&#x20;Init&#x20;Errors&#x3A;&#x20;Error&#x20;Handling&#x20;In&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-catching-and-reporting-init-errors-error-handling-in-alpine.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-live-regions-aria-live-announcing-dynamic-content</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-live-region-aria-live-dynamische-inhalte-ansagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-live-regions-aria-live-announcing-dynamic-content" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-live-regions-aria-live-announcing-dynamic-content.webp</image:loc><image:title>Live Regions (aria-live): Announcing Dynamic Content to Screen Readers</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Live&#x20;Regions&#x20;&#x28;aria-live&#x29;&#x3A;&#x20;Announcing&#x20;Dynamic&#x20;Content&#x20;to&#x20;Screen&#x20;Readers"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-live-regions-aria-live-announcing-dynamic-content.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-magic-properties-defining-custom-dollar-properties</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-magic-properties-eigene-dollar-eigenschaften-definieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-magic-properties-defining-custom-dollar-properties" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-magic-properties-defining-custom-dollar-properties.webp</image:loc><image:title>Magic Properties: Defining Custom Dollar Properties With Alpine.magic()</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Magic&#x20;Properties&#x3A;&#x20;Defining&#x20;Custom&#x20;Dollar&#x20;Properties&#x20;With&#x20;Alpine.magic&#x28;&#x29;"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-magic-properties-defining-custom-dollar-properties.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-multilingual-uis-i18n-pattern-without-vue-i18n</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-mehrsprachige-uis-i18n-pattern-ohne-vue-i18n" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-multilingual-uis-i18n-pattern-without-vue-i18n" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-multilingual-uis-i18n-pattern-without-vue-i18n.webp</image:loc><image:title>Multilingual UIs: an i18n Pattern Without vue-i18n or react-intl</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Multilingual&#x20;UIs&#x3A;&#x20;an&#x20;i18n&#x20;Pattern&#x20;Without&#x20;vue-i18n&#x20;or&#x20;react-intl"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-multilingual-uis-i18n-pattern-without-vue-i18n.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-modal-stack-managing-stacked-dialogs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-modal-stack-verschachtelte-dialoge-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-modal-stack-managing-stacked-dialogs" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-modal-stack-managing-stacked-dialogs.webp</image:loc><image:title>Modal Stack: Managing Multiple Stacked Dialogs</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Modal&#x20;Stack&#x3A;&#x20;Managing&#x20;Multiple&#x20;Stacked&#x20;Dialogs"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-modal-stack-managing-stacked-dialogs.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-morph-plugin-for-flicker-free-dom-updates-with-livewire</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-morph-fuer-flackerfreie-dom-updates-bei-livewire" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-morph-plugin-for-flicker-free-dom-updates-with-livewire" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-morph-plugin-for-flicker-free-dom-updates-with-livewire.webp</image:loc><image:title>The Morph Plugin For Flicker Free DOM Updates With Livewire And Beyond</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="The&#x20;Morph&#x20;Plugin&#x20;For&#x20;Flicker&#x20;Free&#x20;DOM&#x20;Updates&#x20;With&#x20;Livewire&#x20;And&#x20;Beyond"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-morph-plugin-for-flicker-free-dom-updates-with-livewire.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-optimistic-ui-updates-showing-changes-before-the-server-responds</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-optimistic-ui-updates-vor-der-serverantwort-anzeigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-optimistic-ui-updates-showing-changes-before-the-server-responds" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-optimistic-ui-updates-showing-changes-before-the-server-responds.webp</image:loc><image:title>Optimistic UI Updates: Showing Changes Before the Server Responds 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="Optimistic&#x20;UI&#x20;Updates&#x3A;&#x20;Showing&#x20;Changes&#x20;Before&#x20;the&#x20;Server&#x20;Responds&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-optimistic-ui-updates-showing-changes-before-the-server-responds.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-polling-pattern-interval-based-data-refresh</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-polling-pattern-intervallbasierte-datenaktualisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-polling-pattern-interval-based-data-refresh" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-polling-pattern-interval-based-data-refresh.webp</image:loc><image:title>Polling Pattern: Cleanly Implementing Interval-Based Data Refresh 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="Polling&#x20;Pattern&#x3A;&#x20;Cleanly&#x20;Implementing&#x20;Interval-Based&#x20;Data&#x20;Refresh&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-polling-pattern-interval-based-data-refresh.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-product-comparison-table-with-filterable-columns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-produktvergleichstabelle-mit-filterbaren-spalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-product-comparison-table-with-filterable-columns" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-product-comparison-table-with-filterable-columns.webp</image:loc><image:title>Building a Product Comparison Table with Filterable Columns 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="Building&#x20;a&#x20;Product&#x20;Comparison&#x20;Table&#x20;with&#x20;Filterable&#x20;Columns&#x20;in&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-product-comparison-table-with-filterable-columns.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-reactivity-alpinejs-vs-proxy-based-reactivity-in-vue</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-reaktivitaet-alpinejs-vs-proxy-basierte-reaktivitaet-in-vue" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-reactivity-alpinejs-vs-proxy-based-reactivity-in-vue" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-reactivity-alpinejs-vs-proxy-based-reactivity-in-vue.webp</image:loc><image:title>Reactivity: Alpine.js vs. Proxy-Based Reactivity in Vue Compared</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Reactivity&#x3A;&#x20;Alpine.js&#x20;vs.&#x20;Proxy-Based&#x20;Reactivity&#x20;in&#x20;Vue&#x20;Compared"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-reactivity-alpinejs-vs-proxy-based-reactivity-in-vue.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-respecting-prefers-reduced-motion-disabling-animations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-reduced-motion-praeferenz-respektieren-animationen-abschalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-respecting-prefers-reduced-motion-disabling-animations" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-respecting-prefers-reduced-motion-disabling-animations.webp</image:loc><image:title>Respecting prefers-reduced-motion: Disabling Animations Deliberately</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Respecting&#x20;prefers-reduced-motion&#x3A;&#x20;Disabling&#x20;Animations&#x20;Deliberately"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-respecting-prefers-reduced-motion-disabling-animations.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-controlling-screen-reader-only-content-dynamically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-screenreader-only-inhalte-dynamisch-mit-alpine-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-controlling-screen-reader-only-content-dynamically" />
<lastmod>2026-08-09T10:36:15+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-controlling-screen-reader-only-content-dynamically.webp</image:loc><image:title>Controlling Screen Reader Only Content Dynamically With Alpine</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Controlling&#x20;Screen&#x20;Reader&#x20;Only&#x20;Content&#x20;Dynamically&#x20;With&#x20;Alpine"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-controlling-screen-reader-only-content-dynamically.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-scroll-spy-navigation-highlighting-active-section</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-scroll-spy-navigation-aktive-sektion-hervorheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-scroll-spy-navigation-highlighting-active-section" />
<lastmod>2026-08-09T10:36:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-scroll-spy-navigation-highlighting-active-section.webp</image:loc><image:title>Scroll-Spy Navigation: Highlighting the Active Section 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-Spy&#x20;Navigation&#x3A;&#x20;Highlighting&#x20;the&#x20;Active&#x20;Section&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-scroll-spy-navigation-highlighting-active-section.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-server-sent-events-live-updates-without-polling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-server-sent-events-live-updates-ohne-polling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-server-sent-events-live-updates-without-polling" />
<lastmod>2026-08-09T10:36:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-server-sent-events-live-updates-without-polling.webp</image:loc><image:title>Server-Sent Events: Live Updates Without Polling 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="Server-Sent&#x20;Events&#x3A;&#x20;Live&#x20;Updates&#x20;Without&#x20;Polling&#x20;in&#x20;Alpine.js&#x20;Components"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-server-sent-events-live-updates-without-polling.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-skeleton-loading-states-during-async-data-fetching</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-skeleton-loading-states-waehrend-async-datenabruf" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-skeleton-loading-states-during-async-data-fetching" />
<lastmod>2026-08-09T10:36:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-skeleton-loading-states-during-async-data-fetching.webp</image:loc><image:title>Skeleton Loading States During Asynchronous Data Fetching</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;States&#x20;During&#x20;Asynchronous&#x20;Data&#x20;Fetching"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-skeleton-loading-states-during-async-data-fetching.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-combining-tailwind-v4-css-first-workflow-with-alpine-js</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-tailwind-v4-und-alpine-js-css-first-workflow-kombinieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-combining-tailwind-v4-css-first-workflow-with-alpine-js" />
<lastmod>2026-08-09T10:36:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-combining-tailwind-v4-css-first-workflow-with-alpine-js.webp</image:loc><image:title>Tailwind v4 and Alpine.js: Combining the CSS-First Workflow</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Tailwind&#x20;v4&#x20;and&#x20;Alpine.js&#x3A;&#x20;Combining&#x20;the&#x20;CSS-First&#x20;Workflow"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-combining-tailwind-v4-css-first-workflow-with-alpine-js.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-keyboard-shortcut-manager-global-shortcuts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-tastaturkuerzel-manager-globale-shortcuts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-keyboard-shortcut-manager-global-shortcuts" />
<lastmod>2026-08-09T10:36:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-keyboard-shortcut-manager-global-shortcuts.webp</image:loc><image:title>Keyboard Shortcut Manager: Registering Global Shortcuts</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Keyboard&#x20;Shortcut&#x20;Manager&#x3A;&#x20;Registering&#x20;Global&#x20;Shortcuts"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-keyboard-shortcut-manager-global-shortcuts.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-undo-redo-pattern-implementing-an-undo-feature</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-undo-redo-pattern-rueckgaengig-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-undo-redo-pattern-implementing-an-undo-feature" />
<lastmod>2026-08-09T10:36:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-undo-redo-pattern-implementing-an-undo-feature.webp</image:loc><image:title>Undo/Redo Pattern: Implementing an Undo Feature</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="Undo&#x2F;Redo&#x20;Pattern&#x3A;&#x20;Implementing&#x20;an&#x20;Undo&#x20;Feature"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-undo-redo-pattern-implementing-an-undo-feature.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-nested-accordions-managing-multiple-levels-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-verschachtelte-akkordeons-mehrere-ebenen-korrekt-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-nested-accordions-managing-multiple-levels-correctly" />
<lastmod>2026-08-09T10:36:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-nested-accordions-managing-multiple-levels-correctly.webp</image:loc><image:title>Nested Accordions: Correctly Managing Multiple Levels 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="Nested&#x20;Accordions&#x3A;&#x20;Correctly&#x20;Managing&#x20;Multiple&#x20;Levels&#x20;with&#x20;Alpine.js"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-nested-accordions-managing-multiple-levels-correctly.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpine-websocket-integration-real-time-data-in-alpine-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpine-websocket-integration-echtzeit-daten-in-alpine-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpine-websocket-integration-real-time-data-in-alpine-components" />
<lastmod>2026-08-09T10:36:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<image:image><image:loc>https://www.mironsoft.de/media/magefan_blog/alpine-websocket-integration-real-time-data-in-alpine-components.webp</image:loc><image:title>WebSocket Integration: Managing Real-Time Data in Alpine.js Components Cleanly</image:title></image:image><PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0"><DataObject type="thumbnail"><Attribute name="name" value="WebSocket&#x20;Integration&#x3A;&#x20;Managing&#x20;Real-Time&#x20;Data&#x20;in&#x20;Alpine.js&#x20;Components&#x20;Cleanly"/><Attribute name="src" value="https://www.mironsoft.de/media/magefan_blog/alpine-websocket-integration-real-time-data-in-alpine-components.webp"/></DataObject></PageMap>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/magento" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/javascript" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/tailwind</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/tailwind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/tailwind" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/css</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/css" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/css" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/symfony</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/symfony" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/symfony" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/vuejs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/vuejs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/vuejs" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/sql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/sql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/sql" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/bash</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/bash" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/bash" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/docker</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/docker" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/docker" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/graphql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/graphql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/graphql" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/alpinejs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/alpinejs" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/alpinejs" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpstorm</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpstorm" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpstorm" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/phpunit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/phpunit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/phpunit" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/rest-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/rest-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/rest-api" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/seo</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/seo" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/seo" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/web-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/web-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/web-performance" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/redis</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/redis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/redis" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/elasticsearch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/elasticsearch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/elasticsearch" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/mysql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/mysql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/mysql" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/hyva" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/hyva" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/php</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/php" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/php" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/securityowasp</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/securityowasp" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/securityowasp" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/testinge2e</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/testinge2e" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/testinge2e" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/typescript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/typescript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/typescript" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/git</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/git" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/git" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/linux</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/linux" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/linux" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/barrierefreiheit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/barrierefreiheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/barrierefreiheit" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/claude-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/claude-ai" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/claude-ai" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/design-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/design-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/design-patterns" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/gitlab</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/gitlab" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/gitlab" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/recht-im-online-handel</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/recht-im-online-handel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/recht-im-online-handel" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/blog/react-native</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/blog/react-native" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/blog/react-native" />
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/react-native-for-beginners</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/html-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/react-native-for-beginners/what-is-react-native</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/was-ist-react-native" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/setting-up-your-development-environment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/entwicklungsumgebung-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/creating-your-first-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/dein-erstes-projekt-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/understanding-components-and-jsx</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/components-und-jsx-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/styling-with-stylesheet</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/styling-mit-stylesheet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/props-and-custom-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/props-und-eigene-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/managing-state-with-usestate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/zustand-mit-usestate-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/fetching-data-from-an-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/daten-von-einer-api-laden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/displaying-lists-with-flatlist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/listen-mit-flatlist-anzeigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/navigation-between-screens</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/navigation-zwischen-bildschirmen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/user-input-with-textinput</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/eingaben-mit-textinput" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/storing-data-locally-with-asyncstorage</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/daten-lokal-speichern-mit-asyncstorage" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/debugging-finding-and-fixing-errors</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/debugging-fehler-finden-und-beheben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/testing-on-real-devices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/auf-echten-geraeten-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/publishing-on-google-play</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/im-google-play-store-veroeffentlichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/publishing-on-the-apple-app-store</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/im-apple-app-store-veroeffentlichen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/alternative-distribution-without-store-review</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/alternative-verteilung-ohne-store-review" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-beginners/outlook-and-next-steps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-einsteiger/ausblick-und-naechste-schritte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/what-is-react-why-react</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/was-ist-react-warum-react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/setting-up-your-development-environment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/entwicklungsumgebung-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/creating-your-first-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/dein-erstes-projekt-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/understanding-jsx-and-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/jsx-und-components-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/props-and-custom-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/props-und-eigene-komponenten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/state-and-event-handling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/state-und-event-handling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/conditional-rendering-lists-and-keys</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/conditional-rendering-listen-und-keys" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/understanding-useeffect</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/useeffect-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/understanding-useref</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/useref-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/usememo-and-usecallback</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/usememo-und-usecallback" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/understanding-usecontext</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/usecontext-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/custom-hooks-and-rules-of-hooks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/custom-hooks-und-rules-of-hooks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/controlled-and-uncontrolled-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/controlled-und-uncontrolled-components" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/form-validation-in-react</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/form-validation-in-react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/forms-with-react-hook-form</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/formulare-mit-react-hook-form" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/forms-in-real-world-use</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/formulare-im-echten-einsatz" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/react-router-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/react-router-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/dynamic-and-nested-routes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/dynamic-und-nested-routes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/protected-routes-in-react-router</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/protected-routes-in-react-router" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/lazy-loading-in-react</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/lazy-loading-in-react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/fetch-api-versus-axios</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/fetch-api-versus-axios" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/async-await-and-connecting-to-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/async-await-und-die-magento-anbindung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/error-handling-and-loading-states</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/error-handling-und-loading-states" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/pagination-in-react</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/pagination-in-react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/setting-up-docker-and-mysql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/docker-und-mysql-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-beginners-web/finishing-and-connecting-the-server</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-einsteiger/server-fertigstellen-und-anbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/limits-of-context-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/grenzen-von-context" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/global-state-with-zustand</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/zustand-globaler-state" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/shopping-cart-with-redux-toolkit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/redux-toolkit-warenkorb" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/react-devtools-profiler</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/react-devtools-profiler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/react-memo-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/react-memo-vertieft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/list-virtualization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/listen-virtualisierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/concurrent-features</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/concurrent-features" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/virtual-dom-and-reconciliation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/virtual-dom-reconciliation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/react-fiber</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/react-fiber" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/higher-order-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/higher-order-components" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/render-props-pattern</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/render-props-pattern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/portals-and-modals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/portals-modals" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/error-boundaries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/error-boundaries" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/setting-up-typescript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/typescript-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/typing-components-and-props</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/komponenten-props-typisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/typing-hooks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/hooks-typisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/typing-events-forms-and-api-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/events-formulare-api-typisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/testing-with-vitest-and-rtl</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/testing-vitest-rtl" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/best-practices-and-code-organization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/best-practices-code-organisation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/deployment-and-build-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/deployment-build-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-for-professionals/interview-preparation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-fuer-profis/interview-vorbereitung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/limits-of-usecart</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/grenzen-von-usecart" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/global-cart-with-zustand</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/zustand-warenkorb" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/favorites-with-redux-toolkit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/redux-toolkit-favoriten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/performance-profiling</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/performance-profiling" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/flatlist-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/flatlist-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/the-hermes-engine</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/hermes-engine" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/image-performance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/bilder-performance" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/the-new-architecture</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/new-architecture" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/reanimated</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/reanimated" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/gesture-handler</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/gesture-handler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/understanding-custom-native-modules</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/eigene-native-module-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/setting-up-typescript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/typescript-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/typing-components-and-props</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/komponenten-props-typisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/typing-hooks-and-the-store</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/hooks-store-typisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/typing-navigation-and-api-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/navigation-api-typisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/testing-with-jest-and-rntl</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/testing-jest-rntl" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/eas-build-and-ota-updates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/eas-build-ota-updates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/best-practices-and-code-organization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/best-practices-code-organisation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-for-professionals/interview-preparation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-fuer-profis/interview-vorbereitung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/introduction</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/einfuehrung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/first-react-native-application</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/erste-react-native-anwendung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/working-of-react-native</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/funktionsweise-von-react-native" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/bridging-in-react-native</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/bridging-in-react-native" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/react-vs-react-native</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/react-vs-react-native" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/debugging-in-react-native</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/debugging-in-react-native" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/importing-a-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/komponenten-importieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/listview-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/listview-komponente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/scrollview-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/scrollview-komponente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/tab-navigation-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/tab-navigation-komponente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/drawer-navigation-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/drawer-navigation-komponente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/activityindicator-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/activityindicator-komponente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/dumb-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/dumb-components" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/touchablehighlight-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/touchablehighlight-komponente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/flatlist-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/flatlist-komponente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/asyncstorage-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/asyncstorage-komponente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/button-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/button-komponente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/text-input-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/text-input-komponente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/pressable-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/pressable-komponente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/switch-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/switch-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/alert-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/alert-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/styling-elements</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/styling-elemente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/buttons</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/buttons-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/radio-buttons</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/radio-buttons" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/creating-a-table</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/tabelle-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/search-bar</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/suchleiste" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/fade-in-fade-out-animation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/einblenden-ausblenden-animation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/background-image</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/hintergrundbild" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/floating-action-button</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/floating-action-button" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/progress-bar</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/fortschrittsbalken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/avatar</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/avatar" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/using-axios</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/axios-verwenden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/fetch-local-json-file</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/lokale-json-datei-laden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/centering-a-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/komponente-zentrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/passing-values-between-screens</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/werte-zwischen-screens-uebergeben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/sending-a-post-request</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/post-request-senden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/logging</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/logging-und-debug-ausgaben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/props-in-react-native</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/props-in-react-native" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/threads-in-react-native</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/threads-in-react-native" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/material-design-menus</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/material-design-menues" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/getting-window-height-and-width</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/fensterabmessungen-ermitteln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/solving-unhandled-promise-rejection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/unhandled-promise-rejection-loesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/get-platform-and-device-details</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/plattform-und-geraeteinformationen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/todo-app</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/todo-app" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/calendar-app</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/kalender-app" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/emoji-picker-app</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/emoji-picker-app" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/password-manager-app</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/passwort-manager-app" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/bmi-calculator-app</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/bmi-rechner-app" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-reference/blog-app</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-referenz/blog-app" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial/introduction-react-magento-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api/einfuehrung-react-magento-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial/understanding-the-magento-rest-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api/die-magento-rest-api-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial/admin-token-quickstart</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api/admin-token-schnellstart" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial/setting-up-the-react-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api/das-react-projekt-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial/setting-up-a-magento-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api/eine-magento-integration-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial/environment-variables-and-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api/umgebungsvariablen-und-sicherheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial/loading-the-product-list</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api/die-produktliste-laden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial/pagination-and-sorting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api/pagination-und-sortierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial/navigating-to-the-detail-page</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api/navigation-zur-detailseite" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial/reading-all-product-detail-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api/produktdetails-alle-daten-auslesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial/images-and-stock</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api/bilder-und-lagerbestand" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial/error-handling-and-loading-states</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api/fehlerbehandlung-und-ladezustaende" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial/search-and-filtering</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api/suche-und-filter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-magento-api-tutorial/conclusion-and-next-steps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-magento-api/abschluss-und-naechste-schritte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial/introduction-react-native-magento-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api/einfuehrung-react-native-magento-api" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial/understanding-the-magento-rest-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api/die-magento-rest-api-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial/admin-token-quickstart</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api/admin-token-schnellstart" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial/setting-up-the-expo-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api/das-expo-projekt-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial/setting-up-a-magento-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api/eine-magento-integration-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial/environment-variables-and-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api/umgebungsvariablen-und-sicherheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial/loading-the-product-list-with-flatlist</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api/die-produktliste-mit-flatlist-laden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial/pagination-and-sorting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api/pagination-und-sortierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial/navigating-to-the-detail-screen</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api/navigation-zum-detail-screen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial/reading-all-product-detail-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api/produktdetails-alle-daten-auslesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial/images-and-stock</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api/bilder-und-lagerbestand" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial/error-handling-and-loading-states</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api/fehlerbehandlung-und-ladezustaende" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial/search-and-filtering</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api/suche-und-filter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/react-native-magento-api-tutorial/conclusion-and-next-steps</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/react-native-magento-api/abschluss-und-naechste-schritte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/what-is-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/was-ist-javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/setting-up-the-development-environment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/entwicklungsumgebung-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/first-javascript-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/erstes-javascript-projekt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/variables-and-data-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/variablen-und-datentypen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/operators-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/operatoren-in-javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/control-flow-if-switch</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/kontrollstrukturen-if-switch" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/loops-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/schleifen-in-javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/function-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/funktionen-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/arrow-functions-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/arrow-functions-in-javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/array-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/arrays-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/array-methods-map-filter-reduce</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/array-methoden-map-filter-reduce" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/objects-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/objekte-in-javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/destructuring-spread-rest</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/destructuring-spread-rest" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/template-literals-and-string-methods</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/template-literals-und-string-methoden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/scope-and-hoisting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/scope-und-hoisting" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/closures-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/closures-in-javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/the-this-keyword-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/this-kontext-in-javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/higher-order-functions-and-recursion</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/hoehere-funktionen-und-rekursion" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/object-oriented-programming-with-classes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/objektorientierte-programmierung-mit-klassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/inheritance-and-prototypes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/vererbung-und-prototypen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/modules-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/module-in-javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/iterators-and-generators</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/iteratoren-und-generatoren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/the-event-loop</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/der-event-loop" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/callbacks-and-promises</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/callbacks-und-promises" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/async-await-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/async-await-in-javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/error-handling-in-javascript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/fehlerbehandlung-in-javascript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/working-with-json-and-the-filesystem</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/arbeiten-mit-json-und-dateisystem" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/testing-with-vitest</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/testing-mit-vitest" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/javascript-tutorial/best-practices-and-conclusion</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/javascript/best-practices-und-abschluss" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/what-is-typescript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/was-ist-typescript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/setting-up-the-development-environment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/entwicklungsumgebung-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/first-typescript-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/erstes-typescript-projekt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/basic-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/grundlegende-typen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/type-inference</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/type-inference" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/typing-functions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/funktionen-typisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/interfaces</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/interfaces" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/type-aliases</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/type-aliases" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/union-and-intersection-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/union-intersection-types" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/literal-types-and-enums</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/literal-types-und-enums" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/arrays-tuples-and-readonly-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/arrays-tupel-readonly-vertieft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/class-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/klassen-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/inheritance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/vererbung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/access-modifiers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/zugriffsmodifizierer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/abstract-classes-and-implementing-interfaces</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/abstrakte-klassen-interfaces" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/static-members-getters-and-setters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/statische-member-getter-setter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/generics-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/generics-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/generics-with-constraints</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/generics-mit-constraints" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/type-narrowing-and-type-guards</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/type-narrowing-type-guards" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/utility-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/utility-types" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/mapped-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/mapped-types" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/conditional-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/conditional-types" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/template-literal-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/template-literal-types" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/modules-import-and-export</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/module-import-export" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/error-handling-with-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/fehlerbehandlung-mit-typen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/typing-async-await</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/async-await-typisieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/tsconfig-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/tsconfig-vertieft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/testing-with-typescript</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/testing-mit-typescript" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/typescript-tutorial/best-practices-and-conclusion</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/typescript/best-practices-und-abschluss" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/what-is-symfony-why-symfony</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/was-ist-symfony-warum-symfony" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/setting-up-the-development-environment</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/entwicklungsumgebung-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/creating-your-first-symfony-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/erstes-symfony-projekt-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/configuration-and-environments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/konfiguration-und-umgebungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/introducing-the-task-manager-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/das-aufgaben-manager-projekt-vorstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/composer-and-symfony-flex-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/composer-und-symfony-flex-vertieft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/routing-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/routing-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/writing-controllers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/controller-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/route-parameters-and-constraints</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/route-parameter-und-constraints" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/processing-request-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/request-daten-verarbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/response-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/response-typen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/flash-messages-and-session</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/flash-messages-und-session" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/twig-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/twig-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/twig-inheritance-and-layouts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/twig-vererbung-und-layouts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/creating-forms-with-symfony-forms</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/formulare-mit-symfony-forms-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/form-validation-in-symfony</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/formular-validierung-in-symfony" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/custom-form-types-in-symfony</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/custom-form-types-in-symfony" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/csrf-protection-and-form-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/csrf-schutz-und-formular-sicherheit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/doctrine-basics-defining-entities</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/doctrine-grundlagen-entities-definieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/creating-and-applying-migrations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/migrationen-erstellen-und-anwenden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/repositories-and-queries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/repositories-und-queries" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/relationships-onetomany-and-manytoone</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/beziehungen-onetomany-und-manytoone" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/relationships-manytomany</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/beziehungen-manytomany" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/query-builder-and-dql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/query-builder-und-dql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/fixtures-for-test-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/fixtures-fuer-testdaten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/security-basics-firewall-and-provider</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/security-grundlagen-firewall-und-provider" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/implementing-a-login-form</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/login-formular-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/registration-and-password-hashing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/registrierung-und-passwort-hashing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/roles-and-access-control-with-voters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/rollen-und-zugriffskontrolle-mit-voters" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/api-token-authentication</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/api-token-authentifizierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/resetting-passwords</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/passwort-zuruecksetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/understanding-dependency-injection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/dependency-injection-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/creating-your-own-services</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/eigene-services-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/service-configuration-autowiring-and-tags</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/service-konfiguration-autowiring-und-tags" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/the-eventdispatcher-system</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/das-eventdispatcher-system" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/custom-events-and-listeners</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/eigene-events-und-listener" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/subscribers-instead-of-listeners</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/subscriber-statt-listener" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/mailer-integration-with-symfony-mailer</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/mailer-integration-mit-symfony-mailer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/creating-your-own-console-commands</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/eigene-console-commands-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/commands-with-arguments-and-options</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/commands-mit-argumenten-und-optionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/scheduled-tasks-and-cron-integration</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/scheduled-tasks-und-cron-integration" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/unit-tests-with-phpunit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/unit-tests-mit-phpunit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/functional-tests-with-webtestcase</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/funktionale-tests-mit-dem-webtestcase" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/test-database-and-fixtures-for-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/test-datenbank-und-fixtures-fuer-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/the-symfony-cache-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/symfony-cache-komponente" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/http-caching-and-reverse-proxy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/http-caching-und-reverse-proxy" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/performance-optimization</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/performance-optimierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/deployment-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/deployment-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/symfony-training/best-practices-and-conclusion</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/symfony/best-practices-und-abschluss" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/introduction-api-platform-symfony-react</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/einfuehrung-api-platform-symfony-react" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/installing-api-platform</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/api-platform-installieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/understanding-the-api-platform-project-structure</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/projektstruktur-von-api-platform-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/the-api-platform-docker-setup-in-depth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/docker-setup-fuer-api-platform-vertieft" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/the-first-api-resource-hello-world</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/die-erste-api-resource-hallo-welt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/exploring-swagger-ui-and-the-api-documentation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/swagger-ui-und-die-api-dokumentation-erkunden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/setting-up-the-react-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/react-projekt-aufsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/connectivity-test-react-calls-the-api</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/verbindungstest-react-ruft-die-api-ab" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/understanding-the-apiresource-attribute</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/das-apiresource-attribut-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/automatic-crud-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/automatisches-crud-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/understanding-operations-as-php-classes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/operations-als-php-klassen-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/activating-only-selected-operations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/nur-ausgewaehlte-operationen-aktivieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/configuring-custom-uri-templates-and-paths</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/eigene-uri-templates-und-pfade-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/shortname-description-and-openapi-metadata</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/shortname-beschreibung-und-openapi-metadaten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/generating-test-data-with-doctrine-fixtures</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/testdaten-mit-doctrine-fixtures-erzeugen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/understanding-errors-and-status-codes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/fehler-und-statuscodes-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/exporting-and-using-the-openapi-specification</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/die-openapi-spezifikation-exportieren-und-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/block-2-summary-building-your-own-resource</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/block-2-zusammenfassung-eine-eigene-resource-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/the-first-validation-constraints</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/die-ersten-validierungs-constraints" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/understanding-the-validation-error-format</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/das-format-von-validierungsfehlern-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/more-constraint-types-and-custom-error-messages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/weitere-constraint-typen-und-eigene-fehlermeldungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/validation-groups-vs-serialization-groups</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/validierungsgruppen-vs-serialisierungsgruppen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/serialization-groups-for-reading</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/serialisierungsgruppen-fuer-das-lesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/serialization-groups-for-writing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/serialisierungsgruppen-fuer-das-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/computed-fields-without-a-database-column</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/berechnete-felder-ohne-datenbankspalte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/a-custom-validator</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/ein-eigener-validator" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/dtos-instead-of-the-entity-directly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/dtos-statt-der-entity-direkt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/block-3-summary-serialization-and-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/block-3-zusammenfassung-serialisierung-und-validierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/pagination-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/pagination-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/adjusting-itemsperpage-and-setting-limits</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/itemsperpage-anpassen-und-grenzen-setzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/searching-with-searchfilter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/suche-mit-searchfilter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/sorting-with-orderfilter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/sortierung-mit-orderfilter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/numeric-ranges-with-rangefilter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/numerische-bereiche-mit-rangefilter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/date-ranges-with-datefilter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/datumsbereiche-mit-datefilter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/a-custom-filter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/ein-eigener-filter" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/block-4-summary-filtering-pagination-sorting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/block-4-zusammenfassung-filtering-pagination-sorting" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/the-task-entity-with-manytoone-to-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/die-task-entity-mit-manytoone-zu-project" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/onetomany-from-the-project-side</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/onetomany-von-der-project-seite" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/nested-collections-projects-id-tasks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/verschachtelte-collections-projects-id-tasks" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/iri-vs-embedded-objects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/iri-vs-eingebettete-objekte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/creating-a-task-and-linking-it-to-a-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/eine-task-erstellen-und-mit-einem-project-verknuepfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/manytomany-between-task-and-tag</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/manytomany-zwischen-task-und-tag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/filtering-by-tags</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/nach-tags-filtern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/cascading-deletes-and-orphanremoval</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/kaskadierendes-loeschen-und-orphanremoval" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/avoiding-circular-references</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/zirkulaere-referenzen-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/block-5-summary-relationships-and-complex-resources</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/block-5-zusammenfassung-beziehungen-und-komplexe-resources" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/the-user-entity-with-symfony-security</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/die-user-entity-mit-symfony-security" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/installing-and-configuring-the-jwt-bundle</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/jwt-bundle-installieren-und-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/login-endpoint-and-obtaining-a-token</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/login-endpunkt-und-token-erhalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/authenticated-requests-with-a-bearer-token</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/authentifizierte-requests-mit-bearer-token" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/securing-operations-with-the-security-attribute</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/operationen-mit-dem-security-attribut-absichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/writing-a-custom-voter</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/einen-eigenen-voter-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/binding-the-voter-to-operations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/den-voter-an-operations-binden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/automatically-setting-the-owner-field</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/das-owner-feld-automatisch-setzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/filtering-collections-by-user</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/collections-nach-nutzer-filtern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/block-6-summary-security-and-auth</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/block-6-zusammenfassung-security-und-auth" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/state-providers-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/state-provider-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/state-processors-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/state-processor-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/completing-the-promised-dto-example</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/das-versprochene-dto-beispiel-vervollstaendigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/a-custom-output-without-an-entity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/ein-custom-output-ohne-entity" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/a-custom-operation-projects-id-archive</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/eine-eigene-custom-operation-projects-id-archive" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/event-hooks-with-doctrine-lifecycle-events</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/event-hooks-mit-doctrine-lifecycle-events" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/query-extensions-for-global-query-adjustments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/query-extensions-fuer-globale-abfrage-anpassungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/http-caching-with-cache-headers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/http-caching-mit-cache-headern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/graphql-automatically-generated-an-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/graphql-automatisch-generiert-im-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/block-7-summary-advanced-features</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/block-7-zusammenfassung-fortgeschrittene-features" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/mercure-basics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/mercure-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/apiresource-with-mercure-true</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/apiresource-mit-mercure-true" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/subscribing-to-an-update</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/ein-update-abonnieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/jwt-authorization-for-mercure-topics</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/jwt-autorisierung-fuer-mercure-topics" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/custom-publications-in-custom-operations</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/eigene-publikationen-bei-custom-operations" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/block-8-summary-mercure-and-real-time-updates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/block-8-zusammenfassung-mercure-und-echtzeit-updates" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/setting-up-tanstack-query</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/tanstack-query-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/configuring-the-axios-client</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/den-axios-client-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/loading-and-displaying-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/projekte-laden-und-anzeigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/an-auth-context-and-login-form</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/ein-auth-context-und-login-formular" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/an-axios-interceptor-for-the-jwt</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/ein-axios-interceptor-fuer-das-jwt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/creating-a-new-project-mutation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/ein-neues-projekt-erstellen-mutation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/displaying-validation-errors-in-the-form</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/validierungsfehler-im-formular-anzeigen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/generating-typescript-types-from-the-openapi-specification</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/typescript-typen-aus-der-openapi-spezifikation-generieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/react-router-for-navigation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/react-router-fuer-navigation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/mercure-in-react-an-eventsource-hook</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/mercure-in-react-ein-eventsource-hook" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/editing-a-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/ein-projekt-bearbeiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/deleting-a-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/ein-projekt-loeschen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/the-archive-action-as-a-button</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/die-archive-aktion-als-button" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/a-projects-task-list</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/die-task-liste-eines-projekts" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/creating-a-task</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/eine-task-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/marking-a-task-as-done</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/eine-task-als-erledigt-markieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/selecting-tags-a-multi-select</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/tags-auswaehlen-ein-multi-select" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/loading-states-and-skeletons</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/ladezustaende-und-skeletons" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/optimistic-updates-for-the-task-toggle</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/optimistic-updates-fuer-den-task-toggle" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/block-10-summary-complete-crud-ui</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/block-10-zusammenfassung-vollstaendige-crud-ui" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/api-integration-tests-with-apitestcase</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/api-integrationstests-mit-apitestcase" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/test-data-and-authentication-in-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/testdaten-und-authentifizierung-in-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/react-component-tests-with-vitest</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/react-component-tests-mit-vitest" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/mocking-the-api-in-react-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/die-api-in-react-tests-mocken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/block-11-summary-testing</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/block-11-zusammenfassung-testing" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/preparing-the-api-for-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/die-api-fuer-produktion-vorbereiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/building-and-deploying-react-for-production</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/react-fuer-produktion-bauen-und-deployen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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/en/tutorial/api-platform-symfony-react-training/complete-recap-and-conclusion</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/api-platform-symfony-react/gesamt-rueckblick-und-abschluss" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/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>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/what-is-a-website</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/was-ist-eine-webseite" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/what-is-a-website" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/tools-editor-and-browser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/werkzeuge-editor-und-browser" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/tools-editor-and-browser" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/creating-your-first-html-file</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/erste-html-datei-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/creating-your-first-html-file" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/the-html-boilerplate</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/das-html-grundgeruest" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/the-html-boilerplate" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/html-comments</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/html-kommentare" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/html-comments" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/headings-h1-to-h6</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/ueberschriften-h1-bis-h6" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/headings-h1-to-h6" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/paragraphs-with-p</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/absaetze-mit-p" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/paragraphs-with-p" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/line-breaks-br-and-hr</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/zeilenumbrueche-br-und-hr" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/line-breaks-br-and-hr" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/emphasizing-text-strong-and-em</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/text-hervorheben-strong-und-em" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/emphasizing-text-strong-and-em" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/more-text-markup</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/weitere-textauszeichnung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/more-text-markup" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/unordered-lists-ul</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/ungeordnete-listen-ul" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/unordered-lists-ul" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/ordered-lists-ol-and-dl</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/geordnete-listen-ol-und-dl" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/ordered-lists-ol-and-dl" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/the-link-a-href</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/der-link-a-href" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/the-link-a-href" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/internal-links-relative-paths</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/interne-links-relative-pfade" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/internal-links-relative-paths" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/external-links-target-blank</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/externe-links-target-blank" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/external-links-target-blank" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/anchor-links-jump-links</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/anker-links-sprungmarken" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/anchor-links-jump-links" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/adding-images-img-alt</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/bilder-einfuegen-img-alt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/adding-images-img-alt" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/image-sizes-width-height</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/bildgroessen-width-height" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/image-sizes-width-height" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/figure-and-figcaption</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/figure-und-figcaption" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/figure-and-figcaption" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/embedding-videos-video-tag</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/videos-einbetten-video-tag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/embedding-videos-video-tag" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/embedding-audio-audio-tag</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/toene-einbetten-audio-tag" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/embedding-audio-audio-tag" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/table-basics-table-tr-td</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/tabellen-grundstruktur-table-tr-td" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/table-basics-table-tr-td" />
<lastmod>2026-08-08T20:32:36+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/table-header-th-thead-tbody-caption</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/tabellenkopf-th-thead-tbody-caption" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/table-header-th-thead-tbody-caption" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/merging-cells-colspan-rowspan</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/zellen-verbinden-colspan-rowspan" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/merging-cells-colspan-rowspan" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/what-is-a-form-form-input</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/was-ist-ein-formular-form-input" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/what-is-a-form-form-input" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/input-types-text-email-number</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/eingabefeld-typen-text-email-number" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/input-types-text-email-number" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/selection-options-checkbox-radio-select</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/auswahlmoeglichkeiten-checkbox-radio-select" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/selection-options-checkbox-radio-select" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/textarea-and-connecting-label-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/textarea-und-label-richtig-verknuepfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/textarea-and-connecting-label-correctly" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/buttons-and-submitting-forms</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/buttons-und-formular-absenden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/buttons-and-submitting-forms" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/building-a-complete-contact-form</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/komplettes-kontaktformular-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/building-a-complete-contact-form" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/div-and-span-why-not-enough</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/div-und-span-warum-nicht-genug" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/div-and-span-why-not-enough" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/header-footer-nav</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/header-footer-nav" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/header-footer-nav" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/main-section-article-aside</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/main-section-article-aside" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/main-section-article-aside" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/restructuring-the-whole-website</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/webseite-komplett-neu-strukturieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/restructuring-the-whole-website" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/id-and-class-name-tags</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/id-und-class-namensschilder" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/id-and-class-name-tags" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/meta-information-in-the-head</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/meta-informationen-im-head" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/meta-information-in-the-head" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/special-characters-html-entities</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/sonderzeichen-html-entities" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/special-characters-html-entities" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/accessibility-why-it-matters</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/barrierefreiheit-warum-wichtig" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/accessibility-why-it-matters" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/common-mistakes-and-how-to-find-them</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/haeufige-fehler-und-wie-man-sie-findet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/common-mistakes-and-how-to-find-them" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/html-tutorial/summary-and-outlook-on-css</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/html/zusammenfassung-und-ausblick-auf-css" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/html-tutorial/summary-and-outlook-on-css" />
<lastmod>2026-08-08T20:32:37+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/what-is-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/was-ist-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/what-is-claude" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/getting-started-claude-ai-browser</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/erste-schritte-claude-ai-browser" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/getting-started-claude-ai-browser" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/installing-and-setting-up-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/claude-code-installieren-und-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/installing-and-setting-up-claude-code" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/your-first-chat-with-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/erster-chat-mit-claude-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/your-first-chat-with-claude-code" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/the-basics-of-good-prompting</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/grundlagen-des-guten-promptens" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/the-basics-of-good-prompting" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/how-claude-code-reads-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/wie-claude-code-code-liest" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/how-claude-code-reads-code" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/changing-files-edit-and-write</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/dateien-aendern-edit-und-write" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/changing-files-edit-and-write" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/running-commands-the-bash-tool</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/befehle-ausfuehren-das-bash-tool" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/running-commands-the-bash-tool" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/understanding-permission-modes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/permission-modi-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/understanding-permission-modes" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/claude-md-project-wide-rules</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/claude-md-projektweite-regeln" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/claude-md-project-wide-rules" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/the-example-project-recipe-planner</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/das-beispielprojekt-rezept-planer" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/the-example-project-recipe-planner" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/having-a-feature-built</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/ein-feature-bauen-lassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/having-a-feature-built" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/finding-and-fixing-bugs</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/bugs-finden-und-beheben-lassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/finding-and-fixing-bugs" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/code-reviews-with-claude</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/code-reviews-mit-claude" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/code-reviews-with-claude" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/having-tests-written</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/tests-schreiben-lassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/having-tests-written" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/built-in-slash-commands-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/eingebaute-slash-commands-im-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/built-in-slash-commands-overview" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/creating-custom-slash-commands-and-skills</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/eigene-slash-commands-und-skills-erstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/creating-custom-slash-commands-and-skills" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/using-plan-mode-effectively</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/plan-modus-richtig-nutzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/using-plan-mode-effectively" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/subagents-delegating-subtasks</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/subagents-teilaufgaben-delegieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/subagents-delegating-subtasks" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/connecting-mcp-servers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/mcp-server-anbinden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/connecting-mcp-servers" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/hooks-automatic-actions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/hooks-automatische-aktionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/hooks-automatic-actions" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/understanding-the-context-window</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/das-kontextfenster-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/understanding-the-context-window" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/memory-across-projects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/speicher-memory-projektuebergreifend" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/memory-across-projects" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/git-workflow-with-claude-code</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/git-workflow-mit-claude-code" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/git-workflow-with-claude-code" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/working-in-a-team-sharing-claude-md</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/im-team-arbeiten-claude-md-teilen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/working-in-a-team-sharing-claude-md" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/keeping-an-eye-on-cost-and-tokens</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/kosten-und-tokens-im-blick-behalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/keeping-an-eye-on-cost-and-tokens" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/avoiding-common-beginner-mistakes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/typische-anfaengerfehler-vermeiden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/avoiding-common-beginner-mistakes" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/claude-ai/summary-and-cheat-sheet</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/claude-ki/zusammenfassung-und-spickzettel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/claude-ai/summary-and-cheat-sheet" />
<lastmod>2026-08-08T21:17:25+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/what-are-magento-2-ui-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/was-sind-magento-2-ui-components" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/what-are-magento-2-ui-components" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/own-module-db-schema-model-resourcemodel</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/eigenes-modul-db-schema-model-resourcemodel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/own-module-db-schema-model-resourcemodel" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/setting-up-acl-and-an-admin-menu-item</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/acl-und-admin-menuepunkt-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/setting-up-acl-and-an-admin-menu-item" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/listing-xml-skeleton-datasource-columns-toolbar</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/listing-xml-grundgeruest-datasource-columns-toolbar" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/listing-xml-skeleton-datasource-columns-toolbar" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/understanding-and-customizing-the-dataprovider-class</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/dataprovider-klasse-verstehen-und-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/understanding-and-customizing-the-dataprovider-class" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/column-types-text-date-select-image-actions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/spalten-typen-text-date-select-image-actions" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/column-types-text-date-select-image-actions" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/configuring-filters-and-sorting-in-the-grid</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/filter-und-sortierung-im-grid-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/configuring-filters-and-sorting-in-the-grid" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/mass-actions-activate-deactivate-delete</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/massenaktionen-aktivieren-deaktivieren-loeschen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/mass-actions-activate-deactivate-delete" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/form-xml-skeleton-fieldsets-fields-dataprovider</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/form-xml-grundgeruest-fieldsets-felder-dataprovider" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/form-xml-skeleton-fieldsets-fields-dataprovider" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/field-types-text-textarea-wysiwyg-select-boolean-image</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/feldtypen-text-textarea-wysiwyg-select-boolean-image" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/field-types-text-textarea-wysiwyg-select-boolean-image" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/form-validation-client-and-server-side</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/validierung-im-formular-client-und-serverseitig" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/form-validation-client-and-server-side" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/implementing-the-save-controller-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/save-controller-richtig-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/implementing-the-save-controller-correctly" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/form-modifiers-data-meta-modifiers-for-dynamic-behavior</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/formular-modifier-data-meta-modifiers-dynamisches-verhalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/form-modifiers-data-meta-modifiers-for-dynamic-behavior" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/project-introduction-testimonials-module-db-schema</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/projektvorstellung-kundenstimmen-modul-db-schema" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/project-introduction-testimonials-module-db-schema" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/building-the-testimonials-grid-columns-filters-mass-actions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/grid-fuer-kundenstimmen-spalten-filter-massenaktionen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/building-the-testimonials-grid-columns-filters-mass-actions" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/building-the-testimonials-form-fields-image-upload-validation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/formular-fuer-kundenstimmen-felder-bild-upload-validierung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/building-the-testimonials-form-fields-image-upload-validation" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/implementing-the-delete-controller-and-confirmation-dialog</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/delete-controller-und-bestaetigungsdialog-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/implementing-the-delete-controller-and-confirmation-dialog" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/adding-store-view-specific-visibility-to-the-form</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/store-view-spezifische-sichtbarkeit-im-formular" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/adding-store-view-specific-visibility-to-the-form" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/writing-custom-renderers-and-custom-column-classes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/custom-renderer-und-custom-column-klassen-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/writing-custom-renderers-and-custom-column-classes" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/enabling-inline-edit-in-the-grid</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/inline-edit-im-grid-aktivieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/enabling-inline-edit-in-the-grid" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/dependent-dynamically-visible-fields-modifier-deep-dive</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/abhaengige-dynamisch-sichtbare-felder-modifier-vertiefung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/dependent-dynamically-visible-fields-modifier-deep-dive" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/building-custom-toolbar-buttons-for-the-ui-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/eigene-toolbar-buttons-fuer-die-ui-component-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/building-custom-toolbar-buttons-for-the-ui-component" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/exporting-grid-data-csv-excel</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/export-der-grid-daten-csv-excel" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/exporting-grid-data-csv-excel" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/grid-performance-at-scale</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/grid-performance-bei-grossen-datenmengen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/grid-performance-at-scale" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/acl-in-detail-granular-permissions</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/acl-im-detail-granulare-berechtigungen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/acl-in-detail-granular-permissions" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/common-errors-and-how-to-debug-them-empty-grid-form-not-saving</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/haeufige-fehler-debuggen-leeres-grid-formular-speichert-nicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/common-errors-and-how-to-debug-them-empty-grid-form-not-saving" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/summary-cheat-sheet-of-ui-component-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/admin-grids-formulare/zusammenfassung-spickzettel-ui-component-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-admin-grids-forms/summary-cheat-sheet-of-ui-component-patterns" />
<lastmod>2026-08-09T08:53:16+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/what-is-graphql-why-magento-uses-graphql-besides-rest-soap</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/was-ist-graphql-warum-magento-graphql-neben-rest-soap" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/what-is-graphql-why-magento-uses-graphql-besides-rest-soap" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/magento-graphql-architecture-schema-resolver-dataprovider</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/magento-graphql-architektur-schema-resolver-dataprovider" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/magento-graphql-architecture-schema-resolver-dataprovider" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/using-the-graphql-endpoint-first-queries</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/graphql-endpoint-nutzen-erste-abfragen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/using-the-graphql-endpoint-first-queries" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/custom-module-schema-graphqls-skeleton</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/eigenes-modul-schema-graphqls-grundgeruest" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/custom-module-schema-graphqls-skeleton" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/writing-a-first-custom-query-and-resolver</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/erste-eigene-query-und-resolver-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/writing-a-first-custom-query-and-resolver" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/scalar-complex-types-custom-input-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/skalare-komplexe-typen-eigene-input-typen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/scalar-complex-types-custom-input-types" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/required-nullable-fields-lists-in-schema</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/pflichtfelder-nullable-felder-listen-im-schema" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/required-nullable-fields-lists-in-schema" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/extending-core-types-with-extend-type</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/core-typen-erweitern-extend-type" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/extending-core-types-with-extend-type" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/adding-custom-fields-to-product-category-customer</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/eigene-felder-an-produkt-kategorie-kunde-anhaengen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/adding-custom-fields-to-product-category-customer" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/resolverinterface-in-detail-context-field-args-value</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/resolverinterface-im-detail-context-field-args-value" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/resolverinterface-in-detail-context-field-args-value" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/project-introduction-events-api-module-data-model</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/projektvorstellung-veranstaltungen-api-modul-datenmodell" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/project-introduction-events-api-module-data-model" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/schema-for-events-type-query-pagination</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/schema-fuer-veranstaltungen-typ-query-pagination" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/schema-for-events-type-query-pagination" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/dataprovider-and-resolver-for-events-list</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/dataprovider-und-resolver-fuer-veranstaltungsliste" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/dataprovider-and-resolver-for-events-list" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/filtering-and-sorting-in-the-graphql-query</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/filter-und-sortierung-in-der-graphql-query" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/filtering-and-sorting-in-the-graphql-query" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/querying-a-single-event-by-identifier</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/einzelne-veranstaltung-per-identifier-abfragen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/querying-a-single-event-by-identifier" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/what-are-mutations-first-custom-mutation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/was-sind-mutations-erste-eigene-mutation" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/what-are-mutations-first-custom-mutation" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/authentication-customer-token-customer-context</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/authentifizierung-kunden-token-customer-context" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/authentication-customer-token-customer-context" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/protected-mutation-marking-an-event-as-favorite</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/geschuetzte-mutation-veranstaltung-als-favorit-markieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/protected-mutation-marking-an-event-as-favorite" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/error-handling-graphqlinputexception-graphqlauthorizationexception</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/fehlerbehandlung-graphqlinputexception-graphqlauthorizationexception" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/error-handling-graphqlinputexception-graphqlauthorizationexception" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/the-n-plus-1-problem-and-batch-resolvers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/n-plus-1-problem-und-batch-resolver" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/the-n-plus-1-problem-and-batch-resolvers" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/caching-graphql-responses-and-the-full-page-cache</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/caching-von-graphql-antworten-und-full-page-cache" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/caching-graphql-responses-and-the-full-page-cache" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/file-uploads-over-graphql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/datei-uploads-ueber-graphql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/file-uploads-over-graphql" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/acl-and-permissions-for-custom-graphql-endpoints</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/acl-und-berechtigungen-fuer-eigene-graphql-endpunkte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/acl-and-permissions-for-custom-graphql-endpoints" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/testing-graphql-queries-tools-and-automated-tests</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/graphql-queries-testen-tools-und-automatisierte-tests" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/testing-graphql-queries-tools-and-automated-tests" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/common-graphql-errors-and-how-to-debug-them</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/haeufige-graphql-fehler-und-wie-man-sie-debuggt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/common-graphql-errors-and-how-to-debug-them" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-graphql/summary-cheat-sheet-graphql-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/graphql-magento/zusammenfassung-spickzettel-graphql-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-graphql/summary-cheat-sheet-graphql-patterns" />
<lastmod>2026-08-09T08:53:57+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/what-is-hyva-themes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/was-ist-hyva-themes" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/what-is-hyva-themes" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/architecture-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/architektur-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/architecture-overview" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/installing-and-setting-up-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/hyva-installieren-und-einrichten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/installing-and-setting-up-hyva" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/understanding-theme-structure</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/theme-struktur-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/understanding-theme-structure" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/the-build-process</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/der-build-prozess" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/the-build-process" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/layout-xml-in-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/layout-xml-in-hyva" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/layout-xml-in-hyva" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/viewmodels-vs-block-classes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/viewmodels-vs-block-klassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/viewmodels-vs-block-classes" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/writing-phtml-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/phtml-templates-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/writing-phtml-templates" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/understanding-content-security-policy</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/content-security-policy-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/understanding-content-security-policy" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/overriding-templates</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/eigene-templates-ueberschreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/overriding-templates" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/tailwind-v4-fundamentals-in-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/tailwind-v4-grundlagen-im-hyva-kontext" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/tailwind-v4-fundamentals-in-hyva" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/custom-design-tokens-and-component-classes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/eigene-design-tokens-und-komponenten-klassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/custom-design-tokens-and-component-classes" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/responsive-design-with-tailwind</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/responsive-design-mit-tailwind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/responsive-design-with-tailwind" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/alpine-js-fundamentals-in-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/alpine-js-grundlagen-im-hyva-kontext" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/alpine-js-fundamentals-in-hyva" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/understanding-existing-alpine-components</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/bestehende-alpine-komponenten-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/understanding-existing-alpine-components" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/building-your-own-alpine-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/eigene-alpine-komponente-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/building-your-own-alpine-component" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/project-introduction-team-page</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/projektvorstellung-team-seite" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/project-introduction-team-page" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/creating-layout-xml-and-controller</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/layout-xml-und-controller-anlegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/creating-layout-xml-and-controller" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/writing-the-viewmodel-for-team-data</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/viewmodel-fuer-die-team-daten-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/writing-the-viewmodel-for-team-data" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/styling-the-template-with-tailwind</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/template-mit-tailwind-gestalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/styling-the-template-with-tailwind" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/integrating-alpine-filter-logic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/alpine-filterlogik-integrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/integrating-alpine-filter-logic" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/registering-and-testing-the-csp-compliant-inline-script</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/csp-konformes-inline-script-registrieren-und-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/registering-and-testing-the-csp-compliant-inline-script" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/customizing-the-product-detail-page-in-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/produktdetailseite-in-hyva-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/customizing-the-product-detail-page-in-hyva" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/checkout-in-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/checkout-in-hyva" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/checkout-in-hyva" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/performance-best-practices</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/performance-best-practices" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/performance-best-practices" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/migrating-from-luma-to-hyva</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/von-luma-auf-hyva-migrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/migrating-from-luma-to-hyva" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/the-correct-deploy-sequence-in-detail</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/die-korrekte-deploy-sequenz-im-detail" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/the-correct-deploy-sequence-in-detail" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/common-errors-and-how-to-debug-them</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/typische-fehler-und-wie-man-sie-debuggt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/common-errors-and-how-to-debug-them" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/summary-cheat-sheet-of-all-hyva-patterns</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/hyva-theme/zusammenfassung-spickzettel-aller-hyva-patterns" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/hyva-theme-tutorial/summary-cheat-sheet-of-all-hyva-patterns" />
<lastmod>2026-08-09T08:54:46+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/project-overview-loyalty-points-program-architecture-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/projektvorstellung-treuepunkte-programm-architektur-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/project-overview-loyalty-points-program-architecture-overview" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/module-skeleton-registration-php-module-xml-namespace</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/modul-grundgeruest-registration-php-module-xml-namespace" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/module-skeleton-registration-php-module-xml-namespace" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/db-schema-xml-designing-the-points-ledger-table</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/db-schema-xml-punkte-ledger-tabelle-entwerfen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/db-schema-xml-designing-the-points-ledger-table" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/model-resourcemodel-collection-for-the-points-ledger</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/model-resourcemodel-collection-fuer-den-punkte-ledger" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/model-resourcemodel-collection-for-the-points-ledger" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/pointscalculator-service-central-business-logic</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/pointscalculator-service-zentrale-geschaeftslogik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/pointscalculator-service-central-business-logic" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/repository-pattern-pointsledgerrepositoryinterface</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/repository-pattern-pointsledgerrepositoryinterface" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/repository-pattern-pointsledgerrepositoryinterface" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/system-config-custom-configuration-page-points-per-euro</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/system-config-eigene-konfigurationsseite-punkte-pro-euro" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/system-config-custom-configuration-page-points-per-euro" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/custom-cache-type-for-the-reward-catalog</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/eigener-cache-typ-fuer-den-praemienkatalog" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/custom-cache-type-for-the-reward-catalog" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/console-command-points-recalculation-and-audit</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/console-command-punkte-neuberechnung-und-audit" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/console-command-points-recalculation-and-audit" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/what-is-eav-custom-eav-entity-for-rewards</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/was-ist-eav-eigene-eav-entity-fuer-praemien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/what-is-eav-custom-eav-entity-for-rewards" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/creating-the-reward-eav-entity-tables</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/reward-eav-entity-tabellen-anlegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/creating-the-reward-eav-entity-tables" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/writing-model-resourcemodel-for-an-eav-entity</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/model-resourcemodel-fuer-eine-eav-entity-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/writing-model-resourcemodel-for-an-eav-entity" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/defining-custom-eav-attributes-for-rewards</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/eigene-eav-attribute-fuer-praemien-definieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/defining-custom-eav-attributes-for-rewards" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/eav-attribute-types-in-detail-varchar-int-decimal-text</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/eav-attribut-typen-im-detail-varchar-int-decimal-text" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/eav-attribute-types-in-detail-varchar-int-decimal-text" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/filtering-the-reward-collection-with-eav-joins-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/die-reward-collection-mit-eav-joins-richtig-filtern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/filtering-the-reward-collection-with-eav-joins-correctly" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/admin-grid-for-rewards</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/admin-grid-fuer-praemien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/admin-grid-for-rewards" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/validation-and-required-fields-for-eav-attributes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/validierung-und-pflichtfelder-bei-eav-attributen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/validation-and-required-fields-for-eav-attributes" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/eav-performance-pitfalls-and-how-to-avoid-them</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/eav-performance-fallstricke-und-wie-man-sie-vermeidet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/eav-performance-pitfalls-and-how-to-avoid-them" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/product-attribute-creating-loyalty-points-multiplier-on-the-product</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/product-attribute-loyalty-points-multiplier-am-produkt-anlegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/product-attribute-creating-loyalty-points-multiplier-on-the-product" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/category-attribute-bonus-multiplier-per-category</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/category-attribute-bonus-multiplikator-pro-kategorie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/category-attribute-bonus-multiplier-per-category" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/customer-attribute-points-balance-and-loyalty-tier-on-the-customer</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/customer-attribute-punktestand-und-treue-stufe-am-kunden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/customer-attribute-points-balance-and-loyalty-tier-on-the-customer" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/company-attribute-b2b-special-conditions-magento-company</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/company-attribute-b2b-sonderkonditionen-magento-company" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/company-attribute-b2b-special-conditions-magento-company" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/sales-attribute-storing-earned-points-on-order-and-order-item</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/sales-attribute-erzielte-punkte-an-order-und-order-item-speichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/sales-attribute-storing-earned-points-on-order-and-order-item" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/attribute-source-models-for-dropdown-lists</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/attribut-quellmodelle-source-models-fuer-auswahllisten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/attribute-source-models-for-dropdown-lists" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/configuring-attribute-visibility-and-scope-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/attribut-sichtbarkeit-und-scope-richtig-konfigurieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/configuring-attribute-visibility-and-scope-correctly" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/attribute-backend-models-automatic-calculation-on-save</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/attribut-backend-modelle-automatische-berechnung-beim-speichern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/attribute-backend-models-automatic-calculation-on-save" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/cross-attribute-consistency-when-category-and-product-bonus-collide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/attribut-uebergreifende-konsistenz-wenn-kategorie-und-produkt-bonus-kollidieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/cross-attribute-consistency-when-category-and-product-bonus-collide" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/attribute-block-summary-checklist-for-your-own-attributes</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/zusammenfassung-attribute-block-checkliste-fuer-eigene-attribute" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/attribute-block-summary-checklist-for-your-own-attributes" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/understanding-the-observer-event-system-in-magento</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/observer-event-system-in-magento-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/understanding-the-observer-event-system-in-magento" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/awardpointsonorderplaced-crediting-points-when-an-order-is-placed</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/awardpointsonorderplaced-punkte-bei-bestellabschluss-gutschreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/awardpointsonorderplaced-crediting-points-when-an-order-is-placed" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/watching-refunds-reversing-points-on-credit-memo-creation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/rueckerstattungen-beobachten-punkte-bei-gutschrift-zurueckbuchen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/watching-refunds-reversing-points-on-credit-memo-creation" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/defining-a-custom-crongroup-crontab-xml</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/eigene-crongroup-definieren-crontab-xml" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/defining-a-custom-crongroup-crontab-xml" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/cron-job-point-expiry-and-tier-recalculation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/cronjob-punkte-ablauf-und-tier-neuberechnung" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/cron-job-point-expiry-and-tier-recalculation" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/implementing-cron-job-error-handling-and-logging-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/cronjob-fehlerbehandlung-und-logging-richtig-umsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/implementing-cron-job-error-handling-and-logging-correctly" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/dispatching-custom-events-for-other-modules</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/eigene-events-ausloesen-custom-events-fuer-andere-module" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/dispatching-custom-events-for-other-modules" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/controlling-observer-order-and-priority</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/observer-reihenfolge-und-prioritaet-steuern" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/controlling-observer-order-and-priority" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/when-to-use-an-observer-vs-a-plugin-a-decision-guide</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/wann-observer-wann-plugin-eine-entscheidungshilfe" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/when-to-use-an-observer-vs-a-plugin-a-decision-guide" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/plugins-interceptors-in-detail-before-after-around</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/plugins-interceptors-im-detail-before-after-around" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/plugins-interceptors-in-detail-before-after-around" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/checkout-totals-collector-plugin-applying-a-points-discount</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/checkout-totals-collector-plugin-punkte-rabatt-anwenden" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/checkout-totals-collector-plugin-applying-a-points-discount" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/preference-rewrite-when-a-preference-is-needed-instead-of-a-plugin</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/preference-rewrite-wann-eine-preference-statt-eines-plugins-noetig-ist" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/preference-rewrite-when-a-preference-is-needed-instead-of-a-plugin" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/writing-a-custom-preference-for-the-points-calculation</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/eine-eigene-preference-fuer-die-punkte-berechnung-schreiben" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/writing-a-custom-preference-for-the-points-calculation" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/preference-vs-plugin-weighing-compatibility-and-upgrade-risk</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/preference-vs-plugin-kompatibilitaets-und-update-risiken-abwaegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/preference-vs-plugin-weighing-compatibility-and-upgrade-risk" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/plugin-ordering-sortorder-and-conflicts-with-other-modules</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/plugin-reihenfolge-sortorder-und-konflikte-mit-anderen-modulen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/plugin-ordering-sortorder-and-conflicts-with-other-modules" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/helper-classes-when-they-still-make-sense-despite-the-viewmodel-preference</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/helper-klassen-wann-sie-trotz-viewmodel-praeferenz-noch-sinnvoll-sind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/helper-classes-when-they-still-make-sense-despite-the-viewmodel-preference" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/custom-controller-structure-the-points-history-page</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/eigene-controller-struktur-punkte-historie-seite" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/custom-controller-structure-the-points-history-page" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/a-custom-router-for-pretty-urls-rewards-slug</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/eigener-router-fuer-huebsche-urls-treuepraemien-slug" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/a-custom-router-for-pretty-urls-rewards-slug" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/block-vs-view-model-when-to-use-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/block-vs-viewmodel-wann-welches-genutzt-wird" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/block-vs-view-model-when-to-use-which" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/a-view-model-for-the-points-balance-on-the-account-page</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/viewmodel-fuer-den-punktestand-auf-der-kontoseite" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/a-view-model-for-the-points-balance-on-the-account-page" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/the-reward-catalog-page-list-filters-and-detail-view</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/praemienkatalog-seite-liste-filter-und-detailansicht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/the-reward-catalog-page-list-filters-and-detail-view" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/the-redeem-controller-redeeming-a-reward</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/redeem-controller-eine-praemie-einloesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/the-redeem-controller-redeeming-a-reward" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/layout-xml-for-the-new-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/layout-xml-fuer-die-neuen-seiten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/layout-xml-for-the-new-pages" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/adding-a-my-points-customer-account-menu-item</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/kundenkonto-menuepunkt-meine-punkte-ergaenzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/adding-a-my-points-customer-account-menu-item" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/responsive-frontend-templates-for-points-balance-and-history</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/responsive-frontend-templates-fuer-punktestand-und-historie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/responsive-frontend-templates-for-points-balance-and-history" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/accessibility-and-best-practices-in-the-new-frontend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/barrierefreiheit-und-best-practices-im-neuen-frontend" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/accessibility-and-best-practices-in-the-new-frontend" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/widgets-in-magento-2-fundamentals-and-purpose</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/widgets-in-magento-2-grundlagen-und-einsatzzweck" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/widgets-in-magento-2-fundamentals-and-purpose" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/building-a-my-points-widget-for-cms-pages</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/ein-meine-punkte-widget-fuer-cms-seiten-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/building-a-my-points-widget-for-cms-pages" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/widget-parameters-and-admin-configuration-widget-xml</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/widget-parameter-und-admin-konfiguration-widget-xml" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/widget-parameters-and-admin-configuration-widget-xml" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/understanding-page-builder-content-types</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/page-builder-content-types-verstehen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/understanding-page-builder-content-types" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/building-a-custom-points-banner-content-type-for-page-builder</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/einen-eigenen-punkte-banner-content-type-fuer-page-builder-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/building-a-custom-points-banner-content-type-for-page-builder" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/implementing-the-page-builder-preview-template-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/page-builder-vorschau-preview-template-korrekt-implementieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/implementing-the-page-builder-preview-template-correctly" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/widget-vs-page-builder-content-type-when-to-use-which</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/widget-vs-page-builder-content-type-wann-was-einsetzen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/widget-vs-page-builder-content-type-when-to-use-which" />
<lastmod>2026-08-09T08:55:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/custom-payment-methods-in-magento-2-fundamentals-abstractmethod-vs-adapter-facade</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/eigene-zahlungsarten-in-magento-2-grundlagen-abstractmethod-vs-adapter-facade" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/custom-payment-methods-in-magento-2-fundamentals-abstractmethod-vs-adapter-facade" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/the-redeem-points-payment-method-partial-payment-without-real-split-tender</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/die-punkte-einloesen-zahlungsart-teilzahlung-ohne-echtes-split-payment" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/the-redeem-points-payment-method-partial-payment-without-real-split-tender" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/payment-method-configuration-and-availability-canusecheckout-and-isavailable</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/zahlungsart-konfiguration-und-verfuegbarkeitspruefung-canusecheckout-und-isavailable" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/payment-method-configuration-and-availability-canusecheckout-and-isavailable" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/payment-method-in-checkout-registering-the-knockoutjs-frontend-component</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/zahlungsart-im-checkout-die-knockoutjs-frontend-komponente-registrieren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/payment-method-in-checkout-registering-the-knockoutjs-frontend-component" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/custom-shipping-carriers-in-magento-2-fundamentals</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/eigene-versandarten-in-magento-2-grundlagen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/custom-shipping-carriers-in-magento-2-fundamentals" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/free-shipping-via-points-as-a-custom-carrier</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/kostenloser-versand-durch-punkte-als-eigene-versandart" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/free-shipping-via-points-as-a-custom-carrier" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/shipping-rate-calculation-building-custom-rate-result-objects</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/versandarten-kalkulation-eigene-rate-result-objekte-bauen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/shipping-rate-calculation-building-custom-rate-result-objects" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/testing-the-payment-and-shipping-method-together-in-checkout</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/zahlungs-und-versandart-gemeinsam-im-checkout-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/testing-the-payment-and-shipping-method-together-in-checkout" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/common-mistakes-with-custom-payment-and-shipping-methods</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/haeufige-fehler-bei-eigenen-zahlungs-und-versandarten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/common-mistakes-with-custom-payment-and-shipping-methods" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/custom-product-types-in-magento-2-when-its-worth-it</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/eigene-produkttypen-in-magento-2-wann-sich-das-lohnt" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/custom-product-types-in-magento-2-when-its-worth-it" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/registering-the-points-package-product-type-product-types-xml</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/den-punkte-paket-produkttyp-registrieren-product-types-xml" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/registering-the-points-package-product-type-product-types-xml" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/implementing-the-product-type-model-price-model-and-type-model</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/produkttyp-modell-implementieren-price-model-und-type-model" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/implementing-the-product-type-model-price-model-and-type-model" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/admin-form-adjustments-for-the-new-product-type</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/admin-formular-anpassungen-fuer-den-neuen-produkttyp" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/admin-form-adjustments-for-the-new-product-type" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/displaying-and-selling-the-product-type-correctly-in-the-frontend</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/produkttyp-im-frontend-korrekt-anzeigen-und-verkaufen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/displaying-and-selling-the-product-type-correctly-in-the-frontend" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/adapting-order-processing-for-the-new-product-type</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/bestellabwicklung-fuer-den-neuen-produkttyp-anpassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/adapting-order-processing-for-the-new-product-type" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/product-type-compatibility-with-price-rules-and-discounts</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/produkttyp-kompatibilitaet-mit-preisregeln-und-rabatten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/product-type-compatibility-with-price-rules-and-discounts" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/summary-introducing-custom-product-types-the-right-way</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/zusammenfassung-eigene-produkttypen-richtig-einfuehren" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/summary-introducing-custom-product-types-the-right-way" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/service-contracts-as-the-basis-for-rest-soap-and-graphql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/service-contracts-als-basis-fuer-rest-soap-und-graphql" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/service-contracts-as-the-basis-for-rest-soap-and-graphql" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/a-custom-rest-api-webapi-xml-and-acl-for-the-points-balance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/eine-eigene-rest-api-webapi-xml-und-acl-fuer-den-punktestand" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/a-custom-rest-api-webapi-xml-and-acl-for-the-points-balance" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/api-endpoint-for-redeeming-a-reward</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/api-endpunkt-zum-einloesen-einer-praemie" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/api-endpoint-for-redeeming-a-reward" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/graphql-endpoint-querying-points-balance-and-the-reward-catalog</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/graphql-endpoint-punktestand-und-praemienkatalog-abfragen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/graphql-endpoint-querying-points-balance-and-the-reward-catalog" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/graphql-mutation-redeeming-a-reward-via-graphql</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/graphql-mutation-praemie-per-graphql-einloesen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/graphql-mutation-redeeming-a-reward-via-graphql" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/customer-section-data-points-balance-in-the-mini-cart-and-checkout</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/customer-section-data-punktestand-im-mini-cart-und-checkout" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/customer-section-data-points-balance-in-the-mini-cart-and-checkout" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/api-versioning-and-backward-compatibility</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/api-versionierung-und-abwaertskompatibilitaet" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/api-versioning-and-backward-compatibility" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/rate-limiting-and-hardening-custom-endpoints</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/rate-limiting-und-absicherung-eigener-endpunkte" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/rate-limiting-and-hardening-custom-endpoints" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/api-documentation-rest-swagger-and-graphql-schema-introspection</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/api-dokumentation-rest-swagger-und-graphql-schema-introspection" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/api-documentation-rest-swagger-and-graphql-schema-introspection" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/configuration-types-in-depth-custom-config-sources-beyond-system-config</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/configuration-type-im-detail-eigene-config-quellen-jenseits-von-system-config" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/configuration-types-in-depth-custom-config-sources-beyond-system-config" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/multi-language-support-maintaining-your-own-i18n-csv-files-correctly</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/mehrsprachigkeit-eigene-i18n-csv-dateien-richtig-pflegen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/multi-language-support-maintaining-your-own-i18n-csv-files-correctly" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/translations-for-store-views-and-the-admin-interface</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/uebersetzungen-fuer-store-views-und-die-admin-oberflaeche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/translations-for-store-views-and-the-admin-interface" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/unit-tests-testing-the-pointscalculator-service</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/unit-tests-den-pointscalculator-service-testen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/unit-tests-testing-the-pointscalculator-service" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/unit-tests-mocking-repositories-and-services</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/unit-tests-mocking-von-repositories-und-services" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/unit-tests-mocking-repositories-and-services" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/integration-tests-vs-unit-tests-when-each-one-makes-sense</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/integration-tests-vs-unit-tests-wann-welche-sinnvoll-sind" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/integration-tests-vs-unit-tests-when-each-one-makes-sense" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/prioritizing-test-coverage-without-100-percent-dogma</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/testabdeckung-sinnvoll-priorisieren-keine-100-prozent-dogmatik" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/prioritizing-test-coverage-without-100-percent-dogma" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/continuous-integration-running-tests-automatically</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/continuous-integration-tests-automatisiert-laufen-lassen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/continuous-integration-running-tests-automatically" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/ensuring-phpstan-and-code-quality-in-a-custom-module</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/phpstan-und-codequalitaet-im-eigenen-modul-sicherstellen" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/ensuring-phpstan-and-code-quality-in-a-custom-module" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/all-32-areas-working-together-data-flow-overview</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/alle-32-bereiche-im-zusammenspiel-datenfluss-ueberblick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/all-32-areas-working-together-data-flow-overview" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/managing-module-dependencies-the-module-xml-sequence</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/modul-abhaengigkeiten-module-xml-sequence-sauber-verwalten" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/managing-module-dependencies-the-module-xml-sequence" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/deployment-sequence-for-a-module-this-large-patches-cron</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/deployment-sequenz-fuer-ein-so-grosses-modul-setup-patches-cron" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/deployment-sequence-for-a-module-this-large-patches-cron" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/performance-considerations-for-the-entire-module</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/performance-ueberlegungen-fuer-das-gesamtmodul-eav-observer-cache" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/performance-considerations-for-the-entire-module" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/security-considerations-acl-validation-csrf-across-all-areas</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/sicherheitsueberlegungen-acl-validierung-csrf-ueber-alle-bereiche" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/security-considerations-acl-validation-csrf-across-all-areas" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/extensibility-writing-your-own-plugins-observers</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/erweiterbarkeit-eigene-plugins-observer-custom-events" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/extensibility-writing-your-own-plugins-observers" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/troubleshooting-guide-for-the-whole-project</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/troubleshooting-leitfaden-fuer-das-gesamtprojekt-haeufige-fehler" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/troubleshooting-guide-for-the-whole-project" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/where-to-go-from-here-related-tutorial-series</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/von-hier-aus-weiterlernen-verwandte-tutorial-serien" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/where-to-go-from-here-related-tutorial-series" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/cheat-sheet-all-32-module-areas-at-a-glance</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/spickzettel-alle-32-modul-bereiche-auf-einen-blick" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/cheat-sheet-all-32-module-areas-at-a-glance" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://www.mironsoft.de/en/tutorial/magento-module-tutorial/conclusion-and-outlook-what-makes-a-complete-magento-module</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://www.mironsoft.de/de/tutorial/magento-modul-tutorial/abschluss-und-ausblick-was-ein-vollstaendiges-magento-modul-ausmacht" />
<xhtml:link rel="alternate" hreflang="en-US" href="https://www.mironsoft.de/en/tutorial/magento-module-tutorial/conclusion-and-outlook-what-makes-a-complete-magento-module" />
<lastmod>2026-08-09T08:55:01+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>0.2</priority>
</url>
</urlset>