Optimizing WordPress for Performance

Building on last week’s topic of how many visitors a hosting plan can handle is this week’s post: Optimizing WordPress for Performance. Even with the highest quality hosting and the most optimized and performant MySQL/MariaDB server poor content and database optimization can still bite you.

I am going to share with you some of the optimizations we have found that have helped our clients do more with less faster. Your results may vary and it is suggested that you take a full backup of your site, both files and database, before you make any changes.

If you are a client of ours and would like us to take a look at your WordPress site(s) please don’t hesitate to reach out. We perform optimization on a regular basis for our clients at no additional charge and we are happy to help as much a we can.

Continue reading “Optimizing WordPress for Performance”

How many visitors can my account handle?!?!?

Long Exposure of Vehicles Traveling at Night

Quite often our clients and potential clients ask us a question that on its face seems simple: How many visitors can my account handle? This question is not as simple as it seems.

As with any deceptively simple question there is more to it than a simple number. We wish we could simply give a number as a response but to do so would be disingenuous and deceptive from our perspective. We know that there is far more to the question and the answer than a simple number.

If all sites were created equal and all sites used the same amount of resources per visit, transmitted the same amount of data, performed the same SQL queries, etc – the answer would be simple. In the real world every website is different. We have some clients that are handling more than 100,000 visitors per month on our cheapest and least-powerful plans and then we have other clients on our most powerful and most expensive plans that are struggling with only a few thousand.

We don’t want to make what seems like a promise – that you can hit a particular number of monthly visitors – when it’s not something we can guarantee as we do not control your content or applications.

Continue reading “How many visitors can my account handle?!?!?”

The history of MDDHosting

The Beginning.

I always wanted to start my own web host and the earliest I remember having that desire was in 1998 when I was still in middle school. I had written my own web server software and already had a solid grasp of the protocols of the time. Being young and still in school this got put on the back burner for nearly a decade.

Fast forward to 2007 when I was looking for reliable hosting for one of my own projects and having significant trouble finding a provider I felt that I could trust. This was even before EIG, or Endurance International Group (now called Newfold Digital), had swallowed up all of the common providers. Many of the larger providers were still independent and providing decent but not amazing services.

My decision process came down to Site5 and HostGator at the time, both of which are now owned by Newfold Digital. I will be straightforward in that I honestly don’t remember what leaned me towards HostGator over Site5 but that is where I ended up. Having wanted to start my own provider for nearly a decade at this point I went for a reseller plan with HostGator.

The service overall was ok but not anything I’d consider spectacular. The long and short of it was that the server I was placed on was so hopelessly overloaded that important system wide processes like Apache or Named would crash. Over the first couple of weeks I saw several outages of 1 to 4 hours as services on the server would crash and it would take time for support to fix the issues. There was no way I could reasonably and truthfully recommend my own services to anyone else based upon a HostGator reseller account.

Continue reading “The history of MDDHosting”

Troubleshooting most WordPress Issues

The vast majority of support requests we receive are either about WordPress or email. This is not entirely surprising as most of our clients run WordPress sites and most also use our email services.

We are always happy to help so please do not hesitate to reach out to our support if you are having issues with your site. At minimum we can point you in the right direction and in most cases we are able to identify and resolve the issues our clients are facing even if they are not server or network level. Most issues we solve are content based but we are still happy to help!

From our experience the most common issues here lately are due to the WordPress core or Plugins updating and not supporting the version of PHP an account is set to. We just now solved an issue for a client where they were getting the “There has been a critical error on your website. Please check your site admin email inbox for instructions,” message.

In this case, and many others, we don’t generally have access to the administration email for the site so we simply enable WordPress Debugging. The process for this is fairly straightforward.

  1. Using your favorite method for editing files – be it the File Manager in your control panel or downloading the file via FTP and editing it locally – open up your “wp-config.php” file. This file is located in the base folder of your WordPress Installation.
  2. Inside of the WordPress Configuration file you will generally find a line like the one just below and you will want to change “false” to “true”:
define( 'WP_DEBUG', false );
  1. Reload the website and/or reproduce the error. In many cases you will get get a verbose error that tells you which file is having the issue. You can usually identify the plugin or theme causing the issue based upon the error.

In the instance from just before writing this post the error we were seeing was:

Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) in /home/redacted/public_html/wp-content/plugins/woocommerce/vendor/symfony/polyfill-php80/bootstrap.php on line 29

So in this case the issue is with the WooCommerce plugin. When looking at line 29 of the referenced file we saw nothing wrong although the syntax for this line is not compatible with any version of PHP older than 7.4:

function str_contains(?string $haystack, ?string $needle): bool { return p\Php80::str_contains($haystack ?? '', $needle ?? ''); }

As there was nothing obviously wrong with this line of code – the line is intact with no obvious errors we suspected the PHP version may be at fault.

We checked the version of PHP the account was assigned to and found it on version 7.0. Moving the account to version 7.4 or newer resolved the issue and allowed the site to function as expected.

It’s very common for automatic updates, or even manual ones, to update a plugin, theme, or even the core installation to a version that does not support older versions of PHP. This is but just one example but most issues share the same initial troubleshooting steps.

Steps that you may take to investigate the issue would be to set a default theme, to disable plugins, or to even roll back the installation to a backup from when the site was known to be functioning. We do suggest taking a current backup before doing that.

If you ever have issues with your WordPress site, or any site you host with us, please don’t hesitate to reach out to our support for assistance. We have decades of experience when it comes to investigating and troubleshooting issues with websites and while we can’t make promises that we will resolve your issues we’ll do our absolute best!

Client Discord Server

We’ve opened a community discord server and everyone is welcome!

This discord server will give our clients direct communication with each other, should they desire, as well as direct and real-time communication with our staff.

As our discord community grows our clients can help each other out and all clients will have an avenue for direct real-time communication with our staff.

Join the MDDHosting Customer Community discord server today!

cPanel AutoSSL – Automatic Free SSL for All Domains

AutoSSL PadlockAutoSSL is going to change how webmasters secure data transferred to and from their sites.  For the longest time SSL was an additional expense that many webmasters chose to forego as it wasn’t required for the operation of their websites.  The time when not having SSL is the norm for most sites is coming to an end.  Generally SSL has been reserved for usage by those that send or receive private information such as your name, address, email address, and phone number or even your credit card information.

Google and other search engines are already giving preferable ranking to sites with SSL.  For quite some time we’ve offered Let’s Encrypt to our customers so that everybody has access to freely accessible SSL for any site they wish.  cPanel has taken this a step further and created what they refer to as AutoSSL.  AutoSSL generates and installs a domain validated SSL certificate on all active domains on a server that are not already protected with SSL. Continue reading “cPanel AutoSSL – Automatic Free SSL for All Domains”

Running WHMCS v6.3? Saving Product Details Bug & Resolution

whmcWe recently identified a bug in the latest versions of WHMCS including version 6.3.1.  The bug consists of unexpected behavior when modifying a client’s product details and using the “Enter” key to submit the changes when the product is a cPanel Account.  In previous versions of WHMCS you could change a field, such as the renewal price, and press “Enter” to submit the form.  Over the years we had become accustomed to changing client product settings in this manner as we found it was the most efficient way to do it.

Due to this bug when modifying the details of a client’s product you have to use the “Save” button at the bottom of the form or WHMCS attempts the new “cPanel Single Sign-On” to access the cPanel account of the product.  On the surface this may not sound like a huge deal but over the course of the day the productivity lost over such a simple issue can add up fast.  In some cases the changes entered into the product are lost and even worse the representative may not notice it happened!

As we have also identified a fix we could put in place prior to WHMCS resolving this internally – we wanted to make that available.  This fix applies to both the “blend” as well as the “v4” WHMCS Administration templates. Continue reading “Running WHMCS v6.3? Saving Product Details Bug & Resolution”

What is the HOSTS file & when should I use it?

Editing HOSTS file on OS X via NanoWhat is the HOSTS file?

The HOSTS file is used by your computer’s Operating System (Windows, OS X, Linux, etc) to map hostnames to IP Addresses.  In layman’s terms your computer will check this file for any domain it needs to resolve to an IP Address prior to querying public DNS resolvers.  The HOSTS file can be used to point a domain name to an IP Address regardless of the DNS settings for the domain.

An example of a HOSTS entry to load “www.example.com” and “example.com” from the IP address “93.184.216.34“:

93.184.216.34    www.example.com example.com

Windows may require two separate lines like so:

93.184.216.34    www.example.com
93.184.216.34    example.com

When the above records are added to your HOSTS file the result is that if you try to load that domain in your browser it will connect to that IP to make the request.  If you try pinging the domain you will find that it pings that IP as well.  What this means is that you can use this to test your site on a new server before you point your world-wide DNS there. Continue reading “What is the HOSTS file & when should I use it?”

WordPress Security – Plugins & Themes – If you’re not using it, remove it!

wordpress-logo-notext-rgbOver the last few years I have seen more accounts compromised due to outdated default themes like  “Twenty Twelve”, “Twenty Thirteen”, “Twenty Fourteen”, etc.  When a user installs a new copy of WordPress more often than not they proceed to install a new theme that they prefer over the default offerings.  The big issue is the result of two missing steps that all webmasters should perform.

First and foremost is keeping everything up-to-date which can prevent the vast majority of account compromises we have seen over the years.  We keep the servers themselves secure from intrusion and we even work to protect your usernames, passwords, email accounts, etc. but there is a limit to how much we can shelter you.  If, for example, you have an outdated theme or plugin installed even if you aren’t using it – it can be used against you and your site.

Continue reading “WordPress Security – Plugins & Themes – If you’re not using it, remove it!”

What does “Unlimited Storage” mean at MDDHosting?

logoI want to start out by saying that not having a limit does not mean infinite usage is possible.  We’re all smart enough to know that no matter what storage technology we’re using to power your sites there will ultimately be a finite limit.  What “Unlimited Storage” means to us is being free from an arbitrary limit that you have to keep in mind and be careful not to cross.  There are several analogies I can make but the best that I can make is to “Unlimited Calling” on cellular providers.

When it comes to a cellular provider offering “Unlimited Calling” it does not mean that you can talk an infinite amount of minutes within a month as there are obviously a finite number of minutes in the month for you to talk.  The key here is that you no longer have to worry about how many minutes you have used, how many minutes you have left, and whether you are going to run out and have to upgrade [read: pay more].  “Unlimited Storage” is the same in that while it’s not infinite – you no longer have to worry about running out or having to upgrade your storage to keep running your site.

Many see “Unlimited Storage” as a “marketing gimmick” or a “trick” to “fool those that don’t know any better,” into signing up.  With many providers this is often unfortunately the case.  There are a lot of providers out there that offer “Unlimited Storage” but when you read the Terms and Conditions there is either an arbitrary limit specified or, even worse, there is an ambiguous “fair use” clause that essentially says that if they decide you’re using too much they’ll kick you off or force you to upgrade.  These providers have unfortunately damaged our industry as well as damaged providers that want to offer “Unlimited Storage” to simplify the lives of their customers.

Continue reading “What does “Unlimited Storage” mean at MDDHosting?”