IndieWeb on WordPress

I have had a web presence since about 2001. Initially, I set up a blog using Radio Userland but quickly abandoned that when Google launched Blogger. I then jumped to Tumblr then back to Blogger. But it wasn’t until 2005 that I finally registered a domain, islandinthenet.com, and started hosting my online presence, my “house”, on WordPress.

The reasons were many but mainly I wanted to control all the various aspects of my “house”. I wanted to choose where it was constructed. I wanted to choose what materials were used to build it. I wanted to choose the paint on the walls and the furniture etc.

On Tumblr and Blogger, I was limited to what the landlord allowed me to use. On those platforms, I get to choose the address but little else. I wanted choice and WordPress and a hosting provider gave me that choice. The site has moved around a bit in terms of where it’s hosted. It was originally hosted on a cheaply shared hosting provider but a few years ago I switched to a virtual private server ( I wanted more control ). Back in the day, when I had much free time, I compiled my instance of Apache, and PHP, etc. (and Perl where needed) from source but since my family became a priority, I’ve just settled on securely configuring and securing the default builds provided with the VPS.

I have always wanted to post first on my own site and syndicated my content elsewhere. I wanedt my website to be the original source of my content and have that content shared to third-party sites like Google+, Facebook, Twitter, Instagram, and Flickr with a link back to the source. But I didn’t know how. Unless the launch of JetPack I manually posted links to Twitter, Facebook, Linkedin, and Google+. JetPack saved me from the manual effort of pasting links to social media silos. However, JetPack coulnd’t post to Instagram or Flickr.

Up until recently I just went about doing my thing. Then recently I discovered the IndieWeb via a Kickstarter project.

Micro.blog and IndieWeb

Last year I backed Manton Reece’s micro.blog project on Kickstarter. Something about the project’s goal resonated with me.

Do you remember how the web used to work? How the web was supposed to work?

In the earlier days of the web, we always published to our own web site. If you weren’t happy with your web host, or they went out of business, you could move your files and your domain name, and nothing would break.

Today, most writing instead goes into a small number of centralized social networking sites, where you can’t move your content, advertisements and fake news are everywhere, and if one of these sites fails, your content disappears from the internet. Too many sites have gone away and taken our posts and photos with them.

I want to encourage more independent writing. To do that, we need better tools that embrace microblogs and the advantages of the open web. We need to learn from the success and user experience of social networking, but applied to the full scope of the web.

Micro.blog Kickstarter project page mentioned something about IndieWebCamp and W3C proposals for indie microblogging, such as Webmention and Micropub but I didn’t pay much attention to that until recently. I started following some of the post on micro.blog and stumbled onto a post by Chris Aldrich that had me reading a lot of Chris’s post on the IndieWeb one of which linked back to a introduction to the IndieWeb on AltPlatform. After reading that post I visited the IndieWeb wiki and went down a rabbit hole of information. As I read, I kept nodding my head, “Yes, we need this. I have to do this.“


I started where it made sense to start. On the Getting Started on WordPress page. I was well established for an out of the box WordPress setup. I read the section about micro formats and themes and about IndieMark and installed the IndieWeb plugin. The IndieWeb plugin Getting Started page suggested that I install additional plugins. I was excited about the prospect of sending and receive comments and likes using my own site. I installed the following without quite understanding how they worked but they were listed as required.

  • Webmention (Required) – allows you to send and receive by adding webmention support to WordPress. Mentions show up as comments on your site.
  • Semantic Linkbacks (Required) – makes IndieWeb comments and mentions look better on your site.
  • Post Kinds – Allows you to reply/like/RSVP etc to another site from your own, by adding support for kinds of posts to WordPress.
  • Bridgy

Sending and Receiving responses

It took me a few weeks of experimentation to understand that I could post a response to someone else’s blog post by writing a post on my own web site, and then linking the the response back to their post by either posting a link to my response into the Webmention comment field on the other person web site, or using Webmention plugin to do that for me when I write my response. My WordPress site already used the built in pingback and trackbacks but the Webmention and Semantic Linkbacks plugins bring this to a new level.

  • Bridgy Publish – Adds a user interface for using Bridgy to publish to other sites
  • Syndication Links – Adds fields to a post to allow manual entry of syndication links as well as automatically from a supported syndication plugin.

The first time I saw the result of the combination of Webmentions, Semantic Linkbacks, Bridgy and Post Kinds I was hooked. I wish I had discovered these plugins sooner. When I tweet out a link to a post and someone tweets a response to that post, the tweet is imported to my originating post. My tweet response to that tweet is also imported. I find that useful and just darn cool. There are a few challenges, however. The first time I saw the result of the combination of Webmentions, Semantic Linkbacks and Post Kinds I was excited. I wish I had discovered these plugins sooner. I posted an entry to Twitter and a few people like the post and one person responded to it. Both of these responses showed up as comments. And response to the tweet was also pulled back as a comment to that. the conversation is not threaded and sometimes tweets are duplicated. Using Webmentions also means disabling the Jetpack Comments system I had been using on my blog. I suspect this is going to create a problem for people who are used to leaving comments on my blog using their WordPress.com, Google+, Twitter and Facebook profiles. The other problem I ran into was that certain characters broke the way that the Semantic Linkbacks plugin acquired information. Chris helped me work through some of these early problems.

With Bridgy my web site is able to discover the post as well as for end users to comment on those sites as a way of replying.


Instagram and Flickr

For Instagram and Flickr I had no solution. I have been posting content on Flickr and Instagram independently of what was posted on my site. At one point I started using a plugin to embed Instagram and Flickr content to my site. But I eventually abandoned that. Posting on Instagram or Flickr first and then embedding into my site made my site dependent on those services. I have made the mistake of removing images from Flickr only to find out that I had used the embed in a blog post. Each time Instagram changed their terms of service to something with which I disagreed, I would delete my account. I am on my third Instagram account. I have a lot of image posts with missing content.

I set up Ownyourgram and OwnYourCheckin to push my Instagram posts and FourSquare checkins back to my web site. It works but I am not happy with the result. The checkins are badly formatted and the image size is too small for the design of my blog.

I also sometimes get weird and randome errors from OwnYourCheckin.

Undefined property: stdClass::$checkins


The wiki suggested that setting up micro formats would help so I installed David Shanske’s WordPress microformats2 plug-in to add o markup structured information into my sites HTML.

Early Problems

I reached out to Chris Aldrich for help and also to test some of the new functionality of my web site. Most of Chris’s responses/webmentions went to spam. I have used Akismet for years and it has reliably blocked all spam while allowing legitimate comments. I do not want to put in the effort to review Akismet, skipping past the hundreds of spam just to clear webmentions.


I had some problems that I might have expected had I first read this bit of text by Michael Bishop.

The gist of my observation in setting up WP is that the lack of mf2 and emphasis on theme supporting them. I approached setting WP up as a new user, and what my goal would be, POSSE to a silo (Twitter) probably would be a 1st step. Installed the webmention plugins, set up bridgy, and it failed due to lack of mf2 support(latest WP theme, 2016). If I wasn’t already familiar with these steps, it would be discouraging, and some (most?) might delete the plugins and move on, not knowing why it didn’t post to Twitter. The failure was fairly silent without reading the raw json on bridgy.

Currently the theme section is way down the page and doesn’t emphasis the importance of mf2. Only one theme is linked, along with a plugin that seems geared towards a commercial framework, Genesis is mentioned.

I know GWG is working on improvements to the IndieWeb plugin,but right now it’s emphasized in the wiki. It just directs people to download 10 more plugins, without doing anything. The ala carte plugins might be great for a seasoned user who wants choices to build IndieWeb into their existing site, but for someone just setting up WP it’s overwhelming. 2 plugins for Webmentions doesn’t make sense.

Currently, SemPress is the only theme in the WordPress repository that is fully microformats2 compliant. Independent Publisher has been updated to include basic microformats2 and webmention display support but I don’t like the design and how it handles image posts and some microformat entities.

The display issue was that some h-cards displayed at HTML. Hardly conducive of the polished look I want for my website. SemPress doesn’t work for needs. I want my featured images displayed large along with the remainder of my post images. Independent Publisher is a beginner theme at best. I have no interested in learning enough CSS and WordPress site development to build my own theme. The IndieWeb ecosystem of plugins needs to work out of the box with the majority of popular WordPress themes. Not just two.


I ran into an issue using IndieAuth. I have been using an Adobe Lightroom plug-in from Automattic to export images directly from Lightroom to this self-hosted WordPress blog. It worked flawlessly up until recently. Shortly after I installed and setup the IndieAuth WordPress plugin, the Lightroom export plugin started throwing errors and failed to export to WordPress. Exporting to my other WordPress blogs worked fine. After enabling and disabling plugins I determined that the issue was with the IndieAuth plug-in. That made sense because that was the latest WordPress plug-in I installed and enabled. When I disabled the IndieAuth WordPress plug-in, the Lightroom plug-in exported images without issues. I don’t see anything in the apache error logs. I would really like to use IndieAuth. What can I do to trouble shoot this?

Next Steps

But I also want to post my Untappd and Foursquare check-ins first to my site — image, text, location, rating, etc. — and have my site create the Untappd and Foursquare entries.


  • Syndicating content to Mastodon, an alternative to Twitter.

Mastodon is a free, open-sourced messaging platform that’s decentralized in the extreme (more on that later) and, since it lacks an SMS heritage, does not have a 140-character limit — 500 characters are just fine. It also offers public accounts, lots of post-level privacy controls and fully chronological timelines.