Website Migration Checklist

Checklist for Website Migration

Any website migration project comes with it’s challenges and risks, especially with search engine optimization. I have compiled this checklist to make it easier for SEO professionals to prepare for a website migration.

Whether you are migrating from HTTP to HTTPS, non-www to www (or vice versa) or to a completely new domain, I hope this list will come in handy.

Website Migration Process

When someone tells me about website migration, I prepare for 3 stages:

  • Pre Migration
  • Launch Day
  • Post Migration

These are the stages and allow the SEO specialist to prepare for it properly.

Questions to ask before a website migration

  • Is the migration worth it?
  • Does the website have established search engine traffic?
  • Are there high traffic pages that may be affected?
  • How would this migration affect the back link profile of the website?
  • What are the SEO benefits after the migration?
  • What are the SEO risks from this migration?
  • Will there be code/architecture changes caused by the migration?
  • Etc.

Website Pre-Migration Checklist

  • Identify growth opportunities and risks
  • Set realistic objectives and goals
  • Prepare the project plan
  • Review prototypes and wireframes (if there are changes)
  • Purchase and setup SSL for new domain (if domain is changing, or SSL migration is your goal)
  • Setup hosting for the new domain (if different from current domain)
  • Prepare the SEO specifications (there are always SEO implications, make sure to cover all the grounds)
  • Identify priority pages (you need to make sure your top traffic pages are safe)
  • Benchmark analytics/SEO traffic/backlinks
  • Review staging environment setup (if you have one)
  • Review page templates (if there are changes)
  • Review content
  • Review all internal links
  • Review technical SEO
    • Crawl time issues
    • Cloaking checks
    • Javascript crawling
    • Mobile optimization
    • Structured data
    • Pagination(s) / prev/next meta tags
    • 404 pages
    • Sitemap files
    • Hreflang (if any)
    • Site speed checks
  • Check redirects
  • Review analytics setup
  • Generate a full content inventory
  • CDN Configuration Preparation
  • Ads & 3rd-Party Extension Preparation
    • Google Tag Manager
    • Adobe Analytics
    • Google Analytics
    • Facebook Pixel
    • Etc.
  • Add new domain to Google search console and verify

Website Launch Day Checklist

  • Spot check search engine crawling
    • Old URL redirects
    • New URLs
    • Internal links
    • Robots.txt
    • Server responses
    • Canonical tags
    • Noindex/indexes
    • Cloaking checks
  • Google Search Console
    • Request indexing of the new site
    • Carry out site change in search console
    • Spot check URLs for crawling
    • Check and update URL parameters
    • Submit and test sitemap XML files
    • Configure URL parameters
  • Crawl using bots
  • Create a new content inventory
  • Compare new inventory to old inventory
  • Check to make sure legacy redirects were not lost
  • Check to ensure no long redirect chains
  • Compare old and new meta data comparison
    • Titles
    • Descriptions
    • Headings
    • OG tags
    • Etc.
  • Update all social media links
  • Update all Ads & 3rd-Party Extensions
    • Google Tag Manager
    • Adobe Analytics
    • Google Analytics
    • Facebook Pixel
    • Etc.
  • Check for any third party software and update the domains

Website Post-Migration Checklist

  • Regularly check the index coverage report
  • Monitor sitemap indexation levels
  • Keep an eye on crawl stats reports
  • Download and review crawl errors
  • Fix any errors ASAP
  • Look out for mobile usability issues
  • Track top keywords daily
  • Keep an eye on performance reports
    • Mobile speed
    • Desktop speed
    • Bounce rate
    • Conversion report
  • Update all social media links
  • Update all Ads & 3rd-Party Extensions
    • Google Tag Manager
    • Adobe Analytics
    • Google Analytics
    • Facebook Pixel
    • Etc.
  • Check for any third party software and update the domains

Content Writing for SEO

Quick Guide to Content Writing for SEO

If you are planning to write content for your blog or website, or you are just freelancing for your clients, you need to consider using language and writing styles that are not only user friendly, but also optimized for search engines.

Vast majority of new users find content through search or social media. So you need to ensure your content and it’s presentation is attractive to bots and users.

In this article I will try to outline what you need to keep in mind when creating your content.

Meta Titles

Meta titles may not be that obvious, but they show up in user’s browser window or the search engine results:

Website Meta Title

Meta titles also influence the Click Through Rate (CTR) from search results. The more attractive and clickable they are, the more traffic you should expect.

So how do you optimize meta titles?

  1. Include numbers – e.g. 10 ways to …
  2. Put your main keyword(s) in the front
  3. Keep it under 72 characters
  4. Ask a question – how to …
  5. Readers addressing – the best way to …
  6. Headlines with numbers are always winners so try to include them in the headline. Just like in any other type of marketing you’d use things like “#1”, “1,000,000 copies sold” etc.

If you really want to sell something, put a number on it!

Try to think as a user and understand what type of Title will get the best CTR for that particular topic.

Meta Descriptions

Meta description is even less obvious, it usually shows up in the code of the website, in the <header> portion of the HTML code. Search engines may use this information to display in the search results, right below the Meta Title, but as the technology advances, search engines may also generate the result snippets based on the user’s search and intent.

Use meta descriptions to help guide search engines as they help search engines and users understand what the topic is. Just as the meta title, we need to keep this SEO and user optimized to get the best possible CTR.

The suggested length for a meta description is 150 – 160 characters (for mobiles under 113 characters including spaces) to be fully visible in search engine results. Your meta description should be super relevant to your whole article and show the searcher that this is exactly what they are looking for.

It’s very important to start with relevant keywords, so that users can quickly understand that your article is related. Also, don’t forget to have a Call to action part, just like “Call us today!” or “Get a free quote” etc. CTA can be at the end. Include questions, to which your article gives answers.

One last note, don’t use the same description on all or many pages of your website, make them unique and related to the specific page.

Table of Contents

Just like every book has it’s table of contents, it’s also important in modern day web. Especially if your article is long and answers many questions. The table of contents tells you what are the most important things in the article (the headings of each section), along with where they are located.

This also helps the user experience, they can quickly jump to different sections that they are interested in.

Some ideas for headings and a table of contents could include answering questions that people ask. If you are not sure what questions to answer, just do a simple Google search for your keyword, and see the sections that are titled “People Also Ask” and “People Also Search”. In other words these are called PAA and PAS.

You can also look at other questions that show up in the results, these are called FAQ. With a proper markup websites can show up with their FAQ lists in the Google search result pages.

Headings (H1-H6 Tags)

There are 6 heading tags, most commonly websites use H1 through H4. As you probably guessed H1 is the main Heading of the page, while H2-H6 are secondary. It’s a best practice to structure them properly, have the H1 on top and above all, use H2s within H1 and H3s under H2s (and so on), just like you’d structure your Table of Contents. If you haven’t used an H2, don’t jump to H3.

Always include your keywords, or related synonyms, or even PAAs in your secondary headings. Your H1 introduces the topic, just like a book title. H2s are similar to the chapters, describing what you will cover in these sections. And H3 to H6s are the subheadings for each of the H2s you have.

Even though we are discussing content writing for search engine optimization, your primary focus should be the user. Optimize for them first, and then adjust for search engines. Headings must be interesting and eye catching, engage with them so they read each section of your content.

People Also Ask (Questions)

Heading tags make a positive impact on SEO, in particular with featured snippets. Those are answers to questions you get within search results, without visiting another website.

So when writing always try to answer some of the questions people may be looking for, use the search results as a guide to see what they need:

People Also Ask Screenshot from Google

Internal and External Links

When you write about a topic it’s always good to link to other pages of your website and/or other trusted sources. Try not to overdo with links as each link passes some portion of your page’s value to the page you are linking to. But also don’t be afraid to put links to relevant sources, studies, templates or documents.

If you are unsure of the source website’s validity and authority, then try to find a link from a reputable site that you or others can trust.

Internal links are vital for your website’s indexation. It helps users find relevant content you have published on other pages. Again, always keep it related to your topic. Don’t focus on making links, just use them wherever it comes to it, keep it real.

Scannable Content

I am one of those, yeap, I don’t like reading and anything I check I scan through to see which part (if at all) is interesting to me, and only read the portion that I need.

So what is scannable content?

Scannable content is short, sweet and to the point. Sentences and paragraphs are brief. Bold text and bullet points highlight key points.

So if you want to create scannable content try the following:

  • Make it short, sweet and to the point
  • Paragraphs and sentences should be brief
  • Bold, italic texts and bullet points should highlight the key elements
  • Have proper spacing, it removes the clutter and makes it easy for the eye to follow
  • Follow the four-syllable rule .


Images are important within your article, especially related. For example if you are writing about a specific template document, you may want to make a screenshot of it and use that image within your article. There are many types of images you could utilize with your content, whether it is a screenshot, infographic, stock photo, etc.

The number of the images should depend on the length of your article, if you have a related image to share with your content, go ahead. Just like links, don’t overdo it either. Position them so they are relevant to your readers and provide value, and aren’t just an eye candy.

Here is a related infographic about SEO content writing:


There are many SEO tools out there, but only a few that help with content writing and keyword research. Here are a couple of them that could come in handy:


Ahrefs is website audit and competitor research tool. It’s keyword and content explorer come in handy when researching topics to write about. They also provide a lot of educational videos on their Youtube channel.


MarketMuse is another tool I’d recommend, its a content AI tool that helps you compare your content with top rankings sites for your main keywords. It also provides suggestions on what other keywords to use in your article.


Duplicated content is a challenge in SEO, you may even get penalized or rank much lower if your content is not unique. CopyScape helps check duplicated content across other websites.

Tips on Content Writing for SEO


When you write long articles and focus on a primary keyword, you may keep reusing it so many times that it just turns out overused. This causes “keyword stuffing”. In order to mitigate the risk you may want to use synonyms for your main keywords, headings or link anchors.

For example if you have “SEO consultant” keyword as your main focus term, you can use other synonyms such as “SEO expert”, “SEO professional”, “SEO pro”, etc.

External Resources for Further Reading

Here are some additional resources to help you create compelling content that also ranks

7 Types of Redirects and Endless Opportunities to Make Mistakes

Redirects are a confusing necessity. There are 301, 302, 307, 308, HTTP Header, JavaScript and Meta Refresh directors. It’s a lot to absorb. Some redirects are faster than others. There are permanent redirects and temporary redirects. When do you use which redirect?

Are redirects necessary? Are you leading crawlers down a chain of redirects and losing around 10-15% of authority for every step of the chain?

You can setup a redirect quickly, it takes just a minute or two, but redirects can either help your SEO efforts or harm them. Let’s see what purpose redirects serve before diving in to see which common SEO issues improper redirects can cause.

What is a Redirect?

Redirects help you forward one URL to a different URL. Let’s say, for example, your site’s CMS created dynamic URLs for products. The URL may look something like this:

  • www.example.com/product.php?id=12

From the URL above, we don’t know that the product is actually a t-shirt that comes in an array of colors. Dynamic URLs may have colors and sizes in the URL, too. Not only is the URL unfriendly, but the URL is not optimized for SEO.

You’ve gained natural links to this example page, and instead of losing the value of these links, you have a better option: redirecting.

You’ve now chosen an SEO-friendly URL, and you’ve used a 301 redirect to pass some of the link value you’ve gained to your new URL:

  • www.example.com/shirt/red-batman-tshirt

The URL is descriptive, has some SEO value and will be moved permanently thanks to the 301 redirect you used.

If a crawler lands on the page or a customer has texted the page’s URL to a friend, they’ll automatically be directed to your new page. There are no confusing errors or potential to lose a sale because you changed a URL or the structure of your site.

What are the Different Types of Redirects?

End-users may not know the difference between one redirect type over another, but Google’s crawlers will learn a lot from the redirects that you choose. You don’t want to lose your organic rankings, so you need to carefully choose the type of redirect your site, page or file will use.

301: The most common form of redirect is a 301. This tells search engines that your site has moved permanently. A response code is sent to crawlers when they land on the page, which tells it that the page has moved to a new URL. A 301 redirect can help your site save 85% – 99% of link equity.

302: The 302 is meant when redirecting users or bots from one page to another, with plans on bringing the original page back. The 302 redirect has changed from the first iteration of the HyperText Transfer Protocol (HTTP) to version 1.1. Originally, the 302 was defined as “Moved Temporarily,” to “Found” in the 1.1 version of HTTP.

307: You would only use a 302 or 307 when conducting internal testing, or if you’re conducting maintenance and don’t want users to land on a page or sub directory. The 307 redirect is the “new” Moved Temporarily direct as of HTTP 1.1. But it’s best to use a 302 redirect because crawlers seem to treat the 302 redirect as a temporary move.

308: A 308 redirect means “Permanent Redirect.” Google’s John Mueller confirms that a 308 is treated as a 301 redirect when it redirects one URL to another.

HTTP Header Redirects: HTTP redirects include status codes that are transmitted from the server, a website, to the client, or browser. The user requests a webpage, and headers are sent that redirect the page as required. Programming languages, such as PHP, allow you to utilize HTTP headers to tell the client that a page has moved. When dealing with multiple redirects that go through a particular file, it’s often easier to use HTTP Header Redirects.

Meta Refresh: Redirects can be made on the server level, or on the page level. Meta refreshes are performed on the page level, and most SEO experts don’t recommend this method because it’s slower than on the server level. Speed plays an important role in SEO, so it’s best to skip meta refreshes for any redirecting on your site.

JavaScript Redirect: JavaScript can also be used to redirect a user from one page to another, but search engines may treat these redirects differently. Bing used to have issues with JS redirects, and it should be used as a last resort. JavaScript redirects may or may not work, despite Google seeming to follow them since 2014/2015. If a user is blocking JavaScript, they may still land on the original page.

SEO Best Practices When Using Redirects

If you plan on passing your SEO value or equity from a former page or website to another, it’s best if you choose a 301 redirect on the server level to keep 85% or more of value.

Some value is lost when performing a redirect, and this is why many SEOs will caution before using redirects.

Google has claimed, in the past, that all redirects will pass all PageRank value.

Can this change?

I think so. If you go back to 2013, Matt Cutts of SEO claimed that sites lost about the same amount of PageRank from one page to another. But things change, algorithms evolve, and this is the very nature of Google and search engine optimization.

If you go back to 2016, just three years after Matt Cutts confirmed that PageRank was lost, Gary Illyes confirmed that 30x redirects no longer lose PageRank.

So, in the worst-case scenario, you’ll lose 10-15% of value with a redirect, although Google claims that as much as all of your value may be passed through a redirect.

In terms of which type of redirect you use, Google claims that their algorithm will be able to “figure it out.” If you’re moving pages permanently, you can speed up this “figuring out” by using a 301 redirect.

For speed purposes, use a server level redirect.

Note About PageRank: Google stopped allowing public access to PageRank, but it’s been confirmed that PageRank is still one of the many signals Google uses when ranking a page.

Common Problems Faced When Using Redirects

Redirects can cause issues on a website, or redirects can cause problems if they’re implemented improperly. The most common issues with redirects are:

Redirect Chains

Redirect chains

Redirect chains are exactly what they sound like: a chain of redirects. Perhaps you redirected your about page to “/about,” but then someone else determined you should redirect this page to “/about-us” then “/about-our-firm.”

You have three redirects occurring in a chain.

The original “about” page should have been redirected to the final page.

When you have multiple chains, you’ll lose some authority for each “link” in your chain. Your site will be slower and the number of server requests will be artificially multiplied.

Every redirect takes time, so a chain of redirects will also have a negative impact on your site’s bounce rate and potential rankings.

You should run a full scan on your site to try and find any potential redirect chains and correct them. Screaming Frog is a great tool for checking Redirect Chains.

Cleaning up these chains will speed up your site’s load speed and allow your site to retain a lot of its authority in the process.

Redirect Loops

Redirect loops

A redirect loop will cause website crawlers to stop dead in their tracks. There are times, especially when working with large teams, that your redirects will cause a massive loop. Many browsers have come to recognize these loops because there’s no way out of the loop.

Using the example above, let’s assume someone decided to redirect “/about” to “/about-our-firm.” But there was a miscommunication along the way, or someone made an error and redirected “/about-our-firm” to “/about.”

So, when search engine or a user lands on the “/about” page, it will:

  • Redirect to “/about-our-firm”
  • Redirect back to “/about”

The cycle will continue and ultimately fail. Correcting the issue requires you to remove one of the redirects.

While a redirect loop may not cause harm on an about page, imagine the same error on a main landing page. Sales will be lost; revenue will be lower and potential customers may have decided to purchase from a competitor.

The quick and easy way to correct redirect loops is to test every redirect. Keep logs of all redirects internally so that anyone who chooses to SEO your site has a clear picture of your current redirect structure.

Crawling tools will be able to catch these redirect loops.

Case Sensitivity

You can redirect URLs in a variety of ways: Meta Refresh, JavaScript, .htaccess files – to name a few. When redirecting, it’s important that the right rules are passed, in case of a .htaccess file, that will not be case sensitive.

In this case, you would need to pass either the appropriate rule, which may be “NC” when using RewriteRule.

You want to make sure that the redirect works whether you go to “/About,” “/about,” “ABout” or any other iteration.

Mass Redirection to the Homepage

Mass Redirects to Homepage

“More is better,” but that’s not always the case with your redirects. A common issue that is overlooked is that redirects are meant to be implemented to pass authority. Let’s assume that you have a pet website, so you may have pages for dogs, cats and lizards.

You have 452 links coming from 50 dog pages, so you have an idea: let’s redirect these pages to the homepage.

Sure, you’ll lose some authority, but redirecting these pages to the homepage will pass authority and may help boost your entire site’s rankings.

It sounds great, but SEO crawlers are a lot smarter.

Search engines know that website owners want higher rankings, so mass direction is a natural occurrence to Google.

But what does this do for your rankings?

If you have the time, I recommend watching this video by John Mueller (it’s an hour long). What Mueller suggests is that mass redirects to the homepage may not pass on any link equity at all. When a large number of pages are redirected to the homepage, it’s a red flag to Google and is a questionable move.

It would be better, from a relevancy standpoint, to redirect these pages back to their respective category pages if they’re not redirected to highly relevant pages.

Google sees these redirects as soft 404 errors.

Improper Redirects of a URL Containing URL Parameters

Some URLs have parameters in them, and while tracking parameters may not matter much, other parameters do matter. For example, the URL mentioned earlier in this article made use of parameters.

Content-modifying parameters, as Google calls them, would be something along the lines of: www.example.com/product.php?id=12.

Now, if you have only 12 products, you can use redirect files to redirect these parameters to something more natural, such as: /product/t-shirts. But let’s assume that you have 10,000 products – your redirect file will be massive.

Files are a messy way to handle these redirects, and it will greatly slow down your server in the process.

In this case, you would want to perform a redirect on the page-level. Yes, page-level redirects are slower, but they will be faster when there is a massive list of redirects in a redirect file.

Another method would be to edit the product.php page to perform the redirect.


It depends on the programming language.

In PHP, you would use the header() function. A basic example of this would be:

  • Header(‘Location:’ . $url, TRUE, 301);

The trick is to set the $url variable properly, accounting for the id which is passed through the URL.

You’ll need a little know-how in programming to handle this type of redirect using coding, but it’s a neat way to handle the request without using a large redirect file.

301 Redirects VS Canonical URLs

A lot can go wrong with 301 redirects, as we outlined previously, but what happens when you add canonical tags into the mix?

You’re causing Google to run down another rabbit hole.

Canonical tags are inserted into an HTTP header or HTML head tag, and they serve a very important purpose. When you use these tags “rel=canonical,” you’re telling search engines that certain URLs are actually the same.

This is a form of a soft 301 redirect.

For example, you may have the URL: www.example.com/product.php?id=12 and www.example.com/product/t-shirts which contain the same content because “12” is actually the identification number for “t-shirts.”

You can push search engines to the appropriate page using canonical tags.

This is ideal when the content is similar, or you have multiple pages with the same content. Rel=canonical has been shown to pass the same amount of link equity as a 301 redirect.

You’ll want to use the rel=canonical tags when:

  • 301 redirects are difficult or not possible to implement
  • When your CMS creates dynamic pages on-the-fly
  • When multiple pages lead to the same content

Of course, you do not want to use canonical tags on new websites – you should not create duplicate content issues in the first place. If you use this tag across the entire site to push authority back to a single page, you’ll find that a large chunk of these links will be de-indexed by search engines.

You Don’t Need to Redirect Every Page You Delete

When analyzing a site, you may come across pages that don’t work for your site any longer. Perhaps you run a veterinary clinic, and initially, you had a boarding page that had all of your clinic’s boarding information listed.

You may have started out offering this service, but you decided that it was not profitable or took up too many resources.

You deleted the page.

Do you need to redirect the page? If it had a lot of link equity, you may redirect the page to a blog post about animal boarding which also mentions a few vets in town that offer this service.

But let’s assume that the page really had no link equity or SEO value.

You don’t need to redirect this page.

It’s okay for a page to produce a 404 error – websites often delete or retire pages. You don’t need to fix every error page using redirects, and it will be better for your site to not redirect every page.

You can create redirects on the server-level using .htaccess files in each folder, but it can quickly become messy, especially on sites with tens of thousands of product pages. Instead, if a page really has no value or purpose any longer, you can delete the page and let the server produce a 404 error page. These error pages can suggest related content or resources to keep the user on your website.

Every site will have a few 404s, and this may just be a person typing in the URL wrong.

If you don’t create a custom 404 page, the user will be presented with a generic 404 page that is not personalized to your site. You can implement custom pages either on the server or using your CMS.

The .htaccess file, the same one used when creating redirects on Apache servers, is the file you’ll need to create a custom 404 page. The following code can be used to tell the server to go to a specific page when a 404 error is found:

  • ErrorDocument 404 /error-page.html

You can change the error page to your desired page. Ensure that you test your error pages to make sure that they’re working properly. You can now customize the error produced to:

  • Provide a user-friendly error
  • Follow your site’s theme
  • Include links to your site’s most popular pages
  • Include a search bar so that the reader can try and search your site for the content they want to read

If you have lost a valuable link because you’ve deleted a page or post, you can ask the website owner to change the link to a new URL.

Redirects are a critical part of telling search engines and users where a new page or resource is located. While these redirects happen behind the scenes, search engines will have redirect codes passed to them to better understand the reason for a redirect and why you’ve chosen to implement the redirect in the first place.

While redirects may be simple to implement, they can be very confusing, with multiple 30x redirect options, meta refreshes and even JavaScript redirects.

If you plan on using redirects, you also need to make sure that a redirect is beneficial compared to a rel=canonical tag which can also be used.

When properly implemented, you’ll be able to keep your SEO equity in place, even when changing URL structure or renaming a page.


Redirects help webmasters forward one URL to another while retaining most of the original URL’s equity. You can use redirects when changing URL structures to be more user-friendly, or you can use redirects when you delete certain pages on your website.

When utilized properly, the page will retain most of the link equity, 85% to 99% allowing the page to retain its search engine rankings.

The type of redirect that you use plays a major role in how search engines respond to the redirect. If you produce a 301 or 308 redirect, search engines will realize that the new redirected page is a permanent redirect.

But you can also temporarily redirect a webpage using 302 or 307 status codes. Temporary redirects are often used when you’re conducting maintenance on a webpage, and you want to redirect a user to a page explaining that your site is down for maintenance.

Redirects can be done on the server- or client-level. Server-level redirects are often best because they ensure that the redirect is sent properly to the browser whether or not JavaScript is enabled.

Common problems users face with redirects include redirect chains, redirect loops, case sensitivity issues, issues redirecting URLs containing URL parameters and also mass redirection to the homepage.

Testing redirects is key to ensure that your redirects are functioning properly. If you’re using redirects as part of your SEO strategy, you must check that the redirects are functioning as intended. You can use a variety of tools to test your redirects, including Screaming Frog which is a great tool for checking if your site has redirect chains.