# WordPress (/docs/wordpress)



The WordPress integration uses the **EarlySEO Sync plugin** to pull articles from EarlySEO into WordPress. It syncs automatically every 5 minutes, preserves formatting, imports SEO metadata for Yoast/Rank Math, and brings featured images across.

> Need the WordPress extension? Install it here: [https://wordpress.org/plugins/earlyseo-sync](https://wordpress.org/plugins/earlyseo-sync)

Prerequisites [#prerequisites]

* A self-hosted WordPress site (**WordPress.org**, not WordPress.com) running WordPress 5.8+
* PHP 7.4 or higher
* Admin access to install plugins
* An EarlySEO account with at least one site

> For **WordPress.com** hosted blogs, see the [WordPress.com integration](/docs/wordpress-com) instead.

Setup [#setup]

1. Create the integration in EarlySEO [#1-create-the-integration-in-earlyseo]

1. Go to **Integrations** in your EarlySEO dashboard
2. Click **Add Integration** and choose **WordPress**
3. Select your publish mode: **Draft** (recommended) or **Publish immediately**
4. Click **Create** — EarlySEO generates a unique **API key** (format: `wp_xxxxx_xxxxx`)
5. Copy the API key — it is only shown once

> If you lose the API key, create a new WordPress integration to generate a fresh key.

2. Install the WordPress plugin [#2-install-the-wordpress-plugin]

Option A (recommended):

1. Go to the plugin listing: [https://wordpress.org/plugins/earlyseo-sync](https://wordpress.org/plugins/earlyseo-sync)
2. Click **Download**
3. In WordPress Admin, go to **Plugins → Add New → Upload Plugin**
4. Choose the downloaded zip and click **Install Now**
5. Click **Activate**

Option B (direct zip):

1. Download: [https://downloads.wordpress.org/plugin/earlyseo-sync.1.0.0.zip](https://downloads.wordpress.org/plugin/earlyseo-sync.1.0.0.zip)
2. Upload and activate using **Plugins → Add New → Upload Plugin**

3. Connect your site [#3-connect-your-site]

1. In WordPress Admin, go to **Settings → EarlySEO Sync**
2. Paste your **API key** from Step 1
3. Click **Test Connection** — you should see a green "Connected!" message with your integration name
4. Configure settings (recommended defaults below)
5. Click **Save Changes**

4. Sync articles [#4-sync-articles]

The plugin checks for new articles every **5 minutes** automatically. You can also click **Sync Now** on the settings page to pull immediately.

Recommended settings [#recommended-settings]

| Setting              | Recommended               | Why                        |
| -------------------- | ------------------------- | -------------------------- |
| **Post Status**      | Draft                     | Review before publishing   |
| **Default Author**   | A content editor          | Consistent ownership       |
| **Default Category** | Your SEO/Content category | Keeps imports organized    |
| **Auto Sync**        | On                        | Keeps new articles flowing |

Plugin Settings [#plugin-settings]

| Setting              | Options                          | Description                                                                           |
| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------- |
| **API Key**          | `wp_xxxxx_xxxxx`                 | Your unique API key from EarlySEO Integrations                                        |
| **Auto Sync**        | On / Off                         | Automatically sync articles every 5 minutes                                           |
| **Post Status**      | Draft, Pending Review, Published | Default status for newly synced articles (can be overridden by EarlySEO publish mode) |
| **Default Author**   | Any WordPress user               | Author assigned to imported articles                                                  |
| **Default Category** | Any category                     | Category assigned to imported articles                                                |

Features [#features]

Automatic & Manual Sync [#automatic--manual-sync]

* **Auto sync** runs every 5 minutes via WP-Cron
* **Manual sync** available from the settings page — click **Sync Now**
* The admin bar shows the last sync time for quick status checks

Incremental Sync [#incremental-sync]

The plugin only syncs new or updated articles — it tracks which articles have already been imported and won't create duplicates.

SEO Plugin Support [#seo-plugin-support]

The plugin automatically sets SEO metadata for both **Yoast SEO** and **RankMath**:

* Meta description
* Focus keyword

Featured Images [#featured-images]

Featured images from your EarlySEO articles are automatically downloaded and set as the WordPress featured image.

Sync Log [#sync-log]

The settings page shows the most recent synced articles with links to edit them in WordPress.

Troubleshooting [#troubleshooting]

**Test Connection fails**

* Confirm the API key was copied completely without extra spaces — the format is `wp_xxxxx_xxxxx`
* Your hosting or a security plugin may be blocking outbound HTTPS requests — see [Cloudflare Troubleshooting](/docs/wordpress-plugin/cloudflare-troubleshooting)

**Articles not appearing**

* Check if WP-Cron is running — some hosts disable WP-Cron. Try clicking **Sync Now** from the settings page
* Confirm the API key is valid by clicking **Test Connection**
* If post status is **Draft** or **Pending Review**, articles will appear in those sections, not in the Published posts list

**Duplicate posts**

* The plugin tracks synced article IDs — duplicates should not occur
* If they do, check whether multiple integrations are configured with the same API key

**Plugin won't activate**

* Ensure you are running WordPress 5.8+ and PHP 7.4+
* Check that the plugin zip was not corrupted during download
