Proprietary Social Media Tags Considered Contemptible

To suggest that use of Open Graph and Twitter Cards metadata is harmful would be an exercise in belaboring the obvious.


I’ve never been comfortable with the idea that webmasters are obligated to make their websites interoperable with social media platforms like Facebook and Twitter by implementing Open Graph or Twitter Cards metadata. I went along with it for a while because, unfortunately, federated platforms like Mastodon also use this metadata to generate link previews. I had been using the minimal social markup recommended by Jens Oliver Meiert, but I have decided that I no longer wish to do so.

This is a matter of principle. Just as a personal website should not have to integrate with platforms by implementing ActivityPub, it should not have to integrate by implementing additional meta tags just so that these platforms can provide link previews. Most of the data needed to provide these previews is probably already in the <head> element. In my case, all of it is there. I’ll show you.

link preview metadata tags
standard Open Graph
Twitter Cards
<title> <meta property="og:title">
<meta name="twitter:title">
<meta name="description"> <meta property="og:description">
<meta name="twitter:description">
<link rel="canonical"> <meta property="og:url">
N/A
<link rel="preview" <meta property="og:image">
<meta name="twitter:image">

Admittedly, both Open Graph and Twitter Cards have other elements, but what I listed above are generally the bare minimum. For example, you could specify the card type for Twitter cards. The other stuff doesn’t matter to me because neither Mark Zuckerberg nor Elon Musk are paying me to care.

I don’t think they should matter to you, either, if you are running a personal website. Chances are that with the exception of <link rel="preview"> you already implement most of these on your website. While <link rel="preview"> looks like something I had extrapolated from <link rel="canonical"> — which I thought I had done until I did some research — it’s actually part of the Atom Activity Streams 1.0 specification published in 2011.

Regardless, they should be enough for any platform to be able to generate a link preview. If a platform needs Open Graph or Twitter Cards markup to generate a link preview, then that platform is as defective as one that cannot use RSS, Atom, or JSON feeds and demands that you implement ActivityPub for integration. You should not have to cater to defective platforms if you are running a personal website. You should not have to do extra work to cater to developers who probably get paid more than you and should be capable of parsing what you already provide since these corporations claim to hire the best and brightest.

These pampered clowns and would-be Adrian Veidts should be catering to you. They are nothing without the open web. The open web is nothing without personal websites run by people like you and me. You have more power than you realize. Use it and take from this world your rightful due.

“The light belongs to the people!”
“The light belongs to the people!”

Wear your independence like a crown. Exercise the sovereignty you have earned by virtue of running your own website.

update for 2024-06-14

Some people on Mastodon and a couple of Discourse forums have complained that link previews no longer show up ‘properly’, because these platforms don't support <link rel="preview">. Well, I've got something for them.

use defective platforms and this is what you get
standard HTML meta tags or GTFO