<?xml version="1.0" encoding="UTF-8"?>
<!--
  Sitemap DUERP.APP
  - 4 URLs canoniques : / (FR), /ch-fr/ (FR-CH), /ch/ (DE-CH), /en/ (EN)
  - Le .htaccess réécrit ces 3 chemins linguistiques vers index.html
    (l'URL est préservée dans la barre d'adresse).
  - script.js lit window.location.pathname au premier paint pour
    appliquer la bonne langue — Google voit donc 4 pages distinctes.
  - Chaque URL déclare les 4 alternates hreflang + x-default.

  Blog (architecture fichiers statiques depuis 2026-04-25) :
  - Les articles sont des fichiers .html dans /blog/.
  - Ils sont servis par /blog/article.html (SPA universelle).
  - Les entrées sitemap du blog sont mises à jour via
    node tools/generate-blog-index.mjs lors de la publication d'un article.
  - Marqueurs :blog-articles-start: / :blog-articles-end: conservés
    pour mise à jour automatisée par le script.
-->
<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">

  <!-- ========================================================= -->
  <!-- FR (défaut)                                                -->
  <!-- ========================================================= -->
  <url>
    <loc>https://duerp.app/</loc>
    <lastmod>2026-05-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/" />
    <xhtml:link rel="alternate" hreflang="fr-CH"     href="https://duerp.app/ch-fr/" />
    <xhtml:link rel="alternate" hreflang="de-CH"     href="https://duerp.app/ch/" />
    <xhtml:link rel="alternate" hreflang="en"        href="https://duerp.app/en/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/" />

    <image:image>
      <image:loc>https://duerp.app/og-image.jpg</image:loc>
      <image:title>DUERP.APP — Logiciel SaaS du Document Unique</image:title>
      <image:caption>Interface DUERP.APP — Dashboard, cartographie des risques, PAPRIPACT</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://duerp.app/screenshots/screenshot-1.webp</image:loc>
      <image:title>Dashboard DUERP.APP — Vue d'ensemble des risques</image:title>
    </image:image>
    <image:image>
      <image:loc>https://duerp.app/screenshots/screenshot-2.webp</image:loc>
      <image:title>Cartographie interactive des risques professionnels</image:title>
    </image:image>
    <image:image>
      <image:loc>https://duerp.app/screenshots/screenshot-3.webp</image:loc>
      <image:title>Kanban — Gestion des plans d'action</image:title>
    </image:image>
    <image:image>
      <image:loc>https://duerp.app/screenshots/screenshot-4.webp</image:loc>
      <image:title>PAPRIPACT — Programme annuel de prévention des risques</image:title>
    </image:image>
    <image:image>
      <image:loc>https://duerp.app/screenshots/screenshot-5.webp</image:loc>
      <image:title>Collaboration multi-utilisateurs en temps réel</image:title>
    </image:image>
    <image:image>
      <image:loc>https://duerp.app/screenshots/screenshot-6.webp</image:loc>
      <image:title>Analyses et rapports DUERP — KPIs sécurité</image:title>
    </image:image>
  </url>

  <!-- ========================================================= -->
  <!-- FR-CH (Suisse romande)                                     -->
  <!-- ========================================================= -->
  <url>
    <loc>https://duerp.app/ch-fr/</loc>
    <lastmod>2026-05-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/" />
    <xhtml:link rel="alternate" hreflang="fr-CH"     href="https://duerp.app/ch-fr/" />
    <xhtml:link rel="alternate" hreflang="de-CH"     href="https://duerp.app/ch/" />
    <xhtml:link rel="alternate" hreflang="en"        href="https://duerp.app/en/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/" />
  </url>

  <!-- ========================================================= -->
  <!-- DE-CH (Suisse alémanique)                                  -->
  <!-- ========================================================= -->
  <url>
    <loc>https://duerp.app/ch/</loc>
    <lastmod>2026-05-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/" />
    <xhtml:link rel="alternate" hreflang="fr-CH"     href="https://duerp.app/ch-fr/" />
    <xhtml:link rel="alternate" hreflang="de-CH"     href="https://duerp.app/ch/" />
    <xhtml:link rel="alternate" hreflang="en"        href="https://duerp.app/en/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/" />
  </url>

  <!-- ========================================================= -->
  <!-- EN (International)                                         -->
  <!-- ========================================================= -->
  <url>
    <loc>https://duerp.app/en/</loc>
    <lastmod>2026-05-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/" />
    <xhtml:link rel="alternate" hreflang="fr-CH"     href="https://duerp.app/ch-fr/" />
    <xhtml:link rel="alternate" hreflang="de-CH"     href="https://duerp.app/ch/" />
    <xhtml:link rel="alternate" hreflang="en"        href="https://duerp.app/en/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/" />
  </url>

  <!--
    Ancres in-page retirées du sitemap (Google les considère comme
    fragments de la canonique / et peut les flagger « Page en double sans
    URL canonique sélectionnée par l'utilisateur ». Les sections sont déjà
    indexables via la canonique principale + JSON-LD).
  -->

  <!-- ========================================================= -->
  <!-- Pages sectorielles (SEO longue traîne)                     -->
  <!-- Générées par : node tools/generate-sector-pages.mjs        -->
  <!-- ========================================================= -->
  <url>
    <loc>https://duerp.app/duerp-btp/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/duerp-btp/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/duerp-btp/" />
  
    <image:image>
      <image:loc>https://duerp.app/og/duerp-btp.jpg</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://duerp.app/duerp-industrie/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/duerp-industrie/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/duerp-industrie/" />
  
    <image:image>
      <image:loc>https://duerp.app/og/duerp-industrie.jpg</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://duerp.app/duerp-restauration/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/duerp-restauration/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/duerp-restauration/" />
  
    <image:image>
      <image:loc>https://duerp.app/og/duerp-restauration.jpg</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://duerp.app/duerp-bureau/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/duerp-bureau/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/duerp-bureau/" />
  
    <image:image>
      <image:loc>https://duerp.app/og/duerp-bureau.jpg</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://duerp.app/duerp-commerce/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/duerp-commerce/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/duerp-commerce/" />
  
    <image:image>
      <image:loc>https://duerp.app/og/duerp-commerce.jpg</image:loc>
    </image:image>
  </url>

  <!-- ========================================================= -->
  <!-- Pages piliers (SEO requêtes-clés)                        -->
  <!-- Générées par : node tools/generate-pillar-pages.mjs      -->
  <!-- ========================================================= -->
  <url>
    <loc>https://duerp.app/logiciel-duerp/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/logiciel-duerp/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/logiciel-duerp/" />
  
    <image:image>
      <image:loc>https://duerp.app/og/logiciel-duerp.jpg</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://duerp.app/document-unique-en-ligne/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/document-unique-en-ligne/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/document-unique-en-ligne/" />
  
    <image:image>
      <image:loc>https://duerp.app/og/document-unique-en-ligne.jpg</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://duerp.app/papripact/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/papripact/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/papripact/" />
  
    <image:image>
      <image:loc>https://duerp.app/og/papripact.jpg</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://duerp.app/tarifs/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/tarifs/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/tarifs/" />
  </url>
  <url>
    <loc>https://duerp.app/modele-duerp/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/modele-duerp/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/modele-duerp/" />
  
    <image:image>
      <image:loc>https://duerp.app/og/modele-duerp.jpg</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://duerp.app/duerp-obligatoire/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/duerp-obligatoire/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/duerp-obligatoire/" />
  
    <image:image>
      <image:loc>https://duerp.app/og/duerp-obligatoire.jpg</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://duerp.app/duerp-2026/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/duerp-2026/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/duerp-2026/" />
  
    <image:image>
      <image:loc>https://duerp.app/og/duerp-2026.jpg</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://duerp.app/duerp-rps/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/duerp-rps/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/duerp-rps/" />
  
    <image:image>
      <image:loc>https://duerp.app/og/duerp-rps.jpg</image:loc>
    </image:image>
  </url>

  <!-- ========================================================= -->
  <!-- Tunnel démo (conversion)                                  -->
  <!-- ========================================================= -->
  <url>
    <loc>https://duerp.app/reserver-demo/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/reserver-demo/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/reserver-demo/" />
  </url>

  <!-- ========================================================= -->
  <!-- Pages légales (E-E-A-T + obligations LCEN/RGPD)          -->
  <!-- ========================================================= -->
  <url>
    <loc>https://duerp.app/mentions-legales/</loc>
    <lastmod>2026-05-03</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://duerp.app/politique-confidentialite/</loc>
    <lastmod>2026-05-03</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.4</priority>
  </url>
  <url>
    <loc>https://duerp.app/cgu/</loc>
    <lastmod>2026-05-03</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://duerp.app/cookies/</loc>
    <lastmod>2026-05-03</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.2</priority>
  </url>
  <url>
    <loc>https://duerp.app/securite/</loc>
    <lastmod>2026-05-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

  <!-- ========================================================= -->
  <!-- Page de liste du blog                                    -->
  <!-- ========================================================= -->
  <url>
    <loc>https://duerp.app/blog/</loc>
    <lastmod>2026-05-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/blog/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/blog/" />
  </url>

  <!-- :blog-articles-start: -->
  <!-- ========================================================= -->
  <!-- Blog (généré par tools/generate-blog-index.mjs)            -->
  <!-- ========================================================= -->
  <url>
    <loc>https://duerp.app/blog/depot-numerique-duerp-2026/</loc>
    <lastmod>2026-05-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/blog/depot-numerique-duerp-2026/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/blog/depot-numerique-duerp-2026/" />
    <image:image>
      <image:loc>https://duerp.app/og/depot-numerique-duerp-2026.jpg</image:loc>
      <image:title>Dépôt numérique du DUERP : l&apos;échéance 2026 pour toutes les PME</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://duerp.app/blog/duerp-facteurs-penibilite-c2p-2026/</loc>
    <lastmod>2026-05-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/blog/duerp-facteurs-penibilite-c2p-2026/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/blog/duerp-facteurs-penibilite-c2p-2026/" />
    <image:image>
      <image:loc>https://duerp.app/og/duerp-facteurs-penibilite-c2p-2026.jpg</image:loc>
      <image:title>DUERP et facteurs de pénibilité : les 6 critères C2P à documenter en 2026</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://duerp.app/blog/duerp-suisse-laa-2026/</loc>
    <lastmod>2026-05-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/blog/duerp-suisse-laa-2026/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/blog/duerp-suisse-laa-2026/" />
    <image:image>
      <image:loc>https://duerp.app/og/duerp-suisse-laa-2026.jpg</image:loc>
      <image:title>DUERP en Suisse : obligations LAA et prévention des risques pour les PME</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://duerp.app/blog/ia-et-duerp-en-2026/</loc>
    <lastmod>2026-04-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/blog/ia-et-duerp-en-2026/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/blog/ia-et-duerp-en-2026/" />
    <image:image>
      <image:loc>https://duerp.app/og/ia-et-duerp-en-2026.jpg</image:loc>
      <image:title>L&apos;IA dans le DUERP en 2026 : utopie ou nouvelle norme ?</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://duerp.app/blog/rps-et-teletravail-comment-evaluer/</loc>
    <lastmod>2026-04-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/blog/rps-et-teletravail-comment-evaluer/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/blog/rps-et-teletravail-comment-evaluer/" />
    <image:image>
      <image:loc>https://duerp.app/og/rps-et-teletravail-comment-evaluer.jpg</image:loc>
      <image:title>RPS et télétravail : comment évaluer l&apos;invisible</image:title>
    </image:image>
  </url>
  <!-- :blog-articles-end: -->

  <!-- ========================================================= -->
  <!-- Auteurs                                                    -->
  <!-- ========================================================= -->
  <url>
    <loc>https://duerp.app/auteur/francois-clayssen/</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <xhtml:link rel="alternate" hreflang="fr"        href="https://duerp.app/auteur/francois-clayssen/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://duerp.app/auteur/francois-clayssen/" />
  </url>

</urlset>
