Welcome to today’s post, day number 16. On Wednesdays, our theme is Webby Wednesdays, under which I write about web hosting, content delivery networks, websites security and related topics. For today’s post, there’s an update about this blog.This blog began as a WordPress site, then we moved to ClassicPress. As of yesterday, we are back to square one. This may seem like a back and forth, possibly indicating that I am unable to make up my mind.This reversal is intentional, with a long term goal to move away from WordPress altogether.
ClassicPress and the strange case of Disappearing Editor
A week after the migration to ClassicPress, a strange issue surfaced. The writing interface or editor browser began to appear as a blank. Editing buttons kept disappearing. I began to stare at “white screen of nothingness”. This was least expected. I tried to replicate with different providers, different web browsers, but the issue remained. I began to suspect it was an issue related to PHP. Updating to PHP8 was not possible, because it would have broken ClassicPress settings.Changing to a version lower than PHP 7.4 was not an option, because 7.3 is outdated now**. The purists may say, that PHP 7.3 has reached its end of life.
I had a decision to make: was my goal to publish great content, or debug the website? I chose the former.
A Quandary of sorts with PHP language
I simply could not use the interface for composing my blog posts or editing them. I do typically compose my blog posts in a writing programme. iaWriter (for Mac) or Remarkable (Linux) are my preferred applications. They also server as basic HTML editor for formatting. Their output is sometimes pasted directly into WordPress. But editing a published post is a process that takes place within the WordPress or ClassicPress editor. A week of trying to solve the issue resulted in no mas. I finally decided to let it go and migrated the site back WordPress. The reversal was a bit tricky, but other than a few images, restoration process was effortless.
Update: Listen to my raw notes for this post
You can listen to the raw narration of this blog post- I literally dictated this post into otter.ai while making coffee this morning.
You will hear sounds in the background as the coffee was getting ready!
Background: a Website is a Sum of Moving Parts
There are many parts in a website, and WordPress is no exception. First, we have the server where the site is hosted. Most servers run on Linux, the site which hosts blog runs on Cloud Linux. The Web server can be Nginx, Apache or Litespeed. The last has become quite popular in recent years. Next, there is a control panel : either cPanel or DirectAdmin or Plesk. These are the most common control panels in use. Next is a database, typically mysql. Finally, we have a programming language called PHP. WordPress itself requires a web server, a database, PHP to run (you may be familiar with LEMP or LAMP stacks).The story does not end there. WordPress has a theme for displaying the content, and plugins for enhancing site’s functionality. The latter also have versions!
Different Softwares, Different versions govern choice of Content Management System
The challenge with having multiple components is that one has to deal with different versions of the software. Of the above, if we exclude the operating system, version of mysql, etc; we still have some control on some of the parts). For sake of simplicity, we will consider a shared hosting environment. Incidentally, this blog runs on a shared hosting server. The main site amarvyas.in runs off a standalone VPS or Virtual Private Server.
The most critical decision point: which version of PHP and WordPress to use? Other criteria like which themes and plugins to use are largely governed by the PHP and WordPress version. Case in point: many themes may not support older versions of PHP or WordPress.
Choosing the version of PHP or WordPress may not be easy
Most shared hosting providers offer WordPress beyond versions 5.5 (ideally, version 5.7.x, 5.8.x or 5.9). You have a choice to select the version of PHP – most providers offer atleast version 7.4, some also have updated to version 8 or even 8.1 of PHP.
This site ran on ClassicPress till last weekend. ClassicPress is a fork of WordPress, and ideally the CMS of my choice. But while the server which hosts this site supports PHP 8, ClassiPress had version 1.3.1, which does not run well on PHP8. I was forced to choose PHP 7.4. This limited my ability to use certain themes and plugins. Neve theme for WordPress is one such example. Some plugins for SEO (Search Engine Optimization) and images optimization were also not compatible with ClassicPress. For the blog, while I missed using Neve theme, I was able to use the Hemingway theme,. The latter is beautiful theme that was updated recently in January 2022. While there were some limitations, there were also some advantages. Till the above issue surfaced.
*I am excluding the operating system and the database versions because they are mostly determined by the web hosts.
**Many providers still offer PHP 5.6, which has long reached its end of life. Discussing the merits and utility of PHP 5.6 to versions 7.3 is a topic for another day. Software providers like Zend will provide paid commercial long term support for these versions.
This post was written as a part of the #bloggingchallenge for February 2022 under the theme #WebbyWednesday. You can follow the progress of my daily blogging by visiting the February 2022 Blogging Challenge Tracker page.
Wordcount: 900. Time taken for writing, editing, images and publishing; 1 hour