<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.compliant-web-scraping.com/</loc>
    <lastmod>2026-06-02</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/building-ethical-proxy-rotation-systems/configuring-rotating-residential-proxies-ethically/</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/parsing-robotstxt-programmatically/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/implementing-polite-rate-limiting/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/gdpr-compliance-for-scraped-personal-data/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/parsing-robotstxt-programmatically/how-to-parse-robotstxt-with-python-urllib/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/parsing-robotstxt-programmatically/handling-crawl-delay-and-sitemap-directives/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/implementing-polite-rate-limiting/adaptive-rate-limiting-from-response-headers/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/ethical-user-agent-configuration/rotating-user-agents-without-triggering-blocks/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/ethical-user-agent-configuration/setting-a-from-header-and-contact-url-for-crawlers/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/mapping-terms-of-service-for-scrapers/understanding-cfaa-implications-for-web-scraping/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/mapping-terms-of-service-for-scrapers/detecting-and-respecting-noindex-nofollow-directives/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/mapping-terms-of-service-for-scrapers/documenting-scraping-authorization-and-data-lineage/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/ethical-user-agent-configuration/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/mapping-terms-of-service-for-scrapers/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/implementing-polite-rate-limiting/setting-dynamic-delays-between-http-requests/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/distributed-crawl-scheduling-and-queues/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/exponential-backoff-and-retry-logic/adding-jitter-to-exponential-backoff/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/exponential-backoff-and-retry-logic/handling-429-too-many-requests-automatically/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/captcha-detection-and-fallback-workflows/detecting-cloudflare-challenge-pages/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/distributed-crawl-scheduling-and-queues/deduplicating-urls-with-a-redis-seen-set/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/managing-persistent-http-sessions/session-cookie-management-in-headless-browsers/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/building-ethical-proxy-rotation-systems/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/exponential-backoff-and-retry-logic/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/managing-persistent-http-sessions/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/captcha-detection-and-fallback-workflows/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/xpath-vs-css-selectors-for-scraping/xpath-performance-vs-css-selectors-in-lxml/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/xpath-vs-css-selectors-for-scraping/beautifulsoup-vs-lxml-for-large-html-documents/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/advanced-html-parsing-with-beautifulsoup/extracting-tables-from-dynamic-javascript-pages/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/normalizing-nested-json-responses/validating-scraped-data-against-json-schema/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/schema-validation-with-pydantic/validating-scraped-dates-and-currencies-with-pydantic/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/data-retention-and-gdpr-deletion-workflows/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/crawl-observability-with-prometheus-grafana/exposing-scraper-metrics-with-prometheus-client/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/crawl-observability-with-prometheus-grafana/building-a-grafana-dashboard-for-crawl-health/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/structured-data-sinks-and-warehousing/writing-scraped-data-to-parquet-with-pyarrow/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/structured-data-sinks-and-warehousing/upserting-scraped-records-into-postgres/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/deduplication-strategies-for-scraped-data/deduplicating-records-with-content-hashing/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/structured-logging-and-log-shipping/shipping-structured-crawl-logs-to-elasticsearch/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/data-retention-and-gdpr-deletion-workflows/automating-gdpr-right-to-erasure-deletions/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/advanced-html-parsing-with-beautifulsoup/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/xpath-vs-css-selectors-for-scraping/converting-messy-html-to-clean-csv-format/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/crawl-observability-with-prometheus-grafana/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/structured-logging-and-log-shipping/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/normalizing-nested-json-responses/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/schema-validation-with-pydantic/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/xpath-vs-css-selectors-for-scraping/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/deduplication-strategies-for-scraped-data/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/structured-data-sinks-and-warehousing/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/respecting-paywalls-and-authentication-boundaries/detecting-paywalled-content-programmatically/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/respecting-paywalls-and-authentication-boundaries/handling-login-walls-without-credential-sharing/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/parsing-robotstxt-programmatically/testing-robotstxt-rules-in-ci/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/parsing-robotstxt-programmatically/caching-robotstxt-with-a-stale-while-revalidate-window/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/implementing-polite-rate-limiting/token-bucket-vs-leaky-bucket-for-crawlers/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/implementing-polite-rate-limiting/per-host-concurrency-limits-with-asyncio-semaphores/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/gdpr-compliance-for-scraped-personal-data/pseudonymising-scraped-personal-data-at-ingest/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/gdpr-compliance-for-scraped-personal-data/recording-a-legitimate-interest-assessment/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/headless-browser-resource-management/limiting-playwright-memory-with-browser-contexts/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/headless-browser-resource-management/blocking-images-and-fonts-to-cut-crawl-bandwidth/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/exponential-backoff-and-retry-logic/circuit-breakers-for-crawl-workers/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/building-ethical-proxy-rotation-systems/health-checking-and-scoring-a-proxy-pool/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/building-ethical-proxy-rotation-systems/choosing-between-datacenter-and-residential-proxies/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/managing-persistent-http-sessions/connection-pool-tuning-for-httpx-and-requests/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/distributed-crawl-scheduling-and-queues/politeness-aware-frontier-scheduling-with-celery/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/extracting-json-ld-and-microdata/parsing-schema-org-product-data-from-json-ld/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/extracting-json-ld-and-microdata/falling-back-from-json-ld-to-microdata/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/advanced-html-parsing-with-beautifulsoup/writing-resilient-selectors-that-survive-redesigns/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/advanced-html-parsing-with-beautifulsoup/detecting-character-encoding-of-scraped-html/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/normalizing-nested-json-responses/flattening-nested-json-into-tabular-rows/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/schema-validation-with-pydantic/quarantining-records-that-fail-validation/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/xpath-vs-css-selectors-for-scraping/chaining-xpath-axes-for-table-extraction/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/incremental-crawling-and-change-detection/conditional-requests-with-etag-and-last-modified/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/incremental-crawling-and-change-detection/detecting-content-changes-with-rolling-hashes/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/structured-data-sinks-and-warehousing/partitioning-scraped-datasets-by-crawl-date/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/deduplication-strategies-for-scraped-data/near-duplicate-detection-with-simhash/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/deduplication-strategies-for-scraped-data/normalising-text-before-hashing-for-dedup/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/crawl-observability-with-prometheus-grafana/alerting-on-crawl-success-rate/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/data-retention-and-gdpr-deletion-workflows/enforcing-retention-windows-with-scheduled-jobs/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/structured-logging-and-log-shipping/correlating-crawl-logs-with-trace-ids/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/compliance-ethical-crawling-foundations/respecting-paywalls-and-authentication-boundaries/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/data-parsing-transformation-pipelines/extracting-json-ld-and-microdata/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/network-resilience-proxy-management/headless-browser-resource-management/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://www.compliant-web-scraping.com/pipeline-storage-monitoring/incremental-crawling-and-change-detection/</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  
</urlset>

