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

  <url>
    <loc>https://roversia.it/</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>1.0</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://roversia.it/projects.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://roversia.it/blog.html</loc>
    <lastmod>2026-06-28</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/blog-01-invio-documenti-chat.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <image:image><image:loc>https://roversia.it/og/og-blog.png</image:loc><image:title>Invio documenti in una chat Firebase + Cloudinary</image:title></image:image>
  </url>

  <url>
    <loc>https://roversia.it/blog-02-guida-app-interattiva-mypos.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <image:image><image:loc>https://roversia.it/og/og-blog.png</image:loc><image:title>Guida app interattiva con hotspot su screenshot</image:title></image:image>
  </url>

  <url>
    <loc>https://roversia.it/blog-03-calendario-firebase-pwa.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <image:image><image:loc>https://roversia.it/og/og-blog.png</image:loc><image:title>Calendario Firebase PWA: notifiche push e bug restore sessione</image:title></image:image>
  </url>

  <url>
    <loc>https://roversia.it/blog-04-centro-notifiche-pwa.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <image:image><image:loc>https://roversia.it/og/og-blog.png</image:loc><image:title>Centro notifiche PWA: Firebase, Firestore e drawer a categorie</image:title></image:image>
  </url>

  <url>
    <loc>https://roversia.it/blog-05-paypos-firebase-admin.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <image:image><image:loc>https://roversia.it/og/og-blog.png</image:loc><image:title>Sezione PayPOS nell'Admin: Firebase RTDB e il bug dell'ID dinamico</image:title></image:image>
  </url>

  <url>
    <loc>https://roversia.it/utility/verifica-piva.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/codice-fiscale.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/password-sicura.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/qr-code.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/immagini-pdf.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/unisci-pdf.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/estrai-testo-pdf.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/comprimi-immagini.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/ritaglia-immagine.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/converti-immagini.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/conta-parole.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/converti-testo.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/cifra-testo.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/exif-viewer.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/steganografia.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/differenza-date.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/fuso-orario.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/convertitore-valute.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/lookup-ip.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/utility/whois-dominio.html</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://roversia.it/blog-06-token-cross-app-hmac.html</loc>
    <lastmod>2026-06-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <image:image><image:loc>https://roversia.it/og/og-blog.png</image:loc><image:title>Token HMAC tra due PWA su Firebase diversi</image:title></image:image>
  </url>
  <url>
    <loc>https://roversia.it/blog-07-catalogo-file-firebase-admin.html</loc>
    <lastmod>2026-06-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <image:image><image:loc>https://roversia.it/og/og-blog.png</image:loc><image:title>Catalogo file dinamico con Firebase RTDB e Storage</image:title></image:image>
  </url>
  <url>
    <loc>https://roversia.it/blog-08-ecommerce-firebase-custom.html</loc>
    <lastmod>2026-06-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <image:image><image:loc>https://roversia.it/og/og-blog.png</image:loc><image:title>E-commerce custom con Firebase: catalogo, ordini e admin panel</image:title></image:image>
  </url>
  <url>
    <loc>https://roversia.it/blog-09-assistente-ai-gemini-gestionale.html</loc>
    <lastmod>2026-06-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <image:image><image:loc>https://roversia.it/og/og-blog.png</image:loc><image:title>Assistente AI nel gestionale con Gemini API: system prompt dinamico da Firebase</image:title></image:image>
  </url>
  <url>
    <loc>https://roversia.it/blog-10-firma-elettronica-otp-firebase.html</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <image:image><image:loc>https://roversia.it/og/og-blog.png</image:loc><image:title>Firma elettronica con OTP su Firebase: audit trail, hash PDF e certificato con pdf-lib</image:title></image:image>
  </url>

  <!-- SNIPPETS -->
  <url>
    <loc>https://roversia.it/snippets/hmac-sha256-web-crypto-api.html</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://roversia.it/snippets/firebase-rtdb-read-once-javascript.html</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://roversia.it/snippets/firestore-query-composta-indice.html</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- GUIDE -->
  <url>
    <loc>https://roversia.it/guide/firebase-realtime-database-vs-firestore.html</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://roversia.it/guide/pwa-checklist-2025.html</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- UTILITY -->
  <url>
    <loc>https://roversia.it/utility/firebase-cost-calculator.html</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- BOILERPLATE -->
  <url>
    <loc>https://roversia.it/boilerplate.html</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

</urlset>
