WordPress → Bluesky threads
Closing the blog and moving to Bluesky? Upload your WordPress export and every article becomes a properly split thread — then post the whole archive to your account, in order, with its original dates.
Choose your WordPress export (.xml)
WordPress → Tools → Export → All content. Nothing is uploaded.
Split where it makes sense
Breaks on paragraphs first, then sentences, then words. It never cuts a word in half, and it counts characters the way Bluesky does — so emoji and accented text do not get your posts rejected.
Real threads, not loose posts
Every part is a genuine reply to the one before it, so it renders as a thread. Links get proper facets, which means they are actually clickable instead of plain text.
Your archive keeps its dates
Each post carries the date the article was published, so your profile reads as a history rather than a hundred articles dumped at once.
How to get your WordPress export
- 1In your WordPress admin, open Tools → Export.
- 2Choose "All content" (or just "Posts" if you only want articles).
- 3Click "Download Export File". You get an .xml file.
- 4Drop that file at the top of this page.
On WordPress.com the same option lives under Settings → Export. Pages, drafts and attachments are skipped automatically — only published posts are converted.
Questions
- Does this really post to Bluesky, or just give me a file?
- Both. You can download the threads as text, CSV or JSON, or sign in with an App Password and have them posted for you, in order, as proper reply chains.
- Is it safe to enter my password?
- Use an App Password, not your account password — Bluesky generates them under Settings → Privacy and security → App passwords. It is sent from your browser straight to your own server, never to us, and it is not stored. You can revoke it the moment you are done.
- Will my old posts flood my followers?
- If you keep the original dates, the posts carry the date the article was written, so they sit in your profile history rather than arriving as new posts in feeds. If you turn that off, they publish as new — which is what you want if you are re-running an old series deliberately.
- What about Threads and Mastodon?
- Threads has no public API for bulk posting your history, and Mastodon differs by server, so this tool does not post to them directly. Switch the split to 500 characters and download the scheduler CSV — tools like Publer take that file and post to Threads, Mastodon, LinkedIn and X for you.
- What happens to images in my articles?
- Image URLs from each article are collected and included in the CSV and JSON, so a scheduler can attach them. Direct posting is text-only for now: uploading media needs a separate blob upload for every image, and getting that wrong mid-run is worse than leaving it out.
- How long does it take?
- Posts go out roughly one per second so your server does not rate-limit you. A hundred-article blog is a few thousand posts, so expect it to run for a while — you can stop and resume with a smaller selection at any time.
Going the other way?
If you are leaving Bluesky rather than arriving, the main tool reads your Bluesky archive and turns it into Markdown, Obsidian, Notion, a WordPress blog and more — including the photos Bluesky's own export leaves out.
Open my Bluesky archive