Skip to content
Sign In Create account

Digipacket RePublish AI

Watches for newly published posts, has Google Gemini rewrite the title, introduction, body and SEO metadata, and posts the result to another WordPress site over its REST API — with every image put back exactly as it was.

v1.1.2 104.7 KB GPL-2.0-or-later

Digipacket RePublish AI

What it does

It runs after publishing rather than during it, so writing a post is never slowed down by an API call, and it honours the exact retry delay Google returns when a quota is reached instead of guessing one. Installed on both sites: the destination only needs to be told it is one.

  • Images are never sent

    They are pulled out and replaced with placeholders before the request, then reinserted verbatim — the model never sees their markup, so it cannot alter or drop one.

  • After publishing, not during

    The rewrite runs asynchronously, and a quota refusal is retried at the delay Google itself returns.

  • Keeps the language it was written in

    Arabic, French and other scripts survive intact, slug included. It can translate instead when you ask it to.

  • Categories follow the post

    Taken from the source site and created on the destination when they are missing.

  • Writes into your SEO plugin

    Yoast SEO, Rank Math, All in One SEO and SEOPress.

  • No loops, no duplicates

    A received post never travels back, and a post already sent is updated rather than published twice. Every step is logged with its timing and the exact error.

What it needs

WordPress
5.8 or newer
PHP
7.4 or newer
PHP extensions
No extension beyond a standard PHP build.
A Digipacket account
A Google Gemini API key, and a second WordPress site on HTTPS with its REST API reachable and an Editor or Administrator application password.

Install it

The whole install, in one command

Downloads, checks the file against the SHA-256 below, unpacks it into your plugins directory and cleans up after itself. Any step that fails stops the rest.

bash
cd /path/to/wordpress/wp-content/plugins \
  && curl -fL -O https://github.com/digipacket-net/digipacket-republish-ai/releases/download/v1.1.2/digipacket-republish-ai.zip \
  && echo "6256fe5585880eec5948181beefe403d685ab044aa1005331ffd54daf05be4d2  digipacket-republish-ai.zip" | sha256sum -c - \
  && unzip -q digipacket-republish-ai.zip \
  && rm digipacket-republish-ai.zip

Activate it

With WP-CLI. Without WP-CLI, the plugin is now listed under Plugins → Installed Plugins and the button there does the same thing.

bash
wp plugin activate digipacket-republish-ai --path=/path/to/wordpress

Why the commands look like this

  • Why -f is not optional

    Without it, curl writes the server's error page into your file and exits 0. You unzip an HTML document into wp-content/plugins and WordPress shows a broken plugin. With -f, curl writes nothing and exits 22.

  • Why the checksum is printed here

    A hash served next to the file only proves the download was not corrupted in transit. This page is a second channel: if the number here and the number on the file agree, both would have had to be changed.

  • Why the steps are chained with &&

    A semicolon runs the next command whether or not the last one worked. With &&, a failed download or a failed checksum stops the chain before anything is written into your plugins directory.

Verify the download

Version
1.1.2 (v1.1.2)
File
digipacket-republish-ai.zip
Size
104.7 KB 107,247 bytes
SHA-256
6256fe5585880eec5948181beefe403d685ab044aa1005331ffd54daf05be4d2
Published
13 September 2026

Check what you downloaded

Prints OK, or names the file and exits non-zero. Run it before you unpack anything.

bash
# GNU coreutils, on a Linux server
echo "6256fe5585880eec5948181beefe403d685ab044aa1005331ffd54daf05be4d2  digipacket-republish-ai.zip" | sha256sum -c -

# macOS, and anywhere sha256sum is missing
echo "6256fe5585880eec5948181beefe403d685ab044aa1005331ffd54daf05be4d2  digipacket-republish-ai.zip" | shasum -a 256 -c

Always the newest release

The pinned URL above is the one to use in documentation and in a change you want to be able to repeat. In a provisioning script you usually want whatever is current, and there is a trap in the obvious way of asking for it.

The obvious URL breaks on the next release

GitHub serves /releases/latest/download/<file>, but the file name here carries the version. The moment a new version ships, that URL is a 404 — and because it 404s rather than serving an older file, a script that omits -f will happily install an error page.

Ask the API which asset the latest release actually publishes, then download that:

Whatever the newest release is

Asks the API for the asset the latest release actually publishes, then downloads that — so it keeps working when the version and the file name change.

bash
url=$(curl -fsSL https://api.github.com/repos/digipacket-net/digipacket-republish-ai/releases/latest \
  | grep -o '"browser_download_url": *"[^"]*\.zip"' \
  | cut -d'"' -f4)

curl -fL -O "$url"

Update it

Removing the folder first is safe: settings and the activity log live in the WordPress database, not in the plugin directory.

Update an existing install

Same chain, with the old directory removed before the new one is written. Unzipping over the top would leave files from the previous version behind.

bash
cd /path/to/wordpress/wp-content/plugins \
  && curl -fL -O https://github.com/digipacket-net/digipacket-republish-ai/releases/download/v1.1.2/digipacket-republish-ai.zip \
  && echo "6256fe5585880eec5948181beefe403d685ab044aa1005331ffd54daf05be4d2  digipacket-republish-ai.zip" | sha256sum -c - \
  && rm -rf digipacket-republish-ai \
  && unzip -q digipacket-republish-ai.zip \
  && rm digipacket-republish-ai.zip \
  && wp plugin activate digipacket-republish-ai --path=/path/to/wordpress

Remove it

Remove it

Deactivates first, so WordPress runs the plugin's own deactivation code rather than having the directory disappear underneath it.

bash
wp plugin deactivate digipacket-republish-ai --path=/path/to/wordpress \
  && wp plugin delete digipacket-republish-ai --path=/path/to/wordpress

What it does not do

Written down for the same reason as everything else on this page: finding out after you have installed it is worse.

  • Your post text leaves your server. Rewriting means sending the article to Google Gemini; the images do not go, but the words do. Do not point it at writing you cannot share with a third party.
  • It needs a second WordPress site, on HTTPS — WordPress hides application passwords over plain http, so the destination cannot be set up without a certificate.
  • The rewriting depends on Google's free tier and its quotas. When one is reached the post waits for the delay Google returns rather than failing, but it does wait.
  • The plugin's admin interface is in French today. Unlike the Partner plugin it is translation-ready — text domain and /languages folder are in place — so it can be localised without touching the code.

If a command fails

curl: (22) The requested URL returned error: 404

The file name or the version in the URL is wrong. Copy the command again from this page rather than editing the version by hand — and note that curl wrote nothing, so there is nothing to clean up.

WARNING: 1 computed checksum did NOT match

Do not install it. The download was truncated, or it is not the file this page describes. Delete it and download it again; if it fails twice, write to us before running it.

The plugin appears but will not activate

Almost always the PHP version. Both plugins state their minimum above and refuse to run below it rather than failing halfway — check with php -v on the same server.

Stuck on an install

Send us the command and what it printed.

The output of the command that failed tells us more than a description of it does. Paste it in — there is nothing secret in a download.