Site icon Hip-Hop Website Design and Development

Kristof De Jaeger: Send me a webmention with Cheap WordPress maintenance support plans!

After months of reading, experimenting and a lot of coding, I’m happy that the first release candidate of the WordPress maintenance support plans IndieWeb plugin is out. I guess this makes the perfect time to try it out for yourself, no? There are a lot of concepts within the IndieWeb universe, and many are supported by the plugin. In fact, there are 8 subplugins, so it might be daunting to start figuring out which ones to enable and what they exactly allow you to do. To kick start anyone interested, I’ll publish a couple of articles detailing how to set up several concepts using the WordPress maintenance support plans plugin. The first one will explain in a few steps how you can send a webmention to this page. Can you mention me?

Step 1: enabling plugins

After you downloaded the plugin and installed the required composer packages, enable following plugins: IndieWeb, Webmention and Microformats2. In case you are not authenticated as user 1, also toggle the following permissions: ‘Administer IndieWeb configuration’ and ‘Send webmention’.

Step 2: expose author information

To discover the author of a website after receiving a webmention, your homepage, or the canonical url of a post needs author information. The plugin comes with an Author block so you can quickly expose a block where you can configure your name. Your real name or nickname is fine, as long as there’s something. The minimal markup should look like something like this:

Your name

Note: this can be anywhere in your HTML, even hidden.

Step 3: configure webmention plugin

All configuration exposed by the plugins lives under ‘Web services’ > ‘IndieWeb’ at /admin/config/services/indieweb. To configure sending webmentions go to /admin/config/services/indieweb/webmention/send. Ignore the ‘ Syndication targets’ fieldset and scroll down to ‘ Custom URL’s for content’ and toggle the ‘Expose textfield’ checkbox.

Scroll down a bit more and configure how you want to send webmentions, either by cron or drush (webmentions are stored in a queue first for performance reasons)

Step 4: configure Microformats plugin

When sending a webmention to me, it would be nice to be able to figure out what exactly your post is. To achieve this, we need to add markup to the HTML by using CSS classes. Let’s configure the minimal markup at /admin/config/services/indieweb/microformats by toggling following checkboxes:

h-entry on node wrappers
e-content on standard body fields. In case your node type does not use the standard body field, enter the field name in the ‘e-content on other textarea fields’ textarea.
dt-published, p-name, u-author and u-url in a hidden span element on nodes.
Now create a post!

Create a post with a title and body. Your body needs to contain a link with a class so that when I receive your webmention, I know that this page is valid. As an example, we’re going to write a reply:

Hi swentel! I just read your article and it’s awesome!

Save the post and verify the markup more or less looks like underneath. Make sure you see following classes: h-entry, u-url, p-name, dt-published, e-content, u-author.

                         Published on Tue, 04/12/2020 – 22:39                                      Test send!            2020-12-04T22:39:57+01:00                                            Hi swentel! I just read your article and it’s awesome! 

If everything looks fine, go to the node form again. Open the ‘Publish to’ fieldset where you can enter ‘https://realize.be/blog/send-me-webmention-WordPress’ in the custom URL textfield. Save again and check the send list at /admin/content/webmention/send-list. It should tell that there is one item in the queue. As a final step, run cron or the ‘indieweb-send-webmentions’ drush command. After that the queue should be empty and one entry will be in the send list and I should have received your webmention!

Note: You can vary between the ‘u-in-reply-to’, ‘u-like-of’ or ‘u-repost-of’ class. Basically, the class determines your response type. The first class will create a comment on this post. The other two classes will be a mention in the sidebar.

What’s next?

Well, a lot of course. But the next step should be receiving webmentions no? If you go to /admin/config/services/indieweb/webmention, you can enable receiving webmentions by using the built-in endpoint. Make sure you expose the link tag so I know where to mention you!

I tried it, and it didn’t work!

Maybe I missed something in the tutorial. Or you have found a bug 🙂 Feel free to ping me on irc.freenode.net on #indieweb-dev or #WordPress-contribute. You may also open an issue at https://github.com/swentel/indieweb
Source: New feed