In May 2022 I wrote the following:
It was important for me to understand what every line of code does on my website when I embarked on a personal site redesign. I switched my website from Jekyll to Eleventy a couple years ago. It was a nice upgrade and (most importantly) I didn’t have to relearn everything I knew about making a website.
Me, in an entry from 2022
I have been on WordPress since September, and it is a bit more of a complicated setup than my previous site. Despite using this software elsewhere for more than a decade, I don’t know what every line of code does here.
I added a lot of functionality to this website after switching to WordPress. Most of that functionality is through WordPress’ plugin ecosystem, which is one small reason of why this CMS is so popular.
While I may not know what every line of code does now, I do know this: An important part of maintaining a WordPress site is understanding what every plugin does on your site, updating this software regularly, and only keeping the plugins installed that you actually use. No more, no less.
Consider this post (like all my posts) a snapshot in time. I don’t think I’ll revisit this post each year, but if I’m still running WordPress in say 2028, it might be interesting to see what I’m still using, or what new functionality comes along.
Here’s what I’m currently running on this install:
ActivityPub is a plugin maintained by Matthias Pfefferle & Automattic. It makes WordPress websites operable with ActivityPub supported networks like Mastodon and creates a Fediverse profile for my website. It comes with a couple of WordPress blocks including this “follow me” block:
The other block is a dynamic block to show off the accounts that follow your website profile in the Fediverse. Here’s this post for example, in elk.zone:
Right now I don’t have a great way of linking to my site’s Fediverse profile, but here’s how it looks on micro.blog.
Advanced Editor Tools
Advanced Editor Tools by Automattic adds a ton of additional rich text formatting tools in the paragraph block, and TinyMCE (“Classic” block) should I need them.
Attachment Pages Redirect
WordPress creates an additional page called an attachment page for every image, PDF or media file you upload. I use Attachment Pages Redirect by Samuel Aguilera to redirect these media attachment pages (annoying!) to my homepage instead.
Create Block Theme
Create Block Theme is a development plugin by WordPress.org that lets you easily customize an existing theme, develop a child theme, or otherwise create a block theme for the new-ish Gutenberg site editor. I could probably remove this plugin, but I’m always making tweaks to my website, and right now this is the best way to customize your typography on a WP theme, at least until the Font Library feature comes out in version 6.5.
Hum by Will Norris automatically builds short links for every post or page on my site. I point the domain name nicks.im to my Flywheel site as a secondary domain, and now I have a personal link shortener. The shortlink for this post is nicks.im/b/tZ, for example. I use this with the ActivityPub plugin to include a shortlink for each post on my Fediverse profile.
I maintain my humans.txt file from the WordPress editor thanks to the Humans TXT plugin by Till Krüss.
I use IndieAuth by IndieWebCamp WordPress Outreach Club to sign in to other websites (like indieweb.org and indiebookclub.biz) with my domain name.
IndieBlocks by Jan Boddez does a number of cool things to this site and was a catalyst for me switching over to WordPress. First, it adds microformats automatically to each post as well as the block theme. IndieBlocks features custom post types for likes and notes (and the option to hide titles on these), which I use on this site. It also comes with a handful of useful blocks in the post editor and site editor. I frequently use the “Bookmark,” “Like,” “Reply,” and “Repost” blocks in different posts and utilize the “Facepile” block in my templates for webmentions. Jan’s documentation for the plugin is on Github and Indieblocks.xyz.
IndieWeb by IndieWebCamp WordPress Outreach Club is a plugin that recommends and helps install other great indieweb WordPress plugins and groups them together under a nice umbrella in your dashboard.
Layout Grid by Automattic gives you finer control over aligning elements to a mutt-column grid in the block editor. I’m using this extensively on my Library page.
I’m displaying my current city’s forecast on my Now page with Location Weather by ShapedPlugin. The weather widget is powered by the OpenWeather API. The other widgets on the /now page are a LastFM recently played tracks app and a Literal currently reading widget that are not proper WordPress plugins.
Thanks to Micropub by IndieWebCamp, I can use third-party micropub clients to draft and publish on my website with this feature.
Multi-column Tag Map
I automatically display all tags on an index page with Multi-column Tag Map by Alan Jackson (no, not that one).
Post Type Switcher
Once in a while, I’ll have to switch a new entry from a post to a note or like, or vice versa. Post Type Switcher by Triple J Software lets me do that with ease.
Random Content by Endo Creative powers the random footer text at the bottom of each page of my website.
Cool URIs don’t change, but sometimes a redesign leaves you needing to create redirects. I am using the Redirection plugin by John Godley to manage my 301s.
ShortPixel Image Optimizer
ShortPixel Image Optimizer is the best plugin out there for optimizing your image files and for using next-gen formats like WebP.
The WordPress Customizer will probably be phased out into the newer Site Editor as more and more people switch to Block Themes. For a long time the Customizer featured a way to add custom CSS to your theme easily without having to create and maintain a custom theme. Simple CSS by Tom Usborne is a great replacement for that feature because it gives you a nicer editor to write CSS in and your customized CSS won’t disappear if/when you change themes. Similar to the old school Art Direction plugin, you can write CSS rules that only apply to a single page or post, too.
I automatically syndicate new posts and notes to my Micro.blog, Bluesky and Mastodon accounts. Syndication Links by David Shanske links these copies from the canonical source.
I’m using Travelers’ Map by Camille Verrier to add location data to select entries and add them as points to an interactive map.
Two Factor is a community built plugin that adds an extra layer of security to my WordPress login.
Ultimate Markdown allows me to write or import posts with the Markdown syntax and convert them to rich text, including blocks in the block editor.
I use Webmention by Matthias Pfefferle to display webmentions on my posts along with WordPress comments. Likes, boosts, and replies from Mastodon and Bluesky are also brought in as webmentions via Brid.gy.
White Label CMS
White Label CMS adds my logo to the WordPress login and /wp-admin/ screens.
I’m already using an “accessibility-ready” theme, but WP Accessibility by Joe Dolson comes with a few additional features I find helpful.
WP Dark Mode
I use WP Dark Mode to add a dark mode theme based on a user’s preference. It also comes with a little light mode/dark mode toggle I placed in the lower right corner. Does the trick pretty well, but of course there’s a premium upgrade. This plugin sends a lot of unwanted marketing notifications, though, so be warned. I may be on the lookout for a basic plugin without all the bells and whistles and nag screens.
WP Robots TXT
WP Robots TXT by George Pattihis adds a robots.txt file I can customize in my /wp-admin/ settings. In the age of crawlers and content scrapers, this is sadly necessary.
WP Toolbelt by Ben Gillbanks is a bit of an alternative to Jetpack: it adds a lot of optional features to a WordPress site. I’m using it for the following:
- wp-admin tweaks like bigger checkboxes, highlighting table rows on hover, etc.
- privacy-focused replacement for Gravatar
- removing unnecessay HTML from the site header
- lazy loading images
- removing IP addresses from comments
- spam blocking