Only Part of my WordPress Website Down or Having Errors
1. Update WordPress Core, All Plugins & Themes
Before you go any further, make sure that all of your plugins, themes and the WP core is up to date. It is amazing to me how many people don’t take care of this one simple step. Actually one of the reasons why you are reading this blog post right now is due to this. I saw how many people were getting hacked or having issues with their websites that just weren’t updating. Being an entrepreneur I knew that I had found a need that I could solve for people, making their life easier and saving them time in updates, backups and troubleshooting. With that being said, this is a major issue for a lot of people running WordPress, they forget about the updates. Worse yet, they think under their “Managed WordPress” hosting that it is being taken care of. Ok, I will get off my soap box about it, so go make sure that you have everything up to date.
2. Google Chrome Developer Screen
It is amazing to me how few people use this or even know about this portion of Google Chrome. Now I will say that when I am trying to fix an issue I will sometimes use both Firefox and Google Chromes developer tool just to see which one gives the most information. The coolest part about this is that if you are having a script error on the page it will tell you which script and what line is having the issue.
Want to get down to it fast, check out the console to see what error messages you see on your site. Sometimes your error is being caused by something you hadn’t thought of being an issue. For example, the issue I had before I started writing this blog post.
On the Firefox side it showed very few issues and gave me nothing to work with. Then I popped open the Google console and there it was, the 503 error staring me right in the face and even giving me enough detail to be able to fix the issue.
For mine it was giving me an error due to not all of my files being accessible from the CDN. For some reason in the last theme update it caused some strange issue with the files not being uploaded properly. I will talk more about that issue below under the CORS settings.
Access this screen by going to the top right corner of Chrome, click on the 3 dots, then go to “More Tools”, then choose “Developer Tools” or use “CTRL + SHIFT + I”
3. What Scripts, CSS, Plugins, Themes or CDN is Giving the Error?
This is a semi convoluted question/step as it could be a plugin, the theme, WordPress core, your CDN or the server itself. We were talking in the last step about using the Chrome Developer screen to sort out where your issues are located. Sometimes from here you will see that a plugin is causing something else to not load correctly, that then causes something else to ultimately error, which can be frustrating especially if it is a plugin that you rely on, but doesn’t have an update. This is where I start replacing plugins with something that does the same thing but is fully up to date and supported. However that isn’t always an option especially if what you have been using has special code on every page of your site. (BTW I am not a fan of using anything that can’t be swapped out, I grew up playing with Lego’s so I want my plugins to be swap-able like a brick in a Lego set.)
4. What are the Errors?
I started to touch on the what are the errors in the last step, as you have to look to see what all is giving you the errors, then look at all the errors. The 503 error message is one of the more broad errors as it can point to a host of issues. You can even have more than one error that point to different issues. So here is where looking at the exact error message after the initial error portion will come in handy. It is amazing how many variations of issues can happen from one error message.
Here is what it boils down to, hosting resources, which is where most of the issues come back to. Let’s say you have a script from a plugin or theme that has run amuck, it will run up your processor or fill up the RAM on your server. This will then start showing a error as the host throttles your hosting plan or stops showing your site due to lack of resources.
The other issue I have started seeing is due to resources from the CDN not having the correct settings in place. Your CDN is setup to help keep your local server from getting to the point of throwing errors, however on some low end shared hosting plans you will still end up with it using all the resources really quick just running your site in a normal operation. So maybe the first step to preventing error messages is to move your site to a better host. (Yes I can shamelessly plug our plans here, but you already know I want to, so I won’t as there is probably an ad on the side of the page for it.)
On this point though, start with the first error you see in the console, most of the time that is your base issue. Now you may have other issues past that, but always start with the first error you see in the console.
5. Clear the Cache From Your Cache Plugin
Before you start rearranging a ton of stuff on your site, make sure you clear your cache. If you don’t have a button from the host or a button from a plugin to do this, then you probably don’t have any cache. There are exceptions to this rule, but now isn’t the time to talk about “if this and if that”. If you have just updated something on your site and you are suddenly getting these error messages, a lot of times you can just clear your cache and it will fix the issue. If you have an FTP connection into the server, I would also check the folders your cache files live in to make sure they are truly cleared out.
6. Clear Your CDNs Cache
Using a CDN? Now is the time to also clear its cache. If you are using Cloudflare and you haven’t set it into Developer mode then you may want to clear the cache on CF. (I would clear it no matter what state it is in, just in case.) Cloudflare is great for serving cache content, but it takes the 30 day expiration seriously, so you may want to make sure it is clear.
7. Look at the CORS setting
Using an SSL on your server? No, well you better get one. However if you are and you are using a CDN, you need to make sure you have “Add CORS header” enabled. This tells your CDN and your local server to play nicely, to share files and to serve all of them to people asking for your website.
This is a setting that you need to let propagate once you change it. I didn’t do that while working on an issue and it made my life hell. I would pull the site and it would be fine, then I would pull the site on a different browser (with a different cache) and it would show different. All because I forgot that you need to wait 60 seconds, yes I couldn’t wait as I really wanted the fix to be there. So I adjusted the setting back and forth and back and forth. Finally, I cut it on, left the room, came back 5 minutes later, post doing a shot of rum (not really but it did make me think about it) and suddenly it was all working right. Its a CDN, so the changes have to propagate across multiple servers and sometimes that takes 60 seconds. I just had to shake my head at myself because I know better.
8. Add Your Base Domain to the Whitelist
Did you know your CDN has a Whitelist? Now you would think that you shouldn’t have to add anything you are doing with your base domain to a Whitelist, however you do. Especially if everything you are serving is via HTTPS and you have SSLs in place on every side to protect your customers. It is better to always have your domain in your Whitelist vs not, even if you don’t need it. I had an issue about a week ago, where the only problem we had, that was giving an error message, was due to not having the domain in the Whitelist. You want your data secure, right? Well have SSLs on each piece and make sure the Whitelist is setup for your appropriate domains.
9. Add the CDN IP Range to the Wordfence Whitelist
Well now that you have added your domain to the Whitelist, now is the time to add your CDN to your Wordfence or other local security plugins Whitelist. Hey this is a two way street and data needs to move back and forth freely. It will already be secure, if you have an SSL on each side, so you will be ok to add the IP Ranges into your Wordfence Whitelist. Every CDN should have a page in their setup guide that lists their current IP ranges to add to your Whitelist. It is also good to check the updated list every 6 months or so to see if they have added any new servers or dropped any broken server IPs.
10. Wait 3-5 Mins
Remember when I was talking about changing the CORS setting and that I wasn’t waiting? Keep in mind that any changes you make that have to do with the CDN and its cache may take up to 5 minutes to propagate across all the servers, especially if you are on a free plan for Cloudflare. So when you adjust major settings having to do with SSL or permissions on cache files, wait a few minutes so that the changes have time to get to all of the servers.
11. Check the Incognito Window – Google & Firefox
Keep in mind that what you see in normal browser windows can be a bit deceiving as you will have local cache of your website. This can be a source of confusion when you make a change and don’t see the change. This is where incognito and private window comes in super handy as you are able to see your website fresh with what it is showing currently to the world. I have moved to when I start getting error messages, that I just do all the troubleshooting from an incognito window in Google Chrome with the Developer window open. This in itself has made my life a lot easier as I know what is being served fresh vs being served from the local cache.
12. Enable WordPress Debugging
This may be one of the most under utilized functions of WordPress, when it comes to troubleshooting issues. You will have to edit your WP-Config.php file to change the setting to “True”. But if you aren’t able to fix your error messages and you aren’t getting enough info from the error message, this is a great place to start seeing where the issue may be on the site itself. Now if you have a server issue, this won’t help you. But if you are having a plugin, theme or WP core issue, this will give you valuable info to use in the process of fixing your issues.
13. Disable Your Plugins
If you get this far and nothing is working for you, disable all of your plugins and check for errors. If you have the same error, then the issue is not the plugins. If your error goes away, then one by one enable the plugins and check in an incognito window to see if the error comes back. Now I did talk about this in the above “if you can login to WordPress section”. The only other portion I can add here is if you find a plugin that is causing the issue, see if that plugin has an update. Another piece I have started doing is checking to see when the plugin was last updated. If it has been more than 1 year, start looking for a replacement plugin. There was one site that we recently fixed that had 11 plugins that hadn’t been updated by the creator in over 3 years! Yikes! Talk about being left open to getting hacked!
14. Swap the Theme
I also touched on this part a little in the above section along with the plugins. If you swap the theme and still have the same odd issues, you will know that it is not your theme. Remember to check it in an Incognito window to be sure if this is an issue or not. If the issue is within your theme and you don’t have access your web designer, reach out to us for help. If you do have access to the theme developer, open a ticket with them as they will need to fix the issue. If you have added a lot of custom code to a theme, you should be able to see the errors in Google Developer Console or if you cut on debugging via WP-Config.
15. Open A Ticket – Add All the Steps Completed
Congratulations! You have completed all that you can complete for troubleshooting, at this point you should have a good idea of where the issue is and if you can fix it or not. You may have a hosting issue, so it is always better to alert the hosting company so that they can fix it for you. The good part of this is that you should have a lot more knowledge about what is going on with your WordPress site so that when you open a ticket you can give them a ton of info. Also at this point you should have ruled out any issues that it may be your WordPress install which means it is a server/hosting issue.
I hope this has helped you some in understanding how to sort out where your issues come from on your WordPress website. If you have anything that I may have missed, feel free to share it in the comments and we will add it in! There is so much info about WordPress out there that it can be overwhelming at times, so I hope that this has helped give you a little clarity.
As a WordPress Concierge client you don’t have to worry about any of these steps. You just open a ticket and we will take care of everything for you! We want you to have piece of mind and ease of use with our service, which is why we say just open a ticket and we will fix it quickly for you.