Title: BahriCanli Publisher
Author: Bahri CANLI
Published: <strong>July 15, 2026</strong>
Last modified: July 15, 2026

---

Search plugins

![](https://ps.w.org/bahricanli-publisher/assets/banner-772x250.png?rev=3608593)

![](https://ps.w.org/bahricanli-publisher/assets/icon-256x256.png?rev=3608593)

# BahriCanli Publisher

 By [Bahri CANLI](https://profiles.wordpress.org/bmericc/)

[Download](https://downloads.wordpress.org/plugin/bahricanli-publisher.1.6.5.zip)

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

 [Support](https://wordpress.org/support/plugin/bahricanli-publisher/)

## Description

**BahriCanli Publisher** is the official WordPress companion plugin for [content-manager.tr](https://content-manager.tr)—
an AI-powered multi-site content management system built and maintained by Bahri
Meriç Canlı.

content-manager.tr manages content for multiple WordPress sites simultaneously, 
generating and scheduling posts with AI assistance. This plugin acts as the bridge:
it exposes a secure endpoint that content-manager.tr uses to create, update and 
delete posts on your site.

Once installed and configured, the plugin allows content-manager.tr to:

 * **Publish** new posts with title, content (Gutenberg blocks supported), excerpt,
   slug, categories, tags, author and featured image
 * **Update** existing posts including replacing the featured image
 * **Delete** posts
 * **Sideload featured images** from external URLs (Unsplash, Pexels, Pixabay, etc.)
   directly into the WordPress media library
 * **Auto-resize** uploaded images to a maximum width of 1600 px to keep storage
   lean

All requests are authenticated with a shared secret token — no OAuth or WordPress
login required.

### External Services

This plugin makes an outbound HTTP request to the WordPress.org API to check whether
a WordPress core update is available. This request is triggered only when the `bahrpu_version`
AJAX action is called by the content-manager.tr application.

 * Service: WordPress.org Core Version Check API
 * URL: `https://api.wordpress.org/core/version-check/1.7/`
 * Purpose: Retrieve the latest available WordPress version number
 * Data sent: No personal data is sent. The request contains only standard HTTP 
   headers.
 * Privacy policy: https://wordpress.org/about/privacy/

## Installation

 1. Upload the `bahricanli-publisher` folder to `/wp-content/plugins/`.
 2. Activate the plugin through the **Plugins** menu in WordPress.
 3. Go to **Settings  BahriCanli Publisher**.
 4. Generate or enter a token and copy it to your content-manager.tr app’s `.env` file
    as `WORDPRESS_PLUGIN_TOKEN`.

## FAQ

### Does this plugin work without the content-manager.tr app?

The plugin exposes an API endpoint that can be called by any HTTP client with the
correct token. However it is designed and maintained specifically for the content-
manager.tr application.

### Is the token stored securely?

The token is stored in the WordPress options table using `get_option` / `update_option`.
It is never exposed in the front end.

### Can I use this with WordPress Multisite?

Each site in a Multisite network needs the plugin activated individually with its
own token.

### What image formats are supported for sideloading?

JPEG, PNG, WebP and GIF. The plugin detects the format from the downloaded file’s
MIME type, so URLs without a file extension (common with Unsplash) are handled correctly.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

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

Contributors

 *   [ Bahri CANLI ](https://profiles.wordpress.org/bmericc/)

[Translate “BahriCanli Publisher” into your language.](https://translate.wordpress.org/projects/wp-plugins/bahricanli-publisher)

### Interested in development?

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

## Changelog

#### 1.6.5

 * Chore: Added a GitHub-facing README.md alongside readme.txt (WordPress.org still
   reads readme.txt).
 * Chore: Deploy action pinned to a fixed commit SHA per automated security review.

#### 1.6.4

 * Add: Full Turkish (tr_TR) translation bundled with the plugin. The settings page
   now automatically
    displays in Turkish when the WordPress site’s language is 
   set to Turkish, and in English otherwise.
 * Improve: All settings-page strings are now wrapped for translation (`load_plugin_textdomain`),
   
   making the plugin translation-ready for additional languages in the future.

#### 1.6.3

 * Fix: readme.txt `Contributors` alanından geçersiz WordPress.org kullanıcı adı(`
   bahricanli`) kaldırıldı.

#### 1.6.2

 * Chore: WordPress.org eklenti sayfası için icon/banner görselleri eklendi (SVN
   assets/ dizini).
 * Chore: Repoda kalan bayat build zip dosyası kaldırıldı. Fonksiyonel bir değişiklik
   yoktur.

#### 1.6.1

 * Chore: GitHub üzerinden WordPress.org SVN’ine otomatik dağıtım (GitHub Actions)
   kuruldu.
    Bu, yalnızca yayın altyapısıyla ilgili bir değişikliktir; eklenti işlevselliğinde
   bir değişiklik yoktur.

#### 1.6.0

 * Fix: Posts published or updated via content-manager.tr now also populate Yoast
   SEO’s per-post
    meta description field (`_yoast_wpseo_metadesc`) from the post
   excerpt. Previously the excerpt was only saved to WordPress’s native excerpt 
   field, so Yoast’s search-result meta description tag was left empty whenever 
   the site’s own Yoast templates had no fallback configured.

#### 1.5.0

 * Fix: All internal function names, defines and the AJAX action prefix renamed 
   from the too-short
    bcp_ to the unique `bahrpu_` prefix, per WordPress.org Plugin
   Review feedback (naming collisions).
 * Fix: Removed direct `curl_*` usage for downloading remote images — now uses the
   WordPress HTTP API
    (`wp_remote_get`), per WordPress.org Plugin Review feedback.

#### 1.4.0

 * Add: “Varsayılan Yazar” (Default Author) setting on the settings page — choose
   which WordPress user
    new posts published via content-manager.tr are assigned
   to (defaults to user ID 1 if unset).

#### 1.3.1

 * Fix: AJAX post oluşturma/güncellemede yanıt (post_id) artık öne çıkan görsel 
   indirilip
    boyutlandırılmadan HEMEN gönderiliyor (mümkünse `fastcgi_finish_request()`
   ile). Önceden yavaş/başarısız görsel indirme adımı content-manager’ın 45sn zaman
   aşımına neden olup post’u “failed” işaretliyor, bu da aynı yazının tekrar gönderilip
   WordPress’te mükerrer post oluşmasına yol açıyordu.

#### 1.3.0

 * Rename: Plugin renamed to BahriCanli Publisher (slug: bahricanli-publisher).
 * Update: All function prefixes changed to `bcp_`, option key to `bahricanli_publisher_token`.
 * Update: REST namespace changed to `bahricanli-publisher/v1`.

#### 1.2.0

 * Fix: Featured image sideloading now works for URLs without a file extension (
   e.g. Unsplash).
 * Fix: Media upload permission granted via capability filter for token-authenticated
   requests.
 * Fix: Sanitize all `$_POST` fields in fix_images handler.

#### 1.1.0

 * Add: Image resize on upload (max 1600 px width).
 * Add: `fix_images` AJAX action to sideload external images already in post content.
 * Add: `version` AJAX action to check installed vs latest WordPress version.
 * Improve: Fallback from custom cURL downloader to `media_sideload_image` on failure.

#### 1.0.0

 * Initial release.
 * REST API endpoints: POST `/bahricanli-publisher/v1/posts`, PUT `/bahricanli-publisher/
   v1/posts/{id}`.
 * AJAX fallback endpoints for hosts that block the REST API.
 * Token-based authentication with settings page.

## Meta

 *  Version **1.6.5**
 *  Last updated **17 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0.1**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [api](https://wordpress.org/plugins/tags/api/)[automation](https://wordpress.org/plugins/tags/automation/)
   [content](https://wordpress.org/plugins/tags/content/)[publishing](https://wordpress.org/plugins/tags/publishing/)
   [rest-api](https://wordpress.org/plugins/tags/rest-api/)
 *  [Advanced View](https://wordpress.org/plugins/bahricanli-publisher/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Contributors

 *   [ Bahri CANLI ](https://profiles.wordpress.org/bmericc/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/bahricanli-publisher/)