<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">

  <!-- Core Pages -->
  <url>
    <loc>https://liferayx.com/</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/" />
  </url>

  <url>
    <loc>https://liferayx.com/about</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://liferayx.com/blog-list</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://liferayx.com/guides</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://liferayx.com/sitemap</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

  <url>
    <loc>https://liferayx.com/accessibility-statement</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

  <url>
    <loc>https://liferayx.com/search</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://liferayx.com/contact</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

  <url>
    <loc>https://liferayx.com/privacy</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.3</priority>
  </url>

  <url>
    <loc>https://liferayx.com/terms</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.3</priority>
  </url>

  <url>
    <loc>https://liferayx.com/editorial-policy</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.4</priority>
  </url>

  <url>
    <loc>https://liferayx.com/screen-reader-access</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>


  <!-- Liferay Blog Posts -->
  <url>
    <loc>https://liferayx.com/blog/client-extensions-vs-osgi</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/client-extensions-vs-osgi" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/client-extensions-vs-osgi" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/client-extensions-vs-osgi.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/mastering-liferay-objects</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/mastering-liferay-objects" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/mastering-liferay-objects" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/mastering-liferay-objects.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/headless-liferay-graphql</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/headless-liferay-graphql" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/headless-liferay-graphql" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/headless-liferay-graphql.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/upgrading-liferay-dxp-74</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/upgrading-liferay-dxp-74" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/upgrading-liferay-dxp-74" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/upgrading-liferay-dxp-74.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/optimizing-liferay-performance</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/optimizing-liferay-performance" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/optimizing-liferay-performance" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/optimizing-liferay-performance.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/b2b-ecommerce-liferay-commerce</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/b2b-ecommerce-liferay-commerce" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/b2b-ecommerce-liferay-commerce" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/b2b-ecommerce-liferay-commerce.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/securing-liferay-dxp</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/securing-liferay-dxp" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/securing-liferay-dxp" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/securing-liferay-dxp.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/liferay-experience-cloud-lxc</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/liferay-experience-cloud-lxc" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/liferay-experience-cloud-lxc" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/liferay-experience-cloud-lxc.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/react-tailwind-client-extensions</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/react-tailwind-client-extensions" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/react-tailwind-client-extensions" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/react-tailwind-client-extensions.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/liferay-integration-hub</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/liferay-integration-hub" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/liferay-integration-hub" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/liferay-integration-hub.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/elasticsearch-configuration-liferay-dxp</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/elasticsearch-configuration-liferay-dxp" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/elasticsearch-configuration-liferay-dxp" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/elasticsearch-configuration-liferay-dxp.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/saml-sso-integration-okta-azure</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/saml-sso-integration-okta-azure" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/saml-sso-integration-okta-azure" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/saml-sso-integration-okta-azure.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/vuejs-angular-client-extensions</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/vuejs-angular-client-extensions" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/vuejs-angular-client-extensions" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/vuejs-angular-client-extensions.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/liferay-forms-automated-workflows</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/liferay-forms-automated-workflows" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/liferay-forms-automated-workflows" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/liferay-forms-automated-workflows.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/multilingual-content-management-liferay</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/multilingual-content-management-liferay" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/multilingual-content-management-liferay" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/multilingual-content-management-liferay.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/modular-themelet-styling-liferay</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/modular-themelet-styling-liferay" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/modular-themelet-styling-liferay" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/modular-themelet-styling-liferay.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/asset-publisher-personalization</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/asset-publisher-personalization" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/asset-publisher-personalization" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/asset-publisher-personalization.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/segment-based-personalization-ab-testing</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/segment-based-personalization-ab-testing" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/segment-based-personalization-ab-testing" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/segment-based-personalization-ab-testing.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/devsecops-docker-jenkins-pipelines</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/devsecops-docker-jenkins-pipelines" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/devsecops-docker-jenkins-pipelines" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/devsecops-docker-jenkins-pipelines.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/content-security-policy-hardening</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/content-security-policy-hardening" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/content-security-policy-hardening" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/content-security-policy-hardening.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/oauth2-api-security-liferay</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/oauth2-api-security-liferay" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/oauth2-api-security-liferay" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/oauth2-api-security-liferay.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/migrating-service-builder-to-objects</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/migrating-service-builder-to-objects" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/migrating-service-builder-to-objects" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/migrating-service-builder-to-objects.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/stripe-paypal-commerce-integration</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/stripe-paypal-commerce-integration" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/stripe-paypal-commerce-integration" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/stripe-paypal-commerce-integration.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/redis-ehcache-caching-strategies</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/redis-ehcache-caching-strategies" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/redis-ehcache-caching-strategies" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/redis-ehcache-caching-strategies.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/aws-eks-kubernetes-deployment</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/aws-eks-kubernetes-deployment" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/aws-eks-kubernetes-deployment" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/aws-eks-kubernetes-deployment.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/automated-content-migration-apis</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/automated-content-migration-apis" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/automated-content-migration-apis" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/automated-content-migration-apis.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/jvm-memory-leak-debugging</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/jvm-memory-leak-debugging" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/jvm-memory-leak-debugging" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/jvm-memory-leak-debugging.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/b2b-dealer-portal-design</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/b2b-dealer-portal-design" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/b2b-dealer-portal-design" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/b2b-dealer-portal-design.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/clay-css-lexicon-design-system</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/clay-css-lexicon-design-system" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/clay-css-lexicon-design-system" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/clay-css-lexicon-design-system.amp" />
  </url>
  <url>
    <loc>https://liferayx.com/blog/audit-framework-enterprise-compliance</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://liferayx.com/blog/audit-framework-enterprise-compliance" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://liferayx.com/blog/audit-framework-enterprise-compliance" />
    <xhtml:link rel="amphtml" href="https://liferayx.com/blog/audit-framework-enterprise-compliance.amp" />
  </url>

</urlset>
