• ============================================================================
    What You Might Not Know About WordPress Plugin Development
    ============================================================================

    Being a plugin developer gives insights into the WordPress world that many people are, of course, unaware of. A few of these insights I want to share, as they will save many WordPress users from immense headaches and problems in their experience with this fantastic platform.

    Plugin and Theme Developers Can’t Fully Simulate The Update Process
    —————————————————————–
    The closest way to test a plugin or theme update prior to release is to deactivate the plugin, manually copy the updated plugin files to the testing website used, and then reactivate the plugin. While this covers the most problematic steps of the updating process, there are still several possible failure points that cannot be accurately tested until the update is released into the wild.

    This is especially true when developers are still mastering the plugin/theme update release procedure for WordPress (new WordPress developers). It is likely newer plugins, or plugins that are irregularly updated will eventually encounter some sort of problem with an update.

    Testing Plugin Updates For All Users Is Impossible
    ——————————————————————–
    One of the most prolific plugin development teams, Yoast, collect statistics on the sites their plugins run on, and I will quote from an article on their site (source).

    The WordPress SEO plugin runs on at least 1 million and in fact probably more than 2 million sites. All of these sites use different plugins. The 691,797 sites we currently track in our tracking system use approximately 83,000 different plugins, in innumerable combinations. After the 10 most used plugins, none of them are run on more than 10% of those sites, yet most sites run more than 5 plugins.

    This doesn’t even take into consideration the fact that all of those people run a different theme too, and that they each have different settings for each plugin and theme as well. All of these can (and actually do) interact and interfere with each other. Because of that, testing if a certain update works for all of our users and their plugins is – and I hate saying this – impossible.

    More than just plugins and themes, WordPress websites run on a variety of servers, with a variety of underlying web server software and operating systems, and a variety of different configurations. A server running Microsoft’s IIS and PHP 5.2 for Windows, with WordPress 4.0 may act significantly different than a website running on Apache with PHP 5.4 for Linux with the latest version of WordPress.

    Plugin and theme developers can only test a handful of these possible combinations.

    Version Numbers Usually Mean Something
    —————————————————————
    There is no version numbering standard that plugin and theme developers must follow, but most loosely follow a change significance based sequence.

    Given a version number something like this: 1.5.2, the first number is the major number, the second number is the minor number, and the last number is the patch number.

    A major number change signifies a major change to the plugin or theme. A minor number change signifies minor changes that have limited effects on the core functionality (e.g adding a small feature). A patch number change indicates something very small that doesn’t really change functionality, like a single bug fix.

    A patch number change is unlikely to break anything. A minor number change is more likely to incur breakages, but they are usually minor and easily remedied. A major number change can easily break or invalidate what used to work, and may take time to fix, or won’t bring back that functionality at all.

    Moral of the Story
    ====================================
    Plugin and theme updates are far more complicated than they may seem, and the ability to test is limited. You should assume that a plugin update will have flaws for some users. The more significant the change (check the version numbers), the more likely problems are.

    You Should Test Before Updating
    ————————————————-
    EVERY WordPress user should test plugin/theme updates first! Professional websites don’t make changes to their production site without testing (this includes plugin and theme updates), and they do it for a reason. Not testing first is asking for trouble.

    Making a testing environment isn’t as difficult as it sounds. There are a number of strategies and plugins that can help described here: http://wplift.com/wordpress-development-site. I personally use the Duplicator plugin method for testing my sites.

    If You Don’t Test, Wait a Day
    ————————————————
    Ideally, everyone would test an update as soon as it is available, and put it on their production site once it’s confirmed to work. However, if you don’t have the needed technical knowledge, the needed server access, or you simply don’t want to expend the effort, I recommend you wait a day or two before installing an update. This is untenable, and doesn’t solve the problem if everyone does it, but it does mean other people sand off any rough edges to an update. After the day, check the plugin or theme’s support forum to see if there are any widely reported bugs. If there are, follow the discussion to see if it’s fixed before updating.

    Life is tough on the bleeding edge.

    Report Problems
    —————————-
    Good plugin and theme developers do test their updates before and after releasing them. So, if you find a problem, there’s a good chance the developer doesn’t know about it. This may be because of the impossibility of testing for every environment, or it may be they did not notice the problem because they are emotionally invested in their product. Even if they do know about a problem, often more information helps solve it faster.

    The majority want to know.

    https://wordpress.org/plugins/ad-blocking-detector/

  • The topic ‘What Every WordPress User Should Know About Updating Plugins’ is closed to new replies.