301 – How to Fix a Broken WordPress Site
Announcements
Is there a plugin for that?
With more than 50,000 plugins in the WordPress repository, it’s hard to find the perfect one. Each week, I will highlight an interesting plugin form the repository.
For more great plugins, download my 50 Most Useful Plugins eBook.
Temporary Login Without Password allows you to create a self-expiring, temporary admin accounts. Easily share direct login links (no need for username / password) with your developers or editors.
How to Fix a Broken WordPress Site
Are you experiencing an error of some type on your WordPress website? Most errors can be solved by following these easy troubleshooting tips
- Create a backup of your site
- Duplicate your site to a staging server
- Turn off all plugins
- Switch to a default theme like TwentySixteen on Storefront
- Refresh Permalinks
- Backup and Delete the .htaccess file
- Flush your site’s cache
- Test with an Incognito browser window
- Contact your web host
- Contact the plugin / theme author
- Hire Help like at Codeable.io
Thank You!
Thank you to those who use my affiliate links. As you know I make a small commission when someone uses my link and I want to say thank you to the following people. For all my recommended resources, go to my Resources Page
Full Transcript
Business Transcription is provided by GMR Transcription.On today’s episode, we are going to talk about how to fix a broken WordPress site right here on Your Website Engineer podcast, episode number 301.
Hello, everybody. Welcome back to another episode of Your Website Engineer podcast. My name is Dustin Hartzler. Today we’re going to dive into some of the troubleshooting steps that I use every day to fix a broken website or find a problem and find where the problem is on a broken WordPress website. But, before we get dived in, I want to talk about two different announcements. The first one is Ninja Forms THREE. This is a brand new version of Ninja Forms. I talked about Ninja Forms a few months ago on a podcast and version THREE is finally live.
There’s been a banner at the top of my website for quite some time saying that version THREE is coming and they claim it’s the most beautiful piece of software they’ve ever worked on inside of WordPress. It is a complete rewrite of the user interface. All of the underlying code that powers it has been reworked and redesigned. It is reimagining how WordPress form builder should be. They say that it’s reimagining how any WordPress plugin might be built, regardless of the purpose.
So if you are a Ninja Forms user, you want to update to version THREE and it does look completely different. There’s a lot of new things that are built in under the hood. I’m not going to do a whole show on this, but if you are a Ninja Forms user, I highly recommend upgrading to version THREE. The other thing that I want to talk about is GoDaddy now has acquired the WordPress site management tool, ManageWP. So ManageWP is a site management service founded in 2010. It officially was released in 2012 and has been acquired for GoDaddy for an undisclosed amount of money.
It is a company based out of Serbia and it has more than 25 people on their team. The service enables you just to manage backups, update security, and monitor performance sites through Orion, which is the company’s new redesigned dashboard earlier this year. So it will operate as an independent company under GoDaddy’s umbrella, similar to how Media Temple does. According to the co-founder, or the founder of ManageWP, they say eight percent of all websites managed with the servers are hosted on GoDaddy.
So there are a lot of people that are using the combination of ManageWP and GoDaddy. So it seems like it’s a good fit as a company. It says that, “GoDaddy has significant scale and resources that will help us put the product in the hands of hundreds of thousands of WordPress professionals while, at the same time, adding significant value to the product itself.” So there is, I saw this article over on WP Tavern. So you can find that link in the show notes for more details, but that is just, in a nutshell, what happened with the acquisition of ManageWP.
Alright, lastly I want to talk about a plugin this week. There’s always a plugin for that. There’s always a plugin to help you do whatever you’re looking to do with more than 44, 45, 46,000 plugins in the WordPress repository, there is an awful lot that we can do with free plugins. This one is a brand new one. It only has 30 active installs and this one is called Temporary Login Without a Password. You can create a self-expiring, temporary admin account.
It makes it easy to directly share login links with no need for a user name or a password, whether you’re developers or you’re editors. So it works exactly how I described it there. So you can give admin access to a developer. Maybe you’re a troubleshooting team that we’ll talk about here in just a little bit. Basically, you put in your email address, your first name, your last name and your role, whether that be a subscriber, contributor, administrator, and then it expires in X amount of days. You can tell it. It’s a drop down menu and you can say how many days that it’ll create. Then it is a whole list of these temporary logins that you can see who has access still and whose is expired.
So, that would work really, really well if you have somebody that you need to login just for a day or so. You give them this link. They click on the link and it automatically logs them in. it makes it really, really easy and it makes it so that the team troubleshooting or the person that’s troubleshooting, the person that’s doing the work for you, they don’t have an admin access that you sometimes forget to delete and it just is a really neat idea for a plugin. So if you have some sort of task like this, if you need somebody to get into your website, I highly recommend using Temporary Login Without a Password.
Alright, today we’re going to talk about the things that I do every day to troubleshoot WordPress websites. So as you may or may not know, I am a WooCommerce Support Ninja. So every day, I get to help customers go and make their websites work and we have to go in and fix it. There’s something wrong. There’s something just not working right, whether it be the settings aren’t working right or the plugins not having the expected output or a whole myriad of things that could be going wrong.
So I just want to talk about today what my thought process is or kind of the steps involved in troubleshooting and trying to figure out what’s going on with a website. So the very first one is, let’s see … The very first one is create a backup of your site. You know you want to make sure before you start troubleshooting, before you start flipping switches and turning knobs and doing all these things that you have a good, solid backup of your system. This can be done with any of the plugins that are out there; the Backup Buddy, the BackWP Up, even Vault Press.
You have the ability to click the button to automatically clone your website right now and you want to do that and make sure that you’ve got a complete backup of everything that you’ve got running on your website. Then what I like to do is I’d like to recommend to make a duplicate of your site. Make a complete, exact replica copy of your website and put that on a staging server. This way it’s going to make the next few steps a lot easier and it’s not going to affect your live site.
This is especially crucial for websites that are running eCommerce platforms or they’re a membership website that hundreds and hundreds and thousands of people rely on being up every single day. We don’t want to be doing some of these troubleshooting processes on a live site because it could affect sales. There’s a lot of things. The visuals may look goofy for a little while. We don’t want to do this on a live site. So duplicate your site and it’ll be much more comfortable to turn things on, turn things off, flip switches, turn knobs, things like that.
The next one is to turn off all plugins. I always like to turn off all of the plugins except for whatever’s happening. So if the customer says that, “My product bundles. WooCommerce plugin is not working correctly.” I’m going to say, “Okay, turn off everything but WooCommerce and product bundles” because those are the two. We want to make sure that they are working in the default states with their WordPress website. If you turn off all plugins except for those two and things work, good. You know that the plugin itself is working.
Now let’s go ahead and start figuring out which plugin is causing a conflict. Now what you can do is you turn plugins on one at a time and then do a refresh of your website or refresh of the admin dashboard or whatever is broken and then try to check to make sure that it’s not being caused by an individual plugin. So, for example, I normally start at the top of my list. So Akismet is normally the first one that I turn on. I turn on Akismet. I go and I look. Okay, product bundles is still working.
Okay let’s move to the next one and then let’s move to the next one. If you’ve got dozens and dozens of plugins, you can do these two or three at a time, just as long as you remember what two or three that you just activated. It’s always the pain of, “Okay I’ve activated five at a time and now okay, which five was that because now I figured it’s one of those five that’s broken.” Then you have to go back in. Just make sure that you know, whenever you turn a plugin on, those are the plugins that you’ve turned on and enabled.
Now if turning off plugins doesn’t help anything and you’ve got them all turned back on or you’ve got them all off and it doesn’t help anything, now what we want to do is we want to switch to a default theme, like 2016 or Storefront. There’s a lot of plugins or there’s a lot of custom themes out there that have overwritten plugin files. This goes especially for WooCommerce. There’s a lot of customers that we see every day that have a custom theme and they’re using custom WordPress or custom WooCommerce templates. So we want to make sure it’s not a problem within those templates that’s causing the issue.
So what you want to do then is switch to a default theme like 2016 or Storefront or any of the other ones that are on the WordPress repository, but those are the two big ones that I like to recommend. Then we can see if, “Did it fix it? Did it not?” Then, depending on whether it fixed it or not, then we know what our next troubleshooting step is. So if it fixed it, then we know it’s somewhere in the theme. If you’re running a child theme, then I’d recommend going to the parent theme and seeing if it’s an issue with the parent theme. If the parent theme works, then we know it’s in the child theme.
It’s all about trying to figure out where the problem is so then we can troubleshoot the right area of our website. Normally this first step takes a little while just to try to figure out where the issue is coming from, but as soon as you know where the problem is coming from, then it makes it a whole much easier to actually troubleshoot and fix whatever may be going on with your website. So that is the next step is to troubleshoot by switching to a default theme, like 2016 or Storefront.
Another thing that sometimes just fixes a lot of weird issues is going into the permalink section and just refreshing your permalinks. So that’s under settings and then permalinks. This happens sometimes when, I don't know, just sometimes when you go to a post or a page and the page just doesn’t load. It’s just some weird, goofy stuff sometimes. It just doesn’t happen. That’s always one of the easiest things to go to. You just go to that page, the permalink settings page, and hit save. You don’t have to change the settings or anything.
Every time that you hit save, it overwrites your file, your HT Access file, and it tells WordPress exactly how the permalinks are set up. So it just seems like it’s one of those little things that just sometimes fixes some of the weirdest issues. So if you’re having some sort of issue with pages not loading right or category slugs not working right or things like that, go ahead and just reset those and refresh those permalinks. Another thing that we want to do is to backup and delete the .HT Access file. This is a file that’s inside of your WordPress website.
You’ll find this when you look for hidden files via FTP on your server. It’s the very first file that’s loaded when your website loads and it tells your web server how to do things. The main thing that’s in there is, like I said, the permalinks, that structure and how permalinks are displayed. That’s all written to the HT Access file, but there’s other plugins that add stuff to the HT Access file. Sometimes it’s the Yoast plugin or if you’ve got redirect set up. That will be all in there. Sometimes some of your caching things or things that aren’t cached, files that aren’t cached and stuff like that, those will all be in that HT Access file.
So if you’re having some sort of goofy issue that isn’t solved by changing to a default theme or turning off all plugins, then getting rid of the HT Access file is sometimes the way to go. Again, you have to use an FTP editor. I use Transmit and then, within Transmit, I hit control shift B and that shows me all hidden files. It’s a hidden file, so basically what you can do is you can just rename it to anything that’s not .HT Access. I sometimes just like to call it HT Access.text. Then that backs it up and completely removes it.
Then go to your permalinks page, re-save your permalinks, and then everything will start working again hopefully if it was an issue with an .htaccess file. Another thing you want to do is flush your site’s cache or even turn off your caching plugin completely. This sometimes leads to goofy issues and the best way to troubleshoot is to turn off the cache and flush the cache. A lot of times we’ll make setting changes and we‘ll try to do things and then we go to refresh our website and nothing has changed. We don’t think that our setting has changed, but it’s actually the cache that’s caused things to not cycle properly or your page to refresh correctly.
You want to also make sure that when you’re doing this that your website doesn’t have any caching as well. I know that specifically on GoDaddy’s websites, I’ve run into problems before where I’ve made a change, a settings change, or I was working on CSS and I made the change. I did a refresh and it didn’t change, even though I thought the CSS was right. Here they have their own level of caching on the server. So you just want to wipe out all caching to make sure that that’s not an issue.
Sometimes moving your website to that staging server, that’s going to help out a lot if you move it to a staging server and then turn off the caching immediately so caching isn’t working. Then it might be faster and more efficient to figure out where those issues may be coming from. Another interesting thing that a lot of people don’t think about to test is you want to maybe figure out whether it is a problem whether you’re logged in or you’re logged out as an admin user.
I know a lot of times, especially when it comes to helping people with their shipping issues, when they’re trying to ship a product from point A to point B, they have a lot of issues with, “Oh, it automatically is pulling in some sort of zip code.” That’s normally because you’re logged into your website. If you’re logged in, WooCommerce knows where you lived, based on your user profile or your past logging in. You’ve tested things before. It remembers that information. So my recommendation here is to use an incognito window or an incognito browser. You could do this a lot of ways.
The easiest way is just to go file and go to, if you’re Firefox I think they call it private windows, but on Safari and Chrome they call it incognito windows. That basically will log you completely out of the browser and allow you to view your website. This is especially good to troubleshoot when you are trying to figure some things out, but you still need to be logged into your website. So maybe you are logged in in Chrome and then you have an incognito window in Chrome as well and you can view your site as a logged out user. So that helps a lot of things to try to debug and try to figure out, “Is it based on your user role? Is it based on who’s logged in or who’s logged out? Where is that logic coming from?”
So that’s another thing to think about. Maybe if you’ve went through all of these steps already and the problem still isn’t fixing itself, then I would recommend contacting your web host. Make sure there’s nothing goofy going on with your web host. It really depends. All of these really depend on the type of issue. If your website’s not working and it’s completely broken, then this may be a step that’s very first. You go to your website and you can’t even login, then you definitely want to contact your host first because you can’t do any of these troubleshooting tips. So that’s something to think about.
Your hosting company, as long as they pride in taking care of their customers, they’re going to have a customer support team that can at least kind of point you in the right direction or make sure that everything on your server is working properly and things along those lines. So think about that. Another thing that you want to do is, depending on where the problem actually lies, like maybe it’s an issue with a plugin, maybe it’s an issue with a theme, then you want to contact your plugin or theme author to see if there’s any troubleshooting that they can do.
Now remember somebody like them or even me, I get to troubleshoot the same type of issues very, very regularly. So there’s a lot of things that I may know or may see regularly and be like, “Oh, well that’s just this” or “Oh, it’s just that.” Those types of things come up and it makes it a lot easier to troubleshoot when you contact the person that’s in charge of the theme or the plugin because they deal with that theme and plugin on a day in and day out basis. Also if you raise a question with them, that also allows them to contact their developers or work with the developers or the team to say, “Hey, this is broken. These things need to be fixed.”
They can get a update to that plugin much, much quicker than if you just post on a forum somewhere or something like that. The next one is to post on forum, you can go to WordPress.org. there’s free forums there, but if you’re using a premium plugin if there’s something wrong with a premium extension, then you want to make sure that is taken care of with their support team. Most of WordPress.org form work does not cover premium plugins like that. So you want to make sure that you’re posting those in the right places.
So I like to recommend going straight to the plugin author or the theme author first. Contact them in a private manner or whatever their support system is set up and then, if they’re still having issues or maybe it’s taking forever for them to get back with you, then you can post on the WordPress.org forums as well. If you do post on the forums, make sure that you post an answer later so that people know what the issue is.
It’s super frustrating to find somebody that had the exact same issue as you do and then you go and they’ve said, “It’s resolved” but they’ve never said what happened or what caused it to be resolved and then the forum thread is closed and then you can’t comment on it anymore. So that’s something to think about if you do use the forums, if you do go that route. Then lastly, you might want to hire help. You might want to hire a developer to try to figure out or troubleshoot what’s going on.
There’s great folks over at Codeable.io and there’s lots of other places that have one off WordPress services where they can help you troubleshoot and debug and figure out what’s going on in a small scale. It’s not like you’re going to spend thousands of dollars to do this. It could be a very easy fix. If you’ve run through all these steps and still can’t figure out what’s causing the issue, you may only have to pay them for 15 minutes because they may have years and years of experience and know exactly what’s causing the issue.
So if you do have to contact somebody, especially those last few, the contact the plugin and the theme author, contacting somebody at Codeable or paying somebody to fix it, then give them access to that staging site so that they can fix the staging site or they can debug and they can troubleshoot, so that you’re not giving out access to your live site. By doing that, you can actually use that Temporary Login Without a Password.
You can go ahead and do that and feel much more safe on your staging server that you’re giving away a user name and password that will expire in just a few days and they’re not getting in and getting access to your life site. So those are the big things that I want to share with you. This is kind of what goes through my head every single day.
Occasionally, I’ll do these steps or work through these things and it just doesn’t make sense. Sometimes it’s just a setting inside of a plugin, a hidden setting inside of a plugin, that’s causing all of these weird things to happen. So this is not a tried and true list, like if you go through all of these that you’re going to fix every single thing. No, that’s not the case, but it’s going to get you a step in the right direction to figure out, “Okay, where things are happening.” It’s a lot of fun, but it’s a lot of frustration as well. Sometimes it takes back and forth with a customer just a handful of times to figure out what’s going on and what’s taking place.
I do also want to mention that when you are contacting either your web host or the plugin author or the theme author, take your time and really take your time explaining what you’ve done, what’s going on, and the expected results or what should be happening or what I’m expecting to happen. That will help the people on the other end to know exactly what’s going on and help you to remedy and fix the solution that much faster. So that’s what I want to share with you today, how to fix a broken WordPress site. Until next week, we’ll talk to you again soon. Take care. Bye, bye.

