# Translate new WordPress posts into localized drafts

> Every weekday morning, turn each newly published post into review-ready German, French, and Spanish drafts, tagged by language and ready for an editor.

- Workflow type: agent
- Services: DeepL, WordPress
- Categories: Marketing, Operations
- Published: 2026-07-17

## What it does

- Checks your WordPress site each weekday morning for posts published since the last run.
- Translates the title and full article into your target-market languages, with German, French, and Spanish set up out of the box.
- Keeps all formatting intact, including headings, links, lists, and images.
- Saves each translation back to WordPress as a draft, tagged and labeled by language, so an editor can review before anything goes live.

## What you'll need

- A WordPress site where you can create posts, with a login that can save drafts.
- A DeepL account for the translations.
- The list of languages you want to publish in.

## Prompt

Every weekday at 8am, check my WordPress site for blog posts that were published since the last time this workflow ran. Use WordPress List Posts filtered to status 'publish' and ordered by date with the newest first, and only take posts whose publish date is after the previous run so the same post never gets translated twice.

For each new post, translate both the title and the full body into my target-market languages: German, French, and Spanish. Use DeepL Translate Text for every translation. Because the WordPress body is HTML, set tag_handling to html so all formatting (headings, links, lists, bold, and images) survives the translation intact. DeepL target language codes accept regional variants, so use codes like DE, FR, ES (or PT-BR if I add Brazilian Portuguese later).

Skip the post's own source language. Let DeepL detect the source language of the post, and if the post is already written in one of the target languages, do not translate it back into itself. Only produce drafts for the remaining target languages.

For every remaining language, create a localized draft back in WordPress using Create a Post with status set to draft. Carry over the translated title and the translated HTML body exactly. Tag each draft with the locale (for example a 'de', 'fr', or 'es' tag) so an editor can filter and find it, and note in the draft which language it targets, for example by prefixing the title with a [DE], [FR], or [ES] marker. Leave everything as a draft so an editor can review and publish when it is ready.

At the end of each run, keep track of the latest publish date processed so the next run only picks up newer posts, and note how many source posts were found and how many localized drafts were created per language.

## How to customize

- Change the schedule, for example run once a week instead of every weekday.
- Swap or add target languages, including regional variants like Brazilian Portuguese.
- Adjust how each draft is labeled, tagged, or which categories it lands in.

## FAQ

### Will my formatting survive the translation?

Yes. Headings, links, bold text, lists, and images are preserved, so the translated draft looks just like the original post.

### Does it publish the translations automatically?

No. Every translation is saved as a draft and tagged by language, so an editor can review and publish it when it is ready.

### What languages can it translate into?

German, French, and Spanish are set up by default, and you can add or swap in any language DeepL supports, including regional variants like Brazilian Portuguese.

### Will it translate a post into the language it is already written in?

No. The workflow skips the post's own language and only creates drafts for the other target languages.

### Does it re-translate the same post every day?

No. It only looks at posts published since the last run, so each post is translated once.

Use this prompt in General Input: https://www.generalinput.com/prompts/translate-new-wordpress-posts-into-localized-drafts