Earth Notes: On Website Technicals (2026-10)

Updated 2026-11-14.
Tech updates: Export Margin, RemoveMacAI, gen chart, reserve, AlDente simplified, 10W, DHW tweaks, bad bots, ISP change.
Observing the flip over into net consumption this month...

: New ISP

For a number of reasons, after many many years, I will be carefully changing ISPs, with parallel running for a while. I knew the founder/MD of the old ISP, and service had been good, but the old ISP has been absorbed by a bigger one and is ramping up charges, etc, etc.

Given that this house has limited remaining life, and the old FTTC service (80/20Mbps nominal) is adequate, I am reluctant to commit Openreach to installing new infrastructure, but my hand is being forced.

The new ISP has sent me a Technicolor DGA0122NLK to become my new router, and I should find out its capabilities from WiFi (does it do any, given no external antennae) through to ability to route public static IPv4 and IPv6 subnets, and DHCP and NAT for the rest...

Apparently:

  • Dual-band WiFi (2.4Ghz and 5GHz), multiple SSIDs.
  • IPv4 and IPv6
  • NAT

: DHW Start Tweak

I have moved the DHW morning start slightly earlier again to for when the grid is even quieter.

For I moved it to , thus into slightly lower demand.

: PV Reconnection

~Z the 40Wp and ~2Wp amorphous panels were verified to be generating and reconnected to the off-grid PWM controller input.

27.2 Update Stall

Because the normal macOS software updated stalled repeatedly at 6.21GB, I ran instead:

softwareupdate --fetch-full-installer --full-installer-version 27.2

Without telling it the version explicitly, a seemingly random Tahoe version came down the wire instead, which was a waste of a few GB...

: RSS Bad Bots

A further small experimental tightening of the screw for /rss/.*rss requests: any bad bot (anywhere in the list of greedy pollers) will get a 429 during skipHours.

% egrep ' /rss/.[^ ]*rss .*TPA' /var/log/apache2/other_vhosts_access.log | tail
[22/Oct/2026:09:51:15 +0000] "GET /rss/podcast.rss HTTP/1.1" 304 4941 "-" "TPA/1.0.0"
[22/Oct/2026:11:58:07 +0000] "GET /rss/podcast.rss HTTP/1.1" 304 4941 "-" "TPA/1.0.0"
[22/Oct/2026:14:18:14 +0000] "GET /rss/podcast.rss HTTP/1.1" 304 4941 "-" "TPA/1.0.0"
[22/Oct/2026:16:12:41 +0000] "GET /rss/podcast.rss HTTP/1.1" 304 4941 "-" "TPA/1.0.0"
[22/Oct/2026:17:57:59 +0000] "GET /rss/podcast.rss HTTP/1.1" 304 4941 "-" "TPA/1.0.0"
[22/Oct/2026:20:06:49 +0000] "GET /rss/podcast.rss HTTP/1.1" 304 4941 "-" "TPA/1.0.0"
[22/Oct/2026:22:35:39 +0000] "GET /rss/podcast.rss HTTP/1.1" 429 5586 "-" "TPA/1.0.0"
[23/Oct/2026:00:01:01 +0000] "GET /rss/podcast.rss HTTP/1.1" 429 5586 "-" "TPA/1.0.0"
[23/Oct/2026:01:52:26 +0000] "GET /rss/podcast.rss HTTP/1.1" 429 5586 "-" "TPA/1.0.0"
[23/Oct/2026:03:56:28 +0000] "GET /rss/podcast.rss HTTP/1.1" 429 5586 "-" "TPA/1.0.0"

There has been a slight improvement (halving polling overnight) for one:

% egrep ' /rss/.[^ ]*rss .*MuckRackFeedParser' /var/log/apache2/other_vhosts_access.log | tail
[22/Oct/2026:19:33:43 +0000] "GET /rss/podcast.rss HTTP/1.1" 304 4941 "-" "MuckRackFeedParser/1.0 +https://muckrack.com"
[22/Oct/2026:20:27:07 +0000] "GET /rss/podcast.rss HTTP/1.1" 304 4941 "-" "MuckRackFeedParser/1.0 +https://muckrack.com"
[22/Oct/2026:21:22:20 +0000] "GET /rss/podcast.rss HTTP/1.1" 304 4941 "-" "MuckRackFeedParser/1.0 +https://muckrack.com"
[22/Oct/2026:22:16:48 +0000] "GET /rss/podcast.rss HTTP/1.1" 429 5418 "-" "MuckRackFeedParser/1.0 +https://muckrack.com"
[23/Oct/2026:00:04:57 +0000] "GET /rss/podcast.rss HTTP/1.1" 429 5418 "-" "MuckRackFeedParser/1.0 +https://muckrack.com"
[23/Oct/2026:01:57:50 +0000] "GET /rss/podcast.rss HTTP/1.1" 429 5418 "-" "MuckRackFeedParser/1.0 +https://muckrack.com"
[23/Oct/2026:03:57:17 +0000] "GET /rss/podcast.rss HTTP/1.1" 429 5418 "-" "MuckRackFeedParser/1.0 +https://muckrack.com"
[23/Oct/2026:05:58:22 +0000] "GET /rss/podcast.rss HTTP/1.1" 429 5418 "-" "MuckRackFeedParser/1.0 +https://muckrack.com"
[23/Oct/2026:08:10:22 +0000] "GET /rss/podcast.rss HTTP/1.1" 304 4941 "-" "MuckRackFeedParser/1.0 +https://muckrack.com"
[23/Oct/2026:09:03:30 +0000] "GET /rss/podcast.rss HTTP/1.1" 304 4941 "-" "MuckRackFeedParser/1.0 +https://muckrack.com"

: FreshRSS

I reported:

Do you now have the retry interval capped at 1h maximum? If so that is way too short, eg for monthly podcast episodes. I suggest a cap of no less than a day, which won't hideously break things even for very badly configured feeds.

For example there is a FreshRSS/1.30.0 instance currently polling me hourly on a feed that I have deliberately kept unchanged for several months as part of a larger attempt to reduce compute/bandwidth/carbon waste. The normal cadence of that feed is roughly monthly, but it doesn't matter at all for that feed or my related ones if someone waits a day or three to hear an update. The Cache-Control (and Retry-After) headers are set to many hours to steer polls to the middle of the day, and skipHours is set to request avoid polling my off-grid powered server overnight in part since I only update feeds during the day.

Very quickly someone came back to me to say the cap is 48h, which is good.

The response headers currently being seen by that client will be:

  HTTP/1.1 429 Too Many Requests
  Date: Sun, 25 Oct 2026 10:35:27 GMT
  Server: Apache
  Retry-After: 3420
  Vary: Accept-Encoding,Referer
  Upgrade: h2
  Connection: Upgrade, close
  Last-Modified: Wed, 04 Mar 2026 10:09:21 GMT
  Accept-Ranges: bytes
  Content-Length: 564
  X-Frame-Options: DENY
  Content-Type: text/html
  Content-Encoding: gzip

I am impressed: the devs have been poking around in the codebase today (Sunday) and have possibly turned up something that might cause this (when proxied). Anyhow, significant debugging effort in response to an Internet rando (me) on a weekend is astonishing, thank you!

: Podbean

The previously voracious Podbean seems far more restrained, at least for now, polling once every few days, though not with If-Modified-Since it seems!

www.earth.org.uk:443 51.81.X.X - [20/Oct/2026:14:28:59 +0000] "GET /rss/podcast.rss HTTP/2.0" 200 15540 "-" "Podbean/FeedUpdate 2.1"
www.earth.org.uk:443 51.81.X.X - [23/Oct/2026:14:28:56 +0000] "GET /rss/podcast.rss HTTP/2.0" 200 15540 "-" "Podbean/FeedUpdate 2.1"

It will be interesting to see if previous outrageous polling rates resume once there is an update on the feed.

: Bigger Bad Bot

I am watching in my logs a very persistent bot pulling about 1 page per second, claiming to be Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36, which when blocked at a firewall comes in from a new address within seconds, often in a different country, always apparently from a hosting company.

This is well-resourced content theft by the smell of it.

: RSS Bad Bots

# Greedy podcast feed pullers: keys are MD5 hashed User-Agent.
# A non-empty txt map lookup of the %{md5:%{HTTP:User-Agent}} means bad!
# Built: 2026-10-19T11:04+00:00 (UTC)
# MAXHITSPERUAPERDAY: 10
# MAXUAS: 25
#----------------
# request-count User-Agent
# MD5hash approx-hits-per-day
#----------------
# 202 Spotify/1.0
4582d9bdbcef42af27d89da91c6eb804 202
# 142 Google-Podcast
8dea568b39db0451edd6b30f29238eaf 142
# 59 iTMS
97f76eb7e02c5ff923e1198ff1c288cd 59
# 47 Amazon Music Podc
d69be2563c9f1929edf2906d41809aea 47
# 46 atomstr/0.9.13
fed9820e6b1b919d848e718e0bf49e41 46
# 37 axios/1.6.8
b534882134248c9a5957e0c011a37037 37
# 35 Mozilla/5.0 (Maci
dbb1533fc27ea415389d2e9c70c8e051 35
# 35 Mozilla/5.0 Apple
fac378ac3b3d3886829021b3309d4fd1 35
# 31 MuckRackFeedParse
62b46fff1cf5f8af7b4b37a2f783b57a 31
# 27 Mozilla/5.0 (Wind
6b9a00393fb1607b0ada13520f814ab5 27
# 20 itms
2e7f714a929b3f52f3c094710819a99a 20
# 11 TPA/1.0.0
86e71fcf5ba78d28f18270f7f83256bb 11

: DHW Pasteurisation Tweak

In script/heat-battery-target.sh I have just pushed out the maximum interval between pasteurisation runs, eg from the grid even in the absence of 'green' (low-carbon-intensity) hours, from 30 days to 33 days to slightly reduce demand, avoid any multiple of 7 days, and still keep such last-resort runs to roughly monthly.

: Missing 10W

When the router is off-grid (~10W) and the MBA shows that it is getting ~20W, the solar controller shows ~40W being drawn, ie ~10W goes missing.

I have checked/swapped/measured various points in the system, and do not seem to be losing more than ~1–2W in the wiring to upstairs, and nothing obvious in the 12V switched cigar-lighter circuit at my desk. Even swapping out the final USB-C cable for a fatter one seems nugatory. Maybe the 12V car charger really is turning ~8W into heat, though it does not seem hot enough for that...

I will recheck my wiring run at leisure to make sure that resistance has been minimised by use of cores etc.

: AlDente Tweak

Apparently the scheduler bug I reported 3 years ago is about to be fixed.

Since I am trying to keep my MBA entirely off-grid while at home, though may not succeed as the days get shorter, yesterday and today I simplified my AlDente setup by disabling half the schedule rules (leaving 3). Now all that happens is being forced into lowpowermode as peak time starts (but not out afterwards, so leaving it low), and halving the charge limit during peak time to deter charging.

If I want out of lowpowermode I will adjust it manually; easy.

Seeing AlDente-reported MBA power consumption under 3W in light evening use; down to ~2.3W at times.

Importing

This week we started to import from the grid overall:

At 16WW over 7 days from 2026-10-05 to 2026-10-12: electricity import 1.1kWh/d (net 0.3kWh/d).
At 16WW over 14 days from 2026-09-28 to 2026-10-12: electricity import 0.9kWh/d (net -0.5kWh/d).
At 16WW over 28 days from 2026-09-14 to 2026-10-12: electricity import 0.8kWh/d (net -1.5kWh/d).
At 16WW over 371 days from 2025-10-06 to 2026-10-12: electricity import 3.1kWh/d (net -2.3kWh/d).

Last October had net electricity emissions of 11kgCO2e:

Net electricity utility energy kgCO2e over last 12 calendar months (before ): -64

Net kgCO2e for each of the last 12 full calendar months: 11 27 42 52 28 -2 -22 -40 -52 -60 -40 -8

Possible HTML output micro-optimisation

Looking at minified HTML output it seems that almost any paragraph close at EOL (and preceding and trailing whitespace) could be safely stripped, such as with a *</p> *$ regex. An exception is a paragraph wrapped in <ins>.

: Battery Reserve

Every time I have tried Enphase ToU tariff stuff it has been very broken, but I would like another go, in case it still exists and is better now!

My aim is to avoid putting on the grid in winter in the peak demand window our typical cooking load of 1kWh+ between ~ and ~.

I think that to achieve this, all year or from October to February, during the day accumulate a reserve of ~xkWh of battery charge. If the battery has >xkWh stored, or after (to midnight nominally), then the battery can cover loads automatically in the normal way. x is somewhere between 1 and 3; mid-winter generation is ~1.5kWh/d.

The Enphase response () was:

The AC Batteries can only discharge to power your home; they cannot intentionally export stored energy back to the grid. This feature is only available on IQ Battery 5P. We can only enable grid charging to charge the batteries during off-peak hours.

If you want true ToU management with grid export capabilities, you would need to upgrade your system to an IQ Battery 5P.

: discharge to grid not required

I am not asking to export to the grid on demand.

To repeat:

What I'd like to have is that all year or from October to Feb, during the day accumulate a reserve of ~1kWh of battery charge to allow to discharge between 5pm and 6pm local time. If the battery has > 1kWh stored, or after 5pm, it can cover loads.

Can that be done please?

: Enphase firmware says no

Unfortunately, this isn't possible with your AC batteries; they can't be set up through the settings. If they are sufficiently charged by 5 PM, they will discharge to cover the home's energy load.

: fixed winter overnight charge?

With my equipment is it possible for it to be set up to charge up to AT MOST (say) 25% charge LEVEL between and between October and February inclusive?

That is, if the battery was already at or above the specified level it would not attempt to charge?

I don’t have a ToU tariff but I am interested in adjusting my grid demand profile.

A second best would be to have the system charge for an hour or two from between October and February inclusive.

This would waste some energy ~10%?) being cycled through the battery, but would significantly reshape our morning demand curve, silently.

A more extreme load profile reshape might be to fully charge the battery (~6kWh) from November to February inclusive by ~ when demand is starting to ramp, which implies starting at ~ (ie ~5h for a full charge. Running loads such as the DHW morning 'comfort' heat-up or pasteurisation, and any dishwasher overnight wash, while the batteries charge (or at least may be set not to discharge) would save for later the battery capacity that these loads would otherwise have used (~0.5kWh, ~0.7kWh). It would then be possible to serve most of a typical winter day's total ~10kWh consumption from battery rather than grid. The battery charge probably would not last into the early evening cooking peak, especially on the coldest days, but might help, with any PV generation during the day a bonus. The battery round-trip losses would inflate demand a bit, but the demand curve would be a lot kinder to the DNO at least.

There is typically a little GB demand peak at ~, probably from Economy 7, so starting around , not on the half-hour boundary, might be better. Letting the batteries start to discharge for the SSES morning peak of might conserve a little charge for later in the day. Moving the DHW early run back to finish before would help avoid contributing to the morning demand rise slew. The present Eddi Grid Limit of 8A should probably rise to ~10A to help ensure that a pasteurisation cycle, now competing with battery charging, can complete within any window of low carbon intensity in one session.

Inspecting mean all-days consumption data for , hourly net grid import W (column 4) from up to end of peak:

08:00,31,NaN,718,NaN,271
09:00,31,NaN,482,NaN,290
10:00,31,NaN,407,NaN,349
11:00,31,NaN,355,NaN,351
12:00,31,NaN,205,NaN,205
13:00,31,NaN,199,NaN,194
14:00,31,NaN,244,NaN,232
15:00,31,NaN,309,NaN,238
16:00,31,NaN,378,NaN,354
17:00,31,NaN,997,NaN,655
18:00,31,NaN,397,NaN,185

yields cumulative net Wh consumption up to the end of each given hour:

08:00,718
09:00,1200
10:00,1607
11:00,1962
12:00,2167
13:00,2366
14:00,2610
15:00,2919
16:00,3297
17:00,4294
18:00,4691

Thus 6kWh of capacity released starting from onwards might cover net (of PV) consumption though the evening peak. The cut-over should be some minutes before to avoid 'herding' at the SSES and half-hourly pricing boundary. Avoiding the Economy 7 bump would be good, if possible.

: amended request

Having not yet had a response, and given the above thinking, I sent an email to set my Enphase system do the following:

  • During the months of November, December, January, February only
  • Set the battery to charge from grid (and not discharge to support loads) between and each morning, or as close as possible.

: bot

Trying to hurry this along ... the online Enphase AI chat bot this evening says:

This kind of seasonal, time-based charging schedule requires manual setup by Enphase Support — it's not something homeowners can configure directly in the app for your AC Battery system.

That connection was dropped after about 40 minutes, so I started a new one, which in passing said:

Seasonal timing: The schedule tool can't limit itself to November through February, so you'd need to disable or remove the schedule outside those months in the Enphase app.

I have spent ~2h waiting so far, with no available information on wait time, or if I am waiting for someone in the UK to answer, well out of hours...

Eventually the session got more and more broken and I tried switching browser (from Firefox to Chrome), and this time I get to see the number in the queue ahead of me. Which the AI agent claimed was not available...

Finally got through to a human at midnight after ~4.5h waiting!

I am having real difficulty getting support to understand that I do not want to discharge to the grid, and that I want to charge from the grid overnight as above. It used to be possible in some form, it just did not work well.

Infuriating

Enphase Agent

Sure! I am reviewing the details with my resources. Please allow me 4-5 minutes.

Enphase Agent

It seems you've been inactive for 4 minutes. Reply now or this session will end due to inactivity.

Better, just before 1am...

I have set the charge from the grid option in the backend.

By ~ no charging was yet happening. There will be follow-up by email, I am told.

The System -> Live Status page is working for the first time in months, and is showing a new 'Profile' gear wheel set to Self-Consumption.

Currently the system has been set by support to charge from until , not limited to Nov–Feb.

(It seems that timing granularity for grid charge is whole hours, which is slightly unfortunate from a 'herding' point of view.)

No charging is happening as of Z as I write.

: partial charge but overnight fight

The battery seems to have acquired a ~40% (~2.4kWh) charge by and stopped charging. (The 5 ACB units are at between 31% and 43% SoC at Z.)

Naturally, that coincided at least partly with an attempted pasteurisation in a very brief 'super-green' grid window from about , which meant that the pasteurisation attempt got only ~2kWh and did not complete.

I am bumping the Eddi grid limit to 12A (from 8A) to reduce that grid boost pasteurisation failure risk.

Just before I am in chat to see if we can resolve at least why charging stopped at . The Enphase AI bot has observed:

  • Charging started: around , with the state of charge rising from 0% to 45% by .
  • Charging stopped: at . Grid charge energy dropped to near zero, and the state of charge was 44% at that point.
  • Discharge began: at , as the batteries started supplying the home. The state of charge then fell to 37% by .

Did not get through on chat before I had to leave the house. Tried again at ~ and got to a human ~12:30. I am promised () an email back.

As of (and with ~2kWh of PV generation) there is still ~1.5kWh left in the battery, and more than half of peak time (cooking) consumption was covered from the battery. Hurrah!

: full charge and pasteurised!

20261112 myenergi Device Usage full pasteurisation and battery charge 20261112 myenergi Consumed full pasteurisation and battery charge
20261112 heatBatTarget 20261112 Enphase view full pasteurisation and battery charge

By goodness, I think we have it! Full Enphase ACB charge (6.2kWh) and DHW pasteurisation cycle (~3.1kWh/~3h20), with the heat pump providing space heat from the grid after , mainly kept to under 2kWh to reduce I^2R losses!

Enphase support notes in response to my email asking why in this case the transitions where not exactly on the hour (which is good):

So, while the schedule is configured for 12:00 AM to 8:00 AM, it is normal to see charging begin slightly after midnight and the battery start supporting loads a little before 8:00 AM. As you noted, this can help avoid abrupt transitions and generally results in smoother operation.

(In Enphase Enlighten the System -> Live Status has stopped working again.)

Today has been sunny enough (3.7kWh of PV generation by Z) that the battery refilled, and PV spilled a little to grid (0.4kWh) and Themino (0.4kWh)! One way or another total consumption will go up a bit from battery losses, and self-consumption will drop a bit from effects such as this.

(The following day was similar with a bit more spilled to grid and Thermino by late afternoon: possibly switching to discharge before would have balanced things a bit better.)

By the end of typical GB peak demand at the battery was still nearly 75% full. Over half of demand during cooking had been covered –, limiting demand to ~1kW at most. At midnight the battery was over one third full still.

It is possible that a slightly better demand profile would come from charging –07:00 sinking slightly deeper into the grid demand overnight dip, but that would require carrying an extra ~900Wh demand from , which might endanger mitigating peak-time loads around on cold days (high space heat demand) and little PV generation.

: manual support required

I had asked support if this grid-charge setting could be set to be seasonal as used to be the case, but:

Unfortunately, the current battery profile and tariff configuration do not support automatically enabling "Charge from Grid" only during specific months of the year (for example, November through February) and then disabling it for the remainder of the year.

The charging schedules and battery profiles can be configured with time-of-day settings, but there is currently no seasonal scheduler that automatically switches the Charge from Grid setting on and off based on the month.

So I shall have to set myself diary entries and contact support for manual adjustments in early November and late February, aiming for ~90 days (ie one quarter) centred on the winter solstice. That would be more like 6th November to 4th Feb, so maybe Nov/Dec/Jan rounded?

: PV generation chart

Added today, charts for gen vs net grid flow.

bucketed
PV generation (shown as negative) vs net grid flows (negative means export) for with very high generation; export peak was kept away from solar noon.

: removeMacAI

I do not want to let 12GB be absorbed by features that I do not want to use. (The 12GB is visible when examining About this Mac ... Storage ... macOS.)

% df -h .
Filesystem        Size    Used   Avail Capacity iused ifree %iused  Mounted on
/dev/disk3s5     926Gi   737Gi   164Gi    82%    3.6M  1.7G    0%   /System/Volumes/Data
% brew install omlahore/tap/removemacai
% removemacai
% df -h .
Filesystem        Size    Used   Avail Capacity iused ifree %iused  Mounted on
/dev/disk3s5     926Gi   736Gi   165Gi    82%    3.6M  1.7G    0%   /System/Volumes/Data
% removemacai status
RemoveMacAI 0.2.5  ·  macOS 27.0

Features
  Siri and Siri AI                        off (locked)
  ChatGPT and other AI extensions         off (locked)
  Writing Tools                           off (locked)
  Genmoji                                 off (locked)
  Image Playground                        off (locked)
  Mail summaries and smart replies        off (locked)
  Notification summaries                  off (locked)
  Messages summaries                      off (locked)
  Safari summaries                        off (locked)
  Notes transcription summaries           off (locked)
  Inline text predictions                 off (locked)
  Spatial Photos                          off (locked)
  Photos Clean Up                         off (locked)
  Xcode predictive code completion        off (locked)

Models on disk
  Apple Intelligence foundation models    none
  Image and Genmoji models                none
  Spatial Photos models                   none
  Photos Clean Up models                  none
  Xcode code completion models            none
  Total                                   0 MB
  macOS removes deleted model files itself, so System Settings can count them for a while.

Apple Intelligence is off. Undo with: removemacai revert

: going...

% df -h .
Filesystem      Size    Used   Avail Capacity iused ifree %iused  Mounted on
/dev/disk3s5   926Gi   728Gi   172Gi    81%    3.6M  1.8G    0%   /System/Volumes/Data

: Variable Eddi Export Margin

It is (now) possible to vary the Eddi's Export Margin via the app, ie remotely, but MyEnergi will not even informally publish that part of the API for the rest of us.

If I had the facility, rather than the current fixed 300W, I think I would lower the margin to 100W, or as low as reasonably possible (maybe 50W), to play nicely with the Enphase battery:

  1. During a pasteurisation cycle, to maximise the chance of it completing.
  2. When the grid is super-green (or pricing negative), ie has an abundance of low-carbon generation.
  3. When the heat battery is cold and the grid carbon intensity not high/red.

I might also raise the Export Margin above 300W when the heat battery is nearly full to aim to just fill it by peak time.

Google-Podcast reported

I filled in the Google Search Central Overcrawling Report form for Google-Podcast, for its ~140 polls per day of an RSS feed that is unchanged since January, and where an initial 429 response is followed by another five requests that each also receive 429.

Completely ignores 429 status and Retry-After and repolls *immediately* 5 times after the first 429. The RSS podcast feed it polls has not changed since January. This is an absurd waste of energy and carbon budget.
www.earth.org.uk:443 173.194.94.68 - - [05/Oct/2026:19:07:03 +0000] "HEAD /rss/podcast.rss HTTP/1.1" 429 5204 "-" "Google-Podcast"
www.earth.org.uk:443 173.194.94.68 - - [05/Oct/2026:19:07:04 +0000] "GET /rss/podcast.rss HTTP/1.1" 429 5768 "-" "Google-Podcast"
www.earth.org.uk:443 173.194.94.68 - - [05/Oct/2026:19:07:10 +0000] "HEAD /rss/podcast.rss HTTP/1.1" 429 5204 "-" "Google-Podcast"
www.earth.org.uk:443 173.194.94.68 - - [05/Oct/2026:19:07:10 +0000] "GET /rss/podcast.rss HTTP/1.1" 429 5768 "-" "Google-Podcast"
www.earth.org.uk:443 173.194.94.68 - - [05/Oct/2026:19:07:21 +0000] "HEAD /rss/podcast.rss HTTP/1.1" 429 5204 "-" "Google-Podcast"
www.earth.org.uk:443 173.194.94.68 - - [05/Oct/2026:19:07:21 +0000] "GET /rss/podcast.rss HTTP/1.1" 429 5768 "-" "Google-Podcast"

See also Googlebot Still Rogue...

References

(Count: 3)