# How to connect a WordPress site Connect a WordPress site by creating a website project for it and approving the connection in your WordPress admin. Your existing posts are imported as documents, and nothing on the site is changed. **Before you start:** - You need an administrator account on the WordPress site. - The site must be live on the public internet over HTTPS, with its `/wp-json/` REST API reachable. - Application Passwords must be available on the site. If a security plugin or host turns them off, see [Application Passwords not available](/docs/application-passwords-not-available/). - If a firewall, security plugin or Cloudflare Access blocks unknown traffic, allow Workover first. See [How to whitelist Workover](/docs/whitelist-ips/). ## Connect a site 1. Sign in to Workover at [workover.io/app/login](https://workover.io/app/login). 2. In the sidebar, click **New Project**. 3. In **Title**, type a name for the project. 4. Under **Type**, select **Website**. 5. In **Website link**, type the site’s home address, including `https://`, for example `https://www.example.com`. Do not add `/wp-admin/` to the end. 6. Leave **CMS** on **WordPress**. 7. Click **Connect to WordPress**. Your browser goes to the site’s WordPress admin. 8. If WordPress asks you to sign in, sign in with your administrator account. 9. WordPress asks whether to give an application called **Workover** access to your account. Click **Yes, I approve of this connection**. WordPress sends you back to Workover, into the new project. A banner says Workover is importing from WordPress, and your existing posts and pages appear in the document list as linked documents. To publish your first document from here, follow the [Quickstart](/docs/quickstart/) from step 4. ## Troubleshooting If Workover cannot start the connection, the **New Project** panel shows one of these messages under the fields. | Message | What it means | What to do | | --- | --- | --- | | “Invalid URL.” | The address is missing `https://` or is not a web address. | Type the full address, for example `https://www.example.com`. | | “Could not resolve that host.” | The domain does not exist on the public internet. | Check the spelling of the address. | | “That host is not allowed.” or “That host resolves to a blocked address.” | The address points at a private or local network. | Workover can only connect to sites on the public internet. | | “Something in front of this site answered instead of WordPress, usually a firewall or security plugin blocking our request.” | A web page came back where the REST API should have answered. | Open `/wp-json/` on your site in a browser and check that it loads, then allow Workover through your firewall. See [How to whitelist Workover](/docs/whitelist-ips/). | | “This site is behind Cloudflare Access, which intercepted our request before WordPress saw it. …” | Cloudflare Access answered with its sign-in page. | Let Workover’s requests through Cloudflare Access. See [How to whitelist Workover](/docs/whitelist-ips/), or [contact support](/docs/contacting-support/). | | WordPress says application passwords are not available. | The site or a plugin has turned Application Passwords off. | See [Application Passwords not available](/docs/application-passwords-not-available/). | ## Related - [Quickstart: publish your first document](/docs/quickstart/) - [How WordPress sync works](/docs/how-wordpress-sync-works/) - [How to push a document to WordPress](/docs/pushing-to-wordpress/) - [Content types and collections](/docs/content-types-and-collections/)