=== RankPine: AI Writer & SEO on Autopilot ===
Contributors: rankpine
Tags: ai writer, seo, autoblogging, content automation, blogging
Requires at least: 6.6
Tested up to: 7.0
Stable tag: 1.0.0
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

AI writer and autoblogging automation for daily SEO-optimized WordPress posts with images, sources, and internal links.

== Description ==

RankPine is an AI writer and SEO automation service for WordPress. It researches your market, competitors, and high-intent keyword opportunities, then publishes one genuinely good, SEO-optimized blog post every day.

Each article includes original images, cited research, internal links, and your brand voice instead of generic AI content. RankPine can save posts as drafts for review or run as an autoblogging tool that publishes automatically according to your WordPress settings.

The goal is simple: help your business earn more visibility on Google and in AI answers such as ChatGPT while you focus on your customers. [Learn more on the official RankPine website](https://rankpine.com/).

= AI writing and SEO automation =

* Researches your market, competitors, and keyword opportunities.
* Writes one high-quality, SEO-optimized WordPress blog post every day.
* Adds original images, sources, internal links, categories, tags, and metadata.
* Publishes automatically or saves drafts for your approval.
* Updates an existing RankPine article without creating a duplicate post.

The plugin replaces manual application-password setup with an explicit, short-lived pairing flow. An administrator starts the connection in WordPress and approves the selected site in RankPine. The resulting signing secret is encrypted in WordPress, encrypted in RankPine, never shown in the browser, and can be rotated or revoked from the plugin screen.

= Publishing features =

* Create drafts, pending-review posts, or published posts.
* Set the title, slug, HTML body, excerpt, author, categories, tags, featured image, and RankPine metadata.
* Update the same WordPress post when RankPine sends the same stable article ID again.
* Authenticate every inbound request with HMAC-SHA256, a timestamp, and a one-time nonce.
* Prevent concurrent retries from creating duplicate posts.
* Download featured images through the WordPress safe HTTP API with HTTPS, network, size, and image-type checks.
* Show connection status and secret-free diagnostics in wp-admin.
* Rotate or disconnect the connection at any time.

The plugin does not add public-site links, credits, badges, scripts, or tracking. It sends no telemetry and creates no admin nags.

= External service =

This plugin requires the RankPine SaaS service to generate and deliver articles.

The plugin communicates with [RankPine](https://rankpine.com/) only after a WordPress administrator explicitly starts pairing or after the administrator has approved a connection.

During pairing, the WordPress site URL and a random, single-use code that expires after 10 minutes are sent to RankPine. After pairing, RankPine sends article titles, slugs, HTML bodies, excerpts, author and taxonomy choices, featured-image URLs and alt text, language and translation-group metadata, and stable RankPine article IDs. WordPress needs this data to create or update the requested posts. Signed test requests contain only a verification marker.

RankPine [Terms of Service](https://rankpine.com/terms)

RankPine [Privacy Policy](https://rankpine.com/privacy)

[RankPine WordPress documentation](https://rankpine.com/docs/integrations/wordpress)

= Privacy =

The plugin itself does not collect telemetry or visitor data. It stores an encrypted connection secret, the connecting WordPress user ID, connection timestamps, publishing defaults, replay-prevention records that expire after five minutes, and stable RankPine article IDs in post metadata.

Disconnecting deletes the active connection secret. Uninstalling deletes plugin settings, connection state, temporary security records, and RankPine-specific post metadata. Posts and media created at the administrator's request remain in WordPress so uninstalling does not remove published content.

WordPress can suggest equivalent text for the site's Privacy Policy page under Settings > Privacy.

== Installation ==

1. In WordPress, go to Plugins > Add New Plugin and install RankPine.
2. Activate the plugin.
3. Open RankPine in the WordPress admin menu.
4. Choose Connect to RankPine. The site must use HTTPS.
5. Sign in to RankPine, select the matching site, and approve the one-time connection.
6. Return to WordPress and choose whether articles should be drafts, pending review, or published.
7. Optionally select a default author, categories, tags, and featured-image behavior.

The existing RankPine application-password connection remains available in the RankPine web app as a fallback for hosts that cannot install this plugin.

== Frequently Asked Questions ==

= Do I need a RankPine account? =

Yes. RankPine is the external service that researches, creates, and sends the SEO articles. The plugin connects that automation to WordPress and provides local publishing controls.

= Is RankPine an AI writer or an autoblogging plugin? =

Both. RankPine handles AI-assisted keyword research and article writing in its external service, while this WordPress plugin securely receives the finished content. You can review every article as a draft or enable automatic publishing for a hands-off autoblogging workflow.

= How does RankPine help with WordPress SEO? =

RankPine plans articles around relevant keyword opportunities and creates structured posts with cited research, original images, internal links, metadata, categories, and tags. Consistent, useful publishing can build topical coverage and organic search visibility over time, but no plugin can guarantee rankings.

= Does the plugin send visitor data or analytics? =

No. It contains no tracking or telemetry and makes no requests on public site views.

= Is my WordPress password shared with RankPine? =

No. The plugin creates a separate random signing secret during pairing. It does not read or send WordPress passwords, cookies, or application passwords.

= How are duplicate posts prevented? =

Every article includes a stable RankPine article ID. The plugin stores that ID as protected post metadata and updates the matching post on retries. It also serializes concurrent requests for the same article.

= Can RankPine publish immediately? =

Only if an administrator selects Published on the RankPine settings screen and the connected WordPress user still has the `publish_posts` capability. Draft is the default.

= What happens when a featured image cannot be fetched safely? =

The request fails with a non-secret diagnostic. RankPine can retry the same article without creating a duplicate. Images must use HTTPS, resolve to a public destination, be 10 MB or smaller, and be a JPEG, PNG, GIF, or WebP image.

= How do I revoke or rotate access? =

Open RankPine in wp-admin. Disconnect revokes the current signing secret immediately. Rotate connection creates a new short-lived pairing while keeping the existing connection active until the new pairing succeeds.

= Can I keep using an application password? =

Yes. The application-password connection remains available in RankPine as a fallback and is not removed or automatically migrated by this plugin.

= Does uninstalling remove my posts? =

No. Uninstall removes RankPine settings, secrets, temporary security state, and RankPine-specific metadata. WordPress posts and media remain intact.

== Screenshots ==

1. The initial RankPine pairing screen and safe publishing defaults.
2. Connected status with a successful signed endpoint test, rotate, and disconnect controls.
3. Publishing defaults, secret-free diagnostics, and the external-service privacy disclosure.

== Changelog ==

= 1.0.0 =

* Initial release.
* Added short-lived, single-use pairing with encrypted shared-secret storage.
* Added signed, replay-protected test and post upsert endpoints.
* Added idempotent create/update publishing with author, taxonomy, metadata, and safe featured-image support.
* Added connection controls, publishing defaults, diagnostics, privacy disclosure, and uninstall cleanup.

== Upgrade Notice ==

= 1.0.0 =

Initial release.
