WordPress Plugin¶
Monorepo: wordpress-plugin/nulis-top-connector/
Instalasi¶
- Build zip dari source (setelah ada pembaruan plugin, jalankan ulang):
bash
./scripts/build-wp-plugin.sh
Output: wordpress-plugin/nulis-top-connector.zip — upload di WP Plugins → Add New → Upload, atau salin folder nulis-top-connector/ ke wp-content/plugins/.
- Aktifkan plugin nulis.top Connector.
- Ikuti setup wizard (4 langkah).
Auto-update (Plugins → Updates)¶
WordPress mengecek pembaruan dari studio URL yang dikonfigurasi di wizard (langkah 1).
| Lingkungan | File di VPS (dalam repo setelah deploy) | URL publik |
|---|---|---|
| Production | /var/www/nulis-studio/static/downloads/ |
https://studio.nulis.top/static/downloads/nulis-top-connector.json + .zip |
| Staging | /var/www/nulis-studio-stg/static/downloads/ |
https://studio-stg.nulis.top/static/downloads/nulis-top-connector.json + .zip |
Tidak perlu folder terpisah di luar repo — file disajikan oleh Flask/nginx dari folder static/downloads/ di aplikasi studio.
Setelah deploy, jalankan (otomatis di scripts/deploy-*.sh):
# Production
RELEASE_BASE_URL=https://studio.nulis.top ./scripts/build-wp-plugin.sh
# Staging
RELEASE_BASE_URL=https://studio-stg.nulis.top ./scripts/build-wp-plugin.sh
Script menghasilkan:
static/downloads/nulis-top-connector.zipstatic/downloads/nulis-top-connector.json(versi, changelog,download_url)
Situs WordPress yang memakai Studio URL staging akan mengambil update dari staging; production dari production.
Setup wizard¶
| Step | Isi |
|---|---|
| 1. Pair studio | Paste API key dari nulis.top |
| 2. Detect environment | WP version, timezone, builders |
| 3. SEO plugin | Auto-detect Yoast / Rank Math / AIOSEO |
| 4. Defaults | Post type, template profile, status publish |
SEO plugin detect¶
Prioritas auto-detect:
- Yoast (
WPSEO_VERSION) - Rank Math (
class_exists('RankMath')) - AIOSEO (
AIOSEO_VERSION) none— meta ke excerpt / custom fields
Jika dua plugin SEO terpasang, wizard meminta pilihan manual.
Publish¶
- Push dari studio atau pull via REST API
- Idempotency:
post_meta_nulis_article_uuid - Schedule:
status: future+date(WP cron)
site_capabilities¶
Plugin POST ke studio setelah wizard:
{
"wp_version": "6.7",
"timezone": "Asia/Jakarta",
"builders": ["elementor"],
"seo_plugin": "rank_math",
"seo_plugin_mode": "auto"
}
Tanpa plugin¶
Studio juga bisa publish langsung via Application Password + REST (integrations/connectors/wordpress.py).