manifest / integrations / wp-notion-sync
Notion Sync
Wordpress plugin sync content from Notion Database into WordPress posts
★ 2stars
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/sumeta/wp-notion-sync/archive/refs/heads/main.zipNo built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Sync content from Notion Database into WordPress posts.
- Supports blocks: headings, paragraphs, lists, quotes, code, todo, toggle, divider, image, table, callout
- Images are sideloaded into Media Library
- Auto sync via WP-Cron (hourly) or
wp notion sync(WP-CLI) - Tags mapping from Notion (multi-select / select / comma-separated text)
- Categories mapping from Notion (multi-select / select / comma-separated text)
- Slug mapping from Notion (title / rich_text / formula string / url)
- Featured image from Notion Files & media (first file)
- Writeback WordPress URL to Notion
Installation
- Clone into
wp-content/plugins/wp-notion-sync - Edit
notion-sync.php→ setNOTION_API_TOKENandNOTION_DATABASE_ID - Activate the plugin in WordPress
Usage
- Run manually:
wp notion sync
Tags
- From Notion only: Add a property for tags (recommended: multi-select) and set "Tags Property Name" in plugin settings. The plugin reads multi-select, select, or comma-separated rich text and sets WordPress post tags accordingly.
Categories (หมวดหมู่)
- From Notion only: Add a property for categories (e.g., "Categories") and set "Categories Property Name" in plugin settings. The plugin reads multi-select, select, or comma-separated rich text and sets WordPress categories accordingly.
URL Slug
- Add a Notion property (e.g., "Slug") and set "Slug Property Name" in plugin settings.
- Supported property types: title, rich_text, formula (string), or url.
- If provided, the value is sanitized and applied to WordPress
post_name(the URL slug). If empty or missing, WordPress keeps/generates the default slug.
Featured Image (หน้าปก)
- Add a Notion property of type "Files & media" (e.g., "Cover").
- Set "Featured Image Property Name" in plugin settings to this property name.
- On sync, the plugin takes the first file in that property and sets it as the WordPress post featured image. If the property is present but empty, the current featured image is removed.
Writeback WordPress URL → Notion
- Add a Notion property (recommended type: URL), e.g., "WP URL".
- Set "Writeback URL Property Name" in plugin settings to that property name.
- After a successful sync, the plugin updates that property on the Notion page with the post's full permalink. If the Notion property is rich_text or title, the URL is written as text.