For five brief minutes, I felt on top of the world. For the first time in 18 years, I had shepherded a website from one version of its core infrastructure (content management system) to a wholly rewritten version without devastating complications. Wrong! Today’s blog entry is about what most people thankfully never experience – the trauma of “upgrading” a website. But first, some background…

The foundation of nearly every modern website is a content management system (“CMS”) rather than individually coded pages of HTML. The CMS is the infrastructure for publishing articles (content) without having to code HTML, for assigning menus and page sections without coding Javascript, and for shuttling content between an efficient storage engine (typically, a SQL server) and a spartan PHP-scripted presentation vehicle (your website) in nanoseconds. It is not exaggerating to say content management systems revolutionized the Internet.

Beginning in 2005, I began migrating a handful of websites I managed (non-profits, mostly, and only because I was a curious volunteer) to a still-nascent open-source CMS called Joomla! (the exclamation point was Joomla’s, not mine). Although I had dabbled with other open-source CMSs such as Drupal and the now-global leader, WordPress, Joomla’s great advantage in 2005 was hundreds, if not thousands, of third-party add-ons (extensions) facilitating everything from website security (e.g., a firewall) and backup utilities to event calendars, popups, slideshows, news tickers, and e-commerce – virtually any bell or whistle web designers could think of.

The scary part was when the Joomla! team decided minor security updates (e.g., Joomla! 1.0, 1.1, 1.2) were no longer practicable and that a comprehensive recoding of Joomla’s core PHP files was essential. At that point, Joomla! announced a deadline for conversion. Beyond the deadline, previous versions would no longer be supported – no more security updates, no more updates of third-party extensions, no more customer support. The older versions were “deprecated” (Windows 95 and Windows XP are apt analogies).

I built my first Joomla! website using Joomla! 1.0. Unfortunately for me, Joomla! overhauled its GUI (graphical user interface) in January 2008 (version 1.5) and set a deadline for conversion by July 2009. The transition was torture. Because the “upgrade” involved a new GUI, none of the version 1.0 templates were compatible. Templates specify the look and feel of the website – its menus, fonts, default colors, and, crucially, packets of shortcut stylesheet instructions (CSS “classes”) for formatting just about anything. Without the legacy CSS classes, all migrated content has to be reformatted by hand.

Joomla! introduced another overhaul (version 2.5) in January 2012 and deprecated version 1.5 in September – the same month it introduced version 3.0. I could not keep pace. I shuttered three websites.

Fortunately, the 3.x series survived a decade – from September 2012 through August 2023. Its stability was extraordinary. Hundreds of thousands of Joomla-driven websites emerged, and third-party extensions became more and more incredible. I developed my modest publishing website, twoskates.com, in Joomla! 3.x, and it performed seamlessly, as did an incredibly complex website I designed for a large, not-for-profit amateur athletic organization. Those halcyon days ended mid-2023.

Joomla! 4.0 introduced another wholesale overhaul. Thousands of popular third-party extensions became incompatible including, once again, the majority of website templates. So, although Joomla! crafted an automated script for upgrading its core features from version 3.x to 4.x, web administrators still had to reformat nearly all legacy content from scratch, repopulate calendars and image galleries by hand, and forego the functionality of thousands of now-incompatible third-party extensions.  Many websites gave up or, worse, retained version 3.10.x, hoping to avoid detection by hackers. That was the principal reason the large amateur athletic organization and I parted ways; it kept dragging its feet on migration, notwithstanding gaping security risks. The organization eventually developed a bare-bones informational site using WordPress and retaining a third party; I wish them well. My tiny publishing website, by contrast, survived the Joomla! 4.0 migration, but not without compromises. The redevelopment process, as from version 1.0 to 1.5, was arduous.

Imagine, then, my bewilderment, when Joomla! introduced version 5.0 just one month later… in October 2023! It set a migration deadline of October 2025, but I decided to take the plunge early. Yesterday.

Miraculously, the migration was seamless – the simple click of a button.  Outwardly, nothing changed, not even at the administrative back end. Until, that is, I tried to create a new blog entry (this one). Titling the “article” went smoothly, as did assigning a category (blog entry), but the text field was frozen – blocked against everything. I scoured the Internet for similar mishaps and learned many users recovered editing ability by modifying a single line of code in the PHP configuration file. No dice. Some facets of IT are immutable – among them, the illusion that website migration can ever go smoothly.

I decided to revert from Joomla! 5.1.4 to 4.4.8 using the third-party backup and recovery extension I installed 11 months prior (Akeeba). Per the extension’s progress alerts, the restoration went perfectly. It did not. The back-end login URL generated an error message, so I was locked out. On the front end, many pages worked fine, but the entire blog section was replaced by a single red error page. I spent hours in panic mode, trying to restore the website. Ultimately, I wiped the host server clean of everything, including my public_html file directory and my PHP database. I then uploaded a third-party utility (also by Akeeba) for unpacking JPA backups, together with previous evening’s full JPA backup of the website, to my public_html directory and tried again.

Twenty minutes later, my website was back up and running, as if the previous ten hours of panic and desperation never transpired. So much for taking the plunge early. I am not migrating to Joomla! 5.x until the curtain falls on version 4.x – 13 months from now, after I have had 390 shots of whisky just thinking about it.