=== PlainRank ===
Contributors: goedvermeld
Tags: seo, local seo, redirects, schema, sitemap
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.14.1
License: GPLv2 or later

SEO essentials and measured changes that only go live after your approval.

== Description ==

PlainRank manages titles, descriptions, canonicals, structured data,
redirects and XML sitemaps locally. Analysis and recommendations come from
the PlainRank platform only after an administrator explicitly connects the
website.

The plugin is in English and includes a Dutch translation. In Dutch the
plugin is called GoedVermeld (goedvermeld.nl); everything else is identical.

== External services ==

This plugin does not connect to the platform until an administrator clicks
Connect. Connecting happens on https://getplainrank.com (or
https://goedvermeld.nl for Dutch-language sites).

After connecting, the plugin sends the following to the platform API at
https://goedvermeld.nl:

* website address, plugin version and WordPress version
* once a day, the content model: post types, taxonomies, which page builder is used, the kind of site (shop, service provider and so on) and the names of custom fields with only the kind of value (text, number, date). A sample value of at most 80 characters is sent only for fields an administrator gave a role under Extras
* once a day, the inventory of published content: per post, page and product the ID, type, title, address, status, date, parent, word count, headings, internal links, whether a meta title and description are set, schema types, noindex and canonical, and how many images lack alt text. Full texts are not sent
* the status of approved changes (applied, conflict, failed or rolled back)
* a summary of 404 paths and referring domains, without IP addresses or user agents
* when an administrator starts topic research: the titles and addresses of published pages, so the platform knows which topics the site already covers
* when an administrator runs Check my shop: category names, product titles, word counts and whether a photo has alt text. Prices, stock and customer data are not sent
* when an administrator asks for product texts in bulk: per chosen product the title, current description, attributes, brand, EAN and category, so the text is written from the product's own data
* when an administrator asks where products belong: per chosen product the title, a short excerpt, brand, its current categories and Google product category, plus the names of all product categories
* at the end of each inventory (the first time after connecting, then once every 30 days): the visible text, at most 4,000 characters each, of at most 8 pages: the homepage and the pages for contact, about us, services, way of working and pricing. The platform uses it only for the summary "This is your site" and keeps it until you disconnect
* when a page is published: the same inventory data for that page, so a description can be suggested and the platform can check after 14 days whether Google shows it
* when a page that is the source of a confirmed fact is saved: its address, so that fact goes back to "Check"
* when an administrator asks to rewrite a section: the text of that page and the chosen section
* the weekly summary setting and the administrator email address it goes to
* a support message and a system summary, but only when an administrator submits the support form

The support summary contains WordPress, PHP, PlainRank, active plugin and
theme versions, locale, multisite status and the website address. It never
contains passwords or the secret pairing key.

The plugin retrieves pending changes such as titles, descriptions, redirects
and drafts. This is required to show them in WordPress and apply them after
approval.

When an administrator enables IndexNow, newly published URLs are submitted to
https://api.indexnow.org. Only the domain, URL and a local IndexNow key are
sent. The plugin does not contact IndexNow while this option is disabled.

Terms: https://getplainrank.com/terms
Privacy: https://getplainrank.com/privacy

== Changelog ==

= 1.14.1 =
Changes works reliably: opening the screen fetches what PlainRank has ready, "Make live" only says live when it really is, and anything that didn't go through says why. Large bundles show as a clear table with product, now and new, and you can skip single rows before approving the rest.
Product placement is readable again: one row per product with where it is now, the advice, how sure it is and why, plus three clear steps.
A shop that isn't live yet (products on private) is now read completely, and cart, checkout and account pages no longer get suggestions.

= 1.14.0 =
The plugin now knows your site. After connecting it reads your pages (and, for a shop, your products) and shows "This is your site": what kind of site it is, what you do, your main services, where you work and how the site is built. You confirm or correct each line; confirmed facts go to your fact sheet, and texts only ever use confirmed facts. "Your site is missing" lists what's missing from your own data, free, and up to three safe first tasks are ready in Changes.
Setup now runs in order: connect, read your site, is this right, switch over (only if you used another SEO plugin), Search Console, autopilot.
When you publish a page, PlainRank suggests links from pages that already mention it, links to its main page and a description. When an address changes, links on other pages are suggested to point to the new address. A saved source page sends its facts back to "Check".
Internal links: "Suggest all missing links" for the whole site, fewest links first, approvable together.
Terms: what the top 5 in Google covers that your main page doesn't, the names they use and how long they are. In the editor you can rewrite one section (2 credits); it arrives as a draft in Changes and new numbers or prices are refused.
Place pages: thin or nearly identical pages get a suggestion to hide them from Google, new series pause when more than 30% of the existing ones are thin, and pages nobody saw in 60 days get a suggestion to rewrite or hide.
Today shows the five best steps this week and the clicks before and after earlier changes. A weekly summary by email replaces the email per change; that email remains only for serious watchdog findings.
Shops: a default per category for sold-out products, as a suggestion in Changes. Product placement: advice per product for your own category and the Google product category.
The SEO column in the post list shows a word and what's missing, with the word norm for that kind of page. Field roles are chosen from the fields found on your site.
Fixed: the old feed address keeps working until you confirm it's gone; legacy product meta is kept 30 days; screens are fully translatable.

= 1.13.0 =
Topic research: per main page PlainRank looks up what people search for and what the top 10 in Google covers. Topics then shows the subtopics you are missing, the content plan puts them in order of search volume, and Terms shows which terms and questions each page still lacks. The research costs credits and shows the price before it starts; if it stops, the credits are returned.

= 1.12.2 =
Shop structure, Titles and meta, the bulk SEO editor and the product text screen now use the same design as the rest of the plugin: steps, score, category tree, a clear list of what will happen and a fixed action bar. Writing product texts in bulk no longer ends on a blank page.

= 1.12.1 =
Shop structure no longer waits for WP-cron: the page reads the shop itself, shows how far it is and says why when it stops. Running a plan fetches its changes first and does not repeat steps that already ran. Bulk product texts arrive in Changes again for products without EAN or manufacturer details. Editor suggestions work for products and pages that were not synced yet.

= 1.12.0 =
Channels, product feeds and the channels column are gone. Shop structure reads the whole shop, proposes categories from search volume, and after one approval runs the changes in order, writes the SEO and checks every changed URL. One click undoes the whole run. Nothing goes live before that approval.

= 1.11.1 =
On the product screen the check now sits under the text instead of in the narrow side column. It counts product photos and the short description, and offers the product name as keyword. Facebook and X fields can be filled in. Link suggestions work again and only offer pages that are already mentioned in the text.

= 1.11.0 =
The product list shows a compact Google column and the channel dots again. Opportunity counts and sorting use stored data, not just the current page. A bulk action writes product descriptions, SEO titles, alt text and feed fields into Changes, after showing the credit cost. Nothing goes live without approval, including a button to approve a whole bulk run. Lists also get an SEO score, a bulk title editor, title templates per type, schema and a primary category, separate social fields, and a fuller import from Yoast and Rank Math.

= 1.8.0 =
Practice changes from the SEO Academy arrive under Changes, labelled
"SEO Academy". Nothing goes live until you click Apply. A title, robots or
canonical change no longer stops on "changed in the meantime" when the page
had no own value yet, and undoing it returns to the theme default. The plugin
tells the platform when Yoast, Rank Math, AIOSEO or SEOPress is active, so the
academy can tell you to make the change there instead.

= 1.7.0 =
The plugin is now in English with a full Dutch translation. English sites see
PlainRank and connect via getplainrank.com; Dutch sites (nl_NL, nl_BE) keep
GoedVermeld and goedvermeld.nl. The site language is sent to the platform so
suggestions arrive in the right language.

= 1.0.0 =
Connection flow, safe migration, measured changes, SEO editor, social metadata,
schema, XML sitemaps, redirects, 404 log, monitoring, multilingual support and
WooCommerce integration.
