Terence Eden. He has a beard and is smiling.

Terence Eden’s Blog

Theme Switcher:

Fixing "Date/time not in ISO 8601 format" in Google Search Console

· 300 words · Viewed ~205 times


Date/time not in ISO 8601 format in field 'datePublished' Items with this issue are invalid. Invalid items are not eligible for Google Search's rich results

I like using microdata within my HTML to provide semantic metadata. One of my pages had this scrap of code on it: <time itemprop="datePublished" itemscope datetime="2025-06-09T11:27:06+01:00">9 June 2025 11:27</time> The Google Search Console was throwing this error: I was fairly sure that was a valid ISO 8601 string. It certainly matched the description in the Google…

Is IPA furigana a bad idea?

· 7 comments · 300 words


The HTML5 Logo.

My name is Terence(/ˈtɛɹəns) Eden(ˈiːdən/). Modern HTML allows the user to use <ruby> to annotate text. This is usually used for furigana - which allows pronunciation to be placed above words. For example: "シン・ゴジラ (Shin Godzilla)" shows you how to pronounce both words if you are unfamiliar with kanji. The text can be any language or use any characters. In Japanese, it is quite often used to sh…

WebMentions, Privacy, and DDoS - Oh My!

· 16 comments · 700 words · Viewed ~428 times


Crappy line drawing explaining the above.

Mastodon - the distributed social network - has two interesting challenges when it comes to how users share links. I'd like to discuss those issues and suggest a possible way forward. When you click on a link on my website which takes you to another website, your browser sends a Referer. This says to the other site "Hey, I came here using a link on shkspr.mobi". This is useful because it lets…

Is Open Graph Protocol dead?

· 7 comments · 550 words · Viewed ~1,402 times


Robot faced Mark Zuckerberg is wearing a VR headset - it digs painfully into his smiling cheeks.

Facebook Meta - like many other tech titans - has institutional Shiny Object Syndrome. It goes something like this: Launch a product to great fanfare Spend a few years hyping it as ✨the future✨ Stop answering emails and pull requests If you're lucky, announce that the product is abandoned but, more likely, just forget about it. Open Graph Protocol (OGP) is one of those products. The val…

Semantic Comments for WordPress

· 2 comments · 400 words


The Logo for WordPress.

As regular readers will know, I love adding Semantic things to my blog. The standard WordPress comments HTML isn't very semantic - so I thought I'd change that. Here's some code which you can add to your blog's theme - an an explanation of how it works. The aim is to end up with some HTML which looks like this (edited for brevity): <li itemscope itemtype="https://schema.org/Comment"…

How to add ISSN metadata to a web page

· 5 comments · 450 words · Viewed ~2,497 times


creenshot of an email from the British Library. Dear Terence Eden INTERNATIONAL STANDARD SERIAL NUMBER (ISSN) Thank you for your recent enquiry, we have assigned ISSN to the following publication(s): Terence Eden’s blog ISSN 2753-1570 .

Inspired by John Hoare at the Dirty Feed blog - I've asked the British Library to assign my blog an International Standard Serial Number (ISSN). An ISSN is an 8-digit code used to identify newspapers, journals, magazines and periodicals of all kinds and on all media–print and electronic. Why? Shut up. OK. It turns out that lots of people cite my blog in academic papers - so I wanted to make …

Reducing GPS accuracy in photos

· 2 comments · 150 words · Viewed ~209 times


Unix is user-friendly — it's just choosy about who its friends are.

Here's a quick one-liner to reduce the precision of location stored in a photo's EXIF metadata: exiftool -c "%.2f" -TagsFromFile @ -GPSLatitude -GPSLongitude photo.jpg (Thanks to the EXIFtool Forum for their help.) Why is this useful? Modern phones automatically attach a GPS location to every photo you take. GPS resolution is around 10 metres. When you share your photos, you're often sharing …

Adding Semantic Reviews / Rich Snippets to your WordPress Site

· 850 words


Screenshot of JSON code in a web page.

This is a real "scratch my own itch" post. I want to add Schema.org semantic metadata to the book reviews I write on my blog. This will enable "rich snippets" in search engines. There are loads of WordPress plugins which do this. But where's the fun in that?! So here's how I quickly built it into my open source blog theme. Screen options First, let's add some screen options to the WordPress…

Removing default metadata from .opus files

· 1 comment · 1,200 words · Viewed ~735 times


Binary code displayed on a screen.

I'm trying to create some ridiculously tiny audio files. The sort where every single byte matters. I've encoded a small sample. But the opusenc tool automatically adds metadata - even if you don't specify any. Using the amazing Mutagen Python library I was able to completely strip out all the metadata! import mutagen mutagen.File("example.opus").delete() It edits the file immediately - so be …

Interesting Email Metadata

· 3 comments · 600 words · Viewed ~832 times


For many years, my email footer said "Sent via my Casio cPhone" - my attempt to poke fun at the users who hadn't updated their iPhone's default email signature. This leads to an interesting question: Marc Blank-Settle @bbcmarc on Threads@MarcSettleIs there an easy way to see what device an email is sent from? If I type the attached on an email on my PC, can the truth be shown easily?…