|
| 1 | +# External Link Repair TODO |
| 2 | + |
| 3 | +- Status as of 2026-04-06: both legacy taxonomy migrations are complete, and the generated tag pages have been cleaned up. |
| 4 | +- Completed: all 264 `links-for-*` posts now use normalized Jekyll `tags:` front matter, and their inline parenthesized Delicious tag links now point to local tag pages. |
| 5 | +- Completed: all 1,145 posts that previously used `categories:` now use `tags:` instead, and post footers now link to local tag pages rather than empty category URLs. |
| 6 | +- Completed: tag archives were regenerated from the full post set. There are now 1,237 tag pages plus the tag index at `/tags/`. |
| 7 | +- Completed: 735 redundant duplicate tag-page files named `* 2.md` were removed after verification that they were byte-for-byte duplicates of their corresponding canonical tag pages. |
| 8 | +- Completed: proper-noun tag pages now use display titles with human-readable capitalisation, while preserving the original `tag` slug and `permalink`. |
| 9 | +- Reference files: [link_check_report.json](/Users/martin.stabe/Documents/martinstabe.github.io/link_check_report.json), [_layouts/tag.html](/Users/martin.stabe/Documents/martinstabe.github.io/_layouts/tag.html), [_layouts/post.html](/Users/martin.stabe/Documents/martinstabe.github.io/_layouts/post.html), [tags/index.html](/Users/martin.stabe/Documents/martinstabe.github.io/tags/index.html). |
| 10 | + |
| 11 | +## Completed Migration |
| 12 | + |
| 13 | +- [x] Remove dependency on `del.icio.us/martinstabe/*` and `delicious.com/martinstabe/*` tag URLs inside `links-for-*` posts. |
| 14 | +- [x] Preserve the existing inline `(tags: ...)` blocks while retargeting them to local Jekyll tag pages. |
| 15 | +- [x] Normalize imported tag slugs by lowercasing, converting underscores to hyphens, and fixing obvious typos. |
| 16 | +- [x] Replace the old category-based footer links with tag-based footer links in [_layouts/post.html](/Users/martin.stabe/Documents/martinstabe.github.io/_layouts/post.html). |
| 17 | +- [x] Remove `categories:` front matter from the post archive and merge those values into normalized `tags:`. |
| 18 | +- [x] Remove redundant duplicate generated tag pages after confirming they duplicated the canonical tag pages exactly. |
| 19 | +- [x] Add display titles for proper-noun tag pages and update [_layouts/tag.html](/Users/martin.stabe/Documents/martinstabe.github.io/_layouts/tag.html) to render those titles instead of raw slugs. |
| 20 | + |
| 21 | +## Refreshed Audit Summary |
| 22 | + |
| 23 | +- The current prioritized audit in [link_check_report.json](/Users/martin.stabe/Documents/martinstabe.github.io/link_check_report.json) checked 281 high-impact external URLs from the current migrated tree. |
| 24 | +- Results: 69 dead links, 128 redirects worth updating, and 45 manual-review responses. |
| 25 | +- The high-signal remaining work is now mostly ordinary stale external content, especially old FT project URLs, old self-links under `www.martinstabe.com`, legacy slides references, and a handful of domains that now 403, 404, timeout, or fail DNS resolution. |
| 26 | + |
| 27 | +## Highest Priority Remaining Fixes |
| 28 | + |
| 29 | +- [ ] Replace or remove broken legacy self-links under `http://www.martinstabe.com/blog/archives/...`. The refreshed audit found 20 distinct dead URLs on `www.martinstabe.com`, accounting for 63 occurrences in the prioritized set. |
| 30 | +- [ ] Review dead FT and FT-blog project links. The refreshed audit found repeated 404s for `blogs.ft.com`, `www.ft.com/firemap`, and old FT interactive/article URLs. |
| 31 | +- [ ] Review dead slide-deck links separately. The refreshed audit still surfaces slide references such as dead Knight Lab, Tumblr, BBC, Carto, Huffington Post Pollster, and Zeit URLs. |
| 32 | +- [ ] Remove or replace OpenCalais entity links in [_posts/2008-09-22-planning-applications-hyperlocal-news.md](/Users/martin.stabe/Documents/martinstabe.github.io/_posts/2008-09-22-planning-applications-hyperlocal-news.md). These still redirect to Thomson Reuters and no longer point to meaningful entity pages. |
| 33 | + |
| 34 | +## Remaining Content Fixes |
| 35 | + |
| 36 | +- [ ] Replace or remove `http://www.martinstabe.com/blog/archives/2005/02/british_blogs_a.php` in 10 posts, including [_posts/2005-11-18-british-blogs-get-some-attention.md:34](/Users/martin.stabe/Documents/martinstabe.github.io/_posts/2005-11-18-british-blogs-get-some-attention.md#L34). |
| 37 | +- [ ] Replace or remove `http://www.delicious.com/martinstabe` in [_posts/2010-11-24-pimp-my-blog-blogging-reading-writin.md:41](/Users/martin.stabe/Documents/martinstabe.github.io/_posts/2010-11-24-pimp-my-blog-blogging-reading-writin.md#L41) and [links/index.md:6](/Users/martin.stabe/Documents/martinstabe.github.io/links/index.md#L6). |
| 38 | +- [ ] Replace or remove `https://bsky.app/profile/martinstabe.bsky.social` in [index.html:16](/Users/martin.stabe/Documents/martinstabe.github.io/index.html#L16) and [about/index.html:20](/Users/martin.stabe/Documents/martinstabe.github.io/about/index.html#L20). |
| 39 | +- [ ] Replace or remove `http://journalisted.com/martin-stabe` in [index.html:16](/Users/martin.stabe/Documents/martinstabe.github.io/index.html#L16). |
| 40 | +- [ ] Replace or remove `http://www.britishbaseball.org/page/show/286039-team-gb` in [about/index.html:18](/Users/martin.stabe/Documents/martinstabe.github.io/about/index.html#L18). |
| 41 | + |
| 42 | +## Redirects Worth Updating |
| 43 | + |
| 44 | +- [ ] Update `http://www.ft.com/interactive` to `https://www.ft.com/visual-and-data-journalism` across 38 occurrences. |
| 45 | +- [ ] Update `http://martinstabe.com/blog/?p=1348` to `http://www.martinstabe.com/blog/?p=1348` across 34 occurrences. |
| 46 | +- [ ] Update `http://seeyalaterallidata.wordpress.com/2013/03/07/data-journalism-at-the-bbc-interview-with-bella-hurrell/` to its `https://` URL across 20 occurrences. |
| 47 | +- [ ] Update `http://ig.ft.com/austerity-map/` to `https://ig.ft.com/austerity-map/` across 19 occurrences. |
| 48 | +- [ ] Update `http://www.ft.com/ig/features/baseline/greatest-tennis-players-of-all-time/` to `https://ig.ft.com/features/baseline/greatest-tennis-players-of-all-time/` across 16 occurrences. |
| 49 | +- [ ] Replace or remove OpenCalais `s.opencalais.com` and `d.opencalais.com` links that now redirect to Thomson Reuters. In the refreshed audit these still account for 13 redirecting URLs and 80 occurrences in the prioritized set. |
| 50 | +- [ ] Update the remaining obvious homepage/profile redirects on [about/index.html](/Users/martin.stabe/Documents/martinstabe.github.io/about/index.html), including FT, Governing, London Mets, and related profile links. |
| 51 | +- [ ] Decide whether to keep historical Twitter branding or update `twitter.com` profile/status links to `x.com` equivalents where redirects are now stable. |
| 52 | + |
| 53 | +## Manual Review |
| 54 | + |
| 55 | +- [ ] Review `www.ft.com` URLs returning 403 or DNS-style failures in the refreshed audit. These account for 8 prioritized URLs and 60 occurrences. |
| 56 | +- [ ] Review `elections.ft.com` URLs returning DNS-style failures in the refreshed audit. These account for 4 prioritized URLs and 29 occurrences. |
| 57 | +- [ ] Review `blogs.telegraph.co.uk` URLs returning DNS-style failures in the refreshed audit. |
| 58 | +- [ ] Review one-off timeout or service-failure domains such as `www.washingtonpost.com`, `api.stlouisfed.org`, `berlinwahlkarte2013.morgenpost.de`, and `datos.rtve.es`. |
| 59 | + |
| 60 | +## Follow-Up Audit |
| 61 | + |
| 62 | +- [ ] Re-run the prioritized link audit after the next batch of content fixes so [link_check_report.json](/Users/martin.stabe/Documents/martinstabe.github.io/link_check_report.json) reflects the updated state again. |
| 63 | +- [ ] If needed, run a broader audit focused just on `slides/` because that directory still contains a disproportionate share of stale external references. |
0 commit comments