YouTube videos that could help you do this task :
How to Migrate an Entire WordPress Site to New Host :
Goal: Migrating an existing non-SEO friendly URL structure on a WordPress website to an SEO-friendly one, while mitigating any potential damage (e.g. if your content is already indexed and ranked, you might notice organic traffic drops and 404 errors).
Ideal Outcome: Your SEO-friendly URL structure will help Google index and rank your site better - and you will be able to achieve this while minimizing traffic drops.
Pre-requisites or requirements: This SOP applies only to WordPress websites. Also, you will need to have access to the Google Search Console. If you donât know how to set up your Google Search console, you can check out :
Why this is important: The more SEO-friendly your website is, the more likely it is that it will land in the first page of the Search Engine Results Pages.
Where this is done: In WordPress Admin Panel and Google Search Console.
When this is done: Preferably, when you launch a website. However, it can be done afterwards.
Who does this: The person responsible for website management, or SEO.
- Know the recommended URL structure
There are two types of URL structure that typically offer the best results:
- /%postname%/ This is the most general URL structure you can follow - and it is the one that applies in most cases.
- /%category%/%postname% Sometimes, it makes sense to use this structure, particularly when you take into account any (or all) of the following:
- Content strategy and user experience: If you have devised a content strategy where categories play an important role, you might want to use this type of URL structure as It will also be easier for users to find a particular section on the site if itâs clearly structured according to different categories;
- Tracking: Some platforms will be easier to track if you use the category before the post name.
- Example: If your website sells emojis for Men and Women, and your want to create a facebook custom audience that targets all the users that visited the Menâs emoji section you can do it easily by creating a rule that includes all the users that visited a URL that contains /men/.
- Check your current URL structure
To see your current URL structure, follow these steps:
- Go to your WordPress Admin Panel â Settings â Permalinks;
- See which of the options is checked.
- If the âPost Nameâ or the âCustom Structureâ (with â/%category%/%postname%â as specification) are checked, youâre all good, there is no need to follow this SOP anymore. :)
- If your website is following a different structure than either of the aforementioned ones, move on to the next section.
- Decide whether you should migrate the URL structure or not
Before moving on to the actual migration process, you should first assess your particular situation and decide whether or not this is worth it for you. Here are some of the reasons to proceed further and migrate your website to an SEO-friendly URL structure:
- You donât have a lot of pages already indexed by Google;
- You can check this by using the search operator âsite:domainâ (e.g. âsite:asiteaboutemojis.comâ). You can do it by following these steps:
I. Go to Google.com
II. Type âsite:yoursite.comâ
- Remember: Replace âyoursite.comâ with your actual website URL.
III. Look at the number of results Google shows - those are roughly the pages that have been indexed so far.
- Your business and website can afford a brief drop in organic traffic for a few weeks/months. If your site doesnât receive much or any organic traffic, then you donât need to worry about this, just proceed with the migration;
- Your URL structure uses post IDs and doesnât include any of the keywords you might want to target;
- There arenât many external websites linking to pages on your Website
- You can check this with SEMRush:
I. Go to SEMRush.com (non-affiliate link: SEMRush)
II. Enter your website URL
III. Click âStart Nowâ
IV. If you havenât registered to SEMRush before, or you arenât logged in, a pop-up will appear on the screen. When this happens,register to get 10 free requests OR log in to your existing account.
V. Look at the âBacklinksâ section - it will show you the external sites that are linking to your domain.
- You can also check this in Google Search Console to find any additional links SEMRush might have missed.
**Note: If you donât have it set up yet, you can do it by following the steps in SOP 020.
I. Go to Google Search Console.
II. Select the site you want to check.
**Note: If your interface looks different from the one on this SOP make sure you are using the legacy interface by clicking âGo to the old versionâ on the bottom left corner:
III. Go to Search Traffic â Links to Your Site. The number of external links connecting to your domain will show at the top of the page.
- Extract a list of your current URLs
There are two ways to extract a list of your current URLs:
- If you have a sitemap and do not want to install a new wordpress plugin, you can use that for the purpose of this SOP.
**Note: Your sitemap is usually found by adding /sitemap.xml to your domain (example: asiteboutemojis.com/sitemap.xml).
**Note 2: If you donât find your sitemap that way you can try and see if your ârobots.txtâ file defines a sitemap by adding /robots.txt to your domain (example: asiteaboutemojis.com/robots.txt), if it is defined you will see it as such:
- If you donât have a sitemap you can export the URLs using the âExport All URLsâ plugin on WordPress:
- Download, install, and activate the Export All URLs plugin.
- To do this, you need to download the ZIP folder at the aforementioned link.
- Go to your Wordpress Admin Panel â Plugins â Add New â Upload Plugin.
- Upload the plugin from your computer.
- Click on âInstall Nowâ.
- Click on âActivateâ.
- Go to Settings â Export All URLs.
- Tick âAll Typesâ, âURLsâ, and âCSVâ.
- Click on âExportâ â âDownload Nowâ.
- Select where to download the .csv file.
- Rename it (for the purpose of this example, we used âExported_Data_All_URLsâ, but you can rename it any other way that makes it easy to recognize).
- Change the permalinks settings on WordPress
**Note: There are rare instances where changing the permalinks of your website may cause it to malfunction. This could be due to conflicting plugins, redirects you might have implemented in the past, custom code, your theme, or other. Even though these situations are not common it is recommended that you have a backup of your website on hand just in case something goes wrong.
Remember: If you havenât implemented a backup solution for your WordPress website, you can do so by following :
How to backup and restore your WordPress website- Go to your WordPress Admin Panel â Permalinks
- Follow these steps, according to the URL structure you want to follow:
- Standard - As mentioned before, the standard (and recommended in most cases) URL structure is âPost Nameâ - so select that option in Permalinks if you want to settle for it.
- If you select this option, your URLs will look like this: www.asiteaboutemojis.com/all-you-need-to-know-about-blue-business-emojis
- Custom - You can also select a custom structure that is more personalized for your needs, as described at Step #2 in this SOP.
- To opt for this URL structure, check âCustom Structureâ. And enter /%category%/%postname%/ in the text box.
- If you choose this option, your URLs will look like this:
www.asiteaboutemojis.com/blue-emojis/all-you-need-to-know-about-blue-business-emojis
- Test your old URLs, check 301 redirects and search for 404 errors
To test your old URLs, check redirects and search for 404 errors, you can either use a manual method (faster), or a tool that checks your HTTP Status Codes. (more accurate)
- If you have more than 10 pages on your website already: click here.
- If you have 10 pages or less: click here.
- If you have 10 pages or less on your website:
- Open the URL list that you have extracted on Step #5 of this SOP.
Quick test:
- Navigate through the URLs by typing them on your URL bar and check if your old URLs redirect to the new pages or if something went wrong and you see a 404 âPage not foundâ error.
- If the old URL was indexed paste it into a Google search and click on its result. You should not see a 404 âPage not foundâ error.
More accurate test (recommended):
- Use a HTTP Status Code checking tool:
I. Go to Browseo;
II. Take each of the old URLs on your website and enter them in the search box one by one.
**Note: If you have a lot of URLs you might want to use method B instead.
III. On the right side of the screen, look at the âresponseâ section:
- 404 (Page Not Found) - If you see this response your redirects were not properly implemented or you are typing the wrong URL.
- 200 (OK) - If you see this response your redirects might not have been properly implemented, make sure you are typing the old URL in browseo and not the new one.
- 301 (Moved Permanently) This is the response youâre looking for. If you see this one everything should be great.
- If you have more than 10 pages - Check 301 redirects in bulk using an automated tool:
- Open the list of URLs you saved at Step #5 of this SOP.
- If you have it in .xml format, convert it to Excel format (you can use this online converter, download the zip file, and extract the Excel file). Open Google Sheets â Start a new spreadsheet (blank) â Open â Upload your Excel file â Select all cells with URLs â Copy them to the clipboard (Ctrl+C for Windows, or â+C on a Mac).
- If you downloaded it using the âExport All URLsâ plugin, go to Open Google Sheets â Start a new spreadsheet (blank) â Open â Upload your CSV file â Select all cells with URLs â Copy them to the clipboard (Ctrl+C for Windows, or â+C on a Mac).
- Go to http://www.urlitor.com/ â paste the list â select Googlebot â hit Submit.
- Note: If you canât see the search bar on the site, or if you have any issues, try opening the website in âIncognito Modeâ. To open Incognito Mode using Google Chrome use the shortcut Ctrl+Shift+N (Windows) or â + Shift + n (Mac).
- Check the âTable Viewâ and the âRedirect Summaryâ tabs to make sure those numbers make sense, that you are not redirecting some URLs unwillingly and that you donât have 404âs.
- You also have the option to âDownload to CSVâ if you want to work the numbers on a spreadsheet or check them against another URL list.
- Set up 301 redirects for 404 pages
**Note: Typically WordPressâs Permalink feature will take care of redirecting your old URLs to the new ones. Sometimes that might not happen (conflicting plugins, previous redirections, custom code, theme features, etc). If that is the case you will want to redirect the old URLs to the new ones.
You can set up 301 redirects by following the steps described in SOP 051 for the URLs that you have identified as retrieving a 404 (Not Found) response, in the previous chapter of this SOP.
- Check and update your Robots.txt file
**Note: If you were disallowing search engines from crawling your old website structure, you will have to update the robots.txt file (so that search engines know not to index that specific path or page).
- Check your current robots.txt file by going to yourwebsite.com/robots.txt (e.g. http://www.asiteaboutemojis.com/robots.txt)
- If the rules described in your current robots.txt file are not congruent with the URL migration you have performed, make sure to update your robots.txt file.
**Note: For instance, if on your robots.txt there is an entry that is using the old URL structure, you should replace it with the corresponding one in the new structure.
**Note 2: You can test if URLs are being correctly blocked/disallowed in your robots.txt by using Google Search Consoleâs Robots Testing Tool, entering your URL and hitting âTestâ. You will get an âAllowedâ or âBlockedâ message.
- Check and update your sitemap
Your sitemap might have become outdated after changing the URL structure.
Check your current sitemap.
**Note: Your sitemap is usually found by adding /sitemap.xml to your domain (example: asiteboutemojis.com/sitemap.xml).
**Note 2: If you donât find your sitemap that way you can try and see if your ârobots.txtâ file defines a sitemap by adding /robots.txt to your domain (example: asiteaboutemojis.com/robots.txt), if it is defined you will see it as such:
- If your sitemap is outdated (if the URLs on the sitemap are still using your old structure), you might have to generate a new one.
**Note: If you are using Yoast to manage your sitemap it should be generated automatically. If not, make sure you donât have a cache plugin, If you do you might need to refresh the cache.
- Monitor Google Search Console
Once you are done with the URL migration process, it is very important to look out for errors. You can do so on your Google Search Console account:
- On your browser open the Google Search Consoleâs crawl error report, by clicking here.
- Select your website:
- Look for any kind of errors and fix them if they show up, ideally this is how your report should look like:
**Important**: it may actually take a few days until the errors show up on the Google Search Console, so make sure to come back every day and check for updates.