Description
KUROFUNE LINK works with KUROFUNE, a separate, paid SEO service. It does two things on the posts of your site:
- Related posts. It adds a short list of related posts from the same site after the body of each post, so that new articles also receive links from older ones. KUROFUNE decides which posts are related, using its analysis of your articles, and delivers only pairs of post IDs. The plugin renders the list from your own WordPress data (titles, permalinks and featured images).
- Keeping KUROFUNE’s parts up to date. Posts written or rewritten with KUROFUNE can contain three kinds of marked parts: recommendation links (affiliate or product links you registered in KUROFUNE), call-to-action (CTA) blocks, and author cards. When you change one of them in KUROFUNE, KUROFUNE delivers the new link URL or block HTML, and the plugin shows it in place of the old one in every post that contains that marked part.
- The post content is never modified. Both happen only when a single post is displayed, so deactivating the plugin brings back exactly what is saved in each post.
- Posts that the body already links to are left out of the related posts. Only published posts without a password are shown.
- The number of related posts (default 6) and the heading can be changed under Settings > KUROFUNE LINK, and the related-post list can be turned off there. That setting does not stop the updates of marked parts; deactivate the plugin to stop them.
- Delivered HTML is checked with WordPress’s own HTML filter (kses) when it is received, and anything that does not pass is not used. Delivered recommendation link URLs must use https.
- No “powered by” credit, no tracking of visitors, no cookies and no front-end JavaScript. The plugin itself never sends requests to KUROFUNE or any other server (see External services).
- For editors, the admin bar, the post editor and the posts list get “AI rewrite in KUROFUNE” (and “Edit in KUROFUNE” for posts KUROFUNE wrote) links that open the post in KUROFUNE.
KUROFUNE deliveries and cancellation
The plugin shows nothing until KUROFUNE sends the first delivery. An active KUROFUNE plan (including a trial), a WordPress connection, and KUROFUNE LINK being turned on are required for new deliveries.
After cancellation, the last delivered related posts and marked parts remain displayed, but changes are no longer reflected. Archiving the site or deleting its workspace in KUROFUNE also leaves the last delivery displayed. The plugin stays free to use after you cancel, and the last delivery keeps being shown. To stop the display, deactivate the plugin (activating it again shows the last delivery as before).
External services
This plugin is an add-on for KUROFUNE, a service provided by 株式会社KUROFUNE AI (KUROFUNE AI, https://www.kurofune-ai.co.jp/). It does nothing until KUROFUNE starts sending data to it.
What KUROFUNE sends to your site, and when. The plugin itself never contacts KUROFUNE or any other server. Instead, after you connect your site to KUROFUNE (with the WordPress Application Password of an Editor or Administrator that you register in KUROFUNE) and turn on KUROFUNE LINK there, KUROFUNE calls three REST API endpoints that this plugin adds to your site, periodically and when you change something in KUROFUNE:
POST /wp-json/kurofune-link/v1/sync– KUROFUNE sends: an identifier of your KUROFUNE site, a sequence number, how long that KUROFUNE site reserves this WordPress against another one, pairs of post IDs for related posts and their checksum, the IDs of the posts KUROFUNE wrote, the address of KUROFUNE (used only for the “Edit / AI rewrite in KUROFUNE” links), the current URLs of marked recommendation links, and the HTML of marked CTA blocks and author cards. The plugin stores these values in WordPress options on your site.GET /wp-json/kurofune-link/v1/status– KUROFUNE reads: the plugin version, your site’s home URL, the display setting, the detected page-cache plugin, since when a cache purge has been waiting, and whether another KUROFUNE site reserves this WordPress; for its own delivery, also the sequence number, a checksum of the stored post IDs, the remaining reservation time and when delivered items were last rejected.GET /wp-json/kurofune-link/v1/usage– KUROFUNE asks which published posts contain one specified recommendation link, CTA block or author card. The response includes up to 200 IDs, titles and URLs of published posts.
All three endpoints require a logged-in user with the edit_others_posts capability (Editor or above). Nothing about your visitors is sent to KUROFUNE.
What your visitors’ browsers load. Delivered recommendation links point to the destinations you registered in KUROFUNE, and delivered CTA blocks and author cards can contain images. An image is loaded by the visitor’s browser from wherever it is hosted: your own media library, KUROFUNE’s image storage, or the address of an image URL you entered in KUROFUNE. As with any image or link in a post, that host receives the visitor’s IP address and browser information; the plugin adds no tracking to these requests.
Links that open KUROFUNE. When an editor clicks “Edit in KUROFUNE” or “AI rewrite in KUROFUNE”, the browser opens KUROFUNE with this site’s host name, the post ID and the chosen action in the address. Nothing is sent until the link is clicked. The links open the KUROFUNE address named in KUROFUNE’s deliveries, and only if it is one of these two (or an address the site’s administrator adds in wp-config.php, see the FAQ):
- https://app.kurofune-ai.co.jp – KUROFUNE, the service that customers use.
- https://kurofune-web-stg-qk2qckvyua-uc.a.run.app – KUROFUNE’s staging environment, used only by KUROFUNE staff and testers to check KUROFUNE before a release. The links open it only on a WordPress site connected to that staging environment.
KUROFUNE’s terms and privacy policy:
- KUROFUNE terms of service: https://www.kurofune-ai.co.jp/terms/
- KUROFUNE privacy policy: https://www.kurofune-ai.co.jp/privacy/
Source code
Everything in this plugin is shipped as human-readable source: the PHP, the stylesheet and the translation source (languages/*.po). There is no build step other than compiling the .po file into the bundled .mo file with gettext’s msgfmt. Development-only files (unit tests, coding-standards configuration) are left out of the zip.
Installation
- Install and activate the plugin.
- In KUROFUNE, connect the site to WordPress (if not connected yet) and turn on KUROFUNE LINK in the site settings.
- The related posts, and changes you make in KUROFUNE to recommendation links, CTA blocks and author cards, appear after KUROFUNE’s next delivery. Adjust the number of posts and the heading under Settings > KUROFUNE LINK if needed.
FAQ
-
Nothing is displayed
-
Before the first delivery, check that the KUROFUNE plan is active, KUROFUNE LINK is turned on for this site in KUROFUNE, and the site is connected with an Editor or Administrator account. Only articles that KUROFUNE has analysed get related posts. If a previous delivery existed, check whether KUROFUNE revoked it (for example, LINK was turned off for this site in KUROFUNE) or the plugin was deleted with “Also delete the content received from KUROFUNE and these settings” turned on and then installed again.
-
Turn off one of the two lists (in your theme settings or under Settings > KUROFUNE LINK) so that readers do not see two.
-
Which PHP does it need?
-
PHP 7.4 or later on a 64-bit build (the standard for current hosting). On 32-bit PHP, deliveries with large IDs or sequence numbers are refused rather than stored incorrectly.
-
Can I style the list?
-
Yes. The markup uses fixed class names starting with
kurofune-link(for example.kurofune-link__card), and the plugin’s stylesheet is intentionally minimal. -
What happens when I deactivate or delete the plugin?
-
Deactivating stops everything the plugin does, and posts show exactly their saved content again. The delivered data and the settings are kept, so activating the plugin again shows the last delivery as before. If KUROFUNE has revoked its delivery in the meantime (for example, you turned LINK off for the site), KUROFUNE normally sends the revoke again while this WordPress stays connected to the site, and the data is removed on its next delivery from KUROFUNE (usually in about 30 minutes). Deleting the plugin keeps them as well, so installing it again shows the last delivery as before. To remove them when the plugin is deleted, turn on “Also delete the content received from KUROFUNE and these settings” under Settings > KUROFUNE LINK before deleting (it is off by default).
-
The links should open another KUROFUNE address
-
The “Edit / AI rewrite in KUROFUNE” links only open the two addresses listed under External services. To let them open another KUROFUNE address, add it to
wp-config.php, for exampledefine( 'KUROFUNE_LINK_EXTRA_APP_URL', 'https://kurofune.example.com' );(https, no path). Deliveries work without this setting.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“KUROFUNE LINK” is open source software. The following people have contributed to this plugin.
Contributors“KUROFUNE LINK” has been translated into 1 locale. Thank you to the translators for their contributions.
Translate “KUROFUNE LINK” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.3.4
- Image CTA blocks with a separate image for phones are accepted. KUROFUNE sends them as
<picture>with one<source>(media query and one https image URL) around the usual image; WordPress’s own HTML filter does not list these two tags, so the plugin allows them only while checking a delivered CTA block. A<source>whose image is not a single https URL is not used.
1.3.3
- The Status section of the settings screen was rebuilt as one card. A coloured banner says whether KUROFUNE is delivering (green), has stopped (yellow) or has not delivered anything yet (blue, with the three steps to start). Below it the card lists how many posts show recommendation links, CTA blocks and author cards, how many posts have related posts, when the last delivery arrived, how long until the update deadline, which KUROFUNE this WordPress is connected to, and a button that opens KUROFUNE. When updates have stopped it also lists the usual reasons and what to do.
- The time of the last delivery is now stored with the delivered data (the same option, removed on uninstall only when the delete setting is on). Until the next delivery arrives after updating, it shows “Unknown”.
- When updates from KUROFUNE have stopped (the update deadline has passed), a warning also appears on the Dashboard and the Plugins screen for administrators for 14 days after the deadline, with a link to the status.
- The advice about a theme or another plugin that already shows related posts moved from Status to the description of the Display setting.
- Deactivating or deleting the plugin no longer deletes the delivered data (recommendation links, CTA blocks, author cards, related posts); activating or reinstalling it shows the last delivery as before. A new setting, “Also delete the content received from KUROFUNE and these settings” (off by default, under Settings > KUROFUNE LINK), removes the delivered data and the settings when the plugin is deleted; each site of a network uses its own setting. Previously a mis-click on Deactivate lost the last delivery for good once updates from KUROFUNE had stopped (project archived or subscription cancelled). If KUROFUNE has revoked its delivery in the meantime, KUROFUNE sends the revoke again and it is removed on the next delivery from KUROFUNE (usually in about 30 minutes). The status card now also says the plugin stays free to use after cancellation.
1.3.2
- Settings screen: the description now also covers what KUROFUNE LINK has done since 1.1: it replaces recommendation links, CTA blocks and author cards with their latest KUROFUNE versions when a post is displayed. It also says which setting stops what: Display turns off only the related posts; deactivating the plugin stops the replacement. The plugin list description was updated the same way.
1.3.1
- “Edit / AI rewrite in KUROFUNE” links can also open KUROFUNE’s staging environment (used only by KUROFUNE staff and testers), so that the same published plugin works with both. The readme lists both addresses under External services.
1.3.0
- Author cards built by KUROFUNE are accepted on WordPress 6.5 – 6.x (the
displaystyle was refused there). - A delivered CTA block must be one complete block, so that it cannot change the rest of the post.
- A delivery that is in progress while the plugin is deactivated or deleted is discarded instead of saved.
- The delivery lock is unique per WordPress install, also when several installs share one MySQL server.
- With WP Super Cache on a multisite network, only the affected posts’ caches are cleared, never the whole cache.
- “Edit / AI rewrite in KUROFUNE” links open only the production KUROFUNE unless
KUROFUNE_LINK_EXTRA_APP_URLis defined. - Bundled translations are loaded by the plugin only on WordPress 6.5 – 6.7 or when network-activated; otherwise WordPress loads them.
- Deactivating and uninstalling also remove the scheduled cache purge.
- Readme: describe the external service, what is received and sent, and images loaded by visitors’ browsers.
1.2.0
- Update existing author cards marked with a persona ID when KUROFUNE sends new card HTML, without changing saved post content.
1.1.0
- Update marked recommendation links and CTA blocks when KUROFUNE sends new values, without changing the saved post content.
- Add a usage endpoint for published posts and deferred cache purging after live item changes.
1.0.3
- Posts KUROFUNE wrote get “Edit in KUROFUNE” and “AI rewrite in KUROFUNE”; other posts get “AI rewrite in KUROFUNE”. The admin bar shows them under one “KUROFUNE” item.
1.0.2
- “Open in KUROFUNE” in the admin bar, the post editor side column and the posts list (for users who can edit the post).
1.0.1
- Show 6 related posts by default, in 3 columns (2 on narrow screens) so the last row is always full.
- Default heading is now “You may also like” (Japanese: こちらもおすすめ).
- Refuse to report success when the assignment could not be saved; never show password-protected posts.
1.0.0
- First release.
