WordPress plugin that integrates your WooCommerce store with the Trendyol seller API (local and international storefronts). Product synchronization runs in the background in a controlled way, without PHP timeouts on large catalogs.
Repository: github.com/alexandrubala/trendyol-sync-for-woocommerce
Current version: 1.2.2
| Component | Minimum |
|---|---|
| WordPress | 6.0+ |
| PHP | 7.4+ (OpenSSL) |
| WooCommerce | 7.0+ |
- Encrypted API credential storage (AES-256-CBC)
- Automatic Trendyol market detection from WooCommerce store country and WordPress locale
- Local cache for Trendyol brands and categories
- Per-product admin tab (category, brand, barcode, VAT, sync toggle)
- Category and brand mapping with global defaults and per-product overrides
- Background sync queue with batch polling and admin dashboard
- API rate limiting (50 requests per 10 seconds)
| Settings - Credentials | Settings - Environment |
|---|---|
![]() |
![]() |
| Product tab | Category mapping |
|---|---|
![]() |
![]() |
| Sync queue |
|---|
![]() |
Add PNG screenshots under docs/screenshots/ using the filenames above before publishing to WordPress.org.
-
Clone into
wp-content/plugins/:git clone https://github.com/alexandrubala/trendyol-sync-for-woocommerce.git
Or download the latest release ZIP from GitHub Releases and extract it to
wp-content/plugins/trendyol-sync-for-woocommerce/. -
Activate Trendyol Sync for WooCommerce under Plugins.
-
Ensure WooCommerce is active (required at activation).
- Deactivate the old Trendyol Sync plugin (
wp-content/plugins/trendyol-sync/). - Install the new
trendyol-sync-for-woocommerce/folder. - Activate Trendyol Sync for WooCommerce. Settings, jobs, and product meta are preserved.
- Remove the old
trendyol-sync/folder once everything works.
- Open Trendyol Sync in the WordPress admin sidebar.
- Credentials tab:
- Supplier ID from the Trendyol seller panel
- API Key and API Secret (stored encrypted)
- Integrator Name for the
User-Agentheader (e.g.SelfIntegration)
- Environment tab:
- Stage -
https://stageapigw.trendyol.com(testing; may require IP whitelist) - Production -
https://apigw.trendyol.com
- Stage -
Stage and Production credentials are different. Never commit real API keys to a public repository.
On the Credentials tab, click Sync catalog to download Trendyol brands and categories into a local cache.
The plugin detects the Trendyol market from:
- WooCommerce store country (Settings - General - Store location)
- WordPress site language (Settings - General - Site language)
Example: store in Romania with language Romanian sends storeFrontCode: RO and Accept-Language: ro.
Supported markets: RO, GR, DE, BG, HU, CZ, SK, AZ, SA, AE.
WordPress.org installs receive updates through the official WordPress plugin directory.
GitHub installs can opt in to GitHub Releases updates by adding to wp-config.php:
define( 'TRENDYOL_SYNC_GITHUB_UPDATES', true );For a private GitHub repository, also define:
define( 'TRENDYOL_SYNC_GITHUB_TOKEN', 'ghp_xxxxxxxx' );trendyol-sync-for-woocommerce/
├── trendyol-sync-for-woocommerce.php
├── includes/
│ ├── Plugin.php
│ ├── Activator.php
│ ├── Deactivator.php
│ ├── Admin/
│ ├── API/
│ ├── Cache/
│ ├── Data/
│ └── Security/
├── assets/
├── languages/trendyol-sync-for-woocommerce.pot
├── readme.txt
├── LICENSE
└── uninstall.php
- Mapping page: Trendyol categories loaded inline; brand AJAX search fixed
- Improved API category tree parsing (v2/v3 formats)
- WordPress.org readiness:
readme.txt,LICENSE, English plugin header - GitHub updater disabled by default (opt-in via
TRENDYOL_SYNC_GITHUB_UPDATES) - Logger redacts sensitive fields; duplicate sync jobs blocked
- Safer uninstall with opt-in table purge
- Mapping page selectWoo fixes; AJAX dropdowns for categories and brands
- Catalog sync rate-limit wait; extended download timeout
- Renamed to Trendyol Sync for WooCommerce (
trendyol-sync-for-woocommerce) - New text domain and automatic legacy plugin deactivation
See readme.txt for the full WordPress.org changelog.
- Attribute mapping UI
- CSV import/export for mappings
- Order sync support
- Webhook/email error notifications
- WordPress.org compliance review
- API keys are stored encrypted in the database.
- Secrets are redacted from logs (API keys, tokens, Authorization headers).
- AJAX endpoints use nonces and capability checks.
- Forms sanitize input and escape output with WordPress helpers.
- Trendyol enforces 50 requests per 10 seconds per endpoint; the plugin respects this limit.
cd wp-content/plugins/trendyol-sync-for-woocommerce
git pull origin mainGPL-2.0-or-later. See LICENSE.




