ContentCrate

Description

ContentCrate imports structured ZIP packages into WordPress while protecting existing sites and editorial work.

Every package is validated before import. ContentCrate checks the manifest, file paths, image types, SHA-256 checksums, stable identities, parent relationships, media references, existing mappings, and slug conflicts. Administrators see the complete plan before WordPress is changed.

Safety defaults include:

  • New posts and pages are imported as drafts.
  • Existing objects are never inferred by title or slug. First-import adoption requires an explicit WordPress object ID.
  • Local edits are detected and require explicit overwrite confirmation.
  • Publishing or private status requires explicit confirmation.
  • ZIP contents are read without extracting executable files.
  • Attachment files are never silently replaced in format 1.0.
  • Existing posts and pages can be adopted only by explicit WordPress object ID in a site-locked package; ContentCrate never guesses by slug.

ContentCrate supports ContentCrate Package Format 1.0. The source project includes the format specification, JSON Schema, an AI generation guide, and example packages.

The Tools > ContentCrate screen includes a dedicated “Create package with an LLM” section with a copyable prompt and downloadable reference kit. The kit contains the complete specification, JSON Schema, and a valid example package.

The same screen provides public, site-specific URLs for the installed specification and JSON Schema. An LLM with web access can read these URLs directly without downloading and attaching the reference files for every request.

ContentCrate is maintained by Winning Leads AB and is independent of any affiliate or AI service. When Rank Math SEO is active, portable SEO title and description values are also synchronized to Rank Math’s corresponding post metadata.

Privacy

ContentCrate itself makes no server-side network requests and does not send site, package, content, media, or user data to Winning Leads AB.

Imported content can contain external scripts, iframes, links, and media references. When published, those resources may make requests from a visitor’s browser to third parties and may be subject to those parties’ privacy and tracking practices. Active script and iframe markup is preserved only when the importing user has the unfiltered_html capability. The site owner is responsible for reviewing imported content and providing any notices or consent required for external services.

Uploaded ZIP files are stored temporarily outside the public uploads directory. They are deleted after import, when discarded, or during automatic temporary-file cleanup.

Installation

  1. Upload the ContentCrate plugin ZIP through Plugins > Add Plugin > Upload Plugin.
  2. Activate ContentCrate.
  3. Open Tools > ContentCrate.
  4. Upload a package using ContentCrate Package Format 1.0.
  5. Review validation results and planned changes.
  6. Confirm the import.

The PHP Zip extension (ZipArchive) is required.

FAQ

Can I use ContentCrate on an established site?

Yes. ContentCrate does not assume an empty WordPress installation. It rejects slug collisions and does not match existing content by title or slug.

Will importing a package publish content immediately?

No. New content is imported as draft by default. An administrator must explicitly choose to respect statuses from the manifest.

How are repeated imports handled?

Each package has a stable packageId, and every content or media object has an externalId. Together they form the object identity used for repeat imports.

Can a package overwrite content edited in WordPress?

Only after an administrator explicitly confirms that locally modified ContentCrate items may be overwritten.

Does ContentCrate integrate directly with SEO plugins?

Format 1.0 always stores portable SEO title and description values in ContentCrate metadata. When Rank Math SEO is active, ContentCrate also synchronizes them to Rank Math’s title and description fields. Other SEO plugins can integrate through ContentCrate’s action hooks.

Does ContentCrate contact an external service?

No. Version 1.0.1 performs imports entirely on the WordPress site. Imported content may itself reference external resources as described in the Privacy section.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“ContentCrate” is open source software. The following people have contributed to this plugin.

Contributors

Translate “ContentCrate” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.0.1

  • Synchronized imported SEO title and description values to Rank Math metadata when Rank Math SEO is active.
  • Allowed explicitly targeted cross-package updates with identity takeover preview and confirmation.

1.0.0

  • First stable release prepared for publication in the WordPress Plugin Directory.

0.3.5

  • Restricted imported script and iframe markup to users with the unfiltered_html capability.
  • Clarified the privacy implications of external resources embedded in imported content.
  • Removed compressed reference files from the distributed plugin and generated optional downloads on demand.
  • Resolved Plugin Check findings for uploads, nonces, and content identity queries.
  • Confirmed compatibility with WordPress 7.1.

0.3.4

  • Stopped reporting sanitization warnings when WordPress only normalizes equivalent HTML entity encoding, such as a raw ampersand in a URL.

0.3.3

  • Allowed the charset attribute on imported script elements for compatibility with common embedded widgets.
  • Clarified sanitization warnings so they distinguish stripped attributes from tags that may be removed entirely.

0.3.2

  • Fixed Windows release ZIP paths so manual uploads reliably replace the existing contentcrate plugin directory instead of creating conflicting plugin copies.
  • Added release validation for the stable contentcrate/ archive root and portable forward-slash paths.

0.3.1

  • Added support for script and iframe elements in imported HTML, subject to WordPress sanitization and supported attributes.
  • Clarified that standalone executable files remain prohibited package entries.

0.3.0

  • Added first-import adoption of existing posts and pages through explicit target.wordpressObjectId.
  • Required target.siteUrl for packages that adopt WordPress objects.
  • Added type, identity, capability, duplicate-target, and slug-collision safeguards.
  • Added explicit adoption confirmation to package preview.
  • Updated Package Format 1.0 specification, schema, LLM prompt, and reference kit.

0.2.0

  • Added an admin guide for creating ContentCrate packages with an LLM.
  • Added a copyable site-specific prompt.
  • Added downloadable Package Format 1.0 specification, JSON Schema, example package, and complete LLM reference kit.

0.1.0

  • Initial functional release.
  • Added package upload, validation, preview, and import reporting.
  • Added posts, pages, images, taxonomy terms, hierarchy, and featured images.
  • Added idempotent identities and local-edit protection.