Plugins: Backup, Copy, Clone, Duplicate, Migrate, Staging, etc

Plugins: Backup, Copy, Clone, Duplicate, Migrate, Staging, etc

Cloning WP

Plugins reviewed

Najbolji je ipak BackWPup iako nema restore for free.

XCloner

XCloner is only true open-source plugin left, but it is ugly but functional. It has somehow weird restore process. Supports domain replacement out of the box when restoring and cloning. XCloner will not be free soon, and it is quite shitty now as it is sold to some company couple years ago. Nakon nekoliko pokušaja da ga koristim, ustanovio sam da je postao potpuno neupotrebljiv. Na primer, nemoguće je napraviti backup samo database. A isto se dešava i scheduled backup. Pošto se potpuno raspada, potpuno ga zanemari.

All-in-One WP Migration was my go-to plugin as it supports domain replacement out of the box. Problem arises with upload-size limit on destination server, because this plugin doesn’t support any other method of import or restore for free, besides direct upload.

UpdraftPlus

UpdraftPlus ima previše limita u besplatnoj veriji, na primer nemoguće selektivno birati tabele u bazi.

WPvivid

WPvivid has many limitations in the free version, but basic operations such as scheduling and restoring are still available, as well as most remote storage options. However, detailed configuration options such as which tables to back up are missing, or for example only one task can be scheduled, etc. Generally speaking, the plugin is well designed and coded.

WPvivid used to be free when it first appeared in 2019, but it is no longer free. The premium offer includes a lifetime-unlimited license for $299, and for affiliates a 50% discount is available. During events like Black Friday, it can be purchased with a regular 40% discount.

An excellent feature of the Pro version is the White Label option, which allows users to offer WPvivid plugins to clients as a service but not as a product. Although a staging site can be easily created in a subfolder, the option to sync Staging to Live and vice versa is only available in the Pro version, making staging unusable in the free version. The Pro version also includes incremental backups.

For some reason, the existing free option of database snapshots has been separated into a separate free plugin Database Snapshots, which is actually excellent even as a standalone plugin.

Moreover, an atypical option even in the free version is WPvivid Image Cleaner, which finds unused images in the uploads folder and allows you to isolate or delete them.

There is an excellent walkthrough video about the differences between WPVivid Pro and Free Review.

Iako sam siguran da može, nisam uspeo da unese custom endpoint za S3 odnosno nisam uspeo nikako da koristim Storj.io

BackWPup

BackWPup is a product of a well-known German company Inpsyde GmbH and is likely well-written. In the free version, it even allows for pushing to remote storage with basic destinations, but it lacks the feature “Restore” from plugin or Import-export job settings. Read more in What is the difference between BackWPup Free and BackWPup Pro? – BackWPup Docs.

The main issue with the free version is that restoring is manual, but straightforward, while in the Pro version, it is one-click. Read more about it here: How to restore a WordPress backup?. Additionally, the “Migrate URL” option is only present in Restore and is only available in the Pro version.

Even with the Pro version, it cannot be used for staging or similar purposes. My conclusion is that it is a solid classic backup plugin with a few “Restore” caveats.

Even in the free version, there is an “S3 Server URL” item, so I entered a custom endpoint for S3 and saved it on Storj.io.

  • Duplicator is a useful tool for quickly backing up databases and files, as well as transferring them to another website. Even in its free version, it is quite good, although it is not a conventional backup tool, but more of a migrator. It works by providing you with a backup archive and an installer.php file, which you must somehow (via FTP) place on the destination site and then run the installer.

  • Migrate Guru
    Forget about it, due to privacy - The website transfer or migration process works on our servers, so it doesn’t crash your site. Migrate Guru automatically copies your site to our servers and after the migration is complete, the copy is erased.

A lot of times I need to use Better Search Replace or even better Search & Replace that has “Replace a Domain / URL” option and full support for serialized data, by proper company Inpsyde GmbH

Electric Migration je baš osnovni ali radi search-replace automatski.

WordPress Backup & Migration

WordPress Backup & Migration is a plugin that really does have everything you need in the free version. Even the free version has detailed selection of which files will be backed up, a complete schedule, and normal restore options, as well as the three most necessary remote destinations. Actually, the only limitation I noticed is that there is only one scheduled task. Some “associated” options like Staging are non-existent here.


Database Backup for WordPress je od Delicious Brains a čak se pominje u oficijelnoj dokumentaciji kao preporučen scheduled backup: Backing Up Your Database – WordPress.org Documentation. Vrlo je sličan nižepomenutom LH Mysqldump samo što je mnogo poznatiji.

An excellent and straightforward database backup plugin is LH Mysqldump which uses the clean PHP implementation of mysqldump and mysqlimport utilities from dg/MySQL-dump and dg/MySQLImport. However, it doesn’t provide any restore functionality. The plugin has hidden the options under “Tools > Available Tools,” which is an ideal place for them. By default, it creates a backup and sends it to the admin email once a week. The downside is that the tables inside the zip archive are split into multiple files. The backup interval can be adjusted using a plugin such as WP Crontrol.

Class: dg/MySQL-check: Checks a MySQL database for invalid foreign keys, i.e., a keys pointing to missing rows.

Electric Backups is a basic auto-backup solution without any restore functionality and it relies on mysqldump which is not commonly available on servers.


Backup Migration by Migrate, soon to be BackupBliss?

Backup Migration was new kid on the block in 2019, ali sad i nije. Mislim da su u pitanju autori TasteWP jer ga automatski instaliraju. Pluginu stvarno ništa ne fali osim što je UI malo “oversized” jer je većina osnovnih opcija tu i jedino ozbiljno ograničenje (novo dodato) je backup size limit of 2GB, in free verziji ali i nemogučnost da selektuješ parcijalno koje tabele da backup.

Kada klikneš na Premioum link, odvede te na BackupBliss gde pominje da je to rewrite od starog i napuštenog WP Clone plugina a ja ustvari mislim da je u pitanju promena imane na BackupBliss jer je stvarno stari naziv zbunjujuć.

Ranije je postojalo neko poređenje sa drugium pluginovima koje navodim ovde, ali mislim da niti je bilo istinito niti važi više.

Besides having the most intuitive interface and smoothest user experience, Backup Migration plugin will always strive to give you more than any competitor:

  • Updraftplus: They charge for migration, with our plugin it’s free;
  • All-in-One WP Migration: In the free version, compared to our plugin – they don’t have selective/partial backups; they lack advanced options and each external storage is on a separate extension plugin; they have no automatic backups;
  • Duplicator: In the free version, compared to our plugin – they have no selective backups, exclusion rules, no automatic backups and no migration;
  • WPvivid: In the free version, compared to our plugin – they don’t have selective/partial backups, exclusion rules, or automatic backups;
  • BackWPup: In the free version, compared to our plugin – they lack restore options, backups are slower, automatic backups are dependant on wp cron;
  • Backup Guard, koji se sad zove JetBackup: In the free version, compared to our plugin – they have no selective backups, exclusion rules; no direct migration;
  • XCloner: Automatic backups are dependant on wp cron; full restore not available on a local server;
  • Total Upkeep: They lack the advanced selective backups and exclusion rules, lacks a monthly backup schedule

Total Upkeep

I tested Total Upkeep but it doesn’t inspire confidence because of too many upsells and seems poorly constructed.


For plugins to search-replace domain URL go and check relevant note


Story on WP Sync DB vs WP Migrate DB

Story goes like this:

  1. Company “Delicious Brains” created Lite and Pro plugins deliciousbrains/wp-migrate-db and WP Migrate Pro

  2. One guy forked it but had to change it’s name wp-sync-db/wp-sync-db.
    He was forced to rename it from “WP Migrate DB” to “WP Sync DB” after Delicious Brains decided to trademark the name “WP Migrate DB”, filed a DMCA takedown against the repo, and threatened to take me to court. But they should be OK with it now.

    Then same author stopped maintaining it as he has moved away from PHP and was looking for a maintainer.

  3. Other guy hrsetyono forked it again and continued it as open-source.
    This is the one I will use - Use hrsetyono/wp-sync-db plugin as it is really free. It is also a combination of WP-Sync-DB and 2 of its Addons: Media Files and CLI.

I really like this plugin, and I want to mention some of its features. It uses site URL and secret key for authentication, and you can sync individual tables and choose which post types to sync or not. It also allows for multiple search-and-replace operations within content, with precise ordering.

Also read How to Synchronize Local & Live Database?

cloudverve/wp-sync-db is also a popular fork and it does not include wp-sync-db-media-files and wp-sync-db-cli plugins.

I prefer to go with the hrsetyono fork.

I just realized that this plugin is also the easiest way to manually transfer the database to another computer because it integrates search-replace into that process. It has an “Export File” feature that applies all content changes and respects the selection of tables and more. Since you can save a profile, this is an option that I will often use for manual database migrations.


Migrating data without changing ID

preserve id

Pazi ovo! Specifičnost ove grupe pluginova je da ne menjaju ID odnosno ID svakog entiteta je zadržan.

Transfer of between servers:

Export and import data

Doubly – Cross Domain Copy Paste for WordPress je super, ali nemam dobar null a u free verziji ne radi na Post već samo na Page. Copy se radi iz podmenija “Bulk Actions” kao “Copy” odnosno “Export Zip” dok se Paste obavlja iz takvog menija u Admin Bar-u. Tu se nalazi i “Import Zip”

Woow - Zippy

Export Custom Pages je plugin koji radi pojedinačni eksport samo jedne strane kroz klasičan Export, ali ne za posts već samo za pages.

Advanced Exporter Importer izgleda dobro a i omogućava selekivni export, ali davno nije ažuriran

Export media with selected content

Plugins categorized as export | WordPress.org

How to migrate data aka Importing while preserving ID-s

  1. Use this code by well respected author of AMP working at Google wordpress-importer-post-id-preservation.php koji omogućava da klasičan import ne menja ID

  2. Use update option in WP Import All (mislim da može da zadrži ID)

  3. Use WP Import Export Premium, ali sa njime ne znam kako?


Import & Export Menus

WordPress Menu Exporter seems old, but it’s still working as it should. Export will also include all the pages and-or terms that are referenced in menu. Afterwards, you import this data with standard Wordpress Importer. Ancient plugin is still working as expected, as explained in this article.

WPS Menu Exporter se integriše u standardni Export ali mi se čini da prilikom exporta tog menija exportuje i sve article iz tog menija, što možda i nije loše a tako radi i prethoni plugin. Međutim, nije mi nijednom radio.

Export WordPress Menus by Tyche Softwares ali isto ne radi za moderno ali exportuje nav_menu_item, kao i prethodna dva, sa sve sadržajem.

najnovije - Za prebacivanje Gutenberg menija iz jednog u drugi sajt.

Export Import Menus radi za klasične menije, pod “Appearance” ima submenu “Export/Import Menus” ali meni opet nije nešto radio.

The Navigation block above is stored in the database as wp_navigation - more info

The new Navigation block – Make WordPress Core


ZIP from Media nije baš napredan plugin, jer sam, na najgluplji način, pakuje sadržaj u uploads folderu


Ovo je savršena ideja koja je opisana u originalni tekst je Load Media from Production - Bill Erickson iz koga je nastao plugin BE Media from Production sa repo na billerickson/BE-Media-from-Production i koji uses local media when it’s available, and uses the production server for rest.

A ovaj plugin dmhendricks/remote-media-staging: [WIP] An experiment with hosting media both locally and remotely with WordPress bi trebalo da je to isto ili vrlo slično kao prethodno

Remote Media Libraries je malo drugačiji jer omogućava access to content from Youtube, Vimeo, Dailymotion, Flickr and Instagram directly into the media library, a tu je i tekst umesto manuala ovde How to Add an External Media Library to WordPress - GreenGeeks a pominju se i drugi, podjednako dobri ako ne i bolji pluginovi External Media koji je closed.


Staging and Syncing

WP Staging

The WP Staging plugin is widely regarded as the best option for creating a staging environment. It’s quite easy to obtain its pro version and its features make it a great choice for those who want to have a staging environment on the same hosting. One of the standout features is the “Symlink Uploads Folder” option, although it does come with some inherent risks.

Additionally, WP Staging is also a solid backup and migration plugin, as it makes it simple to create a staging environment on different servers. There’s also the option to remove data on uninstall, however, the only downside is the location of the submenu. It’s not the best choice for database and media syncing on remote servers, as there are better plugins available for this purpose.

Syncing Plugins

The syncing workflow is to install plugin on both sites, and then push/pull the database, media, themes, and plugins between those sites.

WP Sync DB is a real open-source project that arose as a distant fork of WP Migrate. It can sync databases and files between different installations. The admin menu is placed exactly where it should be, not in the root. However, it seems to me that it’s not very actively maintained, but maybe I’m wrong.

WP Migrate plugin is, based on user experiences, the most mature and has the least amount of bugs among the group. There is also a free Lite version which is significantly limited. It works similarly to the other plugins here and has virtually all the same options as WP Sync DB.

WP Synchro serves for push-pull syncing of databases while file migration is a premium option that isn’t difficult to obtain. I like this plugin and it reminds me of WP Sync DB, actually one of the better solutions for synchronization. U besplatnoj verziji radi sve sa bazom dok su fajlovi tek u Pro verziji. Sa bazom se mogu birati tabele koje će biti sinhronizovane, ali ne i post types. Post types nema ni u Pro verziji i u suštini, u Pro je dodato file sync dok je db sync u suštini identičan kao free.

Pošto sam koristio WP Synchro, mogu da ga uporedim sa WP Migrate. Na primer, WP Synchro omogućava kopiranje bilo kog foldera, dok na WP Migrate nisam našao nikakav način da kopiram ništa van /wp-content foldera.

PushLive – Staging Sites to Live in One Click stvarno izgleda radi osnovni sync baze sa izborom na nivou tabela ali ne i post types. Povezuje sajtove upotrebom database credentialsa, znači bez key-a, ali je vrlo je nezavršen i ne uliva poverenje a i nije unapređivan 8 godina. Ali je zato besplatan.

Other Staging Plugins

WPvivid supports staging through their premium Staging plugin, also in a subdirectory or subdomain on the same host. Međutim, čak i besplatna verzija ima staging, ali se ne može sinhronizovati stage sa prod niti unazad što to čini neupotrebljivim osim kao privremeni duplikat.

The WP Stagecoach can’t be launched without an API key as the staging site is hosted on their servers, making the plugin useless for me.



Database Sync is a plugin that facilitates push-pull synchronization of complete databases. However, it does not offer the ability to synchronize media or allow for selective synchronization of tables. The authentication process is quite straightforward and involves using custom tokens for each website. It is important to note that there is no automatic synchronization feature available. For instructions on how to use the plugin, refer to the following article: How to Sync Databases Across Multiple WordPress Installs. It is worth mentioning that this plugin is quite dated, and its functionality may be questionable.

Plugin radi savršeno, ali nema baš nijedno podešavanje - samo radi brzi pull i push svih tabela.



Odličan tekst od ovih što prave Migrate: Syncing WordPress Database Changes Between Environments: How We Handle Merging in 2022


WPMerge.io - WP DB Merging, made easy. With available migration tools, you can only move entire databases and files from live to dev and vice versa. With WPMerge, you can push just the changes either way, without losing any changes in the dev and live site since cloning. Download link neki je ovde: WPMerge - A better deployment workflow


Odlična analiza: Staging to Live | WordPress.org

How to Keep Your WordPress Staging and Live Sites in Sync


Plugins for Environment Sync

Solid Plugins That I Can’t or Won’t Use

Below, I am listing the plugins that are generally not bad, but for various reasons, they are not always possible to use. This group also includes paid plugins, as I probably didn’t buy them.

SnapShots is a plugin that saves all database tables and the entire uploads folder to a file archive. It also automatically logs you in when restoring data from that “snapshot” file. The reason for this is that when the database is restored you are automatically logged out, and this plugin takes care of that and logs you back in automatically. By default, the snapshots are stored in the wp-content/.snapshots directory.

Downside of this plugin is that it requires WP-CLI, and PHP must also be enabled to run external programs with the exec function. If the plugin is unable to find WP-CLI, and you know that you have it on your server, there is an option to specify the exact path to WP-CLI.

Abandoned but with Possibly Interesting Source Code

These are plugins that have been abandoned for a long time, but I have reviewed their source code and concluded that it makes sense to take another look at them and possibly use them in the development of new plugins that I really need.

Pitta Migration is used for quick and simple synchronization of databases with automatic domain change. Although it has not been updated for a whole millennium, the reason it is not considered “junk” is that it performs DB dump and import in a proper “wpdb” way instead of using external tools like mysqldump and mysqlimport.

Abandoned plugins that are no longer relevant

VersionPress was a Git-based version control for WordPress, now discontinued, the source for which can be found here versionpress/versionpress, on GitHub.


Plugins for Synchronizing Posts

The following plugins have a primary use in private blog networks (PBNs) or anywhere else where you update content from a central location to one or more sites. Furthermore, they are the only solution if you only want to synchronise specific posts rather than entire DB tables. These plugins are more user-oriented as opposed to developer-oriented, as is the case with most of the database synchronization plugins I mentioned earlier.

Distributor by 10up

Distributor is an advanced system for reusing and syndicating content between multiple WordPress sites, created by the top-notch company 10up, which is still very active on 10up/distributor as a tool for sharing content between websites. Read an independent article about syncing content between WordPress sites, which covers in brief almost all the possibilities of this excellent plugin.

Recently Abandoned: WPSiteSync for Content

WPSiteSync for Content is a reliable plugin that was developed at ServerPress/wpsitesync, but it has been abandoned and even the website won’t be available for long.

This plugin works based on content sync instead of database sync, and it seems that it doesn’t require anything other than the username and password to connect to the website. In other words, the target site does not have to be aware of the access, which is actually exceptional.

An article on how to use this plugin can be found here.

The main module exclusively deals with basic page-post content, while other post-types have been divided into various add-ins depending on the type of content.

The sync-bulkactions add-on is for syncing multiple posts at once, rather than individually, with an accompanying video on how to synchronize data in bulk.

The complete list of all plugins is now available here as list of plugins, since the list on the website is no longer functional at ServerPress Knowledge Base.

There is even some modest interest in community, and some users are keeping it alive, such as Patrick64/wpsitesync, despite receiving a lot of negative comments and reviews on the support page of wp.org.

Add-ons for auto-sync and for pull, for sync-woocommerce, as well as for gutenberg-blocks are also available. Other add-ons are for various post types and page builders: acf, menus, etc.

Plugin Database Flush is also theirs, and it can be found on ServerPress/database-archive repository, but it is not necessary as it runs every ten minutes and uses MySQL Admin to force a database archive.

The Rest

Sync Post With Other Site je iznenađujuće solidan ali jednostavan i što je najbitnije, aktivan plugin, koji allows to sync posts, pages and CPT to exactly one other website. Potreban je plugin na oba sajta i credentials, a može se odabraiti kriterijum za matching content on target, što se podrazumeva da se koristi slug.

Some articles on manually merging posts between WordPress sites


Plugins that enhance the built-in WP Import/Export process

My experience with the built-in WordPress system for importing/exporting data has always been very poor. In fact, I have never successfully completed anything with it and almost always used the dedicated plugin WP All Import for such tasks. Nonetheless, I will mention all such plugins here, with the caveat that image transfers and how internal post IDs are regulated in the database tables are usually very problematic in these processes. Additionally, as far as the WordPress Importer plugin and the official import/export system via WXR are concerned, theoretically all posts, terms, menus, comments, and users are transferred, except for options, but I have had quite different experiences with menus and users.

WP Options Importer is praised plugin with a repository on GitHub at alleyinteractive/options-importer. The built-in WP system transfers a lot of content but “options” is not among them, and that is what the plugin deals with. By default, core options are synced, but there are hooks to easily include options from any other plugin you want.


Theme Switcha to preview any theme privately on the front-end, develop themes privately behind the scenes, enable your visitors to switch themes.


dmhendricks/wordpress-rewrite-content-urls-plugin for developers for development/staging environments, after syncing data from a MySQL dump, rewrite URLs in content.


Additional, less significant solutions

dale42/wp-site-sync is a simple Bash shell script to synchronize dev to production sites

Shell Tools to Sync Files

Pushing WordPress using RClone

–include “*.jpg”

listanje svih foldera koji počinju sa “_”

ls $(wp plugin path –allow-root)/_* -d

rclone –config=_rc.conf ls cnc:/wordpress_staging/plugins –dry-run

listaj jedan plugin

rclone –config=_rc.conf ls “cnc:wp-content/plugins/wp-docsify” –max-depth 1

jedan plugin prikaži

rclone –config=_rc.conf ls cnc:wp-content/plugins/wp-docsify –dry-run

rclone –config=_rc.conf copy $(wp plugin path –allow-root)/_classy-blocks cnc:wp-content/plugins/_classy-blocks –dry-run

jedini način da suppressujem greške je 2> /dev/null jer ništa nije pomoglo

umesto

ls -l $(wp plugin path –allow-root)/polylang

koristi

ls -l $(wp plugin path –allow-root 2> /dev/null)/polylang

tako da ovo postaje za moj jedan plugin

rclone –config=_rc.conf copy “$(wp plugin path –allow-root 2> /dev/null)/_customize/” cnc:wp-content/plugins/ –dry-run

ili bolje

runuser $(stat -c %U .) -s /bin/bash rclone –config=_rc.conf copy “$(wp plugin path 2> /dev/null)/_customize/” cnc:wp-content/plugins/ –dry-run

ili najbolje

rclone –config=_rc.conf sync “$(wp plugin path 2> /dev/null)/_customize/” cnc:wp-content/plugins/_customize –exclude “/node_modules/” –exclude="/.git/" –progress –dry-run

cat <<'EOF' > _rc.sh
#!/bin/bash

echo ""
if [ $(id -u) -eq 0 ]; then
  echo "Abort! This script must not be run as root."
  echo ""
  exit 1
fi

if [ $# -eq 0 ]; then
    echo "Usage: $0 <plugin-name> <extra-options>"
    echo ""
    exit 1
fi

plugin_name="$1"
rclone_remote="cnc"
shift

echo "Pushing plugin \"$plugin_name\" with extra parameters: $@"
echo ""
echo "Executed command is:"
echo "    rclone --config=_rc.conf sync \"$(wp plugin path 2> /dev/null)/$plugin_name/\" \"$rclone_remote:wp-content/plugins/$plugin_name\" --exclude=\"**/node_modules/**\" --exclude=\"**/.git/**\" --progress $@"
echo ""

rclone --config=_rc.conf sync "$(wp plugin path 2> /dev/null)/$plugin_name/" "$rclone_remote:wp-content/plugins/$plugin_name" --exclude="**/node_modules/**" --exclude="**/.git/**" --progress $@ 
echo ""
EOF

# then enable execution
chmod +x _rc.sh

# and use it like this
./_rc.sh polylang --dry-run

jebote, ovo čak radi i u native Windows

rclone rcd –rc-web-gui

ako navedeš config, možeš grafički da ga menjaš i dodaješ remotes

rclone rcd –config=_rc.conf –rc-web-gui


Pošto me stalno to pita, evo u jednoj liniji kako da napraviš .cache folder.

Run anywhere inside WordPress, and it does this: get $U with username that is owner of current folder, then get $H the home folder for that user, then unprotects that home folder, then creates “.cache” subfolder, and set ownership on it same as “web” subfolder

1
2
3
4
5
6
# run anywhere inside wordpress "web" folder, as root
#
U="$(stat -c %U .)" && H="$(sudo -u $U bash -l -c 'echo $HOME')" && chattr -i "$H" && mkdir "$H/.cache" && chown -R --reference "$H/web" "$_"
U="$(stat -c %U .)" && H="$(sudo -u $U bash -l -c 'echo $HOME')" && chattr -i "$H" && mkdir "$H/.config" && chown -R --reference "$H/web" "$_"
U="$(stat -c %U .)" && H="$(sudo -u $U bash -l -c 'echo $HOME')" && chattr -i "$H" && mkdir "$H/.npm" && chown -R --reference "$H/web" "$_"
U="$(stat -c %U .)" && H="$(sudo -u $U bash -l -c 'echo $HOME')" && chattr -i "$H" && mkdir "$H/.wp-cli" && chown -R --reference "$H/web" "$_"

sudo -u “$(stat -c %U .)” bash -l -c ‘pwd; echo $HOME’


Interesantno ludilo WordPress as an Experimental Rclone HTTP Remote i ovo austinginder/rclone-remote: WordPress plugin which turns WordPress into a Rclone HTTP remote. This was created as an experiment not intended for production use.


WP Freighter je skoro pa idealan plugin koji mi omogućava da na istoj instanci imam i stage-ing i prod env, pa čak i dev env, kome se source kod nalazi na WPFreighter/wp-freighter: Multi-tenant mode for WordPress Author: Dynamically Load WordPress Database

WP Freighter Uses a WordPress Multitenancy Architecture


my plugins:

./_rc.sh _customize

The Final Envoronment Concept

The concept is as follows:

  1. The Prod and Stage are located on the same server, using a plugin like WP Freighter.

  2. Prod-Stage Sync. Although it is on the same server, Stage pushes certain tables and folders. And it can also be the other way around, where the entire Stage is copied over Prod, and before that, only a few tables that we need from Prod are pulled onto Stage. In any case, all of this is done with the help of my SiteSync plugin (WO-Db-Sync).

  3. Regular complete backups are performed all the time, both for staging and production. This can be done in various ways, mostly from the control panel, whether it is my ISPConfig or some other hoster, or rarely, even with some specialized tool for that.


Local ima MagicSync opciju za ove namene.



LocalSync

LocalSync.io is used for cloning a local site to live, specifically for website migration. However, there is no free plan, only a trial. WP Duplicate is a plugin used for this purpose, which was once called LocalSync. From the plugin’s design, I can see that it originated from “wp-sync-db”. It copies the entire database rather than individual tables, and it’s not free, requiring a login to access the options.

Some older articles about the same tool, Local Sync, as well as how to use local sync and wp merge combined, since the same author is behind both plugins.

Ja nisam uspeo da testiram WP Duplicate jer nešto nije hteo da radi.

Tools To Record Changes and Apply on Another Site

WPMerge.io is also a product from the same developer of LocalSync.io, but it is a tool specifically designed for database merging at the table level. In fact, it works on the principle that you enable “recording”, make changes, and then apply those changes to another connected site.


Database Snapshots

Database Snapshots by WPvivid je ustvari super varijanta jer samo snimi tabele sa drugačijim prefixom, brzo i jednostavno. Super je ustvari!

Backup Copilot

Backup Copilot is a useful plugin that works as a snapshot and full-backup tool, but it’s lightweight and non-binding. It likely has bugs since it’s in “alpha” version and spits-out incredible amount of warnings into log-file. You can choose which parts of the system you want to export, and it even offers multiple “search and replace”. With Backup Export, the backup isn’t stored on the server. Conceptually, it makes sense that it doesn’t include scheduling. Nema kao opciju biranje tabele za backup iz same baze.


How to Push your WordPress Staging Site with WP STAGING | PRO - YouTube Painless WordPress Updates : WPVivid Database Merging Pro - YouTube

WP Stagecoach - Staging site runs on our server - no need to set up hosting for your staging site.


WP Migrate Snippets

Na kraju, bukvalno nijeda ne radi “post type” sync osim fork-a i originala koji se sada zove WP Migrate, ali u Pro verziji pošto u Free verziji ne daje praktično ništa.

Kakvo sranje! Ne mogu da verujem da je tako. Naime, ako odabereš post type u WP Migrate Pro, svi ostali post types NE POSTOJE, već samo ti koje si odabrao.

Napredne tehnike u WP Migrate

deliciousbrains/wp-migrate-db-pro-tweaks: Examples of using WP Migrate DB Pro’s filters

Clear cache after migration

Nice hooks: wpmdb_migration_complete, wpmdb_preserved_options

Tips for Power Users of WP Migrate DB Pro Advanced Migration Workflow Tips For The Lazy WordPress Developer Use WP Migrate DB Pro and keep your development environment settings - Snippets

Creating a Staging Environment for WordPress with the help of WP Migrate DB Pro | Buddy: The DevOps Automation Platform

Excluding WP Options by wildcard when using WP Migrate

Excludeovanje pojedinačnih opcija je relativno jednostavno

For example, shitty Real Cookie Banner uses gazzillion options as seing here on plugintests.com report, ali čak ni te opcije nisu konzistentne jer počinju sa rcb-, rcb_, rpm-, real_utils-, i to ukupno 234 opcije. To ne mogu ručno izlistati, pa mi treba wildcard.

deliciousbrains/wp-migrate-db-pro-tweaks Exclude WooCommerce sessions from WP Migrate DB Pro migration

Real Cookie Banner

date 27. Aug 2019 | modified 29. Dec 2023
filename: Plugins » Backup, Cloning, Migrating or Staging
Article Content