<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/reading-a-plugin-from-the-outside-in/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/the-bootstrap-file-and-load-order/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/guarding-on-woocommerce-and-failing-well/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/custom-tables-and-dbdelta-in-practice/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/options-transients-and-upgrade-routines/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/queries-indexes-and-multisite/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/admin-menus-screens-and-capability-gates/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/settings-registration-and-sanitisation/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/ajax-endpoints-nonces-and-screen-assets/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/shortcodes-templates-and-overrides/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/rest-routes-for-couriers-and-trackers/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/conditional-assets-and-the-frontend-budget/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/nonces-capabilities-and-the-real-difference/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/escaping-across-a-template-boundary/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/internationalisation-from-pot-to-plurals/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/versioning-upgrades-and-readme-txt/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/the-wordpress-org-submission-and-svn/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sifero-courier-timeline-plugin/support-deprecation-and-the-long-tail/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/installing-go-and-the-toolchain/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/packages-modules-and-project-layout/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/a-first-program-you-actually-understand/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/structs-methods-and-embedding/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/interfaces-and-who-should-define-them/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/errors-as-values-not-exceptions/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/goroutines-and-the-scheduler/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/channels-select-and-pipelines/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/context-cancellation-and-the-race-detector/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/handlers-and-the-standard-library-router/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/middleware-timeouts-and-graceful-shutdown/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/json-encoding-and-api-shape/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/database-sql-and-connection-pools/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/transactions-and-repository-shape/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/migrations-and-schema-ownership/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/table-tests-and-benchmarks/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/profiling-with-pprof/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/go-for-backend-services/logging-config-and-containers/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/values-types-and-coercion/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/scope-hoisting-and-the-temporal-dead-zone/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/the-event-loop-and-why-order-surprises-you/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/arrays-and-the-methods-that-matter/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/objects-map-and-set/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/destructuring-spread-iterators-and-generators/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/function-forms-and-this/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/closures-and-private-state/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/es-modules-npm-and-dependency-hygiene/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/callbacks-to-promises/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/async-await-and-error-propagation/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/cancellation-timeouts-and-fetch/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/structural-typing-and-narrowing/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/generics-and-utility-types/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/tsconfig-strictness-and-migration/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/the-dom-without-a-framework/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/state-rendering-and-events/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/javascript-and-typescript-from-script-to-application/testing-bundling-and-deploying/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/installing-php-and-the-built-in-server/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/the-request-lifecycle-and-where-code-runs/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/composer-autoloading-and-project-layout/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/scalar-types-and-strict-types/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/arrays-strings-and-the-standard-library/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/enums-readonly-and-match/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/signatures-defaults-and-named-arguments/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/interfaces-traits-and-visibility/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/psr-4-autoloading-and-dependency-direction/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/error-levels-and-what-php-reports/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/exceptions-custom-hierarchies-and-finally/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/streams-files-and-closing-resources/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/phpunit-from-zero/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/test-doubles-and-testing-what-matters/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/phpstan-levels-and-ci/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/pdo-prepared-statements-and-transactions/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/mapping-rows-to-objects/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/modern-php-from-syntax-to-services/outbound-http-and-a-runnable-service/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/installing-python-and-virtual-environments/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/running-a-file-and-using-the-repl/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/reading-a-traceback-without-panicking/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/numbers-strings-and-why-types-matter/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/lists-tuples-and-dictionaries/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/loops-decisions-and-early-exit/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/defining-functions-and-arguments/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/scope-lifetime-and-mutable-defaults/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/modules-packages-and-project-layout/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/classes-attributes-and-methods/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/dataclasses-and-value-objects/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/exceptions-and-context-managers/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/writing-your-first-pytest-suite/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/test-design-that-catches-real-bugs/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/type-annotations-and-a-checker-in-ci/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/threads-processes-and-the-gil/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/asyncio-and-async-http/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/python-from-first-script-to-service/packaging-a-service-with-pinned-dependencies/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/tables-rows-and-keys/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/normalisation-without-dogma/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/constraints-are-the-only-real-validation/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/select-where-and-the-order-of-evaluation/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/joins-and-what-each-one-actually-returns/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/aggregation-grouping-and-window-functions/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/insert-update-delete-and-returning/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/transactions-and-what-commit-really-means/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/isolation-levels-locking-and-deadlocks/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/how-a-b-tree-index-works/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/composite-indexes-and-column-order/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/reading-an-explain-plan/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/migrations-as-versioned-scripts/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/adding-and-dropping-columns-safely/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/backfilling-large-tables/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/backups-that-actually-restore/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/monitoring-the-counters-that-matter/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/sql-and-relational-database-design/connection-pooling-and-capacity/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/hpos-and-where-order-data-lives-now/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/the-crud-layer-and-why-you-must-use-it/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/the-request-path-from-cart-to-order/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/product-types-and-the-product-object/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/custom-product-data-and-the-admin-ui/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/pricing-hooks-tax-and-rounding/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/the-cart-object-and-sessions/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/cart-fees-totals-and-calculations/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/checkout-fields-and-the-blocks-checkout/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/the-order-lifecycle-and-status-transitions/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/custom-order-statuses/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/transactional-email-and-admin-order-screens/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/payment-gateway-integration/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/payment-webhooks-and-idempotency/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/shipping-methods-and-zones/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/custom-rest-endpoints-for-your-extension/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/settings-capabilities-and-licensing/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/woocommerce-extension-development/automated-tests-and-release/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/what-a-block-theme-actually-is/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/theme-json-as-the-source-of-tokens/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/presets-and-style-variations/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/the-block-template-hierarchy/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/template-parts-and-the-site-editor/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/patterns-and-synced-patterns/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/block-json-and-registration/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/attributes-edit-and-save/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/block-supports-and-the-editor-ui/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/server-rendered-blocks/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/the-interactivity-api-directives-and-state/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/progressive-enhancement-for-blocks/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/typography-and-spacing-scales/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/colour-palettes-and-contrast/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/per-block-css-and-responsive-visibility/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/accessibility-in-block-themes/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/performance-and-asset-budgets/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-block-themes-and-fse/testing-and-distributing-a-theme/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/building-a-benchmark-that-repeats/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/query-logging-and-profiling/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/lab-data-versus-field-data/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/query-budgets-and-the-queries-that-matter/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/the-options-table-and-autoload/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/postmeta-custom-tables-and-indexes/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/the-object-cache-and-what-it-holds/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/page-caching-and-what-breaks/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/transients-keys-and-invalidation/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/core-web-vitals-from-field-data/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/image-pipelines-and-responsive-markup/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/fonts-css-and-javascript-budgets/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/php-workers-opcache-and-autoloading/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/cron-queues-and-background-work/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/redis-sizing-and-cdn-behaviour/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/load-testing-a-wordpress-site/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/cache-stampedes-and-thundering-herds/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-performance-and-scaling/graceful-degradation-and-capacity/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/anatomy-of-a-wordpress-plugin/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/the-request-lifecycle-your-code-runs-inside/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/activation-deactivation-and-uninstall/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/actions-filters-and-priority/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/options-transients-and-what-belongs-where/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/custom-tables-and-wpdb/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/the-settings-api/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/admin-menus-screens-and-notices/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/capabilities-nonces-and-screen-conditional-assets/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/shortcodes-and-when-not-to-use-them/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/registering-blocks-in-php/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/rest-routes-and-permissions/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/sanitising-input-and-escaping-output/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/internationalisation-and-coding-standards/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/automated-testing-for-plugins/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/versioning-and-readme-txt/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/the-wordpress-org-submission-checklist/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-plugin-development/updates-support-and-deprecation/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/trust-boundaries-in-a-wordpress-site/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/what-an-attacker-controls/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/ranking-findings-by-what-is-worth-protecting/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/validation-sanitisation-and-escaping/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/escaping-in-context/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/file-uploads-done-safely/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/capabilities-and-map-meta-cap/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/nonces-prove-intent-not-permission/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/rest-permissions-and-object-level-checks/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/prepared-statements-and-their-limits/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/dynamic-sql-identifiers-and-order-by/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/file-inclusion-deserialisation-and-eval/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/configuration-file-permissions-and-headers/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/updates-least-privilege-and-secrets/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/logging-that-tells-you-something/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/detecting-compromise/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/containment-and-recovery/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://wpsifero.com/courses/wordpress-security-and-hardening/the-post-mortem-that-changes-something/</loc>
    <lastmod>2026-10-16T09:00:00+00:00</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
</urlset>
