WordPress Integration

RankAscend publishes content to WordPress via the WordPress REST API using application passwords, no plugin required. Once connected, every article RankAscend generates is converted to HTML and posted to your site immediately as a live published post.

Connecting WordPress

Go to Settings → Integrations → WordPress and fill in three fields:

  • Name
    Site URL
    Type
    string
    Description

    The root URL of your WordPress site (e.g. https://yourblog.com). Do not include a trailing slash. RankAscend appends /wp-json/wp/v2/ to this URL when making API calls.

  • Name
    Username
    Type
    string
    Description

    Your WordPress admin username.

  • Name
    Application Password
    Type
    string
    Description

    A WordPress application password. Not your login password, see below for how to generate one.

When you save, RankAscend validates your credentials by calling GET /wp-json/wp/v2/users/me. If authentication succeeds, the integration is saved. Credentials are encrypted at rest.

Generating an application password

  1. Log in to your WordPress admin panel
  2. Go to Users → Profile (or Users → All Users → your username)
  3. Scroll to Application Passwords
  4. Enter a name (e.g. RankAscend) and click Add New Application Password
  5. Copy the generated password immediately, WordPress will not show it again

Per-content-type configuration

Once connected, you can configure how each content type maps to your WordPress setup under Settings → Integrations → WordPress → Content Types:

  • Name
    Post type slug
    Type
    string
    Description

    The WordPress post type RankAscend publishes to. Defaults to posts. Use pages for static pages, or any custom post type slug registered in your theme or plugin (e.g. case-studies, resources).

  • Name
    Default category ID
    Type
    number
    Description

    Optional. The WordPress category ID to assign to every post of this type. Find category IDs in Posts → Categories, the ID is in the URL when you edit a category (tag_ID=5).

You can configure a separate post type for each content format: blog articles, comparison pages, use-case pages, and listicles.

How publishing works

When a scheduled publish job runs, RankAscend:

  1. Converts the article's Markdown body to HTML using the marked library
  2. Appends the JSON-LD structured data as a <script type="application/ld+json"> block at the end of the HTML
  3. POSTs to /wp-json/wp/v2/{postType} with the following fields:
  • Name
    title
    Type
    string
    Description

    The article title.

  • Name
    slug
    Type
    string
    Description

    The SEO-optimized URL slug.

  • Name
    content
    Type
    string
    Description

    Full HTML body including the JSON-LD schema block appended at the end.

  • Name
    excerpt
    Type
    string
    Description

    The meta description, used as the WordPress post excerpt.

  • Name
    status
    Type
    "publish"
    Description

    Always set to publish — posts go live immediately.

  • Name
    categories
    Type
    number[]
    Description

    The default category ID if configured; otherwise omitted.

Error handling

ErrorCauseFix
Failed to reach WordPress siteWordPress URL is unreachable or REST API is blockedCheck the URL and any security plugins blocking /wp-json/
WordPress API error (401)Invalid username or application passwordRegenerate the application password in WordPress
WordPress API error (403)User lacks permission to create postsEnsure the user has the Editor or Administrator role
WordPress API error (404)Post type slug doesn't existCheck the custom post type slug is registered and publicly available

Failed jobs are retried automatically every 30 minutes. You can also reschedule any failed job manually from the Publish Log.

Disconnecting WordPress

Go to Settings → Integrations → WordPress → Remove. RankAscend deletes the stored credentials. Revoke the application password in WordPress under Users → Profile → Application Passwords if you want to fully remove access.

Was this page helpful?