{"id":368097,"date":"2026-09-19T08:00:43","date_gmt":"2026-09-19T08:00:43","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/vo-solo-post-sync\/"},"modified":"2026-09-19T08:34:52","modified_gmt":"2026-09-19T08:34:52","slug":"veravalonline-failover-post-sync","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/veravalonline-failover-post-sync\/","author":12215847,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.1.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"VeravalOnline Failover Post Sync with DNS and IP","header_author":"VeravalOnline","header_description":"Sync WordPress blog posts, images, and metadata to failover servers over DNS or IP so SEO stays identical.","assets_banners_color":"c9d3ce","last_updated":"2026-09-19 08:34:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/vopvtltd\/veravalonline-failover-post-sync","header_author_uri":"https:\/\/www.veravalonline.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":58,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"veravalonline","date":"2026-09-19 08:34:52","revision":3703128}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3703229,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3703229,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3703229,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3703229,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[217780,276551,13142,186,1558],"plugin_category":[55],"plugin_contributors":[281558],"plugin_business_model":[],"class_list":["post-368097","plugin","type-plugin","status-publish","hentry","plugin_tags-disaster-recovery","plugin_tags-failover","plugin_tags-replication","plugin_tags-seo","plugin_tags-sync","plugin_category-seo-and-marketing","plugin_contributors-veravalonline","plugin_committers-veravalonline"],"banners":{"banner":"https:\/\/ps.w.org\/veravalonline-failover-post-sync\/assets\/banner-772x250.png?rev=3703229","banner_2x":"https:\/\/ps.w.org\/veravalonline-failover-post-sync\/assets\/banner-1544x500.png?rev=3703229","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/veravalonline-failover-post-sync\/assets\/icon-128x128.png?rev=3703229","icon_2x":"https:\/\/ps.w.org\/veravalonline-failover-post-sync\/assets\/icon-256x256.png?rev=3703229","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>VeravalOnline Failover Post Sync with DNS and IP keeps a primary WordPress site and a standby copy in sync. Use it when the same public site runs on Server A and a failover Server B. Publishing on A used to leave B stale, which hurts SEO after DNS failover.<\/p>\n\n<p>Install the plugin on both WordPress copies. The primary pushes:<\/p>\n\n<ul>\n<li>Post title, slug, content, excerpt, status, and exact publish\/modified dates<\/li>\n<li>Featured images and attached media, written to the same uploads path<\/li>\n<li>Categories, tags, and custom taxonomies<\/li>\n<li>SEO and custom field metadata (Yoast, Rank Math, ACF, and others)<\/li>\n<li>Deletes or trash, if enabled<\/li>\n<\/ul>\n\n<p>Visitor-facing URLs stay on the public domain. The plugin never rewrites content to the failover IP or internal hostname.<\/p>\n\n<p>DNS mode: Destination URL is a hostname that already points at Server B (internal DNS, hosts file, or a dedicated failover name).<\/p>\n\n<p>IP mode: Destination URL is the public HTTPS URL. Destination IP is Server B. Requests keep the real Host\/SNI so the SSL certificate still validates.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Copy the <code>veravalonline-failover-post-sync<\/code> folder into <code>wp-content\/plugins\/<\/code> on Server A and Server B.<\/li>\n<li>Activate VeravalOnline Failover Post Sync with DNS and IP on both sites.<\/li>\n<li>On both sites, open Failover Post Sync \u2192 Settings and paste the same Shared API key.<\/li>\n<li>Server A: role = Primary. Set Destination URL to Server B\u2019s WordPress home URL.<\/li>\n<li>Server B: role = Failover.<\/li>\n<li>On Server A click Test connection, then Sync all posts once to seed B.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20change%20permalinks%20or%20image%20urls%3F\"><h3>Will this change permalinks or image URLs?<\/h3><\/dt>\n<dd><p>No. Slugs and upload relative paths are copied as-is. Public URLs stay on the visitor domain.<\/p><\/dd>\n<dt id=\"do%20post%20ids%20stay%20the%20same%3F\"><h3>Do post IDs stay the same?<\/h3><\/dt>\n<dd><p>Not necessarily. Matching uses a hidden sync GUID, then the same slug. Gutenberg image IDs and attachment meta are remapped automatically.<\/p><\/dd>\n<dt id=\"what%20if%20we%20already%20created%20some%20posts%20by%20hand%20on%20server%20b%3F\"><h3>What if we already created some posts by hand on Server B?<\/h3><\/dt>\n<dd><p>A full sync updates the failover post that has the same slug, so you do not get duplicates.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Keep \"Tested up to\" only in the readme.<\/li>\n<li>Register the custom cron interval before scheduling it on activation.<\/li>\n<li>Import synced media through WordPress upload APIs.<\/li>\n<li>Stop impersonating an administrator during remote content import.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Distinctive plugin name and slug for the WordPress.org directory.<\/li>\n<li>Tested with WordPress 7.1.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Sync WordPress posts, media, and metadata to a failover server over DNS or IP while keeping public URLs unchanged.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/368097","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=368097"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/veravalonline"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=368097"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=368097"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=368097"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=368097"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=368097"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=368097"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}