Title: Freakedout Content Uploader CSV &amp; Excel Import
Author: freakedout
Published: <strong>October 16, 2026</strong>
Last modified: October 16, 2026

---

Search plugins

![](https://ps.w.org/freakedout-content-uploader-csv-excel-import/assets/banner-
772x250.png?rev=3750688)

![](https://ps.w.org/freakedout-content-uploader-csv-excel-import/assets/icon-256x256.
png?rev=3750688)

# Freakedout Content Uploader CSV & Excel Import

 By [freakedout](https://profiles.wordpress.org/freakedout/)

[Download](https://downloads.wordpress.org/plugin/freakedout-content-uploader-csv-excel-import.0.6.3.zip)

 * [Details](https://wordpress.org/plugins/freakedout-content-uploader-csv-excel-import/#description)
 * [Reviews](https://wordpress.org/plugins/freakedout-content-uploader-csv-excel-import/#reviews)
 *  [Installation](https://wordpress.org/plugins/freakedout-content-uploader-csv-excel-import/#installation)
 * [Development](https://wordpress.org/plugins/freakedout-content-uploader-csv-excel-import/#developers)

 [Support](https://wordpress.org/support/plugin/freakedout-content-uploader-csv-excel-import/)

## Description

This plugin links your WordPress site to the Content Uploader service. Prepare CSV
or Excel content in your workspace, select a writable content type, map destination
fields and taxonomies, preview a row, and publish. Upload the changed spreadsheet
later to update the same items in bulk. Stable external IDs and durable operation
records let retries finish the same item instead of creating another post.

This version supports writable REST-visible post types and their exposed title, 
body, excerpt, slug, status, author, date, comment, parent, menu-order, category,
tag, custom-taxonomy, custom field and featured image capabilities. Available fields
depend on the selected content type and the approving administrator’s permissions.
The service is never signed in to your site: each request is checked against that
administrator’s permissions, limited to content. It can read, create, update and
publish content, assign and create terms and add images, and never holds the permissions
to install or change plugins or themes, manage users, change settings or edit files,
even though the account that connected it is an administrator.

Custom fields are post meta. Registered single-value meta keeps its registered type(
text, whole number, number or yes/no); other keys are stored as text, as the Custom
Fields box stores them. Keys WordPress protects, such as those starting with an 
underscore, are written only when their registration allows the connected administrator
to edit them. Featured images are downloaded from the service’s private storage 
through short-lived links, checked against their announced size and content hash
and to be images this site accepts, and added to the media library once: the same
image is reused for every post that uses it. The site needs outgoing HTTPS access
to the storage host. Images already in the media library can also be found by file
name.

A Content Uploader account and an HTTPS site are required. Spreadsheet preparation,
storage, orchestration and history are provided by the external service. The plugin
is not a standalone spreadsheet importer. No WordPress admin password or manually
generated application password is requested by the service.

The plugin contains the whole connector. It has no locked or trial features and 
never checks a plan or a payment: what the service allows each account is decided
by the service, before it sends anything to your site.

### External services

This plugin is the WordPress side of the Content Uploader service, https://contentuploader.
com, which is run by the plugin’s author. The service stores your spreadsheets, 
maps their columns to WordPress fields, shows a preview and sends the content to
your site. It has a free plan and paid plans with larger monthly allowances: https://
contentuploader.com/pricing

Nothing is sent to the service by installing or activating the plugin. Your site
shares data with it only after an administrator selects Connect to Content Uploader
and approves the connection, and then only in these situations:

 * When an administrator selects Connect: the administrator’s browser is sent to
   the service with a one-time pairing code, the site address and the installation
   identifier.
 * When the connection is made and whenever the service refreshes what the site 
   can accept: your site address, installation identifier, WordPress and plugin 
   versions, the content types, fields and taxonomies that can be written, and when
   access ends. This includes the display names of users who can edit content so
   imports can assign authors; their usernames and email addresses too, but only
   if the connecting administrator is allowed to list users; and the names of up
   to 100 custom fields already used on the site, which are offered as suggestions
   when mapping.
 * When you publish from Content Uploader: the service sends the content to create
   or update (titles, text, custom field values, taxonomy terms, external IDs and
   operation IDs) and links to images, which your site downloads over HTTPS from
   the service’s private storage. Your site returns the IDs and outcomes.

No visitor analytics, advertising or other telemetry is collected by this plugin.

Service terms: https://contentuploader.com/terms
 Service privacy policy: https://
contentuploader.com/privacy

## Installation

 1. Install and activate the plugin.
 2. Open Settings > Content Uploader.
 3. Select Connect to Content Uploader and continue to the service.
 4. Sign in (or create an account) and approve the intended workspace for the displayed
    site.
 5. In Content Uploader, upload a CSV or Excel file, configure destination mappings,
    preview a row, and publish. An ID column is optional: with one, each row updates
    its own post; without one, rows are matched to posts by slug or title.

## FAQ

### Do I need a Content Uploader account?

Yes. The plugin connects your site to the Content Uploader service, which prepares
and sends the content. There is a free plan: https://contentuploader.com/pricing

### Which file types can I import?

CSV, TSV and text files, Excel workbooks (XLSX, XLSM and the older XLS) and OpenDocument
spreadsheets (ODS), which LibreOffice and Google Sheets can export. Files are read
by the service, not by your site.

### Does the service receive my WordPress password?

No. After you initiate pairing as a WordPress administrator and approve a workspace,
a dedicated connection token is exchanged server to server. WordPress stores only
its hash. It grants access only to this connector’s discovery and publishing endpoints.
The service is never signed in as a user: each request is checked against the connected
administrator’s permissions, limited to content, so the service cannot administer
the site.

### Can I stop access?

Yes. Select Disconnect in Settings > Content Uploader or deactivate the plugin. 
Reconnecting rotates the credential. For security, access lasts 90 days unless it
is renewed. Before it ends, Content Uploader reminds the connected workspace, and
a member can renew it there: the service replaces the credential over the existing
connection, without a WordPress sign-in. You can also reconnect at any time from
Settings > Content Uploader, which shows when access ends and when it was last renewed.
Renewing and reconnecting are always free.

### What happens to my data when I uninstall?

Uninstalling removes the connection credentials. Posts are never deleted. The installation
identity, the external-ID mappings and the operation records stay in your database
so that reinstalling does not create duplicates; they hold IDs and outcomes, not
copies of your post bodies.

### Will retrying create duplicate posts?

The connector reserves an item and its external ID together before applying content.
Repeated operations complete or return that same item. Permanently deleted mapped
items are recreated with the same external ID. Trashed or inaccessible mapped items
remain protected. Third-party hooks can have their own side effects outside this
guarantee.

### Are custom post types, custom fields, images, or multisite supported?

Writable REST-visible custom post types are supported when the approving administrator
has permission to create and edit them. Custom fields and featured images are supported;
the administrator needs permission to upload files for images. Multisite is not 
supported.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Freakedout Content Uploader CSV & Excel Import” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ freakedout ](https://profiles.wordpress.org/freakedout/)

[Translate “Freakedout Content Uploader CSV & Excel Import” into your language.](https://translate.wordpress.org/projects/wp-plugins/freakedout-content-uploader-csv-excel-import)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/freakedout-content-uploader-csv-excel-import/),
check out the [SVN repository](https://plugins.svn.wordpress.org/freakedout-content-uploader-csv-excel-import/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/freakedout-content-uploader-csv-excel-import/)
by [RSS](https://plugins.trac.wordpress.org/log/freakedout-content-uploader-csv-excel-import/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.6.3

 * The service is no longer signed in to your site as the administrator who connected
   it. Each request is checked against that administrator’s permissions, limited
   to content: reading, creating, updating and publishing content, assigning and
   creating terms, adding images and listing authors. Every other permission of 
   that account is out of reach for the request, so the service can never install
   or change plugins or themes, manage users, change settings or edit files. The
   settings screen says so. Content types that only a theme editor may change (templates,
   template parts, navigation menus, global styles and fonts) are no longer offered.
 * Field labels such as Title, Content and Status use the plugin’s own text domain,
   so they can be translated with the plugin.

#### 0.6.2

 * The plugin is listed in the WordPress.org directory as Freakedout Content Uploader
   CSV & Excel Import, so its folder, main file, text domain and every name it stores(
   options, tables, hooks, the class and the FREAKEDOUT_CONTENT_UPLOADER_SERVICE_URL
   setting) now carry that name. A site with the earlier build Content Uploader 
   CSV & Excel Import (0.6.0 or 0.6.1) or Content Uploader (0.5.0) must deactivate
   and delete it before using this one; until then this plugin only shows a notice.
   Import history and duplicate protection carry over on the first load, and the
   site connects once more.

#### 0.6.1

 * The plugin has its own name in the WordPress.org directory, Content Uploader 
   CSV & Excel Import, so its folder, main file and text domain are now content-
   uploader-csv-excel-import. If an earlier build named Content Uploader is installed,
   deactivate and delete it before activating this one: import history and duplicate
   protection carry over, and you connect once more.

#### 0.6.0

 * Every name the plugin stores now starts with content_uploader, and the CONTENT_UPLOADER_SERVICE_URL
   setting replaces CU_SERVICE_URL, as the WordPress.org directory requires. Existing
   connections and records are carried over on the first load.
 * Reads only the users who can write content when listing authors, stops an image
   download one byte past its announced size, and refuses a request without a valid
   timestamp without a PHP notice.
 * The settings screen says that author names (and, where allowed, usernames and
   email addresses) are shared when connecting.

#### 0.5.0

 * Renew access in Content Uploader before it ends, without reconnecting from WordPress;
   Settings shows when access ends.

#### 0.4.0

 * Custom fields (registered meta keeps its type, other keys are text) and featured
   images, downloaded through short-lived links, verified and added to the media
   library once.

#### 0.3.0

 * Let Content Uploader check which categories and tags exist before publishing.

#### 0.2.0 – 0.2.2

 * Write all supported fields of writable REST-visible content types, and assign
   or create tags, categories (with parents) and custom-taxonomy terms.
 * Map fixed, source-column, default, preserved and templated values; update published
   content without resetting preserved fields.
 * Match authors by ID, display name, email or username. Reject missing terms before
   anything is written.

#### 0.1.0 – 0.1.2

 * Initial connector: secure pairing, capability discovery, revocation, draft upserts
   and durable retry protection.
 * Safely recreate permanently deleted mapped drafts; keep trashed, published and
   inaccessible items protected, with specific conflict codes.

## Meta

 *  Version **0.6.3**
 *  Last updated **15 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.6 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [bulk update](https://wordpress.org/plugins/tags/bulk-update/)[CSV Import](https://wordpress.org/plugins/tags/csv-import/)
   [excel](https://wordpress.org/plugins/tags/excel/)[spreadsheet](https://wordpress.org/plugins/tags/spreadsheet/)
 *  [Advanced View](https://wordpress.org/plugins/freakedout-content-uploader-csv-excel-import/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/freakedout-content-uploader-csv-excel-import/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/freakedout-content-uploader-csv-excel-import/reviews/)

## Contributors

 *   [ freakedout ](https://profiles.wordpress.org/freakedout/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/freakedout-content-uploader-csv-excel-import/)