Welcome to Press This, the WordPress community podcast from WMR. Here host David Vogelpohl sits down with guests from around the community to talk about the biggest issues facing WordPress developers. The following is a transcription of the original recording.
David Vogelpohl: Hello everyone and welcome to Press This the WordPress community podcasts on WMR. This is your host, David Vogel Paul, I support the WordPress community through my role at WP Engine, and I love to bring the best of the community to you hear every week on press this as a reminder, you can find me on Twitter @wpdavidv, or you can subscribe to press this on iTunes, iHeartRadio, Spotify, or download the latest episodes at wmr.fm and this episode I’m really excited about this one this one’s going to be a fun one. But this episode is when is it your site’s fault versus your host fault, oh my goodness we all know that claim it’s your host, it’s your code. And joining us for that conversation is Chris Wiegman of WP Engine Chris, welcome to Press This.
Chris Wiegman: Hey thanks David Glad to be here.
DV: Nice and I know you know, now you do quite a bit in the WordPress community we’re gonna talk about that a little later. But for those listening in this episode what Chris is going to be talking about is basically how you can figure out if performance issues or downtime or errors are the fault of your site site or your code your plugins, or if they’re related to your hopes to help you answer that age old question who’s at fault. Chris, really excited about this but before we kick off, and I don’t know this answer to you, despite having known you for so long but tell me a little bit about your WordPress origin story.
CW: WordPress origin story she had to think about this one it’s been a while. I realized I just created my first wordpress.org account 10 years ago, a little bit more than 10 years ago I was working at Southern Illinois University and I had been an airline captain. When the recession hit SEIU and called me back and said hey, when you were a student worker you fix computers so you want to switch careers will pay for a new briefly and anything you want, couldn’t pay me much, but the salary of a captain’s about their little under 30,000, a year, but any degree debt free and I said well that sounds like a good deal. So I started building websites for them or working on a CS degree, and that’s what led me toward WordPress, to fulfill their needs.
DV: Nice. Did you, did you complete your CS degree or did you did you just get lost in the world of WordPress.
CW: Nope, I actually I finished a master’s in computer science.
DV: All right, good deal well educated. Well hopefully you can give us some good insights then I’m making the differentiation between host VS code the age old question, you know this this debate that you know rages things go wrong with teams and reminds me of this Haiku about DNS it says it’s not DNS, there’s no way it’s DNS, it was DNS. Obviously, anyone that’s dealt with DNS settings before it knows why that’s funny but of course we can kind of have similar things happen as we as we deal with hosts. Right. And real quick, lay on you, though. You know, I mentioned that you work at WP and your Magento involved with quite a bit so you could, could you do in WordPress so could you tell us a little bit about your job and some of the projects in WordPress you’ve undertaken or even still are involved with.
CW: Sure. Historically, I built plugins is where I started with WordPress I built what’s now I think security and a handful of other plugins used around, and I spent a lot of time on top of that, optimizing I build local dev tools to try to help large site that enterprise level sites optimize no University sites content tend to be some of the bigger WordPress sites when you start getting into networks. So a lot of work around those mostly Server Administration, with the serve with with universities and building things like what had been WP engines dev kit, and product before that called primary vapor and all these different local environments to help test how things are running and stuff like that. These days I’m working on our e commerce team where I’ve actually been spending a lot of time in various types of load testing run WooCommerce and data metric collection and stuff like that in order to help improve the performance of WooCommerce.
DV: Have you ever blamed a host for something Chris that ended up being your codes fault.
CW: Just about every time I see one of my own bugs, of course, it’s kind of either got to be it’s got to be somebody else at first I couldn’t have it oh I did put an extra period there. Darn it.
DV: Yeah, now I’ve been in hosting for over 20 years, and you know I think that the same is true the other way around. Right, where hosts will often say like, Oh, it’s your plugins it’s your code, but but actually might not be and making that distinction is super important. Real quickly in your background, though, I know you’ve been involved with like the WordPress community itself like you’re really kind of ingrained in it and a lot of ways, at least socially. But I know that you’ve also volunteered in the past what were some of those volunteer projects
CW: Sure, I still actually for going on eight years now. I think it’s been I’m one of the by far the most prolific monitor moderator of the jobs that WP Engine dotnet participated in. I don’t know how many.
DV: What are the jobs?
DV: You said WP Engine, yeah it’s jobs dots WordPress.
CW: Oh, did I say WP Engine Sorry, I confused by day job sometimes. But I’ve been working with that site for years and then I’ve helped. I’ve helped organize work camps such as Utrecht Netherlands WordCamp US WordCamp Boston when I used to live there back in 2012 to 2014. And, quite a few and then I spoke it. Gosh over 50, I believe it is at this point various WordCamp South by Southwest and other stuff about WordPress.
DV: Alright cool so you know a little bit about it, and you claimed a host which makes you well qualified for this conversation. So help us help folks understand like I give a little teaser about like what what is the debate, typically look like when, when you have this issue in front of you like code versus house.
CW: one of three things. It’s either. Why is my host, why is my site so slow. Why is my speed score so low, something along that, which, of course, when you look at the speed tests one of the recommendations that we say is, get a better host, kind of a blanket one from the days when everybody had that $2 hosting account and yeah maybe, maybe the host could be an issue. The second thing is, of course, there’s an error. Why is, you know, why does this not work the way I thought it would or something like that. And the third thing is simply an incompatibilities, I just installed. This caching plugin Why is it not working, you know why why is it giving me problems, why didn’t it improve anything. So it’s, you’re looking at either incompatibilities flat out broken, or simply slow speeds are the three things that people tend to see and blame for that can go either way very quickly.
DV: So I feel like, is I hear you say that like in compatibility and like an error on the site in terms of functionality and look and feel like to me does feel kind of like the same thing it’s almost like for me. The third thing would be downtime.
CW: I think downtime contributes to it but it’s more of a symptom of both of them, I say in compatibility and I can think of WP engine in specific and I think most hosts have this list of banned plugins. For instance, one plugin that we now allow on our on our site is our farm at WP Engine is wordfence but it took a long time for them to get that approved, because they had a caching engine that would cause problems with our own caching with our internal caching. So they’re incompatibilities of you’re trying to implement a feature via a plugin, that’s already implemented at the host level or some configuration or part of the hosting stack and actually interfere with then what you’re trying to implement.
DV: Okay, that makes sense. So, then, as you think about like these debates. Like, as that moment of discovery I guess that’s varying right if someone’s complaining about this site being slow that could be the site owner kind of initiating that an error might be a developer kind of discovering it as they’re trying to implement something, and then compatibility is like a ghost in the machine you can basically never tracked down. Is that a good way to kind of classify like how those debates would come to be.
CW: Yeah, I would say so.
DV: Okay. Gotcha. So we kind of understand, I guess, like, what the debate looks like when you have these questions I want to take a deep dive and ask you some more about this but we’re going to take a quick break and we’ll be right back.
DV: welcome back to press this the WordPress community podcasts on w EMR. This is your host David Vogel Paul, we’re talking about when is it your site’s fault or your hosts fault with Chris wiegmann, Chris right before the break you gave us a little window into what these debates typically look like focusing around kind of slow or speed performance issues errors and functionality among also compatibility. So, what are the most like common issues that surface in these debates so let’s go as slow versus speed I guess to start
CW: slow versus speed we’re talking about symptoms here right so what are the most common symptoms this surface, and the most obvious one is a slow loading site and how do you determine that probably Google PageSpeed, or gt metrics web page test. org there are hundreds of sites out there that will tell you how fast your site is so nine times out of 10 it’s either you’re looking at it and biases seem to be seem to be taking so long for me. Or, well, this developer just sent me this report and it says my site is slow, so it’s it’s real vers perceived in some cases but it’s looking at either a report, or just general observation.
DV: And so in these cases like I figure if you’re an advanced developer you’re looking at a Google PageSpeed Insights report and you’re saying like a generally no it’s maybe my code or the end code but is that not always true Do you, or I’m sorry the hose. But is that you feel like that’s true. Do you feel like there’s ambiguity even for an advanced developer looking like a web page test or report or PageSpeed Insights and saying like, I definitely know what’s causing this,
CW: I think there’s different types of advanced developer with this advanced front end developer might be able to pull a different conclusion out in advance back end developer on something like WordPress. For instance, an advanced front end developer might look at it and say, oh man we’re loading this. It’s got all these extra libraries for loading. This is from the previous version of site, and x page back here, loads this we can clear out some of this extra prop right and that will improve parts of PageSpeed, whereas an advanced back end developer is probably going to look at time to first byte. Oh well this first initial page before anything at all happened took 17 seconds social you know whatever it might be. In that number. That’s something on the server, or how do we addressed it there. So it’s, it really kind of depends on how you look at it, what the takeaways be and I’ve seen a whole host of very different takeaways. The truth is some most of these problems aren’t surfaced by developers, developers tend to solve the problems where it’s the site owners that tend to find them. So it’s, how do you approach a developer who’s paying for the developer. Yeah, there’s a whole lot of questions there that tend to at least back to our original question which was do you blame the host or is it my fault. When I you start looking at who noticed the problem, and what the developers response to that problem is, does that make sense,
DV: it does kind of like the mind codes great must be the host kind of issue but that might not necessarily be the full story so if I’m thinking about it like in a blame host VS code perspective. And I’m saying novice user that doesn’t know how to interpret these reports. It sounds like the big takeaway there is it just depends. It could be your host, but it could very well easily be in your server configurations, or it could very, very well easily be your plugins your themes or code that’s within your site. And so, you know, whether to blame your host or not just depends. But I’m guessing if you feel or you know you’re on a very slow house, changing the house, not going to hurt your situation if you don’t have the resources to say hire a developer to help you unpack at all. Does that sound fair?
CW: since she went well, and she knows sometimes changing your house very much can hurt your situation. depending on how caching is configured and stuff like that, most often I would say change in your host won’t help your situation.
DV: I feel like if you use on a dirt slow shared hosts with like 100,000 sites on one server, like you know it when you’re on the $2 hosting right oh sure no
CW: no yeah, I’m sorry, in that respect, yes, if you’re going from a shared hosting plan to maybe it’s just simply a fact of last year you had an average of 10 sales a day today you’re doing 300, just that scalability, you might have outgrown the plan, and that’s a little bit of both. You know you can rightfully blame the host plan that you’re on is not adequate for the site you have. And they’re switching hosts, or maybe even just getting a better planet your existing host will solve the problem.
DV: Okay. Whatever you think about, like, one of the things I always recommend to folks in this situation when they’re optimizing for speed is to kind of go through in a staging version kind of deactivate one plugin at a time and test their speed every time they do that, to see if they can isolate the impact of speed on speed by specific plugins is that a technique you’ll recommend to like novice users to kind of pick apart where the problems might be.
CW: I think that’s it. one of the things I tell people first is, you know, we’ll look at that report and say how many HTML requests. Is it making some of these sites you see them. There might be two 300, and it could be, you know, 100 minutes plus. And then I’ll compare it to, you know, we’ll find a site I’ll say what is the site that you consider fast, google.com, whatever it might be right, and we’ll run a speed test on that and I’ve done this, this technique with numerous people I’ve consulted with over the years. Okay. This site has, you know, 15 requests and it only loading a couple hundred k of data. Do you see the difference here. Oh, and then let’s look at what your requests are what you’re loading every image what plugin Are you using to load these images. You just kind of lead the conversation that way. I don’t like the turn off turn on again because it leaves, especially if you have 15 plugins. You could spend a week. A be testing each one of those and maybe you’ll get enough data to make an educated decision.Most likely you’re going to confuse Oh was this one faster when I had this plugin on that plugin off.
DV: like to take more like the waterfall approach and For those unfamiliar some of the speed test tools hypeauditor called waterfall graphs where they show you like every aspect or element in your site that’s loading external and internal. So it sounds like Chris would you recommend is just going to go through the list and start to isolate the things that are taking the most time, causing the most problems.
CW: Yes, and even more so I think the most important aspect of that that I found that really helps illustrate the point for an awful lot of people is that comparison to a site they consider fast without a benchmark on what fast, is you have no idea of looking at your site, if it, you know, if it feels fast or that type of thing. So taking that benchmark and just comparing a couple different sites, really does educate people very quickly on what those reports can do.
DV: And earlier you said for your testing tool you like to speed test dotnet but did you mean web page web page test.org.
CW: I use a handful of them I like pingdom is usually the first one I do web page test.org I do quite a bit of speed test is
DV: sorry that’s ISP when there’s certain testing the speed of your internet connection is actually created by an old buddy of mine named Mike f Gar but yeah that’s for testing your ISP speed connection,
CW: and a great one I’ve added lately, which illustrates Another point that we’ve seen as, as more sites go global is fast or slow which is built by wordfence his team, and they do a really nice job of indicating not just it’s it’s fast or slow at and sent for a server in San Francisco, but it’s fast or slow for servers, all over the world and it does a much nicer depiction of. Where is it fast or slow, you know if you’re selling some, you know, you’re selling Christmas things from Germany and you’re trying to sell to the US and in Germany, of course your German customers if you posted in Germany on a plane us customers might complain, then you could start seeing differences like that which can in some cases be in the house.
DV: You know, that’s funny you mentioned that because that’s such a big part of like is it your house fault and it’s not always you might you might consider it to be your host, but it might actually be the network connection between your hosts and your customers, either by parts of the world or even individual ISP. That’s why edge caching and things like that of course are so helpful. But that’s a really good distinction I had not thought to make in this episode. Okay, so from the, from the speed perspective. They’re definitely critical things and having a good hostess critical, but it definitely, you know, big aspects of having a good host that kind of add to your performance. And then from a root cause analysis a could be your code it could be the things you’re using your plugins, but to really get a deep understanding just kind of need to dive into things like waterfall graphs to see like what’s loading on your pages, what’s the things that are loading those and are those really necessary. And then to compare it to a benchmark. So let’s shift then to your second point, which was like errors on functionality. And you kind of made the distinction earlier that this was different than platform compatibility issues but like helped me understand like what’s an error on a functionality and like how might I root cause, whether that’s the host or not.
CW: error on functionality would be a white screen of death. In the case of WordPress and the infamous PHP warning, appearing on the site, right. We know that the your plugin you’ve had XYZ plugin on your site for six years and all of a sudden there’s an error on the front but it can’t be my plugin, it has to be something else. That’s the type of thing I’m referring to with these types of pairs themes are traditionally, excuse me, your theme layer tends to be the most blamed I will say, I think it’s the best way to say this layer, as far as what this type of thing looks like you make a theme tweak and all of a sudden something appears broken. Right. Maybe that’s, you know, blamed the host or maybe you didn’t make a thing tweak, or maybe auto updates did something to you.
DV: So you get something kind of happening behind the scenes, and your site gets broken and you’re not really sure why. And so I’m really curious about that next step though to kind of isolate the root cause. We’re gonna take a quick break and we’ll be right back.
DV: everyone welcome back to Press This the WordPress community podcast on w Mr. We’re talking to Chris Wiegmann about when it’s time to blame your hosts, Chris right before the break you were talking a little bit about white screen of death PHP airs like major breaks to your site kind of what introduce them and how do I figure out if it was an update to my theme or plugin, or my host itself so how do we how do we differentiate that case.
CW: Well, first thing of course is look at what’s, you know what, what is the error say. Nine times out of 10 that error is going to tell you what plugin or theme the error is occurring, assuming you have error logging turned on, if you just have a plain white space, you want to go to WP config and turn on WP debug. I don’t need to go into the details that there’s plenty of articles on torque and other places on how to turn on WP debug that’ll show you the actual error where in your code are and all the plugins and themes you have on your site is the error happening. And typically, there is going to point a file and that file name is going to be the login or the theme that’s causing it. Once you have that piece of information you could disable the plugin change the theme, whatever it might be there or and then what changed. did you just update this plugin or theme. Did your host just update a PHP version. That’s always right about this time of year every fall PHP updates, now, your host might not have it right away so you might see this at a different time of year but when your hosts, adds that new PHP version, could that have changed. You need to figure out if it’s if it’s not a brand new plugin version or nothing has updated on your site, then maybe you can look back at your house. What is your host change, look at those emails they sent you. We’re gonna switch your hardware we noticed the problem here and we’re going to change this for you. Maybe it’s a major hardware failure on their part, it does happen.
DV: So it seems like first move is to debug if you have that technical capability or you feel comfortable doing that, then when you identify the theme or plugin you can disable it and then kind of backwards check what changed and guessing for technical and non technical users things like automated backups of your site are probably critical in this kind of testing, because you can recover from the prior version and I guess if you recover from a prior version where you did make a change, you could then isolate if it worked. That it wasn’t the host it was indeed something that had changed with your site. So that sounds like, you know, really kind of a solid path for isolating like what was the major root of that error. So I kind of want to move to your next item here for the final segment downtime. How do I know if the host was the cause of my downtime versus our I guess that was mine, yours was compatibility. But how do you know when like something you’ve added to your site’s not working functionally that it’s your host versus say, just the way you implemented it
CW: Ask your support, your host should have 24 seven support and they should be able to tell you if a plugin has a known and compatibility, and that’s happened on these hosts. That may very well. Could you say that’s the hosts fault, maybe there’s a very good reason for it but from your. I’m trying to look at all these in the point of view of as a shop owner or site owner, as the hosts fault. If the plugin you need is not compatible on the house right
DV: and so I guess blame and fall don’t have to be necessarily negative things like WP engines disallowed plugin list which has some disallowed on for security and performance issues and then others just because they’re using PHP functions we don’t allow or there’s something wonky with the way the caching works. In other words they’re good plugins kind of like wordfence. Just the way they were implemented just happen to not work, emergence of course works on us now. But like, I guess your point here is that you could be the, your host could be the cause of you not being able to use that plugin in that way. But that doesn’t necessarily mean that the root cause of that is a bad thing might actually be protecting you from something.
CW: And that’s exactly yeah that’s exactly what I’m trying to get at fault. You know where do you fault and blame or, or fuzzy concepts with this type of thing right because it very well might be, or the theme that you uploaded might have some strange PHP functionality that isn’t allowed on the host first typically that is because of security reasons,
DV: yeah absolutely no that is in our case. Oh, Chris, this has been super helpful just recap real quick slow and speed. Use those waterfall graphs isolate those root causes hoes can definitely be a factor in that errors and functionality check your debug log, and then use backups I guess if you need to, especially if your non technical user and then for compatibility. Check with your hosts if you suspect compatibility because they might likely already know the answer for that particular plugin because of course you’re not your only customer. This was awesome Chris, thank you.
CW: Thanks for having me.
DV: Awesome. If you’d like to learn way more about what Chris you can visit WP Engine.com he’s on the eCommerce team here. Thanks everyone else for listening to press this the WordPress community podcast on WMR again This has been your host, David Vogelphol, I support the WordPress community through my role at WP Engine. And I love to bring the best of the community to you here every week on Press This.