Linux 软件免费装
Banner图

Sadat Content Migration

开发者 sadathossainwp
更新时间 2026年9月18日 06:08
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

seo media export import content migration

下载

1.0.5

详情介绍:

Sadat Content Migration is a selective WordPress content migration tool. It moves the content you choose and its portable dependencies without cloning themes, plugins, users, database tables, or the entire website. Use it when you need to transfer blog posts, move pages between environments, copy a custom post type, or hand a controlled content package to another WordPress administrator. Two migration workflows Portable content and settings Reliable imports SEO metadata The plugin transfers portable post and term metadata, including metadata keys commonly used by Yoast SEO, Rank Math, SEOPress, The SEO Framework, and similar plugins. Vendor-specific custom database tables, global plugin options, redirects, and analytics data are not migrated. Install and configure the same SEO plugin on the destination before importing when you need its fields to be interpreted there. Privacy and data handling Sadat Content Migration does not collect analytics, add tracking, or contact the developer's website. Migration packages can contain private content or personal data if an administrator selects those options. Treat downloaded packages as confidential and delete them when the migration is complete. Temporary packages and processing files are stored below the current site's WordPress uploads directory, in sadat-content-migration/site-ID/, and removed according to the retention setting. Fixed Apache and IIS deny rules protect this directory. Before a job starts, the plugin checks a harmless random text file through the site's uploads URL and requires an HTTP 403 or 404 response. A successful check is cached for five minutes. If protection cannot be verified, the job does not start. Imported content receives private source identifiers used only for duplicate detection and later updates. External services The plugin has no third-party service dependency. It makes a loopback request to its own harmless storage probe to verify that migration files cannot be downloaded directly; no content or personal data is included in this request. When an administrator starts a direct transfer, the source site contacts only the destination WordPress URL entered by that administrator. It sends package metadata and the selected migration ZIP in sequential chunks to the Sadat Content Migration REST endpoints on that destination. The request uses the short-lived connection key generated by the destination administrator. Nothing is sent until both administrators take those explicit actions.

安装:

  1. Install and activate Sadat Content Migration on the source and destination WordPress sites.
  2. Open Tools > Content Migration.
  3. On the source, choose the content filters and create a migration package.
  4. Download the ZIP, then open the Import tab on the destination and upload it.
  5. Review duplicate, author, date, status, comment, and password options before starting the import.
For a direct transfer, enable inbound transfers in destination settings, generate a 30-minute key, and enter the destination URL and key on the source site.

屏幕截图:

  • Verify a package and choose duplicate, author, date, and status behavior.
  • Generate a short-lived destination key and send a completed package directly.
  • Review recent jobs and structured migration logs.

常见问题:

Does this clone an entire website?

No. It selectively migrates content and portable relationships. It does not move themes, plugins, users, site options, arbitrary database tables, or server configuration.

Why was a custom post type or taxonomy skipped?

The same theme or plugin that registers that post type or taxonomy must be active on the destination before import.

Will it preserve every SEO setting?

It preserves portable post and term metadata, including common SEO fields. Global settings and data stored only in a vendor-specific custom table are outside this plugin's scope.

How are duplicates detected?

Imported posts and media receive a private identifier based on the source site and original object ID. Media can also be reused when its SHA-256 file hash matches an existing imported file.

Are internal links and image IDs updated?

Yes. After all destination objects have IDs, the finalization phase rewrites known source URLs, WordPress media classes, block attributes, featured-image IDs, parent IDs, and ID-oriented custom-field values.

Can it migrate comments safely?

Comments are optional. Email addresses, IP addresses, user agents, and comment metadata require a separate explicit export and import choice because plugin-added comment metadata can contain personal data.

Why did published content import as a draft?

The importing user must have the destination post type's publishing capability. Otherwise, publish, future, and private states are safely downgraded to draft.

Which media files can I migrate?

The plugin accepts common raster images, audio, video, PDF, text, and office documents that WordPress also allows on the current site. Scripts, executables, HTML, SVG, server configuration files, archives, and executable double extensions are rejected. Unsupported source attachments are skipped with a log entry. Every ZIP must contain only the package manifest, content data, media index, and the exact media files declared in that index. Older packages remain supported only if they meet these checks.

Why does the plugin say private storage could not be verified?

The host must block direct HTTP access to the sadat-content-migration directory within the current site's uploads directory. Apache and IIS rules are created automatically. On Nginx, or when directory rules are disabled, ask the hosting provider to configure the corresponding deny rule. The site also needs to reach its own uploads URL without authentication or a redirect so it can verify the protection. Do not edit plugin files to bypass this check.

What happens to unfinished jobs when updating from 1.0.4?

Start a new export or import after updating. Jobs from the previous temporary-storage location are not resumed. Previously downloaded packages can still be imported if they pass the stricter validation. Old server temporary files are left to the host's temporary-file cleanup.

Can I transfer very large sites?

The plugin uses batches to reduce request timeouts, but PHP upload, memory, disk, and web-server limits still apply. Narrow the export filters or split a large migration into several packages when needed. The PclZip fallback supports individual files up to 32 MB; enable the PHP ZipArchive extension for larger files.

Does direct transfer work on local or private-network sites?

The outbound request uses WordPress safe HTTP validation to reduce server-side request forgery risk. A public HTTPS destination is required. Use the download/upload workflow for local development, HTTP-only, or private-network destinations.

Does it support WordPress multisite?

It operates on the current site in a multisite network. It does not migrate an entire network in one operation.

更新日志:

1.0.5 1.0.4 1.0.3 1.0.2 1.0.1 1.0.0