Search Engine Optimization Featured Image

Recovering from a Website Migration Gone Wrong

This is the story of how a budget web design service tanked a small online business with a website migration gone wrong. This customer came to us after the fact for help.  While Reich Web Consulting has had success in helping them recover, their story serves as a cautionary tale for others.

For the sake of privacy we’ve changed the names of everyone involved in this story. I have no desire to publicly shame the company involved in this story even if they deserve it.

What’s a Website Migration

website migration is when a website’s domain name is switched from pointing to one version of a website to another. This can happen when when a website is redesigned on the same platform. A good example would be when a company rebuilds their site with a new WordPress theme.  This can also happen when a website is rebuilt on a new platform. An example would be when moving a website from SquareSpace to WordPress or vice versa.

Migrating a website requires more planning than launching a new website. Since search engines, social media, and other websites already have accumulated links to your site, you have to ensure that those links are not broken in the process. Otherwise the Internet’s collective trust in your site will plummet.

How a Budget Web Design Service Ruined an Online Business

A few months ago I received a call from the owner of Hand-Forged Widgets Inc. (not their real name)The company is a husband & wife team selling some very attractive iron work they make themselves. They had a flourishing store on a platform that had gone stagnant and chose to move their website to a WordPress/WooCommerce solution.  Green Servers (changed for privacy) is a well-known budget hosting company that also offers web design services. Green Servers sold them on a low-cost all-inclusive package. They would host and migrate their content to a new site on WordPress and WooCommerce.

Green Servers delivered on what they promised. But their promise what a ticking time-bomb, and the client was not SEO savvy enough to see it coming.

A Website Migration Gone Wrong

The moment Green Servers updated DNS to point to the new site, Hand-Forged Widgets business flat-lined.  I don’t mean they experienced a small and temporary reduction in sales. I mean orders stopped coming in completely for months.

Hand-Forged widgets found us through our YouTube Channel and decided to give us a call. As soon as I had access to their website and Google Search Console data the problem was obvious: the new website wasn’t redirecting the old URLs. Whomever built the site failed to account for the hundreds of existing URLs.  Every link to every page of their websites that search engines had indexed was now a 404 error. To make matters worse, their website had been switched from http:// to https:// without a proper redirect between them.

Google lost trust. Fast.

The customer was no longer appearing in either organic or paid search results. Google Search Console was full of hundreds of Crawl Errors, and Google’s crawl rate for their site was flat. This suggested that Google no longer found their site valuable enough to crawl and update in their index. And since Google stopped crawling their site, their new URLs would never make it into search results.

A Successful Website Migration Starts with Planning

Green Servers treated the project as a new website. They didn’t apply any of the planning and care required to successfully migrate a website from one platform to another. They made two simple mistakes:

  1. The designer didn’t collect and redirect all the URLs from the old website.
  2. When they switched the site to SSL-only they didn’t setup a redirect from http:// to https://.

Let’s explore these topics in some detail.

Why Redirecting Old URLs Matters

First let’s understand a few important search engine terms: crawl and index.  Search engines crawl websites. This means that the search engine starts with a list of websites, downloads important information from those websites, and follows any links they contain. Wash, rinse, repeat. Search engines keep an index of websites: basically a massive list of links on the Internet. The search engine uses a collection of algorithms to determine when which indexed pages should display in search results for which search terms.

Existing websites have already been indexed by Google. This means that search engines have already compiled a list of pages on your website. If those pages instantly disappear, what do you think will happen?  Google’s algorithm may consider your content unreliable, and your rankings will suffer.

How to Handle Redirects

You can see that it’s critical to maintain the integrity of your URL structure when you migrate a website.  This process doesn’t have to be difficult, and there are two ways to handle it:

  1. When building the new website, take care to maintain your URL structure. Use a tool like Xenu Link Sleuth to compile a list of existing URLs. Compare them to the new site’s URLs before launch and make sure that all existing URLs will still function.
  2. Use a tool like Xenu Link Sleuth to compile a list of existing URLs on the old website. Use this tool to build a list of 301 (Permanant) redirects from old links to the most appropriate pages on the new website. Import this redirect list into your new website.

Green Servers did none of this. As a result Google, Bing, and others essentially saw Hand-Forged Widgets website disappear instantly. A search engine stays successful by offering high-quality links in their search results. If your links are no longer high-quality there is no reason to serve them up.

The Right Way to Handle a Conversion to a Secure URLs

It’s true: Google offers higher ranking for secure websites versus insecure websites. But the switch to https:// needs to be done strategically. If your site will be served completely over HTTPS you should setup a site-wide permanent redirect from the http:// version of your URLs to their https:// equivalent. These redirects keep links intact and tell Google to use the secure version of the URL rather than the insecure version going forward.

So what happens if you neglect to redirect?  Google and other search engines have a concept they call duplicate content. Duplicate content occurs when two web pages contain identical (or very similar) content.  Search engines hate duplicate content, and penalize it. As far as you’re concerned you probably see the http:// and https:// versions of your website as the same thing.  Search Engines do not, and if both are accessible and serving the same content, they’ll see duplicate content.

So when you setup SSL on your website it’s important to handle it correctly in one of the following ways:

  1. Setup a site-wide 301 redirect. Most CMS software makes this easy, either through a configuration option or a plug-in.
  2. Use rel=canonical to tell search engines which version of your URLs are authoritative. Again, most CMS software makes this pretty simple.

Related Side Note: decide on whether you want to standardize on the www or non-www version of your website and make sure that one version 301 redirects to the other. Otherwise you can face duplicate content issues between the two as well.

The key take-away is to make sure that search engines don’t see multiple versions of your content due to lack of planning and bad configuration.

Can These Mistakes Be Fixed?

If your web designer/developer botches your site migration, can the mistakes be rectified?  Of course. In the case of Hand-Forged Widgets I’ve been working with them for two months, and we’ve made significant progress.

The problem is that the damage done by a website migration gone wrong is long-term.  Discovering and repairing the problems using the advice above isn’t particularly complicated. But improving your site’s reputation with a search engine once’s it’s damaged can be slow, and completely at their discretion. Fixing the technical issues that caused Google to lose trust in your website isn’t enough.  You also need to give Google a reason to start trusting your content again, and give it reasons and signals to start crawling your content at regular intervals.

Ways to Suggest to Google to Crawl your Websites

Here are a few ideas on how to jump-start that process.  I owe a thank you go the guys at the SEO 101 podcast  and the SEO 101 Community at Google+ for fielding my question about this. I had already implemented most of their suggestions before the episode aired, but they did confirm my theories on how to convince Google to crawl the customer’s site.

  1. Fix all of the technical issues described above.
  2. Monitor Google Search Console for crawl errors and fix them as-needed.
  3. Submit a sitemap.  If possible, use the sitemap to specify a high crawl frequency to suggest to Google that they should re-crawl your content sooner than later.
  4. Create new, high-quality content.  Creating new content will give Google a reason to crawl your site.
  5. Get active on social media. Start publishing to social media sites and sharing links to your website. Social media activity can suggest to Google that your site is alive, well, and active.
  6. Paid Search. Putting all your eggs in the organic search basket can lead to disaster. Site changes like those that happened to my customer can tank your ranking. And ranking algorithms change.  Website owners can find their Google ranking tanked through inaction. Google changes ranking factors regularly, and rankings can drop when sites fail to accommodate them. Utilizing paid search is a great way to keep steady traffic to your site through those hard times. And successful interactions from paid search visitors can help Google see that your site is, indeed, worthwhile.

The Moral of this Story

This story should help web designers and developers properly plan website migrations.  It should also help business owners know the right questions to ask when they’re hiring a developer or agency to redesign their website or migrate it to a new platform.  These are the key steps to follow:

  1. Ensure that all old URLs are left intact, or that 301 redirects have been correctly implemented to maintain link integrity.
  2. Make sure that multiple versions of your site don’t result in duplicate content problems with search engines.  Ensure that you have a single “canonical” version of your website (either www or non-www) and that the non-canonical version 301 redirects to the other. If you’re switching to SSL-based URLs make sure http:// is 301 redirected to non-http://, or that you’re utilizing rel=canonical to tell Google which site to consider the primary source of your content.
  3. Utilize tools such as Google Webmaster Tools to monitor your website’s health and crawl statistics.
MailChimp Featured Image

How to Use MailChimp RSS-to-Email with WordPress

This post will teach you how to leverage MailChimp RSS-to-Email campaigns to notify subscribers when you update your WordPress blog.

Bloggers depend on a variety of channels to notify their fans when they post new content. This includes RSS feeds, social, and in-browser notifications, and the topic of this post: email subscriptions. Bloggers using the WordPress platform often depend on the Jetpack Subscription plugin to do the heavy lifting. Jetpack leverages WordPress.com to manage lists, construct, and deliver notifications to subscripers. And it works. Kind of. But Jetpack’s Blog Subscription plugin can only take you so far.  It’s insanely rigid, more or less impossible to customize, and really not a great experience for your customers.  It just doesn’t feel like a professional solution.  So what does?  Try using MailChimps RSS-to-Email feature. All you need is an active MailChimp account and the ability to make some minor changes to your WordPress site.

How to Integrate MailChimp RSS-to-Email with WordPress

Obviously you need a MailChimp account to get started. So if you don’t already have one, go ahead and register for a free account now.

In order to setup MailChimp Blog Subscriptions, you first need to create a list to hold your blog subscribers. Read Create a New List to learn all about Lists on MailChimp and how to create them.

The Lists Management screen contains the Create List button which you will click to start a new list.

First, create a new list in MailChimp to store your blog subscribers

Create a MailChimp Form to Add Subscribers

Now that you’ve created your Blog  Subscribers list you need a way to for users to add themselves to the list. In other words you need a Blog Subscription form.  There are a number of ways you can do this.

You can of course manually code a form and the requisite client and server-side code to send submissions to MailChimp.  The code to do this is not complex, but it’s also well above the skill of the average non-technical WordPress user. But if you do go this route I applaud your efforts!

The second option is to use the sign-up form options provided by MailChimp. On your Lists Management screen you’ll see a drop-down menu to the right of each list, and under that menu you’ll see Sign-Up Forms.  The Sign-Up Forms option provides a variety of customizable forms that you can copy and paste into your website.

Finally, you can use a WordPress plugin like MailChimp for WordPress which will help you easily integrate your lists with your website. If you happen to be using Gravity Forms they have a terrific MailChimp add-on as well.

Use the MailChimp Signup Forms tool to create forms that you can easily embed in your site.

Use the MailChimp Signup Forms tool to create forms that you can easily embed in your site.

Setup an RSS-to-Email Campaign

The final step required to get MailChimp to email your subscribers when you update your blog is to setup an RSS-to-Email Campaign. To setup an RSS-to-Email Campaign click the Campaigns tab, and then click the dropdown next to Create Campaign and choose RSS Campaign. Unless you’re using a plugin which overrides the default RSS feed for your site, your RSS feed URL should be http://yoursite.com/?feed=rss2 where http://yoursite.com is the site address you have configured in WordPress.

After you add your RSS feed address, you can configure a schedule for how often your RSS feed will be scanned for new posts.  Unlike JetPack Subscriptions, MailChimp cannot send out updates as soon as you update your blog, and this is probably it’s greatest failing at the moment.  However you can schedule daily, weekly, and even monthly emails.

Setting up the template for RSS-to-Email is just as easy as setting up any other mailing in MailChimp.  Simply drag the RSS Header and RSS Items widgets onto the template, and you’re ready to go.

After you've created your list and added a signup form to your site, create a MailChimp RSS-to-Email Campaign to tie it all together.

After you’ve created your list and added a signup form to your site, create a MailChimp RSS-to-Email Campaign to tie it all together.

Pros and Cons

The benefits of using MailChimp RSS-to-Email campaigns over Jetpack Subscriptions are obvious. You have full control over the process, what emails your subscribers receive, what they look like, and what they contain. On a recent project which used Jetpack Subscriptions, the client was very frustrated with the limited control we had over the emails being sent to her subscribers. This is actually the situation that led to me investigating MailChimp RSS-to-Email.

The cons are a little less obvious.  Jetpack Subscriptions have the benefit of being tied directly to your WordPress install. This means that Jetpack can do it’s thing as soon as you publish a new blog post.  Your MailChimp Campaign isn’t directly connected to WordPress. When you setup your campaign you tell MailChimp a time and a schedule at which it should check your RSS feed for updates.  MailChimp will generate and send your mailings only on the designated schedule and not on-demand.  If that’s a deal-breaker, then MailChimp RSS-to-Email may not be the solution for you.  However I would hope that they make this available in the future.

 

WordPress Logo

WordPress Scheduled Posts and Time Zones

I’m doing some work for a celebrity chef who has a ton of cooks in her kitchen. One of them is responsible for her blogging and social media strategy. She wants to queue a bunch of content that will be released on a slow, steady drip. The WordPress Scheduled Posts features is normally the perfect tool for this job.  Scheduled Posts didn’t work on her first attempt. Unfortunately the post she scheduled for New Years day remained in draft mode the morning of January 1. What went wrong?

How to fix WordPress Scheduled Posts by Setting your Time Zone

The answer is simple.  The developer that initially setup the client’s WordPress site left the time zone configured to UTC while the the client and her entire support team are on Eastern Time.  Solving the problem was as easy as setting the time zone in the WordPress General Settings screen by going to your Dashboard and selecting Settings > General from the main menu. Choose your time zone and then click Save Changes. WordPress lists time zones by UTC offset.  If you’re not sure of your offset, you can consult a helpful time zone chart here.

This image shows you how to fix WordPress Scheduled Posts by setting your time zone in WordPress

Follow the steps shown in thie image to set your time zone in WordPress.