manifest / integrations / krish-sync-plugin
Content Tracker Sync
Sync WordPress post data (title, slug, Yoast SEO fields, tags) to a Google Sheets editorial tracker with a single click.
by Krish Goswami · github.com/hunter28-lucky/krish-sync-plugin · website
★ 0stars
0forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/hunter28-lucky/krish-sync-plugin/archive/refs/heads/main.zipReadme
Content Tracker Sync — WordPress Plugin
Sync WordPress post data (title, slug, Yoast SEO fields, tags) to a Google Sheets editorial tracker with a single click.
Features
- Manual "Sync to Tracker" button in the post editor (Classic + Gutenberg)
- Auto-creates a new row or updates existing row (duplicate prevention via Post ID)
- Hashtag conversion — tags are formatted as
#AI #HR #Automation - Yoast SEO support — retrieves SEO Title, Focus Keyphrase, and Meta Description
- Zero Composer dependencies — self-contained JWT-based Google Sheets API v4 client
- Secure — nonces, capability checks, input sanitisation, output escaping
Installation
- Copy the
content-tracker-syncfolder intowp-content/plugins/ - Activate from WP Admin → Plugins
- Go to Settings → Content Tracker Sync and configure your Google Sheet
Google API Setup
Step 1 — Create a Google Cloud Project
- Go to Google Cloud Console
- Create a new project (or select an existing one)
Step 2 — Enable the Google Sheets API
- Navigate to APIs & Services → Library
- Search for Google Sheets API and click Enable
Step 3 — Create a Service Account
- Go to APIs & Services → Credentials
- Click Create Credentials → Service Account
- Give it a name (e.g.
content-tracker-sync) - Click Done
Step 4 — Download the JSON Key
- Click your new Service Account
- Go to the Keys tab → Add Key → Create new key → JSON
- Save the downloaded
.jsonfile
Step 5 — Share Your Google Sheet
- Open your Google Sheet
- Click Share
- Add the
client_emailfrom the JSON file (looks likename@project.iam.gserviceaccount.com) - Give it Editor access
Step 6 — Configure the Plugin
- In WordPress, go to Settings → Content Tracker Sync
- Paste the entire contents of the JSON key file into the credentials field
- Enter your Spreadsheet ID (from the sheet URL between
/d/and/edit) - Enter the Sheet Name (tab name, e.g.
Sheet1) - Click Save Settings
Google Sheet Format
Set up your sheet columns in this order:
| Column | Header | Source |
|---|---|---|
| A | Post ID | WordPress Post ID |
| B | Topic | Post Title |
| C | Post Slug | URL slug |
| D | SEO Title | Yoast SEO Title |
| E | Keywords | Tags (comma-separated) |
| F | Keywords with tags | Tags as #Tag1 #Tag2 |
| G | Meta Description | Yoast Meta Description |
| H | Focus Keyphrase | Yoast Focus Keyphrase |
Tip: Add these headers in Row 1 of your sheet before syncing.
Usage
- Create or edit any post
- Fill in Yoast SEO fields and assign tags
- In the sidebar, find the Content Tracker Sync panel
- Click Sync to Tracker
- A green ✓ confirmation appears on success
Security Considerations
- Nonce verification on every AJAX request
- Capability check — only users with
edit_postscan sync - Input sanitisation — all settings use
sanitize_text_field - Output escaping — all rendered strings use
esc_html,esc_attr - JSON validation — credentials are validated before saving
- No filesystem storage — credentials stored in
wp_options, not as files - Multi-site safe — each site has its own settings, nothing is hardcoded
Requirements
- WordPress 5.8+
- PHP 7.4+
- Yoast SEO plugin (for SEO fields; plugin works without it, but SEO columns will be empty)
- Google Cloud project with Sheets API enabled
Future Improvements
- Bulk sync from the Posts list screen
- Custom column mapping via the settings page
- Webhook/notification support
- Sync history log in WordPress
- Support for Custom Post Types selection
- WP-CLI
wp cts sync <post_id>command - REST API endpoint alternative to AJAX
Read the full README on GitHub →
Releases
| Tag | Published |
|---|---|
| v3.4.2 | Mar 21, 2026 |
| v3.3.5 | Mar 21, 2026 |
| v3.3.4 | Mar 21, 2026 |
| v3.3.3 | Mar 21, 2026 |
| v3.3.2 | Mar 21, 2026 |
| v3.3.1 | Mar 21, 2026 |
| v3.2.0 | Mar 15, 2026 |
| v2.6.0 | Mar 15, 2026 |
| v2.5.1 | Mar 15, 2026 |
| v2.5.0 | Mar 15, 2026 |
| v2.4.0 | Mar 15, 2026 |
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.