Moving WP to a different server with a different URL
-
When moving a WordPress site to a different server with a different URL I note the presence in the tables wp_yoast_seo_links and wp_yoast_indexable a large number of references to the old URL. What are the purposes of these two tables and what is the effect of having these data referring to a URL different from the new URL?
-
@josiah-s-carberry You can read more about the indexables feature that was introduced in Yoast SEO version 14.0 here: https://developer.yoast.com/blog/the-exciting-new-technology-that-is-indexables/
As for the issue with references to the old URL, we’re sorry to hear you are experiencing this error. To resolve this, can you please try the following?:
-
1. Install & activate the?Yoast Test Helper plugin
2. Go to Tools -> Yoast Test
3. Hit the “Reset Indexables & Migrations” button
4. Under SEO → Tools, click the “Start SEO Data Optimization” button.After starting the SEO Data Optimization, the message “Oops, something has gone wrong and we couldn’t complete the optimization of your SEO data. Please click the button again to re-start the process.” was displayed. This happened a second time, too.
@josiah-s-carberry We’re sorry that you are experiencing problems with our plugin and know how frustrating it is to see the optimization failed to complete.
First, I want to assure you that not performing the optimization process will not affect your site negatively in search results. Additionally, the optimization process will run silently in the background as content on your site is created, modified, or removed. As the optimization process makes our plugin work more efficiently, let’s look into what might be causing this on your site. If you’d like to skip directly to the next steps, we have summarized our findings at the end.
We have seen this notice appear for sites where the previously optimized data is invalid or when there is a plugin or theme conflict. We’ll start with a reset of the optimization to make sure we’ve cleared out previously optimized data. You may be hesitant to reset data, but we can assure you that this does not undo any of the hard work you’ve done when it comes to the SEO of your content.
To reset the data, please follow these steps:
-
? Install & activate the?Yoast Test Helper?plugin
? Go to your WordPress admin dashboard > Tools (sidebar) > Yoast Test
? Locate the Yoast SEO section and click on the ‘Reset indexables tables & migrations’, ‘Reset Prominent words calculation, and ‘Reset Internal link counter’ buttons. After each click, the page will reload to confirm that each reset was successful.Now that we have removed any previously stored data, we’ll need to rerun the data optimization. You have a few options to run the SEO data migration:
-
? Inside the WordPress admin area:This is the method where you saw the above error.
? Use the?WP-CLI commands:?This requires access to your server through a terminal service. Your web host may be able to help. If you have a large site, we highly recommend this method.If the optimization completes successfully after the reset, you are ready to start using Yoast SEO and its features.
If the SEO data optimization doesn’t complete after the reset, we’ll need to gather some information from your browser to determine the next steps. Please open your browser’s console and check for any JavaScript errors. If you’re not familiar with your browser console, we have a guide that will help:?How to find JavaScript errors with your browser’s console.
We have a list of known error codes?here?(step 6) with recommended solutions. If the error is not listed or you have questions about the error, please provide us with a screenshot of the error.
Summary of findings
The most common causes are invalid previously stored data or a conflict with a plugin or theme on your site. The next steps are:
-
1.) Reset the optimized data by installing the?Yoast Test Helper?plugin
2.) Run the optimization process again
3.) Check for?JavaScript errors with your browser’s console. If you see errors, check the known error codes listed?here. If the error is not listed, provide us with a screenshot of the error.Can you please inform us of the results?
After redoing the steps, but this time using the WP-CLI command “wp yoast index”, the procedure completed without error.
I then checked the two tables, wp_yoast_seo_links and wp_yoast_indexable, for references to the old URL—which is the reason I asked this question in the first place.
The wp_yoast_seo_links table was truncated. I have no idea why, what this means, and if it is a problem.
The wp_yoast_indexable table now has the new URL in the place of the old URL, so the procedure appears to have resolved this part of my question@josiah-s-carberry Thanks for your reply.
Regarding the
wp_yoast_seo_links
table, can you please provide us with a screenshot of what you are seeing for the table? This table is related to the internal links on your site that Yoast SEO has detected, so is updated during the ‘Reset Internal link counter’ and ‘Reset indexables tables & migrations’ processes.Hi,
Just to clarify, could you please let us know what issue you are having with the
wp_yoast_seo_links
table? When you say it is truncated, is the data stored in the table cut off or do you mean that it is still storing the data of the old URL?If so, could you go to the Yoast Test Helper plugin under WP admin dashboard > Tools > Yoast Test, and click on the ‘reset internal link counter’ and ‘reset prominent words calculation’ and then re-run the SEO data optimization under WP admin dashboard > SEO > Tools? Does that then resolve the issue for that particular table?
“Truncate” means simply that all the rows in the table have been deleted. There is nothing to see.
I clicked on ‘reset internal link counter’ and ‘reset prominent words calculation’, as instructed.
However, when running wp yoast index on the command line, nothing at all happened. THere was simply no message at all in response. When attempting to run that procedure from within the admin GUI (the Start SEO data optimization button), the same message was displayed as above, namely: “Oops. Something has gone wrong…” Nothing was displayed to indicate some partial progress, as had been the case previously.
I should point out that there are many internal links on the site.
Hello,
To troubleshoot further, while you’re on the SEO Data Optimization screen, can you please check if there are Javascript errors on your browser’s console? You may follow the steps here: https://yoast.com/help/how-to-find-javascript-errors-with-your-browsers-console/
The wp_yoast_seo_links is part of our text link counter feature. Where we count the internal links on your site and then output a number next to each post/page that shows how many links are going to it and how many are going away from it.
In the database we would expect to see rows in that table. See: https://ibb.co/RPZZ2v0.
Then if you go to Posts-All Posts you can see the count. See image: https://ibb.co/M91XZJh
We would like some more information to help us troubleshoot.
1. We had another recent release. Can you confirm you are using the most recent Yoast SEO, v16.0.2? If you update, does the issue resolve?
2. Are all your non-Yoast plugins and themes also updated?
3. If you have a post which has internal links going away from it and also pointing to it (from some other post) can you re-save it? If you do that, does that data appear in the wp_yoast_seo_links table?
4. If you go to SEO-General-Features is the text link counter feature enabled?
5. If you go to Posts-All Posts do you see the count as shown in the previous image? If you look at the Orphaned Content count does it show a count or a question mark? Are you able to take a screenshot? You can use a tool like: https://imgbb.com/ to share the image.
The situation has changed, although I have no idea what is different now.
– the table is now populated
– The data optimization procedure has now completed without any errors.
– The Outgoing internal links column on the All Posts page now shows the correct values
– The browser console does not show any errors
– all plugins, themes and WP are up to date
– However, there are numerous rows in the table that still contain URL values with the old domain. For example, one of the pages is my home page, https://www.newdomain.com. There are several entries where the value in URL is //www.olddomain.com/?feed=atom , //www.olddomain.com/?feed=rss , etc. This page is composed entirely of widgets and has no component at all that can be directly edited in any WP editor. If I open the page for editing and then save it, nothing changes in the rows in wp_yoast_seo_links.There are several rows where the URL value is https://www.olddomain.com/some_posting . If I modify and save the corresponding post, these rows do not change at all. However, there is also a row in the table where the URL value is https://www.newdomain.com/some_posting
If you go to the corresponding post that Yoast is finding this link: https://www.olddomain.com/some_posting on, does that link actually show-up anywhere on the post? Such as in the post body, or header, or menu or footer or a widget area?
If you search for that link in the source code does it appear? This guide explains more about how to do that: https://yoast.com/help/view-page-source-site/
Yes, it appears in two ways:
1) as a link for the name of the author of the article who is replying to a comment:
The Author2) as a link in the trackback section at the bottom of the article. In particular, two cases where I link to this post from another post. Oddly, the trackbacks consist of three parts: the name of the source article and site (which preserves the link to the old domain); then date and time that other article was posted (whose link goes to the new domain!); and the extract of the comment itself (which has no link at all).
I’m not sure how to update the link in the trackback section. But that leads me to another question. In the table wp_yoast_seo_links, does the column URL contain the URL of the page to which the link is made, or does it contain the the URL of the page linking to the post_id, or is it something else?
Hi,
The wp_yoast_seo_links column is expected to contain links that exist in the body of the post_ID. These will be internal links and external links, including images.
So if you review the post_ID column, the table shows you which URLs Yoast found associated with that post_ID.
As a result, if you have a link in the body of a WordPress post on the new site that points to: https://www.olddomain.com/, what is being shown in wp_yoast_seo_links is correct.
Are you expecting to have that URL point to the https://www.olddomain.com/?
In regards to the trackbacks, are you saying these trackbacks URLs are appearing in wp_yoast_seo_links as part of the URLs associated with a post_ID? We ask as we would not expect wp_yoast_seo_links to include those.
Now that I have a better understanding of wp_yoast_seo_links I see what has been going wrong.
1) I used two plugins to change the URLs when I migrated to a new domain:
– Velvet Blues Update URLs 3.2.10
– Elementor | Tools | Replace URLs
Both of these plugins failed to replace all the URLs they were supposed to replace. Thus, I still had cases of https://www.olddomain.com that correctly appear in wp_yoast_seo_links.2) That being said, Yoast ignores the changes made by such bulk update tools. For example, I reran the Elementor tool. It found more cases (that it had skipped the first time around). But after that replace procedure, the old URLs were still in wp_yoast_seo_links. However, if I open the post concerned by such changes and save it, then Yoast correctly updates wp_yoast_seo_links.
3) A completely(?) separate issue appears to be the reliability with which the Yoast Optimize SEO Data procedure works. At several occasions it would fail (as reported above). However, if the same procedure is run just a few minutes later, in the same admin session, it completes without error. Similarly, sometimes the CLI version works; sometimes not (as reported above). Does this perhaps have something to do with a conflict with a cron job? I can guarantee that nothing else at all potentially changes between a session where the procedure reports the Oops message and a session where it completes successfully. I really really doubt that the problem is due to a memory issue.
Hi,
If the SEO data optimization fails to complete and you receive the ‘oops’ notification, most often this notification is output as a result of something blocking the REST API. We use the WordPress REST API in the backend to help run the tool and if it is blocked, this notification is outputted.
You can learn more about how to resolve it by checking for any JavaScript errors that may appear here — https://yoast.com/help/seo-data-optimization-not-complete-successfully/
- The topic ‘Moving WP to a different server with a different URL’ is closed to new replies.