<?xml version="1.0" encoding="UTF-8"?>
<!--
  Three pages, because three pages is all there is worth finding: the shelf,
  the assignment builder, and the privacy page. The two printed sheets are
  excluded here and in robots.txt — they are somebody's output, not pages.

  Assignment links are of the form https://quotepull.com/index.html#a=... and
  need no entry: a fragment is not a separate address as far as a crawler is
  concerned, and the assignment never reaches a server in the first place.

  The addresses below have no .html on them, because that is what Cloudflare
  Pages actually serves: /teacher.html answers 308 to /teacher. Listing the
  redirect instead of its destination is the kind of thing that quietly costs
  a page its ranking. Assignment links keep the .html and are fine — the
  redirect preserves the fragment.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://quotepull.com/</loc>
    <lastmod>2026-08-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://quotepull.com/teacher</loc>
    <lastmod>2026-08-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://quotepull.com/privacy</loc>
    <lastmod>2026-08-28</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
