You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 0e7a6f4
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: CHANGELOG.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,16 @@
2
2
3
3
All notable changes to the MonoRanks WordPress plugin. The format follows [Keep a Changelog](https://keepachangelog.com/); versions follow [Semantic Versioning](https://semver.org/).
4
4
5
+
## [0.1.15] — unreleased
6
+
7
+
- The SEO Framework is detected (`THE_SEO_FRAMEWORK_VERSION` or `The_SEO_Framework\Load`). Approved titles, descriptions, canonicals and noindex are written into its post meta: `_genesis_title`, `_genesis_description`, `_genesis_canonical_uri` and `_genesis_noindex` (`1` for noindex; turning it off goes back to its "Default", a forced index `-1` stays). Before, it was treated as "no SEO plugin", so an applied title never reached the page and a description or canonical would have been printed twice (#2).
8
+
- A title MonoRanks wrote is the whole title: The SEO Framework's site name (or homepage tagline) addition is left off it through `the_seo_framework_use_title_branding`, for as long as the field still holds that title.
9
+
- On a static front page, The SEO Framework's Homepage Settings (Meta Title, Meta Description, Canonical URL) win over the page's own fields. When one is set, that write is refused with `error: "seo_plugin_homepage_setting"` and a `reason`; reads return the Homepage Settings value.
10
+
- SEOPress, Slim SEO, Squirrly SEO, SmartCrawl, WP Meta SEO and SEO SIMPLE PACK are detected as `seo_plugin: "other"`. Title, description, canonical and noindex writes are refused with `error: "seo_plugin_unsupported"` and a `reason` that names the plugin, and the connector prints none of its own tags next to theirs.
11
+
- The status sent to MonoRanks has `seo_plugin``tsf` or `other` where it applies, and a new `seo_plugin_name`. A MonoRanks that does not accept the new values yet answers 400; the plugin then sends the status again with `seo_plugin: "none"` so connecting keeps working.
12
+
- Settings shows a warning when an SEO plugin MonoRanks cannot write into is active.
13
+
- Integration tests run with The SEO Framework loaded (`MONORANKS_WP_PLUGINS=autodescription/autodescription.php`, group `tsf`).
14
+
5
15
## [0.1.14] — unreleased
6
16
7
17
- In block editor posts the approved opening paragraph is written as its own `core/paragraph` block (with `<!-- wp:paragraph -->` delimiters, named "MonoRanks opening" in the List View) in front of the first block, instead of a marker-wrapped paragraph that the editor showed as a Classic block. Classic posts keep the marker-wrapped paragraph. An opening written by an earlier version is still found, replaced and removed (monoranks/monoranks#48).
Copy file name to clipboardExpand all lines: docs/api.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,6 +81,15 @@ Same result shape as `POST /wp-json/monoranks/v1/apply`. Best-effort: the plugin
81
81
82
82
Since 0.1.14 a `content` change (or its undo) whose saved result would break a block is rolled back and comes back as `{ "ok": false, "error": "block_check_failed", "reason": "The new paragraph block does not match what the block editor would save. The post was put back as it was." }`. `reason` is a plain-language sentence meant to be shown as is; `update_failed` now carries a `reason` too.
83
83
84
+
Since 0.1.15 an SEO field (`seo_title`, `seo_description`, `canonical`, `noindex`) can also be refused before anything is written:
85
+
86
+
-`seo_plugin_unsupported`: an SEO plugin MonoRanks cannot write into is active (status `seo_plugin: "other"`), for example `"reason": "SEOPress is active on this site and prints its own SEO tags. MonoRanks cannot write into SEOPress yet, so nothing was changed. Make this change in SEOPress instead."`
87
+
-`seo_plugin_homepage_setting`: with The SEO Framework, the post is the static front page and that field is set in its Homepage Settings, which win over the page's own field.
88
+
89
+
## `POST /api/connector/status`
90
+
91
+
The plugin's status, sent after connecting, on "Send content now" and daily (the same object as `GET /wp-json/monoranks/v1/status` without the user fields). `seo_plugin` is `yoast`, `rankmath`, `aioseo`, `tsf` (The SEO Framework, since 0.1.15), `other` (an SEO plugin MonoRanks cannot write into, since 0.1.15) or `none`; `seo_plugin_name` (since 0.1.15) is its name, or `""`. If MonoRanks answers 400 to a status whose `seo_plugin` is `tsf` or `other`, the plugin sends it once more with `seo_plugin: "none"`.
Copy file name to clipboardExpand all lines: monoranks.php
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
* Description: Connects this site to MonoRanks (SEO, AEO and GEO audits): sends published content metadata and applies the fixes you approve there, with undo.
@@ -18,7 +18,7 @@ What you get with the plugin connected:
18
18
19
19
* A MonoRanks screen in your WordPress admin: the site's health and AEO scores and how they moved this week, search clicks, the pages that need attention most, the fixes you approved ready to apply with one click, and every change written so far with Undo.
20
20
* A MonoRanks column in Posts and Pages with each page's health and AEO scores; hover a row for the fixes waiting, open issues and audit dates. Sortable by score, with a "Needs attention" view.
21
-
* One-click fixes for titles, meta descriptions, image alt text, canonical URLs, noindex and redirects, applied through Yoast SEO, Rank Math or All in One SEO when one is active.
21
+
* One-click fixes for titles, meta descriptions, image alt text, canonical URLs, noindex and redirects, applied through Yoast SEO, Rank Math, All in One SEO or The SEO Framework when one is active.
22
22
* An answer-first opening paragraph for pages that bury their answer, shown as a before/after diff first.
23
23
* AI crawler rules (GPTBot, ClaudeBot, PerplexityBot, Google-Extended and others) in robots.txt and an llms.txt file, published only after you approve them.
24
24
* A recheck of the affected pages the same day a post changes, so the audit never goes stale.
@@ -45,7 +45,7 @@ Read from MonoRanks, with the same key, and cached in WordPress: this website's
45
45
46
46
What MonoRanks can change, only after you approve each change in MonoRanks: SEO title, meta description, canonical URL, noindex, image alt text, redirects, one opening paragraph at the top of a post (shown to you as a before/after diff first; it never rewrites your existing text and can be removed again with Undo), per-crawler AI access lines in robots.txt, and an llms.txt file. It cannot edit themes, settings or users. When you approve MonoRanks, it may turn this plugin on if it is installed but inactive. Every change is listed under MonoRanks → Settings and can be undone there or from MonoRanks for 30 days.
47
47
48
-
Works with Yoast SEO and Rank Math (written into their own fields) and All in One SEO (passed to it through its filters). Without an SEO plugin, the connector outputs the approved title, description, canonical and noindex itself.
48
+
Works with Yoast SEO, Rank Math and The SEO Framework (written into their own fields) and All in One SEO (passed to it through its filters). Without an SEO plugin, the connector outputs the approved title, description, canonical and noindex itself. With another SEO plugin, such as SEOPress, those four fixes are refused with a note that names the plugin, because that plugin prints its own tags; the other fixes still work.
49
49
50
50
* Terms of service: https://monoranks.com/legal/terms/
No. It only applies changes you approved one by one in MonoRanks, and lists every change under MonoRanks → Settings, where each can be undone for 30 days.
89
89
90
-
= What if I do not use Yoast, Rank Math or All in One SEO? =
90
+
= What if I do not use Yoast, Rank Math, All in One SEO or The SEO Framework? =
91
91
92
-
The connector prints the approved title, description, canonical and noindex tags itself. Nothing else about your theme is touched.
92
+
Without an SEO plugin, the connector prints the approved title, description, canonical and noindex tags itself. Nothing else about your theme is touched. With another SEO plugin, MonoRanks does not write those four fields and tells you why, so nothing is saved that would never show on the page.
93
93
94
94
= Does it slow my site down? =
95
95
@@ -112,6 +112,11 @@ Deleting the plugin removes its settings and scheduled tasks. Deleting the websi
112
112
113
113
== Changelog ==
114
114
115
+
= 0.1.15 =
116
+
* Works with The SEO Framework: approved titles, descriptions, canonicals and noindex go into its own fields, and the page shows them once.
117
+
* On the homepage, if The SEO Framework's Homepage Settings already set that field, the fix is refused with the reason, because that setting wins.
118
+
* With an SEO plugin MonoRanks cannot write into yet (such as SEOPress), those fixes are refused with a reason that names the plugin, and no second set of tags is printed.
119
+
115
120
= 0.1.14 =
116
121
* In block editor posts, the approved opening paragraph goes in as its own paragraph block before the first block. Other blocks, including those from other plugins, are never changed.
117
122
* Every body edit is checked right after it is saved. If a block would break, the post is put back as it was and the fix is reported as failed, with the reason.
0 commit comments