=== Clusterlane ===
Contributors: cenovia
Tags: internal links, content clusters, seo, orphan pages, pillar pages
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 1.3.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

See how your content hangs together — clusters, pillar pages and internal links — and what to fix first. You approve every change.

== Description ==

https://www.youtube.com/watch?v=wrEXa6zVSYg

Clusterlane turns your categories, tags and other groupings — even pages your custom post types point to — into topic clusters, scores each one, and tells you on every screen what to do next: which articles nothing links to, which mentions can become links in one click, and which article should be the main one.

**Free, with no limit on articles:**

* **Site map** — every cluster at a glance, sized by articles and coloured by health.
* **Cluster graphs** — the pillar, supporting articles and orphans of each cluster, and every link between them.
* **Focus next** — the clusters where a few links make the biggest difference.
* **Improve this cluster** and **Improve this article** — what to fix, most important first, with the fixes one click away.
* **Text Match** — finds places where an article already names another article without linking to it. Apply links one by one, per article, or the whole list in one run; undo any link, or the whole run.
* **Cluster quick view** — health and its trend, links, orphans, pillar and the articles to start with, for any cluster in the list.
* **Choose each cluster's pillar** — Clusterlane picks the best-linked article, or you choose it yourself.
* **SEO title and description preview** — from your SEO plugin (Yoast, Rank Math, SEOPress, All in One SEO, The SEO Framework) or your own fields and ACF fields, with length checks and a filter for missing or weak descriptions.
* **SEO Titles** — every article's SEO title and meta description on one page, weakest first: filter by cluster, missing or weak descriptions, long titles and duplicates, edit by hand and apply to your own fields, with undo. The first time Clusterlane changes a title or description it keeps the original, so Restore original brings it back.
* **Roles and capabilities** — decide who can use Clusterlane and who can change its settings.
* **Theme links** — reads your published pages too, so links your theme adds through lists, cards and related sections count. Pages are read in the background, through the WordPress HTTP API.
* **Pages as clusters** — for sites built from custom post types that point to each other (areas and their region, hotels and their destination): Clusterlane finds the custom fields by itself, and each page becomes a cluster with the pages pointing to it.
* **Clusters from any taxonomy** — regions, types, genres: not only categories and tags.

**Clusterlane never changes your content by itself.** Links, SEO fields and pillars only change when you click Apply or choose them, and links and SEO fields can be undone for 30 minutes after you apply them.

**See it fix a real article** — one article nothing linked to, connected in five steps:

https://www.youtube.com/watch?v=XvR6RsuVYGw

Clusterlane Pro and Agency add the **Report** — a printable summary of your site with its history: cluster health and orphans over time, the work done and what to fix next (the history is collected in every edition, so it is there when you upgrade) — a **link to the pillar** at the end of every article in a cluster, which follows the pillar you choose — and AI features: a site analysis whose recommendations open the right tool, a **pillar and split check** for every cluster — which are too broad and should be split, and which have no natural main article, content gap analysis and briefs, AI-written link sentences and SEO title and description suggestions (one article at a time, or many at once in SEO Titles, choosing field by field what to keep) and an **AI review of every SEO title and description** against its article, ten articles per call — on your own OpenAI or Anthropic API key. See https://clusterlane.app/pricing/.

== Installation ==

1. Upload the plugin under Plugins → Add New → Upload Plugin, or install it from the plugin directory, and activate it.
2. Open **Clusterlane → Cluster Admin** and choose which categories and tags should become clusters.
3. Click **Scan** in the bar at the top of any Clusterlane page — it reads every article, builds the clusters and works out their health.
4. Start on the Dashboard: *Focus next* shows the three clusters where a few links make the biggest difference.

Full documentation: https://clusterlane.app/docs/

== Frequently Asked Questions ==

= Is there a limit on articles? =

No.

= Does Clusterlane change my content automatically? =

No. Every change needs your Apply, and links and SEO fields can be undone for 30 minutes.

= Which editors are supported? =

The block editor and the classic editor. Pages built with other page builders are detected, and Clusterlane explains that it won't write there.

= Which post types are scanned? =

Posts by default. Choose more — pages or your own post types — under Settings → Content, or in the first-run setup.

= My theme links pages through lists or cards. Does Clusterlane see those links? =

Yes, when you tick the post type under Settings → Content → Read the published pages. Clusterlane reads the main content of each published page (not menus, breadcrumbs, sidebars or the footer). Post types with almost no links in their text are marked Recommended.

= My site uses custom post types instead of categories. Can they be clusters? =

Yes. Pages as clusters in Cluster Admin finds custom fields that point to other pages — ACF post object and relationship fields, or any field holding a post ID — and makes each page a cluster with the pages pointing to it.

= Does it work on multisite? =

Yes. Each site keeps its own clusters and settings.

= Does Clusterlane keep a history? =

Yes. It saves the site's figures once a day (cluster health, orphans, links, roles, meta descriptions) and a log of the changes made through Clusterlane, so progress can be shown over time. Both stay in your database. **Delete All Data** under Settings keeps the history; deleting the plugin removes it.

= What personal data does Clusterlane store? =

Only the WordPress user ID of the editor who approved each change in the activity log. It is removed when that user is deleted. A suggested text is added under Settings → Privacy.

= Where can I read more about clusters and internal linking? =

The guides at https://clusterlane.app/guides/ explain topic clusters, pillar pages, orphan pages and internal linking in plain words.

== Screenshots ==

1. Cluster graph: the pillar, supporting articles and every link between them. Click an article to see its links in and out.
2. Cluster Inspector: Focus next and every cluster with its health, articles, orphans and pillars.
3. Article map: how one article links to the rest of the site, cluster by cluster.
4. Article Inspector: every article with its score, role and links, weakest first.
5. Text Match: places where an article already names another article without linking to it — link them with one click.
6. Cluster Admin: choose which categories and tags become clusters.

== Changelog ==

= 1.3.2 =
* Published pages are now fetched through the WordPress HTTP API (wp_remote_get), one after another, so the site's proxy, transport and HTTP filters always apply. Earlier versions fetched a few pages side by side with the Requests library directly.

= 1.3.1 =
* Sites that ran the plugin under its earlier name: Clusterlane no longer switches the old plugin off by itself. It shows a notice with a Deactivate button and waits; the data moves over once you have deactivated the old plugin.
* Every database query goes through $wpdb->prepare(), with placeholders for all values and lists of IDs. Requires WordPress 6.2 or later.
* All output is escaped where it is printed.

= 1.3.0 =
* New name: Clusterlane. Sites that ran the plugin under its earlier name keep everything — clusters, history, settings (including the AI key) and access rules move over on the first load.
* Review fixes for WordPress.org: page scripts are added through the WordPress script API instead of inline tags, the settings form is sanitized field by field before anything else reads it, and the graph library is only loaded from the plugin itself.

= 1.2.1 =
* Phones: Missing content and Pillar & split check put the text above the buttons instead of squeezing it into a narrow column, and the AI Link Suggestion window fills the screen with the settings first and the live preview below.

= 1.2.0 =
* Free and Pro never run at the same time: activating Clusterlane Pro switches the free version off, and the free version stays off while Pro is active. Clusters, history and settings are shared, so nothing is lost.

= 1.1.2 =
* Code review against the WordPress.org Plugin Check: toolbar styles are added to the toolbar's own stylesheet, request values are unslashed and sanitized, and every database query is prepared or documented.

= 1.1.1 =
* Help → Admin & Support: new Site structure section — which post types hold your content and whether they are scanned, which taxonomies sort it, articles left only in the default category, articles in no cluster and the largest cluster, with a hint where something stands out.
* Text Match: article titles with an apostrophe or quotes no longer show as HTML codes.

= 1.1.0 =
* First release on WordPress.org. Site map, cluster graphs and health scores; Focus next, Improve this cluster and Improve this article; Text Match with one-click links and undo; pillars you can choose yourself; SEO Titles with Restore original; cluster quick view; clusters from any taxonomy and pages as clusters; WooCommerce and multilingual sites (Polylang, WPML).

The development history before 1.1.0 is at https://clusterlane.app/changelog/.
