Please check out the github repository, and the directions below.
The main idea is to have the raspberry pi pico w:
connect to the internet
synchronize the real-time clock
start taking magnetometer measurements in one thread
serve up the webpage in the other thread
Here are some references:
IEEE Article - David Schneider
I also created code that is just for a simple webserver if you are learning about the pico w for the first time. Hackaday Web Server
Wow - got featured on hackaday.com - thanks! Here is another project that was mentioned in the comments - check it out!
Remote Water Consumption Display - John Schuch
Also - you don't need both magnetometers - I used the old ST one because I had it. The ST one is discontinued, so I also wrote up code for the currently available one that you can get from adafruit.
Bit "funny" - I solved this same problem with ESPHome and the HMC5883L - essentially the same solution without the need to code. It's a solid way to measure, but I'm a bit skeptical of it accurately "counting" all of the edges when consuming 30GPM (113.56 L/Min) ~ 28.8 counts/second. This will be 34.6ms per pulse - 17.3ms polling to catch the lower transition. If your hitting 100hz (10ms) - it should be fine by almost 2x, but I suspect the field will not reach the same peaks at that rate. We'll see when it's time to run the sprinklers.