Title: ContentGecko Connector
Author: ristorehemagi
Published: <strong>ඔක්තෝබර් 15, 2025</strong>
Last modified: මාර්තු 10, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/contentgecko-connector.svg)

# ContentGecko Connector

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

[Download](https://downloads.wordpress.org/plugin/contentgecko-connector.1.2.6.zip)

 * [Details](https://si.wordpress.org/plugins/contentgecko-connector/#description)
 * [Reviews](https://si.wordpress.org/plugins/contentgecko-connector/#reviews)
 *  [Installation](https://si.wordpress.org/plugins/contentgecko-connector/#installation)
 * [Development](https://si.wordpress.org/plugins/contentgecko-connector/#developers)

 [Support](https://wordpress.org/support/plugin/contentgecko-connector/)

## Description

ContentGecko Connector exposes a secure REST API that the ContentGecko platform 
can use to synchronise posts, pages, product data, and translations with WordPress
and WooCommerce. Access is protected by a shared API key, optional IP allow-listing,
and tight capability checks inside wp-admin. The plugin stores minimal data, leans
on WordPress core APIs, and keeps logging opt-in so your site remains lightweight.

Key features:

 * Publish or update posts through `/wp-json/contentgecko/v1/posts` and pages through`/
   wp-json/contentgecko/v1/pages` while sanitising content and metadata through 
   WordPress core helpers.
 * Map multilingual content to WPML or Polylang, automatically linking translations
   and respecting the site’s default language.
 * Provide product, category, and catalog feeds when WooCommerce is active (gracefully
   failing when it is not).
 * Sideload remote featured images using WordPress core upload handlers (mime restricted)
   and reuse existing attachments when possible.
 * Optional debug log that persists the last 50 REST calls and mirrors high-level
   telemetry inside the wp-admin settings screen.

The admin settings page lives under **Settings  ContentGecko Connector** where administrators
can generate API keys, toggle logging, view recent requests, and confirm the `/health`
endpoint matches the WordPress environment.

### Short Description

ContentGecko Connector exposes a secure REST API that the allows ContentGecko to
automatically write and publish content for your webstore.

## Installation

 1. Upload the `contentgecko-connector` folder to the `/wp-content/plugins/` directory
    or install the ZIP via **Plugins  Add New  Upload Plugin**.
 2. Activate the plugin through the **Plugins** menu.
 3. Navigate to **Settings  ContentGecko Connector** and click **Generate API Key**.
    The plain key is displayed once; copy it into the ContentGecko app immediately.
 4. (Optional) Enable request logging to store the last 50 API interactions for troubleshooting.

## FAQ

### How is the API secured?

Every request must include the `X-ContentGecko-Key` header. The stored key is hashed
using `hash_hmac()` with `AUTH_SALT`, and an allow list filter (`contentgecko_allowed_ips`)
lets you restrict inbound requests by IP if desired.

### Does the plugin phone home or track usage?

No. The plugin only processes requests that hit your site’s REST API and never sends
telemetry back to ContentGecko automatically. Logging is disabled by default and,
when enabled, is limited to recent request metadata stored in a WordPress transient.

### Which third-party libraries are bundled?

The plugin ships with Parsedown (MIT license) to convert Markdown payloads to HTML
when needed. Its licence is included in `licenses/parsedown.txt`.

## Reviews

![](https://secure.gravatar.com/avatar/7818765542212769b653b080160877087849beb525ffb8d45fd6f22a35c17885?
s=60&d=retro&r=g)

### 󠀁[Great plugin, no issues](https://wordpress.org/support/topic/great-plugin-no-issues-8/)󠁿

 [ristorehemagi](https://profiles.wordpress.org/ristorehemagi/) නොවැම්බර් 17, 2025

Does exactly what it’s supposed to – nothing more, nothing less. ContentGecko is
a great way to automate SEO for a Woocommerce store.

 [ Read all 1 review ](https://wordpress.org/support/plugin/contentgecko-connector/reviews/)

## Contributors & Developers

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

Contributors

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

[Translate “ContentGecko Connector” into your language.](https://translate.wordpress.org/projects/wp-plugins/contentgecko-connector)

### Interested in development?

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

## Changelog

#### 1.2.6

 * Locked `/posts` write, item, delete, and translation routes to native WordPress
   posts only.
 * Added `/pages` write, item, delete, and translation routes for native WordPress
   pages.
 * Fixed post/page updates to preserve existing content and status when those fields
   are omitted from an update payload.

#### 1.2.5

 * Added `metaTitle` and `metaDescription` support to blog post writes and WordPress
   blog category create/update requests.
 * Blog category, store category, and store product writes now use camelCase SEO
   fields: `metaTitle` and `metaDescription`.
 * Post, page, and blog category responses now include normalized `metaTitle` and`
   metaDescription` values.

#### 1.2.4

 * Added POST `/store/categories` endpoint for creating WooCommerce product categories.
 * Added PUT `/store/categories/{id}` endpoint for updating WooCommerce category
   name, description, slug, `metaTitle`, and `metaDescription`.
 * Added PUT `/store/products/{id}` endpoint for updating WooCommerce product name,
   description, slug, category assignment, `metaTitle`, and `metaDescription`.
 * WooCommerce category and product payloads now include `metaTitle` and `metaDescription`
   values.

#### 1.2.3

 * WooCommerce GET `/store/categories` and `/store/products` now always return `
   description` as a string (empty descriptions return `description: ""`).
 * Descriptions use the visible WooCommerce category/product description content(
   not SEO meta descriptions).
 * Added `localizedByLanguage` for WooCommerce categories and products so each localized
   payload includes localized `description`.
 * Added `ids` filter support to GET `/store/products` (accepts array or comma-separated
   values) to fetch specific products by ID.

#### 1.2.2

 * Added authenticated POST `/store/images/resolve` endpoint for in-article image
   URL resolution.
 * The endpoint now reuses existing media by exact filename match (`fileName`) before
   downloading and sideloading.
 * Added partial-failure support: successful results are returned in `data.images`
   and failures include detailed entries in `data.errors`.
 * `/store/images/resolve` now supports per-image `altText`, `preferredMimeType`,
   and `preferredExtension`.
 * Added `fileName` and `mimeType` to each resolve result and apply `altText` on
   reused/uploaded attachments.

#### 1.2.0

 * Added GET `/categories` endpoint for listing WordPress blog categories with per-
   language name/id/slug mappings.
 * Added POST `/categories` endpoint for creating WordPress blog categories.
 * Added PUT `/categories/{id}` endpoint for updating WordPress blog categories.
 * Image search now accepts a single term string (legacy terms array still supported)
   and matches attachment filenames and alt text.

#### 1.1.8

 * Fixed WPML language variations not returning all translations for posts, pages,
   products, and categories.
 * Changed WPML integration to use `wpml_object_id` filter with `wpml_active_languages`
   for more reliable translation detection.
 * Added proper language context switching via `wpml_switch_language` to generate
   correct localized permalinks.
 * All endpoints now consistently return `linksByLanguage` with all available language
   variations.

#### 1.1.6

 * Added `linksByLanguage` and `language` fields to all products in `/store/products`
   endpoint.
 * Added `linksByLanguage` and `language` fields to all categories in `/store/categories`
   endpoint.
 * Language variations are automatically detected when WPML or Polylang is active.
 * Added `contentgecko_product_language_links` and `contentgecko_category_language_links`
   filter hooks.

#### 1.1.5

 * Enhanced `/store/images/search` endpoint to return all WordPress media library
   images (not just product images).
 * Added pagination support to images search with `page` and `perPage` parameters.
 * Images search now works without terms (returns all images when no search terms
   provided).
 * Expanded image data to include comprehensive metadata: title, caption, description,
   filename, filesize, dimensions, upload date, MIME type, and thumbnail/medium 
   URLs.
 * Added `attachedTo` field showing parent post information when images are attached
   to posts/products.
 * Added DELETE `/posts/{id}/delete` endpoint to move posts to trash (bin) via REST
   API.

#### 1.1.4

 * API responses now return the final permalink and featured image ID immediately
   after post creation, making downstream publishing flows more reliable.

#### 1.1.3

 * Enhanced cache clearing to match WordPress UI save behavior – content now appears
   immediately on frontend after API sync.
 * Added comprehensive object cache, term cache, and permalink cache clearing.
 * Trigger edit_post and post_updated actions after all metadata is set to ensure
   cache plugins work correctly.

#### 1.1.2

 * The plugin now runs cache purges now run after every post sync.

#### 1.1.1

 * Added WordPress.org ready metadata, text domain loader, and documentation updates
   for plugin review submission.
 * Hardened REST permission callbacks to return structured errors before route callbacks
   run.
 * Included GPL-2.0-or-later licence text and third-party attribution for Parsedown.

## Meta

 *  Version **1.2.6**
 *  Last updated **1 මාසයක් ago**
 *  Active installations **60+**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/contentgecko-connector/)
 * Tags
 * [headless](https://si.wordpress.org/plugins/tags/headless/)[rest-api](https://si.wordpress.org/plugins/tags/rest-api/)
   [seo](https://si.wordpress.org/plugins/tags/seo/)[translations](https://si.wordpress.org/plugins/tags/translations/)
   [woocommerce](https://si.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://si.wordpress.org/plugins/contentgecko-connector/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/contentgecko-connector/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/contentgecko-connector/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/contentgecko-connector/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/contentgecko-connector/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/contentgecko-connector/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/contentgecko-connector/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/contentgecko-connector/reviews/)

## Contributors

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

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/contentgecko-connector/)