What publishing does
- Sends a Create Content draft to your site, as a draft for review or live for your readers.
- Updates the same post every time. Publish again after an edit and Prefer changes the existing post. It never makes a second copy.
- Carries the whole article. The title, the body (headings, lists, quotes, tables, links and images), the URL slug, and the meta title and meta description from the Editor’s Meta & SEO panel go into the matching fields on your platform. Each platform section below lists exactly where they land.
- Copies your images to your platform where it supports it, so they no longer depend on where they are hosted today. You can also choose to use the article’s first image as the featured image.
- Saves your latest edits first, so what reaches your site is what you see in the Editor.
- Records the live address. A live publish marks the draft as Published in Prefer with its live URL, the same as Mark as live does.
What Draft and Live mean on each platform
Who can publish
Plans. Publishing is included on every plan, Starter included, and during your free trial. If your trial ends or your plan is paused, publishing stops and Prefer tells you why, for example “Your trial has ended. Upgrade to keep publishing.” Posts already on your site stay exactly where they are. Roles. Owners, admins and members can connect a site, change its settings and publish. Viewers can see which site a project publishes to, but cannot connect, change or publish. A viewer sees “Ask someone who manages integrations in this workspace to connect a site.”One destination per project
Each project publishes to one site at a time. Once a site is connected, the Connect buttons are replaced by a line such as “This project already publishes to Acme Journal. Disconnect it to switch.” To switch to another site, click Disconnect on the current connection, then connect the new one. Disconnecting stops publishing there, and posts already published stay where they are. Reconnecting the same site later keeps its settings and its publishing history, so Prefer goes on updating the same posts instead of creating new ones.Connect your site
Open Integrations
Choose your platform
Finish setup if asked
Test the connection
Publish a draft
Open the Publish modal
Choose your destination
Choose Draft or Live
Review the checks
Send it
When the post changed on your site
Edited on your site
If someone edited the post on your platform after Prefer last published it, Prefer asks before replacing those edits. You see a checkbox such as “This post was edited in WordPress after Prefer last published it. Publishing replaces those edits.” Tick it to let your Prefer version win, or leave it and bring the edits into your Prefer draft first. On WordPress, Ghost, Sanity and Framer, Prefer only replaces the fields it manages: the title, body, excerpt, SEO fields and images. Categories, tags, authors and other fields you set on your site stay as you set them. On Astro, the post is one file that Prefer writes as a whole, so changes made to that file on GitHub are replaced once you confirm. On every platform, the slug is set once, when the post is created, so its address never moves.Deleted on your site
If the post was deleted on your platform, Prefer says so, for example “This post was deleted in WordPress. Publish it as a new post.” Click Publish as new next to the message. Prefer creates the post again with the same slug, so its old address keeps working.WordPress
What WordPress needs
- A self-hosted WordPress site (6.5 or later), or a WordPress.com site on a paid plan. WordPress.com free-plan sites cannot connect, because they have no application passwords. Prefer tells you when it spots one: “This looks like a WordPress.com site. Application Passwords need a paid WordPress.com plan.”
- https on your site address.
- An Editor or Administrator account. A dedicated WordPress user with the Editor role works best: it can publish, upload images and manage categories without access to plugins or settings. Posts appear under the user you connect with.
Connect WordPress
Enter your site
yourblog.com is fine).Continue to WordPress
Approve Prefer
Prefer as the name and click Add New Application Password. Copy the password. In Prefer’s Connect WordPress dialog, click Use an application password instead, then enter the Site address, Username (or email) and Application password, and click Connect. Use this route if your site sends you elsewhere to approve.
WordPress settings
WordPress is ready to publish as soon as it connects. To change the defaults, click Configure on the card:- Default categories (up to 10) and Default tags (up to 20) are added to every post Prefer sends. Categories and tags already on a post are kept, and new tags are created in WordPress.
- Copy images into your Media Library is on by default. Prefer uploads each image once, with its alt text, and reuses it on later publishes.
- Use the article’s first image as the featured image is off by default. It needs image copying on.
Draft and Live on WordPress
- Draft (“Save as a draft in WordPress”) creates or updates a draft post.
- Live (“Publish on WordPress”) publishes the post, or updates it if it is already live.
WordPress error messages
Ghost
What Ghost needs
- Ghost(Pro) Publisher or higher, or any self-hosted Ghost site. Ghost(Pro) Starter does not include custom integrations, which Prefer connects through.
- A custom integration for Prefer. In Ghost Admin, open Settings, Advanced, Integrations, click Add custom integration and name it
Prefer. Keep it open: you need its Admin API key and API URL.
Connect Ghost
Open the dialog
Paste the two values
Connect
Ghost settings
Ghost is ready to publish as soon as it connects. Click Configure on the card to change:- Default tags, added to every post. Prefer suggests tags from your site, and also adds its own hidden
#prefertag, which never shows on your site. - Use the first image as the featured image (off by default).
- Upload images to Ghost (on by default), so images live in your Ghost site.
Draft and Live on Ghost
- Draft (“Save as a draft in Ghost”) creates or updates a draft post.
- Live (“Publish on Ghost”) publishes a public post, or updates it if it is already live.
Ghost error messages
Sanity
What Sanity needs
- A Sanity project and dataset that holds your posts.
- An Editor API token. In sanity.io/manage, open your project, then Settings, API, Tokens, click Add API token and choose the Editor permission. Creating a token needs the Developer or Administrator role in that project. Viewer and Contributor tokens cannot publish, so Prefer refuses them.
Connect Sanity
Open the dialog
Enter your project
production) and the API token.Connect
Set up Sanity
Sanity is headless, so Prefer needs to know how your posts are built. It reads your newest documents and suggests every value.- Document type: choose the type that holds your posts.
- Fields: confirm which field receives the Title, Slug, Body, Excerpt, SEO title, SEO description, Main image and Published date. Title and body are required. With no posts yet, Prefer suggests Sanity’s blog template fields.
- Body features: confirm what your body field allows, such as heading levels, lists, code and images. Prefer uses only these, and tells you when it converts something your body field does not allow (for example, a table becomes a bulleted list).
- Live Edit: tick “This type has no drafts (Live Edit)” if your type publishes without drafts.
- Fixed values: add a value for any required field Prefer does not fill, such as an author reference (
author._refset to the author’s document ID, andauthor._typeset toreference). Fixed values are set on new posts only. - Post URL pattern: where a post appears on your site, such as
https://example.com/blog/{slug}. Click Check to test it against a published post. Prefer uses it to link to and confirm the live page. - Studio address (optional), so Prefer can link straight to the document in your Studio.
- Click Save.
Draft and Live in Sanity
- Draft (“Create a draft in Sanity”) creates or updates a draft document you can review and publish in Studio.
- Live (“Publish in Sanity”) publishes the document.
Sanity error messages
Astro
Astro sites have no CMS of their own, so Prefer publishes through GitHub. It commits each post as a Markdown file, with its images, into your site’s content collection. Your host (such as Cloudflare Pages, Netlify or GitHub Actions) then rebuilds the site as it does for any commit.What Astro needs
- An Astro site in a GitHub repository that uses content collections.
- Permission to install a GitHub app on that repository. On a personal account, that is the owner. In an organization, an owner installs it (or a repository admin, on their own repositories).
- Write access to the repository for the person who connects. Prefer only writes to repositories you can push to yourself.
Connect Astro
Open the dialog
Install the app
Confirm it is you
Set up
Set up Astro
- Repository: choose your site’s repository. If it is missing, click Don’t see your repository? Add it to the Prefer app on GitHub.
- Production branch: the branch your host builds the live site from. The default branch is preselected, and protected branches are marked.
- Detect: Prefer reads your content collections and recent posts, and changes nothing. It fills in the Content folder, the file format and naming, where images go, and the Frontmatter keys your theme uses (title, description, publish date, updated date, hero image, tags).
- Review every value. If your theme requires a field Prefer cannot fill, Prefer asks you for a value.
- Title limit (optional), if your theme limits title length.
- Publishing: turn on Always open a pull request, even when publishing live if you want to merge every post yourself. You can also use the post’s first image as its hero image.
- Live URL pattern: where a post appears on your site, such as
https://example.com/blog/{id}/, where{id}is the post’s file name. Click Check to test it against an existing post. - Click Save.
Draft and Live on Astro
- Draft (“Open a pull request”) commits the post to a new branch and opens a pull request. Your host’s preview deploy, if it makes one, shows how the post will look. Merge the pull request to publish.
- Live (“Commit to your site’s branch”) commits the post and its images to your production branch in one commit. GitHub shows the commit as Verified.
Astro error messages
Framer
What Framer needs
- A Framer project on any plan.
- A CMS collection you manage yourself, with a plain text field for the title and a formatted text field for the body. Collections managed by a plugin (such as a Notion or Airtable sync) are read-only, so Prefer does not offer them.
- A project API key. In Framer, open Site Settings, then General, then API keys. The key acts as the person who creates it, so the project owner or an admin should create it. Framer shows the key once.
Connect Framer
Open the dialog
Paste the project URL
https://framer.com/projects/). Paste it into Project URL.Paste the API key
Set up Framer
- Collection: choose where Prefer adds your posts.
- Fields: confirm which field receives the Title, Body, Excerpt, SEO title, SEO description, Featured image and Date. Title and body are required. Prefer changes only these fields when it updates a post.
- Values for new posts: give option, toggle, reference and required text fields a value. They are set once, when Prefer creates a post.
- Where posts are served: the address in front of each post’s slug, such as
https://example.com/blog. Prefer uses it to link to and confirm the live post. - Use the article’s first image as the featured image (needs a featured image field).
- Let Prefer publish the whole Framer site: off by default. Turn it on to use Live (see below).
- Click Save.
Draft and Live on Framer
- Draft (“Add to your Framer CMS”) adds the post to your collection as a Framer draft, or updates it. Nothing is published. The item stays out of your site until you turn off Draft on it in Framer and publish your site.
- Live (“Add and publish your Framer site”) adds the post, then publishes your Framer site.
Framer error messages
FAQ
Can I publish an optimised page from Prefer?
Can I publish an optimised page from Prefer?
Does Prefer ever delete or unpublish posts on my site?
Does Prefer ever delete or unpublish posts on my site?
What happens to my posts if I disconnect?
What happens to my posts if I disconnect?
Can one project publish to two sites?
Can one project publish to two sites?
How do I remove Prefer's access completely?
How do I remove Prefer's access completely?
How does Prefer store my keys?
How does Prefer store my keys?
