Description
SEOTHON Connect is the WordPress client for the SEOTHON content service. It does two separate things, and the second one works without an account:
1. It receives finished posts from SEOTHON.
Instead of handing SEOTHON an application password — which would carry every capability of the user it belongs to — you pair the site once with a click. The pairing produces a token that authorises exactly five operations and nothing else: write a post, write SEO meta, upload an image, discard a draft the plugin itself created, and read event dates. No WordPress credentials are stored at SEOTHON, and no SEOTHON credentials are stored here.
Every delivered post arrives as a draft. That is not a setting and cannot be switched on. The EU AI Act requires human approval before AI-assisted content is published, so you review and publish in the WordPress editor yourself. The only exception: if you have already published a post, a later content update keeps it published instead of dropping it back to draft.
2. It runs a free local SEO checkup.
The checkup looks at your last 40 published posts and pages and reports common on-page weaknesses: missing or badly sized SEO titles and meta descriptions, missing or duplicated H1 headings, images without alt text, thin content, missing featured images and missing internal links. It runs entirely inside your own database. Nothing is uploaded, nothing is sent to SEOTHON, and it works whether or not you ever connect the site.
The checkup only reports. It never changes a post.
What it does to your site
- Creates posts as drafts, with title, body, excerpt, categories, tags and featured image.
- Writes SEO title, meta description, focus keyword and canonical URL. Yoast SEO and Rank Math are detected automatically and their own fields are used; without either, the values are kept under the plugin’s own meta keys so nothing is lost if you install an SEO plugin later.
- Outputs JSON-LD structured data delivered with a post in the page head.
- Uploads images into the media library, including the intermediate sizes, so
srcsetworks. - Reads event dates from The Events Calendar, if installed. Read only.
What it does not do
- It never publishes a post by itself.
- It never deletes a published post. It only trashes drafts it created itself.
- It never touches a post you wrote yourself, even when the slug matches, unless the delivery explicitly asks to adopt it.
- It adds nothing to the front end of your site apart from the JSON-LD described above.
Extensibility
Filters: seothon_connect_post_type, seothon_connect_article_postarr, seothon_connect_events_post_type, seothon_connect_events_meta_keys, seothon_connect_events_query_args, seothon_connect_events.
Actions: seothon_connect_article_saved, seothon_connect_media_stored.
External services
This plugin connects to SEOTHON, a paid content service operated by SEOTHON, Philipp Brause, Germany. A SEOTHON account is required for the delivery features; the SEO checkup described above works without one.
Nothing is transmitted until you connect the site. An installed but unconnected plugin makes no outbound request of any kind.
Once you connect, the plugin talks to https://app.seothon.com:
- When you connect (you click “Connect”, or enter a connection code): the plugin sends your site address, the address of its own REST interface, the platform name (“wordpress”), the plugin version and a one-time random value used to tie the pairing to this site. In return it receives the access token for this site.
- Once a day (a scheduled heartbeat): the plugin sends the plugin version, your WordPress version, your PHP version and which SEO plugin it detected. This keeps the connection visible as alive in your SEOTHON dashboard and is the channel through which a token renewal reaches the site. No content and no personal data are sent.
- When you disconnect or uninstall: the plugin tells SEOTHON to revoke the token, so it cannot be used afterwards.
In the other direction SEOTHON sends the posts, images and SEO data you commissioned. Each of those requests is signed and is rejected if the signature, the token or the timestamp does not match.
Service: https://seothon.com/
Terms: https://seothon.com/agb.php
Privacy policy: https://seothon.com/datenschutz.php
Screenshots



Installation
- Install and activate the plugin.
- Open SEOTHON Connect in the WordPress menu.
- To use the free checkup, switch to the SEO checkup tab and press “Check now”. No account needed.
- To receive posts, either paste a connection code from your SEOTHON dashboard, or press “Connect with SEOTHON” and pick your project there.
- After connecting, press “Test delivery to this site” once. That checks the direction posts actually travel and tells you plainly if your host or a security plugin blocks it.
FAQ
-
Do I need a SEOTHON account?
-
Not for the SEO checkup — that runs entirely on your own site and never contacts us. You do need an account for the delivery of posts.
-
Can the plugin publish posts without me?
-
No. Posts always arrive as drafts, and that is not configurable. If you have already published a post yourself, a later content update for that same post keeps it published rather than reverting it to a draft.
-
What happens if I already have a post with the same slug?
-
Nothing happens to it. A delivery only ever updates a post the plugin created itself. A slug collision with one of your own posts results in a new post, the way WordPress handles any duplicate slug.
-
Why does the plugin ask for no WordPress password?
-
Because it does not need one. Pairing produces a token scoped to five specific operations. An application password, by contrast, would grant everything its user account can do.
-
I connected, but no posts arrive.
-
Press “Test delivery to this site” on the settings screen. Most failures are one of three things, and the test names which: a security plugin or host stripping the
Authorizationheader, the REST API being blocked, or the server clock being more than five minutes off. -
The settings screen says the stored access data cannot be read.
-
The security keys (salts) in your
wp-config.phpwere changed, so the stored token can no longer be decrypted. Connect again — it takes one click and nothing is lost. -
Does the plugin work without pretty permalinks?
-
Yes. It reports its real interface address to SEOTHON, including the
?rest_route=form and installations in a subdirectory. -
Which languages are included?
-
The interface is English, with a complete German translation included.
-
What is removed when I uninstall?
-
Everything: the token (which is also revoked at SEOTHON), all plugin settings, the cached checkup, the scheduled heartbeat and every post meta key the plugin ever wrote. Your posts and images stay, of course.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“SEOTHON Connect” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “SEOTHON Connect” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.2.2
- Fixed: the SEO checkup could show its findings in English on German sites. Findings are now translated when the list is shown, not when the check ran.
1.2.1
- Fixed: the German translation now also loads on sites set to “Deutsch (Sie)”, Austrian or Swiss German. WordPress does not fall back between German variants, so those sites showed the interface in English.
1.2.0
- Fixed: a delivery could overwrite a post you wrote yourself when the slug matched. Deliveries now only ever update posts the plugin created, unless adoption is explicitly requested.
- Fixed: discarding a draft used a permanent delete that bypassed the trash, and matched on the slug alone. It now trashes, and only posts the plugin created.
- Fixed: a fatal error on the checkup tab on hosts without the mbstring extension.
- Fixed: removed the
Update URIheader, which would have prevented updates from the plugin directory. - Added: “Test delivery to this site” — a signed self-test that verifies SEOTHON can reach this installation, and names the cause when it cannot.
- Added: a clear explanation when the stored token can no longer be decrypted after the WordPress salts were changed.
- Added: tags from a delivery, filters and actions for extending the plugin, English interface with a German translation.
- Changed: structured data is now stored decoded and re-encoded on output, so no delivered value is ever echoed raw.
- Changed: replay protection for write requests, via a single-use value covered by the request signature.
- Changed: secrets at rest now use
sodium_crypto_secretbox()where available; existing pairings keep working. - Changed: uninstalling now removes every option, transient and post meta key the plugin wrote.
- Changed: the setup notice can be dismissed for good.
1.1.1
- Detect Rank Math reliably on current versions.
- Store delivered JSON-LD separately so it is not stripped into visible body text.
