Our website’s move to a new server was completed on Tuesday morning!
I haven’t written about it sooner because the technicalities were an absolute nightmare and I needed a bit of time to recover before I could think about it again without foaming at the mouth.
The good news is that our website is now quite a bit snappier. That’s awesome because nobody wants to wait ten second for a webpage to load. Also, because of all the technical difficulties involved in the transfer, our hosting company agreed to give us the year for free!
For anyone actually interested in the nitty gritty, here’s a recap:
Our shared hosting was working okay, but pages were taking around 7 seconds to load. Caching obviously helped, but the server response time was a dismal 2 seconds. Some minor tweaking to the code to reduce database calls helped a bit too, but I still wasn’t getting the results I wanted. So I opted to switch over from DreamHost’s regular VPS to their dedicated DreamPress hosting package.
I checked with their tech support, and they said there shouldn’t be any issues with the move, so I “flipped the switch” Sunday night. The move quickly went… nowhere. By Monday morning I got in touch with their tech support because the switch was still “pending”. Something had hung up their process and there was nothing they could do about it until someone else got into the office. Okay.
I finally got a call around 5pm telling me the hang-up had been fixed, and did I want to make the move now? I asked them to wait until nighttime, so their employee very kindly agreed to do it at midnight. Yay!
So come Tuesday morning, I woke up to an e-mail from them saying there had been some issue with the username being hard coded in the database, but they’d fixed it and everything was fine now. Their definition of “fine” turned out to be a little off the mark.
For background, we use a security plugin which did indeed put a hard coded reference to the server path into a file. I’m not sure if that reference also ended up anywhere in the database, but I really don’t think it did. It was, however, the same as the domain name. So their tech guy saw “nycplantswap” as part of the old server path hard coded in a file, and did a find and replace to insert the new server path name. Not just on that file, but ON THE ENTIRE DATABASE. Lo and behold, every reference to our domain was now broken. And then, in a final twist, he apparently went back and undid the change in the hard coded file.
So what I woke up to was a dependency error and a broken website. Okay, no big deal… I was optimistic about my coping skills. Connecting via FTP and fixing that file then allowed the site to start “working”… Only to immediately redirect to a non-existing domain (my new username). Going into the database and fixing all the references didn’t completely fix it, because everything was being cached on their side.
I got hold of their chat support, who cheerfully flushed the cache for me (since I had no browser interface to work with). Nothing changed. Cheery chat support technician and I both scratched our heads. She was sure she’d flushed it. I was pretty sure it hadn’t worked.
Another cup of coffee later, I finally figured out how to SSH connect to the server and found directions for flushing their cache. So I did, and the website worked! Almost. I also had to reset the permalinks. But then it was finally fixed! And faster. And that was the whole point.
To be perfectly honest, I was feeling pretty smug and self-satisfied having figured all this out. It wasn’t exactly out of my league, but pretty close… AND I had done it all after waking up at 5:30, AND I was out the door on time to get to my actual job by 10AM. There were, of course, delays on the subway so I was late after all. But it wasn’t my fault, so I kept feeling pretty super-woman-ish for most of the day 😀