Naito Connector

Wopisanje

Naito generates original, subscriber-exclusive news articles from the same day’s headlines. This plugin delivers each article straight into your WordPress via webhook: it creates the post (draft or published, your choice), downloads and sets the featured image, fills in category/tags, and populates the Yoast and RankMath SEO fields (whichever is installed).

When the source story is updated later (Naito sends article.updated), the plugin finds the post it already created and updates it instead of duplicating it.

What this plugin does NOT do

  • It does not invent content or talk to any AI — it only receives what Naito has already generated and delivered via webhook.
  • It does not delete posts on uninstall — it only removes the plugin’s own configuration.
  • It does not duplicate structured data: the schema.org (JSON-LD) markup Naito already generates for each article (NewsArticle, and FAQPage when applicable) is only output when no recognized SEO plugin is active — if you use Yoast/RankMath, their schema.org output remains the source of truth.

External services

This plugin works together with the Naito service (naito.news), operated by the plugin’s author. It involves two kinds of traffic:

  • Incoming (Naito to your site): Naito sends each generated article to your site’s webhook URL (Settings > Naito), signed with the secret you configured. Nothing is sent back to Naito by the plugin.
  • Outgoing (your site to Naito): when an article has a featured image, the plugin downloads it with a standard HTTP GET from a temporary, signed image URL included in the webhook payload (hosted on Naito’s storage domain, cdn.naito.news). The only information the server receives is what any HTTP request exposes (your server’s IP address and user agent); no content, user, or site data is transmitted.

The plugin does not load any scripts, fonts, or tracking from external sources and collects no visitor data. Naito’s terms of use are at naito.news/terms and its privacy policy at naito.news/privacy.

Fota wobrazowki

Instalacija

  1. Upload the naito-connector folder to /wp-content/plugins/ (or install the .zip directly from the admin).
  2. Activate the plugin from the Plugins menu.
  3. Go to Settings > Naito.
  4. Copy the webhook URL shown there and paste it into the Naito dashboard, in your client’s webhook field.
  5. Paste the „Webhook secret“ from the Naito dashboard into the same field here — it must match on both sides.
  6. Choose whether new articles come in as drafts (recommended, so you can review first) or already published.

HSP

Do I need a Naito API key here in the plugin?

No. The plugin only receives deliveries via webhook — it never makes any outbound call to the Naito API.

What happens if the webhook secret is wrong?

The request is rejected with HTTP 401 before any post is created — the HMAC signature has to match.

Can I edit the post after it’s imported?

Yes, normally — it becomes a regular WordPress post. If Naito later sends an update to the same story, the content is rewritten, but the publish status you set manually is preserved (the plugin never demotes a post you’ve already reviewed/published back to draft).

What is the „Follow Naito’s recommendation“ mode?

Instead of every new post always being born as a draft or always published, Naito decides per article: published when the source text was extracted with high confidence, draft when extraction was weaker (excerpt aggregation instead of full text). It’s just another option — if you prefer full manual control, „Save as draft“ or „Publish automatically“ are still available and ignore this signal.

How do I find the posts Naito created among my own drafts?

In Posts, look for the „Naito (N)“ link next to All / Published / Drafts — it lists only what Naito imported. The „Naito – Marca“ and „Naito – Categoria“ columns show which brand and category each post came from; clicking a value filters the list by it. These are private labels: they never appear on your site (no archive page, no URL, no menu), and the post itself is a regular WordPress post.

What is the short paragraph right below the title on every post?

That’s the subtitle (a.k.a. „dek“ or „standfirst“) — a 1-2 sentence line that expands on the headline without repeating it, a common convention in newsrooms worldwide. Naito already generated this text for every article; it just wasn’t shown on the page before — only saved as the post excerpt, which most themes never display on the article page itself. It’s still saved as the excerpt too (useful for listings, RSS, and social previews), this is in addition to that, not instead of it.

What is the „Related reading“ block that appears on some posts?

When Naito identifies your own older articles related (same category) to a new one, it suggests up to 3 links — the plugin only includes the ones that already exist for real in this WordPress install (previously imported by this same plugin). There’s nothing to configure; it’s automatic and silent when there’s nothing related yet.

What is the „Naito — Social pack“ box that appears on the edit screen?

When Naito generates a Twitter/X thread, a LinkedIn post, and/or an Instagram caption for an article, that text is made ready in a sidebar box on the post edit screen — just click to select, then copy/paste into the network you want. The plugin never posts to any social network on its own; it only hands your social media manager ready-to-use text. The box only appears on posts that have this content.

What is the „Sources“ section at the end of some posts?

Naito checks each factual claim in an article against the source material and keeps the exact excerpt that backs it up. This section shows that, claim by claim, collapsed by default so it doesn’t get in the way of reading — click to expand. Besides giving readers a way to verify what’s stated, showing real source excerpts (not just a link) is one of the signals AI answer engines (ChatGPT, Perplexity, Google AI Overviews) look for when deciding what to cite. Only appears on posts that have this data.

What is the sponsored content notice at the top of some posts?

Naito also offers Branded Content: articles written from a client’s own brief (not from a news source), for the client’s sponsors. Those posts always open with a plain-text disclosure naming the sponsor — there’s no setting to turn it off, since it’s a transparency requirement, not a style choice. Regular posts (the vast majority) are entirely unaffected and show no such notice.

Can a Branded Content post link out to the sponsor?

Yes — when the client provides a destination URL with the request, the post gets a „Learn more“ link to the sponsor near the end of the article, marked rel="sponsored" per Google’s own guidance for paid links. This link is always built by the plugin itself from that URL field; the AI never writes its own links into the article text, so there’s nothing to configure or worry about it getting mangled.

Pohódnoćenja

Za tutón tykač pohódnoćenja njejsu.

Sobuskutkowarjo a wuwiwarjo

„Naito Connector“ je softwara wotewrjeneho žórła. Slědowacy ludźo su k tutomu tykačej přinošowali.

Sobuskutkowarjo

Protokol změnow

0.13.0

  • Optional AI-disclosure line at the end of each post („how this content was created“). Turned on and worded in the Naito dashboard, off by default; the plugin only renders what the Naito payload carries and has no setting of its own. The „reviewed by the editorial team“ wording is only ever sent for articles that actually went through the Naito review queue.

0.12.0

  • Branded Content posts can now arrive with no image at all, by design — the Naito API no longer generates a stand-in image when the client didn’t provide one for the request. When that happens, no featured image is set and the plugin never errors; the publisher is expected to add the client’s actual agreed-upon media directly in WordPress when publishing.

0.11.0

  • Branded Content posts can now carry a real call-to-action link to the sponsor („Learn more“), when the client provides a destination URL for the request. It is always built by the plugin from the raw URL field, never from free text the AI wrote in the article body — Markdown links are not rendered anywhere in this pipeline, and raw HTML written by the model was never trusted either. Marked rel="sponsored" per Google’s own guidance for paid links.

0.10.0

  • Naito posts are now easy to tell apart in the posts list: „Naito – Marca“ and „Naito – Categoria“ columns (click a value to filter) and a „Naito (N)“ link next to All/Published/Drafts. They are non-public taxonomies — no page, URL, or visible category/tag on your site, and the post remains a regular post.
  • Updates (article.updated) no longer overwrite the real WordPress categories and tags — they are applied only when the post is created, so anything the editor recategorized or retagged is kept.
  • Uninstalling the plugin also removes those brand/category labels (never the posts).

0.9.0

  • Subtitle (dek): the executive summary Naito already generates for each article now appears visibly right below the title, before „Key points“ — until now it was only saved as the WordPress excerpt, which most themes never show on the article page itself.

0.8.0

  • Branded Content: when an article is sponsored content, the post now opens with a disclosure notice („Sponsored content by X“), always — not configurable, since it is an ethical/legal requirement, not a style choice. It only appears on posts generated as Branded Content; every regular post stays identical.

0.7.0

  • New „Sources“ section, collapsed by default, at the end of the post: the claim-by-claim source excerpts Naito already generates for every article (proof for what’s stated, not just a source list) are now actually shown on the page — this data used to reach only Naito’s own review dashboard, never the published post.

0.6.0

  • New „Naito — Social pack“ box on the post edit screen: Twitter/X thread, LinkedIn post, and Instagram caption that Naito already generates for each article, ready to copy and paste — this text used to arrive in the payload but had no native WordPress field to map to, so it was never used.

0.5.0

  • The post URL now uses the optimized slug Naito already generates for each article, instead of WordPress deriving it on its own from the title — only applied on creation, never changes the URL of a post the publisher has already published/shared.
  • Structured data (schema.org/JSON-LD — NewsArticle, and FAQPage when the article has questions and answers) is now actually rendered on the page, not just stored unused — but only when no recognized SEO plugin (Yoast, RankMath) is active, so it never duplicates/conflicts with the schema they already generate.
  • Fixed a real encoding bug: articles with accented characters (i.e., practically every Portuguese-language article) had their structured data saved corrupted (e.g., „ç“ turned into the literal text „u00e7“) — WordPress strips escape backslashes automatically when saving post meta, and the plugin wasn’t compensating for that.

0.4.0

  • „Key points“ block at the top of the post, built from the highlights Naito already generates for each article — this data used to arrive in the payload but the plugin never used it.
  • Social sharing preview (Open Graph/Twitter Card) filled in on Yoast and RankMath from the text Naito already writes specifically for that purpose — previously only the search SEO fields (title/description) were filled in, so the social preview fell back to the generic excerpt.

0.3.0

  • Internal link suggestion: when Naito identifies older related articles (same category, already published by you), the plugin appends a „Related reading“ block with real links to the end of the post — only when the related article already exists in this WordPress install.

0.2.0

  • Third publish mode: „Follow Naito’s recommendation“ — uses the payload’s recommended_status (source extraction confidence) to decide draft vs. published per article, instead of the single fixed mode from before.

0.1.0

  • First version: receives article.created/article.updated, creates/updates the post, featured image, category/tags, SEO (Yoast/RankMath).