| 开发者 | alexbarbosa |
|---|---|
| 更新时间 | 2026年6月24日 05:19 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
geo-rank-optimizer folder to the /wp-content/plugins/ directoryGEO stands for Generative Engine Optimization. It's the practice of optimizing content to be better understood, summarized, and cited by AI engines like ChatGPT, Google AI Overview, Perplexity, and others.
No. GEO Rank Optimizer works completely independently without requiring any other SEO plugins.
The score is calculated based on 40+ criteria across 8 categories, each with different weights. Generative Search optimization has the highest weight as it directly impacts AI citability.
No. The analysis runs only in the admin area when you click "Analyze". It does not affect frontend performance.
English, Portuguese (Brazil), Spanish, French, and German.
:active and :focus (square shape, then a blue ring, then a red rectangular border). Added :active/:focus rules pinning the pill shape and switched the focus ring to :focus-visible (keyboard-only). CSS-only fix.
3.9.4
Fix: Competitors tab — Analyze and Delete buttons now work
A nonce action name mismatch (introduced in v3.7.5 when admin JS was externalized) made check_ajax_referer() fail silently in the ?tab=competitors page. Nonce aligned with the handlers. Same fix applied to the step-6 onboarding auto-refresh, which was failing for the same reason.
3.9.3
Defense-in-depth: explicit nonce check on bulk-action handler
GeoIaWpCore::handle_bulk_actions() now calls check_admin_referer( 'bulk-posts' ) explicitly. WordPress core already verifies this nonce before dispatching the filter, but the explicit check makes the security contract visible to auditors and protects against future refactors. No functional change.
3.9.2
Plugin Check cleanup: zero errors, zero warnings
Tested up to bumped to 7.0. Changelog rewritten to fit the 5000-char limit (full history in CHANGELOG.md). All foreach loop variables in 8 admin templates renamed to the $georankopt_* prefix to satisfy WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound. Zero functional changes.
3.9.1
Fix: Save Settings button — icon and text now stay white in all states
Corrected the CSS selector targeting (was using a legacy ID; now uses the actual .geo-save-config-btn class). The dashicon and label remain white on the pink background during base, hover, and :disabled (saving) states. Hover suppressed during save. Same fix in FREE and PRO.
3.9.0
Fix: Save Settings button visual during saving state
:disabled rules added that preserve pink background and white text/icon (overriding the browser's graytext default). Hover effect suppressed while disabled. Consolidates several UI polish fixes since v3.8.0 (onboarding button "square flash", sidebar focus ring, Bot Tracker legend/disclaimer parity).
3.8.9, 3.8.8, 3.8.7
UI polish: :focus-visible on sidebar tabs to hide blue ring after mouse click while preserving keyboard accessibility. FREE/PRO parity for Bot Tracker (User-Agent disclaimer + "What each category means" 4-card legend in 5 locales).
3.8.6
Definitive fix: onboarding navigation buttons converted from <a> to <button>
Root cause of the "button turns square on click" glitch: anchors inherited wp-admin :active styles (border-radius: 3px, reduced padding). Converting the 5 navigation anchors to <button type="button"> eliminates the issue entirely. The defensive CSS :active rule remains as secondary safeguard.
3.8.5, 3.8.4, 3.8.3, 3.8.2, 3.8.1
Iterative attempts to fix the onboarding button "square flash" via CSS specificity, scoped overrides, and :active declarations. All superseded by the structural fix in v3.8.6. v3.8.3 reverted earlier CSS changes that had inadvertently broken the hover state.
3.8.0
Post-Google I/O 2026 release
update_date criterion now composite: 75% recency + 25% renderable dateModified in JSON-LD. Denominator unchanged (5 criteria in Authority).llms-shop.txt gained a UCP-Ready header signal and per-product GTIN: line.assets/js/admin/, enqueued via wp_register_script() + wp_enqueue_script(). PHP data passed via wp_localize_script(); translatable strings via wp.i18n API with wp_set_script_translations().handle_public_share() rewritten: wp_verify_nonce() is the first action after reading $_GET['_wpnonce']. Shareable-link hash_equals() is an explicit dual-factor fallback.$geo_* locals renamed to $georankopt_*. Deleted includes/Helpers/GeoRankOptInlineScriptHelper.php.geo_* globals renamed to georankopt_*.
Earlier versions
For releases 3.5.0 through 3.7.2, see CHANGELOG.md in the plugin directory.