=== RankBloom - AI Writer, Auto Blog Post Generator & SEO Audit Tool ===
Contributors: lumorabuild
Tags: ai writer, autoblog, seo audit, content generator, auto post
Requires at least: 5.6
Tested up to: 7.0
Requires PHP: 7.4
Text domain: get-rankbloom
Stable tag: 1.3.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

AI-written SEO posts published into WordPress automatically. Free forever plan: 20 posts a month, AI images included, no card needed.

== Description ==

**Get RankBloom** is the official WordPress plugin for [RankBloom](https://www.getrankbloom.com/) — an AI SEO content engine that writes blog posts for your site and publishes them here for you.

RankBloom writes the posts. This plugin is the WordPress end: it checks your workspace on a schedule and imports whatever is ready — title, body, excerpt, categories, tags, meta description, schema markup, featured image, and the audio narration when you have it enabled.

= Free forever - 20 credits every month =

Every account gets **20 credits a month, reset automatically**. No credit card, no trial clock.

* **1 credit = 1 complete AI blog post** — with up to **3 AI-generated images included free**
* **1 credit = 1 full website SEO audit** — 40+ checks with Google Lighthouse scores
* Unused-credit maths is simple: 20 credits is **20 finished posts a month**, at no cost

Paid plans add more credits and more connected sites. The free tier is a permanent $0 plan, not a time-limited trial.

= What you get in WordPress =

* **Posts arrive on their own.** Set a schedule and they appear — as drafts by default, or published if you prefer.
* **Featured images come with them.** Sideloaded into your media library, attached to the post.
* **SEO metadata is filled in.** Meta title and description written to Yoast and Rank Math automatically.
* **Schema markup included.** Article JSON-LD, plus AudioObject when a post has narration.
* **Narrated posts get a player.** A "Listen to this article" block, switchable off in Settings.
* **Never a duplicate.** Every import records its RankBloom ID, so a retried or interrupted sync cannot create the same post twice — even if you trashed it.

= Member backlink network (paid plans) =

Paid members can apply to RankBloom's curated backlink network. Once an admin approves you, your posts can give and receive **one relevance-matched, in-context link per post** — or none, if nothing fits.

* Placement is **editorial**, not automated. A link only goes where a section of the post is genuinely about that member's product, with a natural anchor written in context.
* **Never between competitors.** Two sites in the same business category are never linked to each other.
* **One per post, at most**, and how many you receive is capped by your plan.

This is an opt-in perk on paid plans, not something that happens to your site by default.

= No API keys to paste =

Click **Connect**, sign in to RankBloom, approve. You land back in WordPress already connected. The credential is exchanged server to server and is never shown to you or placed in a URL.

If the site you are connecting from is not in your workspace yet, the connect screen offers to add it and starts analysing it for you.

= Works on locked-down hosting =

Nothing needs to reach your server from outside. Every request is made **outbound** by your site, so the plugin works behind firewalls, on managed hosts, and where the REST API or the Authorization header is stripped.

= Official plugin =

This is the **official** RankBloom plugin. RankBloom (getrankbloom.com) is a service built and operated by Lumora (lumorabuild.com), the author of this plugin — it is not a third-party integration with somebody else's product.

= External service =

The plugin is a client for the RankBloom service. The plugin itself is free; a RankBloom account is required for it to do anything, because the content it imports is generated and stored on the service.

The plugin communicates only with `https://app.getrankbloom.com`, and only once you have connected your site. It sends:

* your connection token, to authenticate the request;
* the result of each import (success or failure, the resulting post URL and ID), so RankBloom knows the post is live and stops offering it again;
* during the one-time connect step only: the address of this site, so RankBloom can match it to your workspace (and offer to add it if it is new).

It receives the posts your own workspace generated. No visitor data, no personal data, and no site content other than the import results listed above is ever transmitted.

* Service: https://www.getrankbloom.com/
* API documentation: https://www.getrankbloom.com/docs/api/
* Terms of Service: https://www.getrankbloom.com/terms
* Privacy Policy: https://www.getrankbloom.com/privacy

== Installation ==

1. Install through **Plugins → Add New** and search for "Get RankBloom", or upload the ZIP.
2. Activate the plugin.
3. Open **RankBloom** in your admin menu and click **Connect to RankBloom**.
4. Sign in (or create a free account), pick the site, approve — you are returned here connected.
5. Posts start arriving on the schedule you choose.

== Frequently Asked Questions ==

= Is it really free? =

Yes. Every account gets 20 credits a month, reset automatically, with no credit card. One credit is one complete blog post including up to three AI images, so that is 20 finished posts a month at no cost. The free plan connects one site; paid plans add more credits and unlimited sites.

= Do I need a RankBloom account? =

Yes. The plugin imports content generated by the RankBloom service; without an account there is nothing to import. Creating one is free and takes a minute.

= Does the plugin write the posts itself? =

No. RankBloom writes them in your workspace, and the plugin brings the finished posts into WordPress. That split is deliberate — generation runs on the service, so it does not consume your hosting's CPU or time out on a shared plan.

= Will it import my whole archive when I connect? =

No. A new connection only receives posts created after it was made, so connecting a site with hundreds of existing posts will not flood your blog. If you do want the older content, use the "Import older posts" button.

= Can it publish without me reviewing first? =

Only if you choose that. The default is to import everything as a draft.

= Will it create duplicates? =

No. Every imported post records its RankBloom ID, and that ID is checked before anything is created. A retried or interrupted sync will skip posts that already exist — including ones you have moved to the trash.

= What happens if I deactivate it? =

Nothing is deleted. Your imported posts, media and settings stay exactly as they are. Uninstalling removes the plugin's own settings but never touches your posts.

= Does it work if my host blocks the REST API? =

Yes. The plugin never accepts inbound requests. It only makes outbound calls to RankBloom, so a blocked REST API, a firewall, or a stripped Authorization header does not affect it.

= Do I have to paste an API key? =

No. You click Connect, sign in to RankBloom, and approve. The credential is exchanged behind the scenes and never shown to you or placed in a URL.

== Screenshots ==

1. The plugin in your WordPress admin — connected, with what has been imported and when the next check runs.
2. Settings — import as draft or published, pick the category and author, and choose how often to check.
3. Connecting a site in RankBloom — pick the site, pick WordPress, done. No token to copy anywhere.
4. Your generated posts, each with its own AI image. One credit per post, and the images are free.
5. A website SEO audit running — 40+ checks including a full Google Lighthouse pass.
6. Audit results: SEO, performance, accessibility and best-practice scores with Core Web Vitals.

== Changelog ==

= 1.3.1 =
* Changed: documentation now states clearly that this is the official plugin for RankBloom, a
  service operated by the plugin author, rather than a third-party integration.

= 1.3.0 =
* Added: narrated posts now show a "Listen to this article" player, with AudioObject structured
  data so search engines know the article has a spoken version. Can be turned off in Settings.

= 1.2.0 =
* Changed: the plugin is now named "Get RankBloom", matching the getrankbloom.com service it
  connects to. The text domain moved to `get-rankbloom` to match the new slug.

= 1.1.2 =
* Fixed: normalised line endings across all plugin files.

= 1.1.1 =
* Changed: each admin action now verifies its security nonce inline, so the check is visible to
  automated review tooling as well as to a human reader.
* Changed: declared compatibility with WordPress 7.0.

= 1.1.0 =
* Added: "More from Lumora" tab listing the other Lumora Build products.
* Added: the connect screen now recognises the site you are connecting from, and offers to add it
  to your workspace (and start analysing it) if it is not there yet.
* Added: a welcome panel and direct links into your workspace after connecting.
* Fixed: the connect link carried HTML-encoded ampersands, so the security check on the way back
  never matched and the connection could not complete.
* Fixed: the per-site author byline was missing from imported posts.

= 1.0.0 =
* First release: one-click connect (no API keys), scheduled import of RankBloom posts, featured
  image sideloading, categories and tags, meta description (including Yoast and Rank Math), schema
  markup, audio narration URL, duplicate-safe imports, and manual sync.

== Upgrade Notice ==

= 1.2.0 =
Renamed to "Get RankBloom" to match the service. No action needed; your connection is preserved.

= 1.1.0 =
Fixes a bug that prevented connecting. Update if you could not complete the connect step.

= 1.0.0 =
First release.
