Bidirectional Sync

How RankTurn keeps articles in sync two ways with WordPress, Webflow, GitHub, and Notion — including import, loop prevention, and conflict handling.

Most integrations are one-way by default: RankTurn pushes your articles out to a platform. Bidirectional Sync adds the return path, so edits you make directly on the platform flow back into RankTurn. Turn it on and you can write or revise in WordPress, Webflow, GitHub, or Notion, and have those changes show up in RankTurn without importing them by hand.

The idea is the same everywhere. When something changes on the platform, RankTurn fetches the latest version, matches it to one of your articles, decides whether the change is real, and applies it — while making sure it doesn't accidentally re-import its own earlier changes.

For setup of each platform, see its dedicated page: WordPress, Webflow, GitHub, and Notion. For how your connection details are kept safe, see Credentials & Security.

Supported Platforms

Four platforms can send changes back to RankTurn. Each works a little differently, but the rules for matching and applying changes are the same.

PlatformHow changes come backWhat flows back
WordPressAn hourly check (works everywhere) plus an optional instant update from a small add-on snippetTitle, body content, excerpt / meta description
WebflowInstant updates when an item is created, changed, deleted, or unpublishedTitle, body content, summary
GitHubInstant updates when you push to the chosen branch and folderTitle, content (from the Markdown file), description
NotionInstant updates when a page is created, changed, or deletedTitle, content, and selected details

WordPress checks about once an hour for posts changed since the last check, so it works on any site with no extra setup. Adding the small snippet to your WordPress site gives you instant updates on top — the moment a post is saved, WordPress notifies RankTurn — while the hourly check stays as a safety net for anything missed. The notification only tells RankTurn which post changed and when; RankTurn always fetches the latest content itself.

Webflow sends instant updates when an item is created, changed, deleted, or unpublished. When one arrives, RankTurn fetches the latest version of the item directly from Webflow rather than trusting the notification.

GitHub sends an instant update when you push. RankTurn looks only at .md and .mdoc files inside the folder and branch you chose, then fetches each changed file's latest content.

Notion sends instant updates when a page changes. You verify the connection first (you paste a verification code into Notion); after that, page changes are picked up automatically.

Turning Sync On

You control Bidirectional Sync for each connection from Settings → Integrations:

  1. Connect the platform first (see its dedicated page).
  2. On the connected card, turn on the Bidirectional Sync toggle.
  3. RankTurn sets up whatever the platform needs:
    • Webflow — automatically set up to send updates for created, changed, deleted, and unpublished items.
    • GitHub — automatically set up to send updates when you push.
    • WordPress — the hourly check begins right away; for instant updates, add the provided snippet to your WordPress site.
    • Notion — you set up updates in Notion and complete the verification step.

Turning the toggle off undoes the setup: the Webflow and GitHub connections stop sending updates, and any stored secrets are cleared. If the platform side was already disconnected, that's fine — RankTurn simply moves on.

Every incoming update is checked for authenticity before it's applied, so RankTurn only acts on genuine notifications from the platform. If the same update arrives twice, RankTurn processes it only once.

Bidirectional Sync requires an active paid subscription. See Plans & Billing.

Import New (creating articles from external items)

By default, the inbound sync for WordPress and Webflow only updates articles that already exist in RankTurn. Items created directly on those platforms with no matching article are ignored.

The Import New toggle, which appears on the WordPress and Webflow cards once sync is enabled, changes this. The label is Import new posts on WordPress and Import new items on Webflow. (Don't confuse it with the separate Import Articles button, which is a one-time manual bulk import.) Turn the toggle on and brand-new items on the platform are created as Draft articles in RankTurn:

  • WordPress — posts with no matching article become drafts.
  • Webflow — items with no matching article become drafts. Items with neither a title nor a web address are skipped.

GitHub works differently and has no Import New toggle. Any new .md / .mdoc file added to the folder and branch you're watching is always imported as a draft article — there's nothing to switch on.

Two things to know about imports:

  • They never use up your generation quota. An import is a copy of existing content, not an AI generation, so it doesn't count against your monthly article allowance. See Usage Quotas.
  • With the WordPress/Webflow toggle off, only existing articles update. New posts or items are skipped (and noted as skipped in the log) until you turn it on. This toggle doesn't affect GitHub, which always imports new files.

When the Import New toggle is off (WordPress or Webflow) and an item has no matching article, nothing is created — RankTurn just notes in the log that import is turned off.

Loop Prevention

The hardest part of two-way sync is not re-importing your own changes. When RankTurn publishes an article, the platform often reports a change right back — and without a safeguard, RankTurn would mistake its own publish for an outside edit and loop forever. RankTurn prevents this in two ways.

Comparing the content. When RankTurn publishes, it remembers a fingerprint of the article's title, body, and summary. This fingerprint is designed to stay the same even when a platform quietly tweaks the underlying formatting (the kind of cosmetic rewrites a content management system makes when it saves your content). When a change comes back, RankTurn compares the incoming content's fingerprint to the one it last published:

  • The fingerprint matches → skip. Nothing meaningful changed; this is just an echo of RankTurn's own publish (Webflow, WordPress).
  • The fingerprint differs → it's a real edit and is applied.

Platform-specific quick checks. Some platforms allow an even faster check first:

  • WordPress also skips a post whose change time is at or before RankTurn's last publish — a sure sign it's RankTurn's own publish coming back.
  • GitHub skips any change RankTurn made itself (RankTurn marks its own changes) and skips a file that hasn't actually changed since the last sync.
  • Notion skips changes made entirely by RankTurn's own connection.

If you ever see your own published content show up as an incoming "change," it almost always means the platform reformatted the content more than usual. In practice this is rare.

Conflict Handling

A conflict happens when you edited an article in RankTurn after the last sync, and then a different edit arrives from the platform. How it's resolved depends on the platform, so there are two rules to know.

WordPress, Webflow, and GitHub — the platform version wins. RankTurn replaces its copy with the incoming platform content and notes in the sync log that the platform won. The change is still applied — but it's logged as a conflict rather than a plain success, so you can see that an edit you made in RankTurn was overwritten.

For these three platforms, RankTurn decides there's a conflict by comparing edit times: if your article was last updated in RankTurn more recently than the platform's last successful sync, the incoming change is treated as a conflict. If the incoming content turns out to match what RankTurn last published, the loop-prevention check skips it before the conflict rule ever applies.

Notion — RankTurn keeps its own version. With Notion, the more recently edited version wins, and on a tie RankTurn wins. If your RankTurn article was edited more recently than the Notion page, the incoming change is skipped (nothing is overwritten, and it's noted as skipped) — the opposite of the three platforms above. The Notion change is only applied when the Notion page is the more recent edit. So Notion never overwrites a fresher RankTurn edit.

A few platform-specific behaviors round this out:

  • Webflow — if an item is deleted or unpublished, the matched article is set back to Draft in RankTurn rather than being removed.
  • WordPress — if a post is deleted or hidden, the matched article is set back to Draft instead of failing. An article's original record of how it was first created is never overwritten by an incoming edit.
  • GitHub — when a file is removed from the repository, the linked article is not deleted; the removal is noted and skipped.
  • Notion — RankTurn is the single source of truth for an article's status; the status RankTurn shows in Notion is display-only and is never read back. The Auto Publish checkbox you can tick in Notion is the approval signal that flows back.

Sync Logs

Every incoming change is recorded so you can see exactly what happened. Each log entry shows the platform, the direction (incoming or outgoing), the outcome, the linked article and matching platform item, when the platform last changed it, and a short reason or note.

The four possible outcomes are:

StatusMeaning
SuccessThe change was applied (article updated, or imported as a new draft).
SkippedNo action taken — an echo of RankTurn's own change, nothing actually changed, a removed file, or a new item while Import New is off.
ConflictThe change was applied, but it overwrote an edit you made in RankTurn; the platform won.
FailedThe change couldn't be brought in (for example, the item couldn't be fetched). The error is recorded.

Each entry also includes a plain-language reason for skips and conflicts. Use the log to confirm a platform edit reached RankTurn, to understand why an expected change was skipped, and to spot conflicts where a platform edit replaced one of yours.