The IndieWeb movement is here and I’m fully* onboard. Without repeating a lot of what I explain in my IndieWeb intro post, the IndieWeb essentially describes websites operated by individuals where they own their content rather than having content held captive within typical large tech platforms. One of the big concepts of IndieWeb is syndication, i.e. cross-posting content on your site to other destinations/platforms/social networks. Because it’s great and all to have your content available at your site, but if you want true reach, you need to bring your content into the walled gardens of big social networks where most people are.
There are two approaches to syndication POSSE (Post Own Site Syndicate Everywhere) and PESOS (Post Everywhere Syndicate Own Site). With POSSE, you post on your site first and then syndicate everywhere you want to cross-post and with PESOS your using your networks as you traditionally would but replicating content back (i.e. reverse syndication) to your site to maintain a copy. Easy enough to understand! The Vergecast actually ran an episode recently, “The poster’s guide to the new internet” which gives some historical context as well as what the challenges are facing modern syndication strategies as it applies to the “IndieWeb”. I recommend listening as it is very interesting and educational!
So what is the Shellsharks syndication strategy, and why have I decided to approach syndication in the way that I have? Let’s get into it. To start, let me list where I typically share out content.
* There are more experimental aspects of “IndieWeb” that I don’t quite ascribe to. But fundamentally, content ownership, identity and control are all core to my approach to existing on the web.
Syndication Destinations
- shellsharks.com (This is the origin for a lot of my content but also where I reverse-syndicate some posts that originate from social media.)
- Mastodon
- Threads
- Lemmy / Kbin
- Discord
- Bluesky (rarely)
- Reddit (I’ve mostly given up here for now)
- Other (e.g. LinkedIn, Matrix, iMessage, Nostr, Squabblr, Slack, etc…)
Syndication Philosophy
How do I cross-post content and why do I feel the need to “syndicate” content in this way? Here’s a ramble-tastic look into my mind…
I imagine in today’s world, less people than ever use straight bookmarks to save and revisit websites they enjoy. Bummer. Instead, they rely on social media platforms to bring them new and interesting content. It would be great if everyone used an RSS aggregator and subscribed to my blog but the reality is that the majority of people don’t know what RSS is. So, I need to be where people are, and even in the context of big social, not everyone is in the same place. Unless I syndicate to multiple places, I won’t have near-comprehensive reach. Therefore, I need to publish my stuff to a number of places.
What happens when a platform dies? Many people are finding out as X (formerly Twitter) burns. The communities you’ve built, your social “graph” and your content all go up in flames as well. By adopting a strategy that continuously reminds people that I am “shellsharks.com” and not “@shellsharks@twitter.com” (for example), I can hopefully retain some followership even in the wake of network death. This reminder comes in the form of backlinks to my site on posts that are made on the social platforms themselves. What I am describing here is not just retaining your followers but also establishing a fixed, portable identity on the web. Platforms come and go, but in theory a domain you purchase and establish can be a way for people to find you indefinitely. This is the one thing about Bluesky that I really liked. They introduced a way to make a domain you own your handle on the site. So on Bluesky, I am shellsharks.com. Cool! The WebFinger protocol offers another interesting path to facilitating an online identity. I have for example, set up a WebFinger endpoint for my site where if you simply search for “shellsharks.com” on Mastodon, my profile will return no matter what instance my account is on! It would be cool to see big sites support something like IndieAuth for authentication/identity. You would be using your site as a source of identity which could allow people to effectively follow your site across social media platforms rather than being locked in to following only your local account on each. This would also help with handle-squatting issues that pop up with new platforms.
Speaking of the disaster that is X, especially for content creators, consider now that X has taken a hostile position against external links, preventing discovery or even existence of links that would send you away from the site. This is among many other things that make X utterly uninhabitable. This represents the extreme end of platform lock-in but make no mistake, big tech wants you on THEIR site, not out exploring the open web.
Content ownership is probably the main tenant of IndieWeb, and for good reason! When all your content exists within someone elses platform you lose a lot of control. Platform death could mean the loss of all your content. You are subject to questionable content moderation policies that could result in your content being removed or suppressed and of course you allow these companies to profit off of and get credit for your work rather than yourself. Don’t give away this value!
So what’s my strategy? Do I simply write / publish something on my blog and then link to it on every destinaton platform the exact same way? Nope, it’s actually far more nuanced than that and as a result, does not have a lot of automation tied to it at this time. There is a lot that I consider when determining if and how I will syndicate content to a particular destination. Who is my audience? For example, if I’m posting a note about my favorite accounts to follow on Mastodon, I probably wouldn’t post it on Threads. Each platform has their own culture / norms, for example on Mastodon, I may use hashtags to help with discoverability, but with Threads I would not. Mastodon is a more technical crowd so I may reserve more technical content for that site. A lot of micro-blog-esque social media (e.g. X, Threads, even vanilla Mastodon) allow for only a couple hundered characters in a post. This means any syndicated content is typically just a summary and a link to the full post rather than dropping in the full content in the post itself. When I have something to say, it typically comes in very long form, so sharing larger posts via a link to my site is really the only way to go. To capture association between a post on my site and where I have syndicated it to, I have a mechanism on the site to drop the direct-links to social media posts on the blog post source so that the syndication links show up at the bottom of each post.
So does everything I post get syndicated out? Does everything I post first on social media get reverse-syndicated back to the site? No and no. There are some things on the site that are experimental, more personal or just don’t easily fit into other spaces. For those posts, I leave them on the site for my own reference and for those who like my content enough to have either subscribed to the RSS feeds or peruse my site intermittently. As for my social media reverse syndication, I have no formal rule for this, but I tend to only publish things on my site that originated from social media if A. it’s decent reference material, i.e. I would want to go back to it or update it at some point, B. It get’s a lot of attention and becomes worthy of archival or C. it’s a longer or more thoughtful post. 99% of the time, these posts become notes on my site. This applies to replies as well, not just original posts by me. For a lot of replies on Mastodon, I typically will make them “unlisted” which is meant to keep them off of timelines, still public but only accessible via the thread itself.
I mentioned that I don’t use a lot of automation in my syndication methodology. This is in part because I haven’t spent the time to automate any part of the workflow, but equally it is because of this nuance in how I want to share my content. I rarely, if ever post the same content in the same way across multiple platforms. Therefore, I can’t really rely on an automation that would take a newly published blog post or note and simply repost it everywhere else. Another important aspect of not automating this sort of thing is that for anywhere I want my content to go, I really want to be a citizen of that platform. Rather than blasting a link to my site everywhere I’d rather hand-post it and then interact with replies. Further, by being someone who actively scrolls these feeds, I get a better feel for how I should post things, what would be interesting to those on the network and how I can more contextually post my content as replies to other peoples posts. For example, my original post was on how to get into infosec. My social networks happen to be filled with infosec professionals and aspiring pros who ask about how to get into the field. There’s my opportunity to reply with a link to that post! I’ve said this before, engagement on social media is more about how you engage with others rather than expecting mass engagement on your own posts.
The IndieWeb actually has its own social networking capability, coming in the form of Webmentions. Shellsharks.com hasn’t implemented Webmentions for technical and non-technical reasons. Getting it to work via Github Pages/statically generated Jekyll is not for the faint of heart. More than that though, I don’t see Webmentions being particuarly viable in its current form, moreso a check mark for IndieWeb superfans or those that really despise the idea of using any traditional social media platform. One thing Webmentions and the technology that facilitates it supports is the concept of bridging post replies back to your site in the form of a comments feed. For me, this is bad. I don’t want a bunch of comments junking up on my post, nor do I really want to be made painfully aware of posts that never received any engagement (haha). Further, having comments on my site means having to moderate these comments, no thanks. IndieWeb zealots also believe in having other post metadata available directly on the site of origin, things like likes and reposts. Again, more unncessary cruft. I think having links to where you’ve syndicated content is sufficient. By going out to the platform a syndicated post lives on you can easily see the likes and resposts.
There ya go! This is how and why I syndicate shellsharks content across the web. Have a site? Let me know what your approach is!
Syndication Workflow
Here I’ll more simply walkthrough what my syndication approach is.
- I write the blog post / note (duh).
- Since I use GitHub Pages, the content is published by committing it to the repo on GitHub.
- I have frontmatter on my post for where the content is syndicated to. At first, this is left blank.
- Once the post is published, I will write the various posts on respective social networks that I would like to syndicate out to.
- Most of the time, the syndicated posts will include a link to the source post on my site.
- Once the syndicated posts are published, I capture the direct links to each and include them in the frontmatter for the original post.
- I then have to recommit the post with the syndication links.
- The syndication links then appear at the bottom of individual posts. Ta da!
