Website is not following Cloudflare's Pagerules

It doesn't matter. Cache-Control: max-age=... header takes priority over Expires header for HTTP/1.1 clients. See MDN's Web/HTTP/Headers/Expires.

Quoting from RFC2616:

If a response includes both an Expires header and a max-age directive, the max-age directive overrides the Expires header, even if the Expires header is more restrictive

Furthermore, Cloudflare will only modify Expires or Cache-Control if:

  • The value of the Cache-Control header from the origin web server is less than the Browser Cache TTL Cloudflare setting, or
  • the origin web server does not send a Cache-Control or an Expires header.

It is possible that your webserver sends different Cache-Control and Expires header values in the first place.