Troubleshooting
Check the authentication status
Safe Publish registers a “Safe Publish Authentication Configuration” test under Tools → Site Health. The test reports whether the shared secret is configured, too short (it recommends at least 32 characters), or set up correctly. Check it first when cross-site requests fail, before investigating other causes. On the destination, the Test Connection button on Safe Publish → Settings in the WordPress Admin dashboard performs a live check against the configured source and reports the result inline.
A connection error often indicates a mismatch in the Integration configuration. For example, HTTP Basic Authentication may be enabled on the source site but not enabled and supplied in the Integration. Review the Integration settings on both environments, and contact VIP Support if they appear correct.
An import failed with a missing-parent error
The post’s parent was not present on the destination. Import the parent first, or enable safe_publish_import_allow_orphans to allow importing the child without its parent.
An import failed with an author error
Safe Publish attributes each imported post to a destination user matched by the source author’s email. Two cases stop an import:
- The source author was not found on the destination. No destination user has the source author’s email. Create a user with that email on the destination and re-import, or enable the
safe_publish_import_allow_author_fallbackfilter to attribute unmatched new posts to the importing user. - The source author could not be determined. The source post has no author, or its author was deleted on the source site. This is a source-side data issue and is not covered by the author-fallback filter. Restore or reassign the author on the source, then re-import.
The source site does not list a post type in its catalog
Import or Compare reports that the source does not list the post type, sometimes for a post that imported successfully before. Confirm the following on the source site:
- The post type is still registered with
show_in_restset totrueandpublicset totrue. Safe Publish also allowswp_navigationandwp_blockdespitepublicbeing false. show_in_restis the booleantrue, not a truthy value such as1. A truthy value registers the REST route but excludes the type from the catalog.- Where the source registers the type conditionally, the registration also runs for REST requests.
An import reported a missing raw value
The source response did not include a raw value for a field its post type supports. A type supporting title, editor, and excerpt must return title.raw, content.raw, and excerpt.raw; fields the type does not support may be absent. Confirm the shared secret and connected-site URLs on both sites, and that the request reaches the source with authenticated context=edit access. If the post type uses a custom REST controller, its author must provide a standard WordPress item schema in which each supported field declares a raw property.
A rollback was refused or could not be recorded
Two rollback errors point at a listing that no longer matches the destination:
- “This import was already rolled back. Reload the list.” The import had been rolled back already, usually from another browser tab. Reload the listing; the row will no longer offer that rollback. Safe Publish refuses the request rather than replaying it, because replaying would write the stored snapshot over whatever the post holds now.
- “The rollback was applied, but it could not be recorded. Reload the list before rolling back again.” The content was reverted, but Safe Publish could not record that it happened. Reload the listing before taking any further action on that post. Do not retry the rollback immediately, because the unrecorded row is still offered and running it again would overwrite the restored content.
Imported media did not transfer
For media referenced in content, confirm it is hosted on the source site’s domain. Third-party media is intentionally left in place and not downloaded. Featured images are downloaded regardless of host, so this does not apply to them. Media download and sideload failures are recorded in the audit log’s media channel, which can be reviewed to identify the specific files that failed.
Last updated: September 02, 2026