What (exactly) is WP Valet?

A lot of WordPress goodness.

Our team focuses on four major areas of internet expertise. 1) stunning custom designed & developed websites, 2) full site performance & SEO audits, 3) ongoing WordPress support & updates, and 4) migrations. (more…)

Welcome Pantheon as a Preferred Partner!

The WP Valet team loves building strong relationships in the community. It's exciting to grow and work with new people. This month, we're very happy to announce that Pantheon—a WordPress and Drupal hosting company—is now working with WP Valet as partner.

To get things off to a smooth start, our team took a trip out to San Francisco to get better acquainted with the folks at Pantheon. When we walked into the room on day one, we kicked off with their CEO Zack; Kit, who led helping us form a process to migrate all of our sites; Greg, their open-source contributor; and Dwayne, who's managing our relationship with Pantheon. They asked us a ton of questions how about who our clients are, how we work, and what our problems really are.  It was pretty clear that they are super interested in helping us solve some of our challenges.

Pantheon Office
Pantheon Office

Things We Love About Pantheon

The Pantheon Workflow is what we love most about Pantheon.  It's a flow that translates pretty well to ours at WP Valet. However, our workflow is fairly tedious to set up, and it's difficult for us to move quickly on new or urgent projects.

The Pantheon workflow is opinionated, polished, and well thought out.  On top of that, Pantheon has an incredible amount of documentation and guides.  We also try to keep up our own knowledge base and documentation, but knowing that Pantheon has a lot of what we are creating already is very attractive.  Their documentation is also all open source.

Pantheon took the time to explain to us where traditional, managed, and newer hosts have failed and how they plan to not follow the same path.  They outlined their architecture in much detail and explained clearly how their platform scales, allowing them to meet some very high demands.  Our time together left our team feeling pretty confident.

WordPress multisite is something we want to provide on Pantheon, and while they aren't completely there yet, they sat down with us and very transparently showed us exactly where they are currently and gave us clear expectations for how they will be supporting it in the future.  It was interesting to hear how Drupal multisite compared to WordPress multisite and where Pantheon currently stands.

Some other things that we love about Pantheon and our trip there:

Working as Partners

During our week together, we talked about expectations for skill sets and expectations for our respective roles. This type of communication lays the groundwork for a smooth transition process, and ultimately better customer experiences for all of our clients.

We also appreciate how the Pantheon team took the time to delve into our opinions on multisite. Zack, the CEO, spent a lot of time asking us questions. He asked us technical questions that show intelligence and true understanding of where WordPress companies are coming from. The Pantheon team is really interested to see what our unique problems are, and what brought us to explore using them as a partner.

On a side note, we also found time to enjoy a little San Francisco fun. This included a Chinese bar where we heard a Led Zeppelin song with a Chinese voice over. It was all nuts and a lot of fun.

Overall, we felt incredibly welcomed by Pantheon, and we're excited to embark on working with them as one of our preferred partners.

Are You Under Attack? Cross-site Scripting (XSS)

One of the reasons why WP Valet clients use our maintenance service is protection. Security issues arise on the internet constantly, and our team makes it our business to identify and protect you from threats to your web presence.

A big one to hit the internet this year was the Cross-site Scripting (XSS) Vulnerability. Hackers constantly explore techniques to compromise your web application and steal your treasures of sensitive data. If your site handles credit card numbers, medical records, social security numbers, or an array of other personal information—you can be sure hackers are after it.

Cross-site Scripting (XXS) is a clever way for a hacker to embed malicious JavaScript, VBScript, ActiveX, HTML, or Flash into a vulnerable page, and start gathering data on his or her machine. Using XSS, hackers successfully compromise private information, steal cookies, create requests that can be mistaken for those of a valid user, and an array of other nefarious behavior.

This month there was a serious XXS vulnerability noticed in WordPress. Cross-site scripting attacks are particularly nasty. While there are many ways to stop them, most people don’t take action before it is too late. Before it was a problem for our clients, our team was on it. To run a successful business, the value of security is not negotiable. We stake our reputation on ensuring your site runs smoothly and it protected.

If you'd like to learn more about how the WP Valet team keeps you safe, get in touch with our maintenance team. We'll explain our process in detail and create a custom quote to fit your unique business needs.

 

 

How to Migrate WooCommerce to WP Engine Properly

WooCommerce is a well-known and solid eCommerce platform, and WP Engine has established itself as a leader in the Managed WordPress hosting space. These two facts alone should be enough to consider WP Engine for hosting your WooCommerce powered business.

We've migrated hundreds of WooCommerce sites to WP Engine.

In this post, we'll detail a few things we've built into our WooCommerce to WP Engine migration process and share the one thing that many people miss in doing their own migrations and how to avoid the problem completely.

Why Should you Migrate a WooCommerce Site to WP Engine?

Short answer:
Speed

Long answer:
The speed of an eCommerce site is definitely one of the most important factors for making sales.

It's been proven that our attention spans have become shorter and more cluttered when we're browsing the Internet. If your online sales business is to succeed you need to be able to mitigate this and get visitors from reading your product benefits to completing the checkout process as fast as possible, otherwise you might lose them in an abandoned cart scenario.

Ensuring your page loads are measured in milliseconds rather than multiple seconds is a sure fire way to reduce abandonment and increase revenue. WP Engine offers out-of-the-box managed and optimized server hosting environments for WordPress powered sites.

But if you've migrated your site yourself or have had someone inexperienced with the nuances of WooCommerce to WP Engine migrations move your site, there is one critical piece of the eCommerce puzzle that may have been missed and can cause immediate damage to your customer experience and your bottom line.

The Empty Cart Shopping Cart and How to Fix It

Your customer adds an item to their cart, clicks the "Checkout" button and the page loads with nothing in the cart.

HUH?

Not exactly a great user experience is it?

Why it Happens

This happens because of the aggressive caching used by WP Engine and other super fast WordPress-centric hosts.

After a user adds an item to their cart and tries to load the checkout page, what they actually get is a cached version of that checkout page which of course doesn't include the item they've just added.

It's the nature of the super fast loading eCommerce site beast.

But the good news is that there's an easy fix.

How to Fix It

To make sure this doesn't happen, you need to make sure WP Engine isn't caching your WooCommerce checkout and related pages.

If you were doing this on your own, you'll need to submit a support ticket to WP Engine including a list of pages that you would like to be excluded from their server level caching.

If you've decided to work with us to migrate WooCommerce to WP Engine, you can just sit back and relax because communicating these page caching exclusions is all part of our migration review and implementation process.

7 Reasons to Migrate your WordPress Site to a New Host

Why Migrate WordPress?

If you've been utilizing WordPress for your Internet business or freelance development for any length of time, it's likely that at some point you've had troubles with your web hosting company.

Let's face it, sometimes bad things happen to web hosting companies.

That's all part of the business we're in, but what is the tipping point and when do you decide you've had enough headaches?

In this post we'll explore the most popular reasons that people decide to migrate WordPress to a new hosting company.

1. Speed Issues

Have you ever had your visitors report that your site was loading slow?

We have too and it sucks. Especially when those visitors are potential customers wanting to opt in to your email list, leave a comment, or purchase a product.

There's nothing more frustrating for a user than waiting for a page to load. Attention spans are short these days.

Speed doesn't only matter on the frontend of your site either. I've been known to pull a gray hair or two when WAITING for a post draft to save on a site experiencing speed issues.

I'm betting you have too.

2. Traffic Increases and Scalability

The speed issues above can be directly caused by a poorly optimized server or one that's simply overloaded with other customer sites, but it can also come from increased traffic to your site.

To be clear, an increase in traffic is definitely a great thing! Perhaps your article got picked up and shared on Reddit or some other high trafficked website, or perhaps you're just a whiz at marketing your site.

Whatever the reason, when your traffic increases, so does the load on the server and the resources it consumes.

Some hosts, especially one that you may have used when you were first starting out, aren't equipped to handle traffic increases like other hosting companies.

3. Website Downtime

Are you seeing a trend here?

One issue can cause or exacerbate another and often times, this can result in a website that is completely inaccessible.

Both to your current and potential customers, and to you and your business team.

A friend of mine just recently experienced this exact situation. They brokered a large promotional deal that sent over 30,000 leads to their product landing page and guess what they say when they got there?

Nothing. As in a blank white page.

What do you think that did for his conversions?

Worse yet, what impression did that give to his potential customers?

4. Terrible Support

So if you've ever experienced any of the issues above, what's your first move?

Contact your web hosting support right?

This is where some additional disconnects can start to arise, especially when WordPress hosting comes into play.

Unfortunately, like most customer service portals these days, you always have to start with a first level of support, even if it's a recurring issue that you've opened a support request for in the past.

This probably goes without saying, but you should be hosting with a company that offers phone support and not just email. At the very least, they should offer Live Chat so your not left wondering when you'll get an email reply.

5. Lack of WordPress Knowledge

Ok, so your host offers you stellar support for issues with email, cPanel, Addon domains, etc. But what happens when you have a WordPress-specific issue and you find that your host (and their support technicians) have little or no familiarity with WordPress and all that it entails?

Uh oh.

Now, to be fair, most hosts and their support agents simply cannot be experts in every piece of web publishing software. However, with the popularity of WordPress it would be safe to assume that most hosting companies should have familiarity with WordPress installations and how to best optimize and troubleshoot them when things aren't going as expected.

Unfortunately, the lack of basic WordPress troubleshooting knowledge has even plagued some hosts who specialize in Managed WordPress Hosting. It's most likely indicative of growing too big too fast, but only time will tell.

6. Security

And here we are. Server security as it relates to WordPress website hosting companies. No small subject.

To be clear, no one...and I mean no one is immune to security threats and hack attempts, no matter what software is being utilized.

Remember the Heart Bleed bug that threw the entire Internet into a frenzy recently?

The difference in hosting companies all comes down to focus. Is their focus on proactively providing security at every point of weakness, or do they simply react when something goes wrong?

We perform migrations between many different hosting companies and can attest to the fact that there is a wide gap between security focus between them.

7. Cost

Finally, let's talk about cost. One reason to migrate WordPress to another host is because you're simply not paying enough every month.

What did he just say!?

It may seem counter-intuitive to want to pay more, but think about it for just a second.

The cost applied to any service is directly related to the value provided by that service (insert grain of salt here as all services are definitely not the same in regard to value, but generally speaking, this is true).

Put another way, would you rather pay $9.95 per month knowing that at some point you'll need to spend time troubleshooting an issue, submitting and replying to support tickets, or constantly monitoring the uptime and performance of your site...

..OR...

Would you rather pay a higher rate for the added value of knowing that your site is always fast, always optimized, and if something goes wrong, the support staff will be knowledgeable and capable of fixing any issues fast?

Yes, me too.

Summary

When moving hosts you'll likely pick the one that you find is a best fit for your site and your business.

This is great BUT you need to make sure whoever is helping you to move your site knows the ins and outs of the host you choose.

You'll find plenty of folks willing to help you migrate your WordPress site for beans, but most will just move your bags from one place to another, wave and walk away.

Finding someone who can optimize your site specifically for your new host during and after migration is essential.

WP Valet has relationships with the majority of the hosts out there and have made it our goal to not just migrate your site, but Opti-migrate it.

If you're looking to migrate your WordPress website from one host to another, see how we can help here.

The WordPress Admin White Screen Mystery

It Started with a Customer Support Ticket

This is a true story about an eCommerce website and how it's sales stopped suddenly in the middle of the day. For no apparent reason.

This business gets a steady stream of transactions on any given day, both for their free and paid products. It's not uncommon to see several dozen transactions per day. And when I say transactions, I mean items added to their eCommerce shopping cart and the checkout process completed.

The owner started to notice a decline in transactions a short time after 12 noon. He didn't think too much of it until he was made aware of a support ticket that had come in from a customer saying...

...your "Purchase" buttons are not working and I can't add any items to my cart. Please advise.

The Troubleshooting Begins

I was brought in to help and started the usual first step in troubleshooting; duplicating what the customer was experiencing.

To be honest, I assumed that it was probably due to an outdated browser issue or some other rather simple explanation. But in the website maintenance and management world, making assumptions can get you nowhere fast.

Be methodical in your troubleshooting and follow the facts.

Duplicating the Issue

I loaded the site in three browsers and in each one, I was seeing the same issue. The Purchase and Add to Cart buttons simply weren't working.

Odd.

I then discovered that logging into the site presented me with a white screen, rather than the expected WordPress Dashboard screen.

Uh Oh.

WordPress Admin White Screen
WordPress Admin White Screen

PRO TIP: I also use Cross Browser Testing to ensure I can duplicate the customer's exact browsing environment as close as possible.

Communication with your Customer

After confirming there's a global issue, you need to get as much information from your customer as you can. This should help you narrow down some clues and give you a better starting point.

It's helpful to ask questions like: "Have there been any recent changes made to your site by you or anyone else?" "Have you recently installed any new plugins?"

In this case, there were no changes made in over four weeks and up until that moment, sales had been happening just fine.

Checking Plugins - Round One

Customers always have the best of intentions, but I've seen it happen before where someone on their staff that has administrator access may have made changes to their site without their knowledge.

There's an easy way to double check if any plugins have been installed recently, and that's by looking at the Last Modified dates of files and folders once you're connected to their server via FTP (or SFTP).

Last Modified Date
Last Modified Date

If you find that the Last Modified dates of any of their plugins are recent, go ahead and deactivate those plugin to see if that solves the issue.

I checked these for this client, and unfortunately, the Last Modified dates hadn't been changed in four weeks. Just like they said.

Check the Hosting Environment

If the site is loading for you, it's unlikely that your website host is experiencing downtime, but it doesn't hurt to check with your host's support before doing anything else. Even though the site may not look like it's completely down, I have seen intermittent connectivity issues with hosts that have caused some very strange results on the frontend.

It's also worth noting that your host can also more easily check the status of your server and look at error logs more quickly to determine if something is going on at the server level or if any plugins (or anything else) are throwing errors that could lead you to another clue.

I contacted their host in this case, and as you may have guessed already...they could report nothing out of the ordinary.

Checking Plugins - Round Two

My normal next step in troubleshooting is to rename plugin folder on the server. Doing this will automatically deactivate ALL plugins on a WordPress site. If the problem goes away, then you know you have a plugin conflict and can start reactivating your plugins one by one while testing the frontend behavior in-between activations.

This can be a tedious process if you have a lot of active plugins, and definitely one you want to do on a staging environment.

However, in this case I wasn't yet convinced it was a plugin issue because there had been no recent plugin additions or updates.

That took me to the next step.

Escalate and Get Another Pair of Eyeballs

The beauty of working with a team is that you have more eyeballs to look at these kinds of issues. There is truly power in numbers and it's likely that someone else will see or try something you haven't thought of, especially in a stressful moment of troubleshooting when the pressure is on

I reached out to a team member and described all the information I had about what was happening, and then it happened...

The First Solid Clue

My colleague immediately enabled Debug Mode in WordPress and was able to see some "500 Server Unavailable" errors in relation to an AWeber plugin installed on the site.

In retrospect, Debug Mode is probably one of the first things I should have tried. Duh!

The Two Culprits

Now that we knew it was related to an AWeber plugin, we deactivated it and were immediately able to log back into the admin side of the site and the mysterious Purchase and Add to Cart link errors had disappeared.

Problem solved?

Yes, but not without continuing questions.

This plugin had been enabled and working fine for almost two years. Why was it causing a conflict all of a sudden?

On a hunch, and knowing that this plugin was dependent on the AWeber API, I decided to look at the AWeber service a bit closer by loading their site and also looking at their Twitter account and status blog.

Are you ready for the punchline? Can you guess what I found?

Yep. The AWeber service was completely down and they were reporting an extensive DDoS attack.

AWeber Downtime
AWeber Downtime

So in short, because the AWeber service (and thus their API) was down due to the attack, the AWeber plugin they were using couldn't communicate with the AWeber server (the "500 Sever Unavailable" message) and that was causing the whole issue.

Mystery Solved

...and now they're moving their email marketing to MailChimp😉