WordPress.com sites answer the feed with a browser check, and the feed fails for hours #317
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Pelgrane Press's feed (https://pelgranepress.com/feed/) fails with HTTP 403 Forbidden on most checks: 8 of the checks logged since 2026-10-19 23:48. The site is on WordPress.com (Automattic's CDN, server-timing a8c-cdn), which answers /feed/, /feed/atom/ and ?feed=rss2 from Tower with "Checking your browser...", a JavaScript challenge (/__challenge/probes.js), whatever the User-Agent; curl from Tower gets the same. The publisher has been asked and has not changed anything.
The same posts are in WordPress.com's public API, which the check does not cover: https://public-api.wordpress.com/wp/v2/sites/pelgranepress.com/posts answers 200, each post's guid the same as the feed's (https://pelgranepress.com/?p=), so items read from it are the ones ipx already has.
Fix: when a feed answers 403 with that challenge, read the posts from the API instead, and parse WordPress's posts JSON as a feed.
Fixed in
4af1236: fetch recognises the browser check (403 with the /__challenge/ script) and reads the site's posts from public-api.wordpress.com/wp/v2/sites//posts instead; parse reads that JSON as a feed, with the feed's own guids, so nothing is duplicated. Verified on Pelgrane Press: /feed/ still answers 403 from Tower, and a forced check succeeded with the same 23 items and no error. Deployed in ipx and ipx-directory. Limit: the API's default ten posts.