WordPress for older devices and browsers

Why WordPress?

Writing a blog with bespoke HTML would be the best option for compatibility with older browsers, though this would be at the expense of time and effort when adding new content.

Using WordPress makes it easier for me to keep the site updated and 'secure', or as secure as a WordPress deployment can be anyway... By bending WordPress to my will I can straddle the fence between modern and legacy, having a convenient way to add content while still working on older devices.

It is worth noting that while regular access to the site will work on older devices, the addition content will always be done from a modern device - As such, the admin areas of this WordPress instance require SSL, so will not work on older devices.

It is also worth noting that while the output is far from perfect, as far as pure HTML1 standards are concerned, any degradation is graceful and the site usually displays quite well on the older devices and systems I've tested so far:

  • PowerBook 1400c:
    • OS: Mac OS 8.6
    • Browser: Netscape Navigator 2.02 and MS Internet Explorer 4
  • Toshiba Libretto 100CT
    • OS: Windows 98
    • Browser: MS Internet Explorer 5
  • Linux VM:
    • OS: Alpine Linux
    • Browser: Lynx

If you've tested on any of your older devices I would love to hear about it! Please feel free to comment at the bottom of this page, and I'll add it to the list above.

Technical Notes

Here are the key details and adjustments required to get WordPress working on older devices. This is mostly for my own reference, though I figured it was worth sharing for anyone interested in creating a similar site.

WordPress

This is a vanilla WordPress install, running on a typical LEMP stack.

Theme

The bulk of the heavy lifting is done by the 'WP Web 1.0' theme created by bhtooefr - bhtooefr.org

  • Original theme available on GitHub
  • A local copy of the original theme, available here.
  • A local copy of the lightly modified theme as deployed on this site, available here.

TODO: Add zip for modified theme.

WordPress Settings

The following settings were added to the wp-config.php file:

define('WP_HOME', 'http://retro.someguynamedross.com');#Force http:// for 'Home'
define('WP_SITEURL', 'http://retro.someguynamedross.com');#Force http:// for 'Site URL'
define('WP_CONTENT_URL', 'http://retro.someguynamedross.com/wp-content');#Force http:// for 'Content URL'
define( 'FORCE_SSL_LOGIN', true );#Require HTTPS for login page
define( 'FORCE_SSL_ADMIN', true );#Require HTTPS for admin pages

Plugins

The following plugins are in use:

  • Unbloater
    • Plugin details: https://wordpress.org/plugins/unbloater/
    • Used to disable a handful of features which cause issues on older devices.
    • Key options disabled: DNS Prefetch, jQuery Migrate, and Emojis.
  • Find-and-replace - Various WordPress plugins.
    • Used 2-3 different plugins, to varying levels of success.
    • Performed a 'Find-and-Replace' on all instances of 'https://' with 'http://' in the database and links/URLs on pages.

Server Configuration

Nginx also needed some adjustments to allow HTTP traffic through without the typical SSL auto-upgrade behaviour.

Other Issues

Most modern browsers force SSL upgrades for security reasons, though the site should handle this gracefully and display normally.

Older browsers should just following the links as they are provided, and not upgrade to SSL automatically.

3 Replies to “WordPress for older devices and browsers”

Leave a Reply

Your email address will not be published. Required fields are marked *