Siteground Staging to Production Push Does Not Update BB links

Hi,

I realize there are some discussions around this topic, but since this might be siteground specific environment issue I wanted to cover this separately. Everything discussed below is easily reproducible.

First, siteground has a one button production to staging and staging to production push feature. We went with them because of this feature - hoping I would get less issues from my marketing guys. Previously I ran separate staging and production sites and used updraftplus to push. This was a little involved for these guys so my thought was siteground would be easier. Alas there seems to be a problem.

If I copy from production to staging, everything works fine… All links appear to be updated, etc. However, if in staging I edit a beaver builder page to add a link or create a new page with links, those links are not updated when I push from staging to production. If I create a basic wordpress page with a link on it, that gets updated during the push with no issues. So, this issue appears to be beaver builder specific. I have tried nuking the beaver builder cache (wp-content/uploads/bb-plugin/cache) both before and after the production push but that has not worked. I have also turned off the caching provided by siteground just to be sure what I am looking at is not stale, but the situation persists. This problem may well lie in the siteground staging software somewhere (they aren’t very forthcoming on how it is implemented), but it strikes me as very odd that one direction works and the other does not. Any thoughts on solutions or workarounds would be appreciated.

Thanks,

Keith

Hey Keith,

Thanks for posting! Most migration issues involve broken layouts, invisible content and etc. all of which caused by broken serialization. So what you are experiencing is entirely different and a first for me. Given that changing a BB link from production to staging works fine, have you tried getting in touch with SiteGround and see what they have to say?

Ben

I will do that now. Figured I would try you guys first since it only seems to happen on page builder pages and not basic wordpress pages.

Will update if I get a resolution.

Keith

Hey Keith,

Thanks! Do let us know what they say. Like you said, it could be something with how their one button migration works. We can always dig deeper if needed.

Ben

Well, I have been back and forth with Siteground a few times now. I ultimately gave them a set of steps to prove to them that the issue was quite reproducible. They came back and said that there staging system does not support updating of new links created on the staging side even though they obviously need to update them when going from production to staging. I then referred them back to my very clear steps which shows quite clearly that links on normal wordpress pages are updated when pushing from staging to production, but that the Beaver Builder links are not. There response is we cannot be expected to handle all of the plugins out there - have you spoken to the plugin provider. This made me sigh. We ultimately chose Siteground due to the good reviews and this staging feature, but the staging feature does not really work for a lineup that includes Beaver Builder. The only workarounds are to put in bogus links in staging that point to potentially non-existing content in production or to push to production and then immediately correct the links. My plan is to contact WPEngine tomorrow to see if they have a similar limitation in their staging offering. The only other option on this front I know of is a new service called https://wpstagecoach.com/ which enables an easy staging environment regardless of hosting provider. It is very new though and obviously is more monthly out of pocket. If you have any other suggestions, please let me know. Otherwise, BeaverBuilder users be aware of this limitation if you are considering hosting at Siteground.

Regards,

Keith

I’ve bumped into this issue a few times on WP Engine’s staging to live site. I’ve always used https://interconnectit.com/products/search-and-replace-for-wordpress-databases/ Search and Replace DB on the live site after pushing the staging site to live. It works great replacing URLs (or anything for that matter) in serialized data.

Follow their docs carefully and have a backup of your database before running. Do a “Dry Run” to check what will change.

Hey Doug,

Thanks for jumping in!

Keith,

More to what Doug said above, we’ve a KB article regarding Migrating a Site To Another Domain. Maybe check that and see if it’s a viable solution for you?

Ben

Thank you both for responding. I will look into the interconnectit script.

Regards,

Keith

Hi,

Here is an update on my Siteground (shared hosting) experience with Beaver Builder and the interconnectit script. I installed this and at first everything was great. Could use the web page interface and everything worked fine. Then about a week ago, it stopped working - reported an AJAX error when trying to update the wp-postmeta table (the largest table). I noticed that some people reported that this was an issue with php connection timeout being too short. I tried to get that updated but because it is shared hosting the longest they could set it to dynamically for my account was 120 seconds. I also noticed though that whenever I ran this script, I would get 503s and 500s from my site. This made me suspect that running the script was tripping an overload mechanism in the shared environment. Siteground support verified that this was the case.

Given this, I decided to try to work around the issue by running the CLI version of the script directly from an ssh session. I couldn’t get it to run properly though… the arguments to the script were not being passed in when running it as directed:

./srdb.cli.php --help
or
php srdb.cli.php --help

Turns out you need to run it as follows in their environment:

/usr/local/php53/bin/php-cli srdb.cli.php --help

I am happy to report that this works - it does not encounter a timeout issue or overload. This is not as nice for my marketing guy as he now has to ssh in, but I have automated the majority of it for him. We always execute a dry run followed by a live run on our staging site before pushing to production using the Siteground staging easy push capability.

Hopefully this will save other folks some time because this took a while to work through.

Regards,
Keith

Hey Keith,

Thank you so much for sharing and for the detailed explanation! :slight_smile:

Ben