Skip to content

Commit 4516be2

Browse files
committed
chore: release wordpress plugin v1.2.7
1 parent 099f27e commit 4516be2

File tree

7 files changed

+115
-5
lines changed

7 files changed

+115
-5
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
44

55
## [Unreleased]
66

7+
## [1.2.7] - 2026-04-14
8+
9+
### Added
10+
- Direct Docs and Support Forum links on the plugin Connect screen for both connected and disconnected states
11+
- Support and Settings links on the Plugins list page, plus Docs and Support Forum links in plugin row meta
12+
- WordPress.org FAQ updates covering the Studio-first connection flow, Push as Draft troubleshooting, and what to include in support requests
13+
714
## [1.2.6] - 2026-04-14
815

916
### Fixed

admin/views/audit-page.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,12 @@
533533
<span aria-hidden="true">•</span>
534534
<a href="<?php echo esc_url( $aeocas_terms_url ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Terms', 'aeo-content-ai-studio' ); ?></a>
535535
</p>
536+
<p class="description aeo-connect-help">
537+
<?php esc_html_e( 'Need help?', 'aeo-content-ai-studio' ); ?>
538+
<a href="<?php echo esc_url( AEOCAS_Settings::get_docs_url() ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Docs', 'aeo-content-ai-studio' ); ?></a>
539+
<span aria-hidden="true">•</span>
540+
<a href="<?php echo esc_url( AEOCAS_Settings::get_support_forum_url() ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Support Forum', 'aeo-content-ai-studio' ); ?></a>
541+
</p>
536542
<?php else : ?>
537543
<p class="description"><?php esc_html_e( 'Only a site administrator can manage billing, disconnect the site, or change plugin features.', 'aeo-content-ai-studio' ); ?></p>
538544
<?php endif; ?>
@@ -627,6 +633,12 @@
627633
<?php esc_html_e( 'and', 'aeo-content-ai-studio' ); ?>
628634
<a href="<?php echo esc_url( $aeocas_privacy_url ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Privacy Policy', 'aeo-content-ai-studio' ); ?></a>.
629635
</p>
636+
<p class="description aeo-connect-help">
637+
<?php esc_html_e( 'Need help installing or connecting the plugin?', 'aeo-content-ai-studio' ); ?>
638+
<a href="<?php echo esc_url( AEOCAS_Settings::get_docs_url() ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Docs', 'aeo-content-ai-studio' ); ?></a>
639+
<span aria-hidden="true">•</span>
640+
<a href="<?php echo esc_url( AEOCAS_Settings::get_support_forum_url() ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'Support Forum', 'aeo-content-ai-studio' ); ?></a>
641+
</p>
630642
<?php else : ?>
631643
<p class="description aeo-connect-help"><?php esc_html_e( 'Ask a site administrator to complete the connection flow or provide a verified site token.', 'aeo-content-ai-studio' ); ?></p>
632644
<?php endif; ?>

aeo-content-ai-studio.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/**
33
* Plugin Name: AEO Content AI Studio
44
* Description: AI visibility audits and content publishing for WordPress. Track citations, prioritize fixes, and publish optimized drafts from AEO Content AI Studio.
5-
* Version: 1.2.6
5+
* Version: 1.2.7
66
* Author: AEO Content, Inc.
77
* Author URI: https://www.aeocontent.ai
88
* License: GPL v2 or later
@@ -17,7 +17,7 @@
1717
exit;
1818
}
1919

20-
define( 'AEOCAS_VERSION', '1.2.6' );
20+
define( 'AEOCAS_VERSION', '1.2.7' );
2121
define( 'AEOCAS_PLUGIN_FILE', __FILE__ );
2222
define( 'AEOCAS_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
2323
define( 'AEOCAS_PLUGIN_URL', plugin_dir_url( __FILE__ ) );

includes/class-aeo-settings.php

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ class AEOCAS_Settings {
1111

1212
const CONNECT_NOTICE_TRANSIENT = 'aeocas_connect_notice';
1313
const STUDIO_CONNECT_ACTION = 'aeocas_complete_studio_connect';
14+
const SUPPORT_FORUM_URL = 'https://wordpress.org/support/plugin/aeo-content-ai-studio/';
15+
const DOCS_URL = 'https://www.aeocontent.ai/knowledge/';
1416

1517
public function __construct() {
1618
add_action( 'admin_menu', array( $this, 'add_menu' ) );
@@ -20,6 +22,7 @@ public function __construct() {
2022
add_action( 'admin_post_aeocas_disconnect', array( $this, 'handle_disconnect' ) );
2123
add_action( 'wp_ajax_aeocas_google_connect', array( $this, 'ajax_google_connect' ) );
2224
add_filter( 'plugin_action_links_' . plugin_basename( AEOCAS_PLUGIN_FILE ), array( $this, 'add_settings_link' ) );
25+
add_filter( 'plugin_row_meta', array( $this, 'add_plugin_row_meta' ), 10, 2 );
2326
add_filter( 'submenu_file', array( $this, 'highlight_submenu_tab' ) );
2427
}
2528

@@ -31,10 +34,30 @@ public function __construct() {
3134
*/
3235
public function add_settings_link( $links ) {
3336
$settings_link = '<a href="' . esc_url( admin_url( 'admin.php?page=aeocas-audit-report&tab=connect' ) ) . '">' . esc_html__( 'Settings', 'aeo-content-ai-studio' ) . '</a>';
37+
$support_link = '<a href="' . esc_url( self::get_support_forum_url() ) . '" target="_blank" rel="noopener">' . esc_html__( 'Support', 'aeo-content-ai-studio' ) . '</a>';
38+
array_unshift( $links, $support_link );
3439
array_unshift( $links, $settings_link );
3540
return $links;
3641
}
3742

43+
/**
44+
* Add documentation links to the plugin row meta on the plugins list page.
45+
*
46+
* @param array $links Existing plugin row meta links.
47+
* @param string $file Plugin file basename.
48+
* @return array
49+
*/
50+
public function add_plugin_row_meta( $links, $file ) {
51+
if ( plugin_basename( AEOCAS_PLUGIN_FILE ) !== $file ) {
52+
return $links;
53+
}
54+
55+
$links[] = '<a href="' . esc_url( self::get_docs_url() ) . '" target="_blank" rel="noopener">' . esc_html__( 'Docs', 'aeo-content-ai-studio' ) . '</a>';
56+
$links[] = '<a href="' . esc_url( self::get_support_forum_url() ) . '" target="_blank" rel="noopener">' . esc_html__( 'Support Forum', 'aeo-content-ai-studio' ) . '</a>';
57+
58+
return $links;
59+
}
60+
3861
public function add_menu() {
3962
$cap = AEOCAS_Capabilities::view_reports_capability();
4063
$icon = self::get_menu_icon_data_uri();
@@ -279,6 +302,24 @@ public static function get_connect_url( $intent = 'start' ) {
279302
return add_query_arg( $args, trailingslashit( AEOCAS_ACCOUNT_URL ) . 'login' );
280303
}
281304

305+
/**
306+
* Return the public documentation URL for onboarding and troubleshooting.
307+
*
308+
* @return string
309+
*/
310+
public static function get_docs_url() {
311+
return self::DOCS_URL;
312+
}
313+
314+
/**
315+
* Return the public WordPress.org support forum URL.
316+
*
317+
* @return string
318+
*/
319+
public static function get_support_forum_url() {
320+
return self::SUPPORT_FORUM_URL;
321+
}
322+
282323
/**
283324
* Build an account URL for connected users who want to manage their account.
284325
*

readme.txt

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Tags: ai, content, publishing, audit, optimization
44
Requires at least: 6.2
55
Tested up to: 6.9
66
Requires PHP: 7.4
7-
Stable tag: 1.2.6
7+
Stable tag: 1.2.7
88
License: GPLv2 or later
99
License URI: https://www.gnu.org/licenses/gpl-2.0.html
1010

@@ -65,6 +65,8 @@ Start from **AEO Content** in your WordPress admin sidebar:
6565
2. The popup closes automatically and your site is connected
6666
3. Or use **Create Account Manually** / **I Already Have an Account** for email-based setup
6767

68+
You can also start from AEO Content AI Studio, enter your site URL, and finish the connection from WordPress admin.
69+
6870
= External Service =
6971

7072
This plugin connects to the AEO Content platform at `aeocontent.ai` for the following purposes:
@@ -92,6 +94,10 @@ Alternatively, search for "AEO Content AI Studio" in the WordPress plugin direct
9294

9395
Yes. The plugin connects to the AEO Content platform which manages content optimization and audit scoring. Visit [aeocontent.ai](https://www.aeocontent.ai) to get started with a free audit.
9496

97+
= Can I connect my WordPress site from AEO Content AI Studio? =
98+
99+
Yes. You can start from Studio, enter your site URL, and complete the connection from your WordPress admin screen. You can also start from the plugin inside WordPress. Both flows connect the same site.
100+
95101
= What does the Audit Report show? =
96102

97103
The site audit evaluates 48 criteria across five pillars: Content Originality (25%), Content Uniqueness (25%), Extractability (25%), Entity and Data Richness (15%), and Structural Signals (10%). Each page also gets a per-page AEO Page Rank score from 0 to 100 with letter grades (A through F) based on 17 content-specific checks. The workflow screen is organized into Connect, Diagnose, Fix, and AI Visibility stages. Most websites score between 30 and 60. Above 70 indicates strong AI citation readiness.
@@ -104,6 +110,10 @@ The AI Visibility stage tracks whether AI engines actually cite your site in the
104110

105111
AEO Content AI Studio reads your posts via the plugin's REST API, optimizes them using AI, and sends updated content back. The plugin creates or updates WordPress posts with the optimized content, including categories, tags, featured images, and FAQ structured data. You control which posts are updated from the platform.
106112

113+
= Why does Push as Draft fail? =
114+
115+
Most draft publishing failures come from one of these issues: the site is not fully connected, the connected domain does not match the current WordPress site URL, the plugin is out of date, or a security layer is blocking REST API requests. Update the plugin, confirm the site connection, and try again.
116+
107117
= Is it compatible with Yoast SEO / Rank Math? =
108118

109119
Yes. The plugin does not inject schema or modify meta tags on the frontend. It manages post content and metadata through standard WordPress functions, so it works alongside any SEO plugin without conflicts.
@@ -112,6 +122,14 @@ Yes. The plugin does not inject schema or modify meta tags on the frontend. It m
112122

113123
The heartbeat sends only technical metadata: site URL, plugin version, WordPress version, PHP version, and enabled features. Post content is only transmitted when you explicitly use AEO Content AI Studio to read or publish posts. All communication is encrypted via HTTPS.
114124

125+
= Where do I get support? =
126+
127+
For plugin setup, connection, audit, and publishing issues, use the [WordPress.org support forum](https://wordpress.org/support/plugin/aeo-content-ai-studio/). For private account or billing issues, use support through [aeocontent.ai](https://www.aeocontent.ai).
128+
129+
= What information should I include in a support request? =
130+
131+
Please include your plugin version, WordPress version, PHP version, site URL, whether you started from WordPress or Studio, the exact error message, and the steps needed to reproduce the issue. Do not post API keys, tokens, or passwords.
132+
115133
= Does the plugin slow down my site? =
116134

117135
No. The plugin has zero frontend footprint:it does not add scripts, styles, or markup to your public pages. The heartbeat runs via WP-Cron in the background, and audit data is cached locally.
@@ -130,6 +148,11 @@ The plugin requires a valid site connection to the AEO Content platform. Without
130148

131149
== Changelog ==
132150

151+
= 1.2.7 =
152+
* Added support visibility improvements in WordPress admin with direct Docs and Support Forum links
153+
* Added plugin list links for Settings, Support, Docs, and Support Forum discovery
154+
* Expanded the FAQ with Studio-first connection help and publishing troubleshooting guidance
155+
133156
= 1.2.6 =
134157
* Security hardening for Studio connection handoff: admin confirmation is now nonce-protected instead of auto-completing on page load
135158
* Local content index now excludes posts the current dashboard user cannot edit
@@ -176,6 +199,9 @@ Local logging remains available for secure platform-to-plugin diagnostics, but u
176199

177200
== Upgrade Notice ==
178201

202+
= 1.2.7 =
203+
Improves support visibility with direct Docs and Support Forum links in WordPress admin and adds troubleshooting FAQ updates on WordPress.org.
204+
179205
= 1.2.2 =
180206
Adds AI Visibility stage with live daily monitoring from 5 AI engines, workflow-based 4-stage UI, and discovery profiles.
181207

tests/AEOCASSettingsTest.php

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,9 +231,33 @@ public function test_add_settings_link_prepends_settings_link(): void {
231231

232232
$result = $settings->add_settings_link( $links );
233233

234-
$this->assertCount( 2, $result );
234+
$this->assertCount( 3, $result );
235235
$this->assertStringContainsString( 'aeocas-audit-report', $result[0] );
236236
$this->assertStringContainsString( 'Settings', $result[0] );
237+
$this->assertStringContainsString( 'wordpress.org/support/plugin/aeo-content-ai-studio', $result[1] );
238+
$this->assertStringContainsString( 'Support', $result[1] );
239+
}
240+
241+
public function test_add_plugin_row_meta_appends_docs_and_support_for_plugin_file(): void {
242+
$settings = new AEOCAS_Settings();
243+
$links = array( '<a href="#">Version</a>' );
244+
245+
$result = $settings->add_plugin_row_meta( $links, plugin_basename( AEOCAS_PLUGIN_FILE ) );
246+
247+
$this->assertCount( 3, $result );
248+
$this->assertStringContainsString( 'https://www.aeocontent.ai/knowledge/', $result[1] );
249+
$this->assertStringContainsString( 'Docs', $result[1] );
250+
$this->assertStringContainsString( 'wordpress.org/support/plugin/aeo-content-ai-studio', $result[2] );
251+
$this->assertStringContainsString( 'Support Forum', $result[2] );
252+
}
253+
254+
public function test_add_plugin_row_meta_leaves_other_plugins_unchanged(): void {
255+
$settings = new AEOCAS_Settings();
256+
$links = array( '<a href="#">Version</a>' );
257+
258+
$result = $settings->add_plugin_row_meta( $links, 'other-plugin/other-plugin.php' );
259+
260+
$this->assertSame( $links, $result );
237261
}
238262

239263
public function test_sanitize_and_register_clears_connection_on_empty_key(): void {

tests/bootstrap.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
}
3636

3737
if ( ! defined( 'AEOCAS_VERSION' ) ) {
38-
define( 'AEOCAS_VERSION', '1.2.6' );
38+
define( 'AEOCAS_VERSION', '1.2.7' );
3939
}
4040

4141
$GLOBALS['wp_version'] = '6.9';

0 commit comments

Comments
 (0)