PluginProbe
Search Atlas SEO – OTTO AI SEO Automation for WordPress / 2.6.13
Search Atlas SEO – OTTO AI SEO Automation for WordPress v2.6.13
2.6.26 2.6.25 2.6.24 2.6.23 2.6.22 2.6.21 2.6.20 2.6.19 2.6.18 2.6.17 2.6.16 2.6.15 2.6.14 2.6.13 2.6.12 2.6.11 2.6.10 2.6.9 2.6.8 2.6.7 2.6.6 2.6.5 2.6.4 2.6.3 2.5.23 All 138 releases
metasync / readme.txt

readme.txt in Search Atlas SEO – OTTO AI SEO Automation for WordPress 2.6.13, at readme.txt

1,171 lines 62.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 === Search Atlas SEO - Premier SEO Plugin for One-Click WP Publishing & Integrated AI Optimization ===
2 Contributors: shahrukhlinkgraph
3 Tags: seo, sitemap, google instant indexing, schema, 404 monitor
4 Donate link: http://searchatlas.com
5 Requires at least: 5.2
6 Tested up to: 6.8.1
7 Requires PHP: 7.1
8 Stable tag: 2.6.13
9 License: GPL-2.0+
10 License URI: https://www.gnu.org/licenses/gpl-2.0.txt
11
12 Search Atlas SEO is a user-friendly WordPress plugin that simplifies complex and time-consuming SEO tasks into efficient, easy-to-manage processes. With just a few clicks, the meta-bulk update feature leverages AI to automatically optimize meta tags, enhancing click-through rates. Keep your site or specific URLs up-to-date with the latest Google Search data directly from the Search Atlas SEO plugin page.
13
14 == Description ==
15 ### Search Atlas SEO - Top WordPress Plugin for SEO & AI Integration
16 **Comprehensive WordPress SEO Plugin with AI-Powered Optimization & One-Click Publishing**
17
18 **SEO is the most effective strategy for driving organic traffic.** We've enhanced our award-winning SEO software, **Search Atlas**, with cutting-edge Artificial Intelligence (AI) integrations to deliver the most powerful WordPress plugin available. Features like one-click publishing, bulk meta updates, and schema markup enable website owners to attract more search traffic and build a high-ranking website effortlessly.
19
20 ## LEARN MORE ABOUT THE Search Atlas PLATFORM
21
22 Often hailed as **the best marketing investment** a website can make, SEO provides website owners with the means to boost their web traffic significantly. Traditionally, SEO has been a specialized field requiring technical expertise. **Search Atlas SEO by Search Atlas democratizes SEO, putting every aspect of optimization at the fingertips of every website owner with the power of AI**.
23
24 Search Atlas SEO transforms intricate and laborious SEO tasks into streamlined processes. With a few clicks, the **meta-bulk update** feature uses AI to re-optimize meta tags, increasing click rates. Stay informed with **the latest Google Search data** for your entire site or specific URLs directly within the Search Atlas SEO plugin interface.
25
26 Utilize the Search Atlas Content Suite to **generate fully optimized AI-driven content in minutes** and publish it to your WordPress site with a single click. Easily create multiple redirects, identify and resolve indexing errors, and submit sitemaps effortlessly.
27
28 Save time. Optimize your site seamlessly. Produce high-ranking content.
29
30 ### Superior AI Content for Optimal SEO
31
32 Search Atlas features an **integrated AI content creator** that streamlines the content creation process. From developing your **content calendar** to conducting **keyword research** and producing **exceptional blogs, landing pages, product descriptions**, and more, our SEO tools with built-in AI help you **build a library of high-ranking published pages in a fraction of the time**.
33
34 ### One-Click Publishing of Content to Your WordPress Site from the LinkGraph Dashboard
35 - Instantly publish new blog posts, content updates, and landing pages to your WordPress site from the LinkGraph dashboard
36 - Includes optimized meta descriptions and meta titles
37 - Incorporates images with appropriate alt text
38 - Features formatted header tags, bullet points, and hyperlinks
39
40 ### Bulk Update Title Tags and Meta Descriptions on Your WordPress Site Using AI
41 - Quickly optimize meta tags for landing pages, blogs, and other webpages in bulk
42 - Utilizes Google's GPT-3 AI technology to generate engaging, relevant meta tags
43 - Automatically updates tags across your website
44
45 ### Features
46 1. Local Business SEO
47 2. Google Instant Indexing
48 3. Google Search Console Integration
49 4. Redirection Management
50 5. 404 Error Monitoring
51 6. Error Logging
52 7. Search Engine Verification
53 8. Custom Code Snippets
54 9. Optimal Settings Configuration
55 10. Global SEO Settings
56
57 == Installation ==
58 1. Upload the `metasync` folder to the `/wp-content/plugins/` directory.
59 2. Activate the plugin through the Plugins menu in WordPress.
60
61 == Frequently Asked Questions ==
62 = What does the Search Atlas SEO plugin do? =
63 The Search Atlas SEO plugin by Linkgraph serves as a bridge between WordPress blogs and Linkgraph services, enabling data synchronization and updates via API for enhanced SEO optimization.
64
65 == Screenshots ==
66 1. General Settings
67
68 == Upgrade Notice ==
69 = 1.4.1 =
70 This version does not include the new APIs required by the AI Editor.
71
72 == Changelog ==
73 = 2.6.13 =
74 * Improvement: Made the Media Optimization "Optimize" and "Revert" buttons equal in size
75 * Improvement: Fixed stacked filter dropdowns in the Changes Log filter bar
76 * Improvement: Fixed the cache directory path overflowing its container on the Cache tab
77 * Improvement: Improved breadcrumb code-box contrast in light mode and added click-to-copy on snippet boxes
78 * Improvement: Added vertical spacing between the Auth Token field and Refresh Token button on the Settings page
79 * Improvement: Added vertical spacing between settings form rows so blocks no longer merge together
80 * Security: Wrapped admin nonce outputs in esc_attr() to prevent XSS in HTML attributes
81 * Fix: Prevented lazy-load video iframe CSS from breaking page layout and hiding homepage content
82 * Fix: Prevented a fatal "undefined constant" error during OTTO rendering on pre-2.6.11 installs
83 * Fix: Corrected OTTO double-encoding of "&" in HTML attributes that broke theme icon fonts
84 * Fix: Stopped OTTO from renumbering Divi column width classes and collapsing page layouts
85
86 = 2.6.12 =
87 * New Feature: The imported Webstudio(LPS) home page is now set as the WordPress front page
88 * New Feature: Added persistent audit logging for Webstudio(LPS) ZIP imports
89 * Improvement: Execution Settings fields now display side-by-side in a responsive two-column layout
90 * Improvement: Hardened the White Label menu slug and fixed settings-save validation
91 * Improvement: OTTO rendering is now skipped on custom and Webstudio(LPS)-imported pages
92 * Improvement: Deleting a custom or Webstudio(LPS) page now cleans up shared assets and resets the front page when needed
93 * Improvement: Webstudio(LPS) home imports now use the project UUID as the per-project deduplication key
94 * Security: Added nonce and capability checks to the Instant Indexing AJAX handlers (Google GIAPI and Bing IndexNow)
95 * Security: Added nonce and capability checks to the redirections list-table actions
96 * Security: Added nonce and capability checks to the 404 Monitor list-table actions
97 * Security: Hardened input sanitization for per-post snippets and the hero image URL
98 * Fix: Prevented duplicate H1 headings on Content Genius synced posts
99 * Fix: Resolved a fatal error during ZIP import caused by an undefined temporary-file helper in REST/MCP context
100 * Fix: Prevented a fatal "class not found" error on plugin update when the installed directory name differs from the package slug
101 * Fix: Batched SEO indexation option imports to prevent PHP memory exhaustion on large sites
102 * Fix: Corrected connection status to show "Not Connected" after manual API key entry and Sync Now
103 * Fix: Guarded get_current_screen() calls to prevent fatal errors in REST context
104 * Fix: Execution Settings now reports the real server upload limit instead of a hardcoded 128 MB
105 * Fix: Fixed a case where activating the plugin caused 404s on all pages except the home page
106 * Fix: Prevented a TypeError when a non-string value was passed to meta element handling
107 * Fix: The "Disable SEO Meta Box" setting now correctly hides the SEO meta box in the Classic editor
108 * Fix: The "Disallow Empty Archives" toggle is now saved correctly on SEO Controls
109
110 = 2.6.11 =
111 * New Feature: Added SEO Title & Meta Description fields to the Classic editor, matching the Gutenberg sidebar
112 * New Feature: Added a configurable OTTO cache TTL setting under Advanced Settings → Cache Management
113 * New Feature: Added a ZIP upload endpoint and MCP tool for importing landing pages
114 * New Feature: Import Open Graph and Twitter social titles and descriptions from Yoast, Rank Math, and AIOSEO
115 * New Feature: Import Open Graph and Twitter social images from Yoast, Rank Math, and AIOSEO
116 * Improvement: Added a pre-flight memory check before image conversion to avoid exhausting PHP memory
117 * Improvement: Batch optimizer batch size now adapts to available server memory
118 * Improvement: Replaced unbounded media queries with paginated queries in the batch optimizer
119 * Improvement: Sub-size image conversion is now split across requests to reduce peak memory usage
120 * Improvement: Cron batch processing now respects the server's max_execution_time limit
121 * Improvement: WordPress core sitemap is automatically disabled while the MetaSync sitemap is active
122 * Improvement: Redirect saves now warn when the destination URL does not resolve
123 * Improvement: The MCP sitemap check now uses the plugin's virtual sitemap tracking instead of physical files
124 * Improvement: 404 Monitor no longer logs WordPress system paths as broken links
125 * Improvement: Added a magnifier icon to the Media Optimization search field
126 * Fix: OTTO no longer corrupts inline JavaScript by collapsing modern operators during rendering
127 * Fix: Resolved fatal errors on Divi sites during OTTO HTTP rendering and from a missing admin navigation class
128 * Fix: Prevented fatal errors from missing dependencies — telemetry autoload, the 404 Monitor database class, the DOMDocument extension, and a removed Yoast SEO title separator method
129 * Fix: OTTO titles, descriptions, and schema now persist reliably — saved even when unchanged, back-filled to SEO plugin fields, kept after un-deploy, and output when OTTO is off
130 * Fix: Stopped duplicate Open Graph/Twitter tags and cleared social meta when duplicating a post
131 * Fix: Archive pages now output their own canonical URL and og:url instead of the first post's
132 * Fix: WebP picture tag rewriting now applies to Divi featured images
133 * Fix: Sitemap now includes pages and custom post types when category/tag filters are set
134 * Fix: Resolved a schema markup settings key inconsistency in the settings API
135 * Fix: Settings saves no longer show a false error notice, meta-box checkboxes persist, and a race condition that could wipe settings was resolved
136 * Fix: OTTO image alt text now applies when pages use relative image URLs
137 * Fix: Polished admin UI — Optimization Rate stats card alignment, tab icon centering, and XML Sitemap checkbox spacing
138
139 = 2.6.10 =
140 * New Feature: Media Optimization — compress images and serve next-gen WebP/AVIF formats to improve page load speed
141 * New Feature: Added post type, taxonomy, and URL exclusion controls across all sitemaps
142 * New Feature: Added per-file Delete buttons for individual XML sitemaps (General, News, Video)
143 * Improvement: Switched sitemap generation to virtual-only mode with regenerate-on-miss to resolve nginx 403 errors
144 * Improvement: Renamed sitemap Save buttons to "Save & Generate Sitemap" across the General, News, and Video tabs
145 * Improvement: Throttled bot crawl-log requests to reduce server load on high-traffic sites
146 * Fix: Resolved a case where the plugin caused site outages on cart/checkout and non-GET requests
147 * Fix: Restored meta boxes and SEO fields on custom post types
148 * Fix: OTTO no longer reports as installed on projects with non-matching UUIDs
149 * Fix: Preserved Divi's late-injected CSS during OTTO server-side rendering and fixed Divi blog/portfolio AJAX pagination
150 * Fix: Respected Yoast SEO titles and descriptions when OTTO is undeployed
151 * Fix: Scoped OTTO cache keys and rate limits per site on Multisite installs
152 * Fix: Skipped OTTO rendering on XML endpoints to prevent invalid output
153 * Fix: Sanitized malformed self-closing tags during OTTO rendering that could expand site navigation
154 * Fix: Prevented duplicate H1 headings when content already contains the post title
155 * Fix: Guarded the mime_content_type() call to prevent fatal errors on hosts without the fileinfo extension
156 * Fix: Deduplicated URLs and filtered junk entries from the XML sitemap
157 * Fix: The XML Sitemap sidebar now stays fixed instead of scrolling with the page
158 * Fix: 404 Monitor date filters now persist across pagination and sorting and apply only when the filter button is clicked
159 * Fix: Connection status no longer flips to "Not Connected" on idle plugin pages
160 * Fix: Corrected WP Rocket compatibility render-mode detection
161 * Fix: Suppressed admin notices from rendering inside the setup wizard header
162 * Fix: Removed dangling breadcrumb references when stripping third-party BreadcrumbList schema
163 * Fix: Breadcrumbs checkbox values now persist correctly when unchecked
164 * Fix: Fixed the Quick Links table background and borders in dark mode
165 * Fix: Fixed dashicon button icon misalignment on some sites
166 * Fix: Tightened REST API auth callbacks and fixed primary category cleanup on custom post types
167 * Fix: Fixed the perpetual Sync Now throttle message by separating the manual-sync cooldown from the heartbeat
168
169 = 2.6.9 =
170 * Security: Move API key authentication from query parameter to Authorization Bearer header
171 * Security: Fix X-Forwarded-For IP spoofing in OTTO bot detector — trust Cloudflare header first
172 * Security: Cache-Control changed from public to private to prevent CDN nonce sharing
173 * Fix: OTTO heading replacement corrupted when heading contains inline elements (e.g. span tags)
174 * Fix: SSO one-click auth fails on sites with external object cache
175 * Fix: Guard against missing DOMDocument extension in check_and_fix_post_content
176 * Fix: POST heartbeat before GET ping on manual API key save to register WPWebsiteHeartbeat
177 * Fix: Strict-equality bug in is_virtual_mode() causing Virtual badge not to show after first request
178 * Fix: Remove newline-to-br replacement that injects whitespace into synced content
179 * Improvement: API key input field now reverts to previous valid key on validation failure
180 * Improvement: Deployed OTTO titles no longer show on frontend when Disable OTTO for Logged in Users is enabled
181 * Improvement: Robots.txt Disallow / warning now triggers correctly with fixed regex matching
182 * Improvement: Robots.txt timestamps now respect WordPress timezone setting instead of hardcoded UTC
183
184 = 2.6.8 =
185 * Security: Use hash_equals() for timing-safe API key comparison in custom pages API
186 * Security: Resolve 4 Snyk Code MEDIUM findings — DOM XSS and info exposure
187 * Security: Fix open-redirect vulnerability in redirection plugin with domain validation
188 * Fix: Original image permanently deleted before converted file is validated — data loss on Imagick memory failure
189 * Fix: Light SA logo not visible on light theme
190 * Fix: Strip OTTO post meta when WordPress pages are cloned or duplicated
191 * Fix: Sitemap and LLMs.txt transients not invalidated when content is updated
192 * Improvement: Make bot statistics table responsive at narrow viewports
193 * Improvement: Refactor sitemap collect_all_urls() to eliminate N+1 query explosion
194 * Improvement: Exclude Beaver Builder templates from sitemap generation
195 * Improvement: Upgrade routine flag logic and unit tests for Beaver Builder template exclusion
196
197 = 2.6.7 =
198 - Fix: OTTO buffer caching empty/error pages
199 - Fix: PHP lexicographic string comparison in execution time validation
200 - Fix: Plugin causing server overload via unbounded cron accumulation
201 - Fix: Replace TRUNCATE with bounded delete in 404 monitor add()
202 - Fix: Add redirect-loop detection to edit and import paths
203 - Fix: Non-atomic OTTO cache lock allowing concurrent workers to bypass lock
204 - Fix: Remove duplicate inline JS causing double POST on excluded URL add
205 - Fix: Replace TOCTOU rate limiter with atomic wp_cache_add/incr pattern
206 - Fix: Fill empty catch blocks in OTTO render strategy with error_log and telemetry
207 - Fix: Harden JWT verification and protect sensitive wp_options in MCP server
208 - Fix: Breadcrumbs disable_schema checkbox state not persisting on save
209 - Fix: OTTO title/schema override checks live suggestions when third-party SEO plugin active
210 - Fix: Centralize cron-hook cleanup on plugin deactivation
211 - Fix: API key validation fails when WordPress Home URL uses www subdomain
212 - Fix: Add per-user transient caching to admin bar status indicator
213 - Fix: Make sitemap generation memory-safe with streaming and filesystem fallbacks
214 - Fix: Add static flag guard to eliminate redundant schema queries
215 - Fix: Create Redirect button from 404 Monitor not opening redirection form
216 - Security: Remediate 47 semgrep findings across plugin codebase
217
218 = 2.6.6 =
219 - Fix: Invalidate OTTO JS detection transient on settings save and cache clear
220 - Fix: Harden MCP tool registration to prevent fatal error on missing class
221 - Fix: Heartbeat public-hash cache-key mismatch
222 - Fix: TypeError on strtolower() with array @type in OTTO crawl-notify endpoint
223 - Fix: Gate admin JS loading to MetaSync pages only
224 - Fix: Process OTTO webhook URLs in background via WP-Cron
225 - Fix: Optimize sync history cleanup with fetch-then-delete pattern
226 - Fix: Cache OTTO manual exclusion list with transient and add composite index
227 - Fix: Use SELECT COUNT(*) instead of loading all records in get_count()
228 - Fix: Remove blocking Facebook Graph API call from wp_head
229 - Fix: Only load MetaSync admin CSS on plugin pages
230 - Fix: Lazy-load MCP server and SEO-inventory controller for non-MCP requests
231 - Fix: Broken SQL placeholder in get_attachment_by_name()
232 - Fix: Refactor rate limiter to use per-key transients instead of wp_options blob
233
234 = 2.6.5 =
235 - Feat: Native-First SEO Write Layer — sync all MetaSync/OTTO optimizations to native WordPress SEO meta fields
236 - Feat: Per-post advanced robots directives — nofollow, noarchive, nosnippet, noimageindex, max-snippet, max-image-preview, max-video-preview
237 - Feat: Redirect health checker — MCP tool + admin panel
238 - Feat: Redirect loop detection on create/save
239 - Fix: Reduce memory footprint by gating heavy init on non-MetaSync AJAX requests
240 - Fix: ArgumentCountError resolved by replacing printf with echo in code-snippets template
241 - Fix: Unhook Elementor filters during MCP update_site_info under API key auth
242 - Fix: Rename 16 non-prefixed AJAX actions to use metasync_ prefix
243 - Fix: Promo sidebar overlap with main nav at narrow viewports
244 - Fix: OTTO DOM corruption when page text contains less-than followed by digits
245 - Fix: Restore case-sensitive SVG/HTML5 attributes after OTTO DOM processing
246 - Fix: MetaSync status badge not updating on disconnect/reconnect
247 - Fix: Remove duplicate canonical tags on sites without third-party SEO plugin
248 - Fix: Submit Report button icon vertical alignment
249 - Fix: 404 Monitor pagination layout and filter row overflow
250 - Fix: Responsive layout for Redirections tablenav filters and search
251
252 = 2.6.4 =
253 - Fix: LLMs.txt settings now correctly persisted on save
254 - Fix: Hidden diagnostic post no longer triggers Jetpack Social or RSS auto-share
255 - Fix: mb_encode_numericentity() fatal on hosts without mbstring extension replaced with pure-PHP fallback
256 - Fix: class-metasync-term-plugin-sync.php require_once guarded with file_exists to prevent fatal on Nexcess hosting
257 - Fix: wp_tempnam() undefined fatal in Dimension Injector when called outside wp-admin context
258 - Fix: WpeCommon::purge_url() undefined fatal in cache purge on WP Engine now guarded with method_exists
259 - Fix: MCP_Tool_Cache_Purge_All class not found fatal guarded with class_exists check
260 - Fix: Google Index require_once calls guarded with file_exists to prevent fatal when files are missing
261 - Fix: PHP 8.1 add_submenu_page(null) deprecation fixed in import page and HTML visual editor
262
263 = 2.6.3 =
264 - Feature: BreadcrumbList schema auto-generated from post hierarchy with cross-plugin deduplication for Yoast, Rank Math, and AIOSEO
265 - Feature: Hreflang language alternates support with WPML integration for multilingual sites
266 - Feature: LLMs.txt generator with dedicated settings page and MCP tools
267 - Feature: News sitemap and video sitemap generation
268 - Feature: Taxonomy term SEO meta synced to Yoast, Rank Math, and AIOSEO for category and tag archive pages
269 - Feature: Open Graph output extended with article timestamps, author, section, tags, and og:image dimensions
270 - Feature: MCP tools for SEO plugin audit — read, diff, sync, and conflict detection across installed SEO plugins
271 - Feature: MCP tools for OTTO pipeline — trigger optimization, check status, and verify SEO output
272 - Feature: MCP cache-purge tools for per-URL and full-site cache invalidation
273 - Feature: Whitelabel color personalization for admin UI
274 - Improvement: Composer classmap autoloader covering all plugin classes, removing 55+ scattered require_once calls
275 - Improvement: MCP rate limiter wired into all tool calls with proper 429 responses
276 - Improvement: GA4 event tracking replaces Mixpanel for plugin analytics
277 - Improvement: Execution time limit added to MCP database query tool to prevent long-running queries
278 - Fix: OTTO title and meta replacement no longer strips dollar signs from values like $500
279 - Fix: Google Instant Indexing now auto-submits on post publish
280 - Fix: LLMs.txt generation now excludes noindex posts
281 - Fix: Missing PHP DOM extension handled gracefully in HTML-to-builder converter
282 - Fix: Yoast and AIOSEO term meta storage corrected; SEO conflict handler fixed for term archive pages
283 - Fix: WP Engine cache integration no longer calls non-existent purge_url() method; Throwable errors now caught
284 - Fix: Beaver Builder templates excluded from sitemap generation
285 - Fix: Gutenberg blockquote block no longer shows invalid content error after OTTO applies changes
286 - Fix: Redirections page filter and search controls no longer trigger add-redirection form validation
287 - Fix: Settings page no longer shows Synced label and invalid API key error simultaneously
288 - Fix: Unsaved changes notification close button now works correctly
289 - Fix: Composer autoloader updated with missing class entries to prevent fatal errors on fresh installs
290
291 = 2.6.2 =
292 - Improvement: Whitelabel now supports separate logo uploads for light and dark admin themes
293 - Improvement: Breadcrumbs settings panel redesigned with cleaner layout and more configuration options
294 - Fix: Page title tags now update correctly when Yoast SEO is active
295 - Fix: OTTO optimizations no longer disappear when Rank Math is installed alongside the plugin
296 - Fix: Duplicate keywords meta tag no longer appears in page source after OTTO applies keyword recommendations
297 - Fix: Theme builder selector no longer lists builders that are not installed or detected on the site
298 - Fix: MCP server now returns descriptive error messages instead of generic failures
299 - Fix: MCP server correctly handles post status and primary category fields
300 - Fix: MCP server now supports Twitter card meta fields and bulk taxonomy term operations
301 - Fix: Plugin sidebar icon and menu now match standard WordPress appearance
302 - Fix: Long field labels in Settings no longer overflow their column
303 - Fix: 404 Monitor bulk actions bar stays on one line instead of wrapping
304 - Fix: Breadcrumbs settings section now shows its icon correctly
305
306 = 2.6.1 =
307 - Feature: Bulk SEO health dashboard — check pages missing meta title, description and schema
308 - Feature: New schema types: LocalBusiness, HowTo, VideoObject
309 - Feature: Extended schema types: Event, JobPosting, Review, Course, Organization, Person, WebSite
310 - Feature: Breadcrumbs module with HTML output and BreadcrumbList schema
311 - Feature: Primary category selector in post editor sidebar
312 - Feature: Internal link suggestions in post editor
313 - Feature: Site Verification page added to SEO navigation
314 - Feature: CPU load awareness and deferral settings
315 - Feature: Whitelabel-aware promo sidebar and quick links settings
316 - Improvement: Replace all emoji icons with WordPress Dashicons across admin UI
317 - Improvement: Compatibility page redesign: accordion rows, themes, CDN, troubleshooting section
318 - Fix: Duplicate schema markup and meta descriptions on multiple pages
319 - Fix: Sync handlers returning HTTP 200 with empty body on internal WP_Error — PHP 8 fatal prevented
320 - Fix: Old UI flashing before new UI loads on page transition
321 - Fix: UI misalignment on Dashboard and various admin pages
322 - Fix: Schema markup not rendering correctly
323 - Fix: NitroPack purge conflict on page-load path
324 - Fix: Image alt-text fallback on Oxygen HTTP render path
325 - Fix: Content Genius page sync full-width on Oxygen Builder
326 - Fix: Crawl monitoring showing no data despite successful crawls
327 - Fix: Oxygen Builder synced post content not visible on front-end
328 - Fix: Restore Performance and CPU settings tab removed during refactor
329 - Fix: Replace burst mode heartbeat with lightweight connection-ping
330 - Fix: Render OTTO-persisted otto_jsonld in frontend schema output
331 - Fix: schema_types returning empty array in wordpress_get_post_by_url
332 - Fix: Correct Rate Now review URL and replace emoji star with Dashicon
333 - Fix: Telemetry noise and whitelabel JSON decode bug
334 - Fix: Add save button to Site Verification, Local Business, Code Snippets pages
335 - Fix: Remove dead wp_ajax_metasync hook pointing to non-existent method
336 - Fix: robots_txt_backups table missing on fresh activation
337 - Fix: WP admin sidebar plugin icon vertical misalignment
338
339 = 2.5.27 =
340 - Fix: Image alt-text unreliable on Oxygen theme HTTP render path; added string-based fallback
341 - Fix: Content Genius page sync renders full-width on Oxygen Builder
342 - Fix: Apostrophe truncation in SEO extract functions causing content to be cut short
343 - Fix: Crawl monitoring module shows no data despite successful crawl executions
344 - Fix: Oxygen Builder synced post content not visible on front-end
345 - Fix: CPU performance tab missing from Advanced Settings after refactor
346 - Fix: JSON-LD schema deduplication: duplicate blocks on the same page
347 - Fix: Schema/JSON-LD suppression for OTTO when third-party SEO plugins (Yoast, Rank Math, AIOSEO) are active
348 - Fix: Remove dead `wp_ajax_metasync` hook pointing to non-existent `sync_items` method
349 - Fix: Add missing `display_cpu_deferral_notice` method to `Metasync_Admin`
350 - Fix: Oxygen Builder page template override guard in `create_page()` and `update_page()` (REST API)
351 - Fix: Stale-options overwrite in `test_heartbeat_api_connection()`; replace burst-mode heavy heartbeat with lightweight connection-ping endpoint
352 - Fix: Image alt-text string-based fallback in OTTO HTTP render path; Divi `data-et-multi-view` JSON attribute handling
353 - Feature: Internal link suggestions in post editor sidebar
354 - Feature: Replace burst-mode heavy heartbeat (`SyncCustomerParams`) with lightweight `connection-ping` endpoint — reduces payload and server load during key-pending state
355 - Feature: MCP sync log: log changes, rollback, 90-day auto-clear, and manual clear button
356 - Feature: Code minification and delivery (JS minifier)
357 - Feature: CPU load awareness: adaptive deferral based on server load
358 - Improvement: MCP `wordpress_get_post_by_url` extended to return full SEO metadata (title, description, schema, OG fields, focus keyword)
359 - Improvement: MCP System diagnostics and read-only database access tools (`wordpress_get_system_info`, `wordpress_get_active_plugins`, `wordpress_get_cron_jobs`, `wordpress_db_query`)
360 - Improvement: MCP `wordpress_get_seo_inventory` tool: bulk SEO health data across all posts in one call
361 - Improvement: Log - fatal-only filtering — `capture_php_error()` now passes only `E_USER_ERROR` and `E_RECOVERABLE_ERROR`; warnings, notices, and deprecations are dropped
362 - Improvement: Log - level gate in `send_to_sentry()` and `TelemetryManager::send_message()` — info/warning/debug events never reach the proxy
363 - Improvement: Log - debug window reduced from 60 min to 15 min (900s transient TTL) for faster re-reporting of recurring fatal errors
364 - Improvement: Logging cleanup - removed 15+ dead `log_heartbeat('info', ...)` calls (method already early-returns on `'info'`)
365 - Improvement: Logging cleanup - removed operational noise from `Metasync_Rate_Limiter`, `Metasync_Cache_Purge`, and `Metasync_API_Backoff_Manager`
366
367 = 2.5.26 =
368 * Improvement: AIOSEO compatibility
369 * Fix: preg_replace backreference injection in title deduplication (titles with \$N sequences)
370 * Fix: Title tag deduplication and SEO plugin conflict handlers
371 * Fix: API rate limiting causes stale cache and robots/canonical settings ignored
372 * Fix: Dollar signs being stripped from image alt text
373 * Fix: Heading deployment on Divi/page-builder sites
374 * Fix: PHP 7.4 compatibility — polyfills for str_contains/str_starts_with/str_ends_with and match expression rewrites
375 * Feature: NitroPack full flush + targeted object cache
376 * Feature: WP Database & Object Caching cleanup
377
378 = 2.5.25 =
379 **Bug Fixes:**
380 * Fix: OTTO persistence not syncing titles, descriptions, OG/Twitter fields were only written when persistence was enabled, but OTTO's own render filters read those same staging keys; added coverage for regular posts/pages; OG/Twitter persistence now also writes to RankMath and Yoast equivalents so SEO plugins pick up OTTO data; OG renderer falls back to OTTO staging keys when persistence keys are empty
381 * Fix: DB column missing on older installs now self-heals all three required columns
382 * Fix: Cap WP announce ping to max 5 per plugin activation lifecycle — removed unbounded cron retry; counter resets on fresh activation and clears on deactivation
383 * Fix: Dollar signs stripped from image alt text during deployment
384 * Fix: Heading deployment broken on some outdated Divi versions
385 * Fix: One case of duplicate meta name="description tags when MetaSync and AIOSEO coexist
386 * Fix: XML sitemap auto-update not triggering when posts published via Gutenberg
387 * Fix: Divi header/footer hidden on blog posts synced via Content Genius
388
389 = 2.5.24 =
390 **Bug Fixes:**
391 * Fix: Whitelabel slug not respected in admin links — \"Add Redirect\", \"404 Monitor\" tab, and \"Import from SEO Plugins\" buttons were using hardcoded `searchatlas-*` slugs instead of the configured WL slug
392 * Fix: Hardcoded SearchAtlas/Search Atlas brand strings replaced with whitelabel-aware output across admin views, dev panel, site health checks, and MCP tool descriptions
393 * Fix: \"SearchAtlas AI Pages\" dashboard widget title ignoring whitelabel plugin name setting
394 * Fix: Whitelabel icon lost after exporting and importing the plugin on a different site — icon is now bundled inside the export ZIP and restored to the new site's uploads directory on import
395 * Fix: Whitelabel icon not shown on WordPress Dashboard → Updates page — icon injected into the `update_plugins` site transient so the correct branded icon appears regardless of the update API response
396
397 = 2.5.23 =
398 **Bug Fixes:**
399 * Fix: MetaSync WP plugin breaks Elementor front-end spacing — SimpleHtmlDOM `stripRN` was stripping whitespace between inline elements; now set to `false`
400 * Fix: Elementor headings override Global Fonts after Content Genius sync — removed forced Roboto font so headings inherit site's Global Font settings
401 * Fix: Elementor Canvas template incorrectly applied when syncing articles as posts
402 * Fix: Admin bar status icon now reflects missing UUID as a distinct warning state (orange) rather than generic disconnected state
403
404 **Improvements:**
405 * Performance: Added transient cache to OTTO JS check to reduce overhead on every request
406 * Improvement: Cache Purge — Added per-URL purge support
407 * Improvement: Cache Purge — Query string normalization strips UTM/gclid/fbclid params before purge so all URL variants resolve to the same canonical URL
408 * Improvement: Cache Purge — Edge CDN purge integrations targeted via configuration
409 * Improvement: Remove non-publishable roles (Subscriber, Contributor) from Content Genius User Roles to Sync setting
410 * Improvement: Validation message added when publishing AI Landing Pages with plain permalink structure
411
412 **Features:**
413 * Feature: WordPress Site Health Integration — MetaSync now registers checks in the WP Site Health panel
414 * Feature: Media Optimization
415 * Feature: Rate the Plugin notice — shows a dismissible prompt after 7 days of usage; hidden when whitelabel is enabled
416
417 **Refactoring:**
418 * Removed `instant-index/` vendor tree (~714 files); replaced Google SDK with native PHP implementation
419 * Decomposed `Metasync_Admin` god object (17,849 lines) into 10 focused classes; admin reduced to ~3,986 lines
420 * Decomposed `Metasync_Public` into focused classes; REST API routes extracted to `Metasync_Rest_Api`
421 * Extracted 23 inline JavaScript blocks into proper `.js` files loaded via `wp_enqueue_script`
422
423 = 2.5.22 =
424 * Improvement: Heartbeat connection/pool logic to reduce the number of external requests
425 * Improvement: Adapt scenarios of Idle WpRocket + Active Kinsta Cache that was preventing the cache to be purged.
426
427 = 2.5.21 =
428 ###Features
429 - Add hosting cache integration (WP Engine + Kinsta) with per-provider toggles in Advanced → Cache
430 Management
431 - Add WP Engine native cache purge (Varnish + Memcached) via `WpeCommon`
432 - Add Kinsta native full-page cache purge via `KinstaCache::kinsta_cache_purge_full()`
433
434 ###Bug Fixes
435 - Fix: SEO placeholder tokens (%%title%%, %sitename%, #post_title#, etc.) now resolved to real values on
436 import from Yoast / Rank Math / AIOSEO
437 - Fix: Customer schema markup being injected into the global site header
438 - Fix: WP Rocket compatibility — OTTO no longer disables WP Rocket JS/CSS optimization features
439 - Fix: WP Rocket + Kinsta cache conflict causing meta title/description to revert
440 - Fix: CSS injection methods (`enqueue_page_custom_css`, Elementor, Divi) missing from `Metasync_Public`
441 - Fix: Plugin URI and Author URI fields silently discarding valid URLs
442
443 = 2.5.20 =
444 * Fixed a case where a empty Otto meta description was overwriting the existing one.
445
446 = 2.5.19 =
447 New Features
448
449 - SEO Sidebar in Post Editor — Edit Meta Title, Meta Description and URL slug directly from the post/page
450 editor sidebar
451 - Bot Detection Layer for OTTO — Detects and tracks bots with statistics dashboard
452 - Bing Instant Indexing — Submit URLs directly to Bing
453 - Plugin Setup Wizard — Guided setup process for new users
454 - Execution Settings — New controls under Advanced Settings
455 - Debug Mode Auto-Disable & Safety Limits — Automatically disables after a set period
456 - Enhanced Error Categorization — Improved monitoring with categorized error tracking
457 - Virtual robots.txt / sitemap.xml — Served virtually when host blocks direct file writes
458 - OTTO 404-Specific Filtering — Filter OTTO suggestions for 404 pages
459 - Heartbeat reliability improvements
460
461 Improvements
462
463 - Schema Markup disable option — Can now be toggled per Post/Page Editor settings
464 - Whitelabel form validation — Prevents partial saves without whitelabel mode activation
465 - Host Blocking in whitelabel — Host blocking now covered by whitelabel settings
466 - Support Token rate limiting — Properly enforced during login
467 - Report Issue with Sentry User Feedback — Image attachments supported
468 - MCP Tool API key auth — Fixed permission checks for API key-authenticated requests
469
470 Bug Fixes
471
472 - Fixed OTTO removing original meta description when no OTTO description deployed
473 - Fixed plugin breaking Elementor front-end spacing when span tag was inner H1
474 - Fixed WP Rocket + Kinsta cache conflict causing meta titles/descriptions to disappear
475 - Fixed ALT text not applied on home page and other pages for Custom Theme
476 - Fixed Plugin URI and Author URI not being saved
477 - Fixed UI issues in admin screens
478 - Fixed sync logs not showing newest info after filtering
479 - Fixed exported whitelabel settings not uploading to another site
480 - Fixed plugin settings hiding in plugin menu but not under WordPress General settings
481 - Fixed Import SEO Data missing from access control list
482
483 Stability / PHP 8.1+ Compatibility
484
485 - 13 improvements with deprecated PHP functions below PHP V8.0
486
487 = 2.5.18 =
488 * Removed JWT-based temporary support access token system
489 * Improved internal code documentation
490
491 = 2.5.17 =
492 * New: Administrator-Controlled Remote Support - Support access now requires explicit consent with secure, time-limited JWT tokens you generate and control
493 * New: Support Access Management UI - Generate, view, and revoke support tokens directly from plugin settings
494 * New: Email notifications when support tokens are generated, used, or revoked
495 * Security: Connect to Search Atlas now uses time-limited, single-use tokens instead of persistent credentials
496 * Security: Added rate limiting to Connect to Search Atlas authentication
497
498 = 2.5.16 =
499 * New: Administrator-Controlled Remote Support - Support access now requires explicit consent with secure, time-limited tokens you generate and control
500 * Security: Enhanced Search Atlas SSO authentication with time-limited tokens
501 * Security: Improved access control for administrative functions
502 * Security: Added rate limiting to authentication endpoints
503 * Improvement: Optimized token validation for better performance
504
505 = 2.5.15 =
506 * **Fix:** Improved compatibility with the **NitroPack** cache plugin.
507 * **Fix:** Resolved a compatibility issue with the **Divi Timeline** widget.
508 * **Fix:** Resolved a compatibility issue with the **Divi MultiView** widget.
509 * **Fix:** Fixed an issue where static text in Advanced Settings displayed "OTTO/SA" instead of the **White Label** name.
510 * **Fix:** Improved input validation within the **Redirection** form.
511 * **Fix:** Fixed an issue where the **Cancel** button in the Redirection feature was not triggering.
512 * **Fix:** Resolved an issue where **General Settings** would reset after a White Label password was set.
513 * **Improvement:** Enhanced the filter and search modules in the **Redirection** section.
514 * **Improvement:** When a new sitemap is generated, the **robots.txt** file will now automatically update with the correct link.
515 * **Improvement:** Simplified plugin navigation for a better user experience.
516 * **Improvement:** Removed deprecated files and unnecessary logs to optimize performance.
517 * **Improvement:** Added **MCP** support.
518 * **Improvement:** Added data persistence with **granularity** support.
519 * **Improvement:** Improved notification messaging to better inform users about plugin updates.
520 * **Feature:** Added full support for **Oxygen Builder**.
521 * **Feature:** **Plugin Access Control:** Added a setting under Advanced Settings to define which user roles can access the plugin.
522 * **Feature:** **Advanced Access Control:** White Label users can now disable specific settings or features per user role (**Settings \> White Label \> Advanced Access Control**).
523 * **Feature:** Added a dedicated **Import SEO Data** screen.
524 * **Feature:** Added an option to set all external links to `target="_blank"` (**Settings \> General \> Post/Page Settings**).
525 * **Feature:** Added an option to add `rel="nofollow"` to all external links (**SEO \> Indexation \> Indexation Control**).
526 * **Miscellaneous:** Minor cross-compatibility improvements for legacy PHP versions.
527
528 = 2.5.14 =
529 * **Fix:** Fixed a case of compatibility with Formidable Form Builder
530 * **Fix:** Fixed a case of compatibility with Essentials Theme
531 * **Fix:** Small adjustments in overall code for performance
532 * **Improvement:** Improvement of OTTO SSR system
533 * **Improvement:** Small adjustments in the UX
534 * **Improvement:** Improvement of suggestions persistence in WP DB.
535
536 = 2.5.13 =
537 * **Fix:** Fixed a case where new published article was only showing headers
538 * **Fix:** Fixed a case of compatibility with Essentials Theme
539 * **Fix:** Small adjustments in overall code for performance
540 * **New Feature: Whitelabel Plugin Export -** We included a feature to export a version of the plugin with your WL info. You could now easily install the plugin through different hosts, without the need to manually update/include the WL settings.
541 * **New Feature: Import from RankMath/Yoast/AIOSEO -** We included a feature to import Robots.txt, Sitemap.xml, Schemas and Indexation Options from SEO Plugins.
542 * **New Feature: Advanced Settings -> Clear Transient Cache -** We included a feature to clear the transient cache used to boost page performance. The cache stores the deployed changes from the platform, avoiding unnecessary process to apply the changes.
543 * **Improvement:** Small adjustments in OTTO SSR
544 * **Improvement:** Small adjustments in Light Theme version
545 * **Improvement:** We included a option in the Settings to Disable OTTO Toolbar.
546 * **Improvement:** Otto Toolbar is Whitelabel friendly (Apply WL name)
547
548 = 2.5.12 =
549 * **Fix:** Fixed a case of compatibility with Slider Revolution
550 * **Fix:** Fixed a case of duplication in content synced
551 * **Fix:** Small adjustments in PHP Warnings being triggered
552 * **Fix:** Fixed a case of custom child theme triggering errors in error log
553 * **New Feature: Light/Dark Theme -** We included a feature that allow users to switch the plugin colors to a light version.
554 * **New Feature: Content Genius Authors -** We included a feature under settings where you could choose what user roles would be synced with Content Genius
555 * **New Feature: OTTO Changes Viewer -** We included a feature to check what changes are being applied in a page optimized by OTTO.
556 * **Improvement:** We improved the OTTO detection system.
557 * **Improvement:** Changes in Robots.txt could be rollbacked with a historic of changes
558 * **Improvement:** We included a option in the Indexation feature to disallow Category pages.
559 * **Improvement:** Small optimizations in the code for page speed improvement.
560
561 = 2.5.11 =
562 * **Fix:** Fixed a case of compatibility with Woocommerce
563 * **Fix:** Fixed a case of redirections not working when the target URL was deleted
564 * **Fix:** Fixed a case of Error Logs not displaying correctly
565 * **Fix:** Fixed a case of PHP Warning due outdated PHP version
566 * **Fix:** Fixed a case of custom child theme triggering errors in error log
567 * **New Feature: Report a Issue -** We included a feature that allow users to notify Issues directly from the plugin.
568 * **Improvement:** We improved the Whitelabel settings to hide specific features if needed.
569 * **Improvement:** Improvements on system messages
570
571 = 2.5.10 =
572 * **Fix:** Fixed a case of compatibility with Gravity Forms
573 * **Fix:** Fixed a case of compatibility with Elementor Pro
574 * **Fix:** Fixed a case of compatibility with DIVI
575 * **Fix:** Fixed a case where the post editor preview was blocked
576 * **Fix:** Fixed a case of original meta title and meta description being overwritten by OTTO
577 * **New Feature: Custom Pages -** We included a feature that allow users to create custom pages bypassing existing Themes and Styles.
578 * **New Feature:** **OTTO Excluded URLs -** We included under Compatibility Tab, a option to Turn off OTTO changes per URL.
579 * **New Feature:** **Import Redirections -** Users could now import redirections from .csv file or directly from Yoast/RankMath/AIOSEO.
580 * **Improvement:** We improved the Whitelabel settings to hide specific features if needed.
581 * **Improvement:** Minor changes in core functions.
582 * **Improvement:** Excluded from Sitemap generator URLs that aren't related with live pages.
583
584 = 2.5.9 =
585 * **Fix:** Fixed a case where the plugin was duplicanting the meta description tag
586 * **Fix:** Fixed a case where the post editor was preventing user to save OG tags.
587 * **New Feature:** We included in advanced settings a option to test the connectivity between host and the platform.
588 * **New Feature:** Users could generate SITEMAP.xml directly in the plugin (This function will disable current sitemap.xml plugins)
589 * **New Feature:** User could Enable/Disable storing OTTO Meta Title and Meta Description into the Database. When enabled, it will overwrite Meta Title and Meta Description of Yoast/RankMath, etc, and the old meta title and meta description
590 * **Improvement:** We improved the Whitelabel settings to hide specific features if needed.
591 * **Improvement:** Minor changes in cross-compatibility with outdated PHP versions.
592
593 = 2.5.8 =
594 * **Fix:** Some conditions was preventing saving new/edit posts directly from the editor
595 * **Fix:** Non-standard tags found in body of the page, are being detect as plain text.
596 * **New Feature:** White Label Clients could turn on/off Plugin features in Whitelabel Settings.
597 * **Improvement:** Minor changes in cross-compatibility with outdated PHP versions.
598
599 = 2.5.7 =
600
601
602 = 2.5.6 =
603 * **Prevention**: New error detection system.
604 * **White Label**: 1-click Auth will sync the logo from the WL dashboard
605 * **Fixes & UX**: Allow Rollback changes in Meta Title and Meta Description that was being stored in the Database.
606
607 = 2.5.5 =
608 * **Performance**: Significant improvement to dashboard loading speed.
609 * **White Label**:
610 * New dedicated White Label settings screen (Settings\>White Label).
611 * Added password protection for White Label settings.
612 * **Logging**: Introduced Sync Logs to display implemented website changes.
613 * **Fixes & UX**: Minor UX adjustments and a fix for a false positive XSS issue in unused code.
614 * **System**: Minor OTTO system optimizations to reduce disk space and memory usage.
615
616 = 2.5.4 =
617 * HotFix: In some cases, the **error log** was becoming too large, causing host performance to slow down.
618
619 = 2.5.3 =
620 * Included Compatibility Screen V.1, that shows most common Themes and plugins and compatibility
621 * Improved error logs system
622
623 = 2.5.2 =
624 No changelog available.
625
626 = 2.5.1 =
627 * **Improved Dashboard Loading** for public dashboard URLs.
628 * **Enhanced compatibility** with naked URLs (non-www) on the platform.
629 * **Refined the Connection Status Bar.**
630 * **Fixed a bug** where the Connection Tips Box didn't expand when clicked.
631 * **Enabled the storage** of meta titles and descriptions in the database.
632 * **Added an option** to disable the dashboard view from the settings page.
633 * **Created a setting** to disable the Connection Status Bar from the admin bar.
634 * **Implemented a new Telemetry system** to streamline bug detection.
635 * **Resolved an issue** that caused error logs to be generated multiple times.
636 * **Optimized the rendering of AMP pages** to prevent unrecognized HTML tags.
637
638 = 2.5.1 =
639 * **Improved Dashboard Loading** for public dashboard URLs.
640 * **Enhanced compatibility** with naked URLs (non-www) on the platform.
641 * **Refined the Connection Status Bar.**
642 * **Fixed a bug** where the Connection Tips Box didn't expand when clicked.
643 * **Enabled the storage** of meta titles and descriptions in the database.
644 * **Added an option** to disable the dashboard view from the settings page.
645 * **Created a setting** to disable the Connection Status Bar from the admin bar.
646 * **Implemented a new Telemetry system** to streamline bug detection.
647 * **Resolved an issue** that caused error logs to be generated multiple times.
648 * **Optimized the rendering of AMP pages** to prevent unrecognized HTML tags.
649
650 = 2.5.0 =
651 * **Search Atlas SSO**
652 * Users can now authenticate the plugin with a single click, eliminating manual setup steps and streamlining the entire process.
653 * **OTTO One-Click Activation**
654 * After successful authentication, if an OTTO project exists in Search Atlas, its configurations are automatically imported and applied within WordPress.
655 * **White Label Branding**
656 * The white label experience has been significantly improved. Upon one-click authentication, any configured white label settings are automatically imported. This includes:
657 * Plugin Name
658 * Logo
659 * OTTO Name
660 * Dashboard URL
661 * From then on, all plugin connections reflect the customer’s white label branding. These settings are also accessible in a new **Advanced tab** within the plugin settings.
662 * **Dashboard Access**
663 * Direct access to the customer’s OTTO project dashboard is now available from within the plugin.
664 * **Plugin Redesign**
665 * The plugin has been fully rebranded with a refreshed design that aligns with the current Search Atlas dashboard, offering a more consistent and modern user experience.
666 * **Reset Plugin**
667 * A new option has been added to fully reset plugin configurations back to their default values.
668 * **Error Logs**
669 * Enhanced error logging is now available. When WordPress debug modes are enabled, the plugin can generate anonymous logs that may be shared with the specialist team for troubleshooting.
670 * **Search Atlas SSO**
671 * Users can now authenticate the plugin with a single click, eliminating manual setup steps and streamlining the entire process.
672 * **OTTO One-Click Activation**
673 * After successful authentication, if an OTTO project exists in Search Atlas, its configurations are automatically imported and applied within WordPress.
674 * **White Label Branding**
675 * The white label experience has been significantly improved. Upon one-click authentication, any configured white label settings are automatically imported. This includes:
676 * Plugin Name
677 * Logo
678 * OTTO Name
679 * Dashboard URL
680 * From then on, all plugin connections reflect the customer’s white label branding. These settings are also accessible in a new **Advanced tab** within the plugin settings.
681 * **Dashboard Access**
682 * Direct access to the customer’s OTTO project dashboard is now available from within the plugin.
683 * **Plugin Redesign**
684 * The plugin has been fully rebranded with a refreshed design that aligns with the current Search Atlas dashboard, offering a more consistent and modern user experience.
685 * **Reset Plugin**
686 * A new option has been added to fully reset plugin configurations back to their default values.
687 * **Error Logs**
688 * Enhanced error logging is now available. When WordPress debug modes are enabled, the plugin can generate anonymous logs that may be shared with the specialist team for troubleshooting.
689 * **Disable SSO**
690 * Disable 1 Click WP Authentication from Dashboard
691
692 BUG FIXES:
693
694 * Disabled Canonical redirects generating loops
695 * Check if URL could be crawled
696 * Duplicated element with YITH plugin
697 * FAQ format conflict with Theme Builder
698 * Conflict with Hostify Booking Engine plugin
699 * Old version of Elementro Pro breaking CSS
700
701 = 2.4.4 =
702 * Bug Fix: When user is logged via SSO, validate if the auth token is set
703
704 = 2.4.3 =
705 * HotFix 1: When user is logged via SSO, persist the session in the admin area
706
707 = 2.4.2 =
708 * Bug fix 1: large log size for heavy traffic sites
709
710 = 2.4.1 =
711 * Bugfix 1: Imported Posts published with duplicate images
712
713 = 2.4.0 =
714 * Feature 1: Single Sign On to WP from Dashboard
715 * Feature 2: Modifying Existing Posts with CA AI
716 * Improvement 1: Improved Error Handling for menu Image field
717 * Improvement 2: Notification about permalink compatibility
718 * Improvement 3: Remove outdate UI component (Clear Cache Button)
719 * Improvement 4: Delete Zipped logs older than 30 days
720 * Improvement 5: Displaying Block Quote elements from CA
721 * Bug fix 1: Table of Contents not Working for some sites
722 * Bug fix 2: FAQ Section not comming in correctly for some sites
723 * Bug fix 3: Error warning while publishing to WP Elementor on some sites
724 * Bug fix 4: Fatal Error triggered on invalid URI
725 * Bug fix 5: Preserve redirection for forward slash ending urls
726
727 = 2.3.11 =
728 * Feature 1: Modifying Existing Posts with Content Assistant AI
729
730 = 2.3.10 =
731 * Bug fix 1: Critical Error with undeclared global Post Object
732
733 = 2.3.8 =
734 * Bug fix 1: Check out flow breaking on some sites
735
736 = 2.3.7 =
737 * Bug fix 1: Otto Interfering with some non-native Ajax requests
738
739 = 2.3.6 =
740 * Bug fix 1: Activating Otto SSR breaks UI on some sites
741
742 = 2.3.5 =
743 * Bug fix 1: Argument Count Error on some custom themes
744 * Bug fix 2: Missing Title on some sites
745 * Improvement 1: Serve Otto improved changes to Bot
746
747 = 2.3.4 =
748 * Bug fix 1: Error Viewing blog posts in some Nginx sites
749 * Improvement 1: Otto Crawl monitoring
750 * Improvement 2: Remove redundant requests to back end
751
752 = 2.3.3 =
753 * Bug fix 1: Checkout failure on some sites
754
755 = 2.3.2 =
756 * Bug fix 1: Fatal Error on empty tag attributes
757 * Bug fix 2: Plugin Breaking Grid Page Sites
758
759 = 2.3.1 =
760 * Improvement 1: Real Time Server Side Rendering - No HTML Cache
761
762 = 2.3.0 =
763 * Bug fix 1: Fix 500 error when publishing a post
764 * Bug fix 2: Fix OTTO SSR disabling the WordPress edit menu
765 * Bug fix 3: Fix rest_forbidden error when publishing blog post
766 * Bug fix 4: Fix OTTO breaking website layout (top-bar)
767 * Improvement 1: Session Based Rendering
768 * Improvement 2: Reset Heartbeat API calls to 5-minute intervals
769 * Improvement 3: Update plugin layout and implement white-labelling
770 * Improvement 4: Implement new caching mechanism
771
772 = 2.2.7 =
773 * Bug fix 1: Fix 429 page issue
774 * Improvement 1: Disabling Otto on error pages like 404
775
776 = 2.2.6 =
777 * Improvement 1: Refactored CI/CD Pipelines and added releases
778
779 = 2.2.5 =
780 * Bug fix 1: Critical error on metasync logs page
781 * Bug fix 2: Purchase process affected on Ecommerce Sites
782
783 = 2.2.4 =
784 * Bug fix 1: AI page builder formatting
785 * Bug fix 2: Categories not syncing
786
787 = 2.2.3 =
788 * Bug Fix 1: Compatibility Improvements
789 * Bug Fix 2: Hero Image not showing on some posts
790 * Bug Fix 3: Post title missing on some posts
791
792 = 2.2.2 =
793 * Feature 1: Clear Otto Caches Button
794 * Feature 2: Option to disable Otto for logged in Users
795 * Bug fix 1: Hero Image not getting Updated
796
797 = 2.2.1 =
798 * Bugfix 1: Fix login Loop Issue on Sites with OTTO SSR
799 * Bugfix 2: Fix Otto SSR Caching Problem on the Admin Side
800 * Bugfix 3: Fix H1 rendering on published Posts
801
802 = 2.2.0 =
803 * Bugfix 1: Fix login Issues on Sites with OTTO SSR
804 * Bugfix 2: Accepting UUID to activate OTTO on Wordpress
805 * Feature 1: Alerting users to remove OTTO JS before activating OTTO SSR
806 * Feature 2: Instant deployment of changes made on OTTO dashboard
807
808 = 2.1.1 =
809 * bugfix 1: Logging System - Fix Corrupted Zip Files
810
811 = 2.1.0 =
812 * Feature : Server Side Rendering of the Otto Pixel
813
814 = 2.0.0 =
815 * Feature 1: Metasync Specific Site Log Monitoring & Logging
816 * Bugfix 1: Failed Image Syncing
817 * Bugfix 2: Fix AI landing Page Visibility
818 * Bugfix 3: Headings Coming over with #000000
819
820 = 1.9.3 =
821 * Fixed : Error Publishing Blog Article
822
823 = 1.9.2 =
824 * Fix : Renamed DB Migration Class to Prevent Conflict
825
826 = 1.9.1 =
827 * Feature 1: Stability Improvements
828
829 = 1.9.0 =
830 * Bug fixes
831 * Fixed PHP 7.1.x compatibility issues
832
833 = 1.8.9 =
834 * Enhanced security measures
835
836 = 1.8.8 =
837 * Improved general page settings
838
839 = 1.8.7 =
840 * Enhanced compatibility with WordPress Dashboard
841
842 = 1.8.6 =
843 * Server-side improvements
844
845 = 1.8.5 =
846 * Additional server optimizations
847
848 = 1.8.4 =
849 * Resolved logic issues for white labels
850
851 = 1.8.3 =
852 * Fixed isset issues for white labels and public view
853
854 = 1.8.2 =
855 * Addressed isset issues for white labels and error logging
856
857 = 1.8.1 =
858 * Fixed isset issues for white labels
859
860 = 1.8.0 =
861 * Fixed "Sync now" plugin list addition
862
863 = 1.7.9 =
864 * Fixed content removal in Debug Log
865
866 = 1.7.8 =
867 * Fixed content removal in Debug Log
868
869 = 1.7.7 =
870 * Improved Default Debug Log
871
872 = 1.7.6 =
873 * Enhanced Default Debug Log
874
875 = 1.7.5 =
876 * Improved Debug functionality
877
878 = 1.7.4 =
879 * General code improvements
880
881 = 1.7.3 =
882 * Continued code enhancements
883
884 = 1.7.2 =
885 * Fixed various errors
886
887 = 1.7.1 =
888 * Addressed metasync error logging
889
890 = 1.7.0 =
891 * Enhanced code and integrated Otto
892
893 = 1.6.9 =
894 * Improved compatibility with Divi Child theme
895
896 = 1.6.8 =
897 * Fixed issues with figure tags
898
899 = 1.6.7 =
900 * Enhanced support for Iframe tags
901
902 = 1.6.6 =
903 * Redirects updated after White Label changes
904
905 = 1.6.5 =
906 * Code and White Label improvements
907
908 = 1.6.4 =
909 * General code improvements
910
911 = 1.6.3 =
912 * Continued code enhancements
913
914 = 1.6.2 =
915 * Code improvements and menu renaming
916
917 = 1.6.1 =
918 * Code enhancements and White Label updates
919
920 = 1.6.0 =
921 * Code improvements and added Sub Pages functionality
922
923 = 1.5.9 =
924 * Code improvements and HTML format fixes
925
926 = 1.5.8 =
927 * Code improvements and HTML format fixes
928
929 = 1.5.7 =
930 * Code enhancements and bug fixes
931
932 = 1.5.6 =
933 * Code improvements and bug fixes
934
935 = 1.5.5 =
936 * General code improvements
937
938 = 1.5.4 =
939 * Code enhancements
940 * Fixed List Item components
941
942 = 1.5.3 =
943 * Code improvements
944 * Integrated Divi
945
946 = 1.5.2 =
947 * Code enhancements
948 * Fixed Elementor activation bug
949
950 = 1.5.1 =
951 * General code improvements
952
953 = 1.5.0 =
954 * Continued code enhancements
955
956 = 1.4.9 =
957 * General code improvements
958
959 = 1.4.8 =
960 * Added CSS for Search Atlas
961 * Code enhancements
962
963 = 1.4.7 =
964 * Added Permalink Structure Validator
965 * Enhanced Page Editor checks
966 * Option to choose Page Editor
967 * Code improvements and bug fixes
968
969 = 1.4.6 =
970 * Code enhancements and bug fixes
971
972 = 1.4.5 =
973 * Code improvements and bug fixes
974 * Removed deprecated features from codebase
975
976 = 1.4.4 =
977 * Code enhancements and bug fixes
978 * Added option to enable/disable features menu in General settings
979
980 = 1.4.3 =
981 * Changed post permalink approach to prevent conflicts
982 * Updated page template to default instead of blank
983 * Set page parent to main if page doesn't exist
984 * Fixed permalink function in getPagesList
985 * Resolved minor bugs and improved code
986
987 = 1.4.2 =
988 * Added new API endpoint `getPostByURL` to find posts by URL
989 * Updated README content and "Tested up to" attribute to latest version
990 * Updated `getPagesList` API to display all pages in JSON response
991 * Fixed bug in retrieving `post_id` in API codes
992 * Improved Pages management API for sub pages
993
994 = 1.4.1 =
995 * Added three new API endpoints for creating pages
996 * Renamed heartbeat endpoints and functions
997 * Updated heartbeat categories and user sync limits and responses
998 * Updated plugin name and description
999 * Added plugin banner for marketplace page
1000 * Removed Sitemaps feature, functions, and routes
1001 * Added option to enable/disable Schema on Posts and Pages
1002 * Improved General Settings UI/UX
1003 * Fixed bugs and enhanced code
1004
1005 = 1.4.0 =
1006 * Feature: Basic Markdown support `[markdown] MARKDOWN CONTENT [/markdown]`
1007 * Feature: Set a new Landing Page via API
1008 * API code improvements and bug fixes
1009
1010 = 1.3.4 =
1011 * Enhanced Error Logs viewer and messages
1012 * Added new error logs API
1013 * Fixed `createPost` API code bug
1014
1015 = 1.3.3 =
1016 * Performance enhancements and bug fixes
1017
1018 = 1.3.2 =
1019 * Fixed bugs related to post and page images
1020
1021 = 1.3.1 =
1022 * Updated UI for HTML Accordion components
1023
1024 = 1.3.0 =
1025 * Editor/APIs: Added HTML Accordion support via shortcode `[accordion]CONTENT[/accordion]`
1026 * APIs: Enabled editing drafts or published posts and pages multiple times without duplication via permalink
1027 * APIs: Allowed manual addition of schema/scripts/styles to posts and pages
1028 * APIs: Improved `deleteItem` endpoint code to comply with REST standards
1029 * APIs: Numerous bug fixes and code enhancements for better performance and stability
1030
1031 = 1.2.8 =
1032 * Added new business type "Tree Services" to Business SEO page
1033
1034 = 1.2.7 =
1035 * Added Error Logs GET API endpoint
1036 * Enabled functionality to trigger on-demand payload requests
1037 * Added heartbeat HTTP request error information to Error Logs
1038 * Set a limit of one thousand records for categories and users
1039
1040 = 1.2.6 =
1041 * Fixed issue displaying all fields in Optimal Settings
1042
1043 = 1.2.5 =
1044 * Enabled selecting the author of a post/page randomly in Create/Update item APIs
1045 * Added ALT text for hero images in Create/Update item API payloads
1046 * Set specific post dates within the last two months in Create API
1047 * Added validation for `post_date` in Create/Update item APIs
1048 * Refactored Create/Update item API code
1049
1050 = 1.2.4 =
1051 * Added feature and menu to enable/disable Open Graph, Facebook, and Twitter meta tags for all posts and pages
1052 * Updated plugin version and README file
1053
1054 = 1.2.3 =
1055 * Enabled returning revisions for posts or pages in the update endpoint
1056 * Added or updated post tags in Create and Update endpoints
1057 * Included tags list in heartbeat API payload
1058
1059 = 1.2.2 =
1060 * Optimized Create and Update endpoints for media uploads
1061 * Added redirection functionality in Create and Update endpoints
1062 * Enabled/disabling comments in Create and Update APIs
1063 * Fixed category updates in heartbeat API
1064 * Resolved issue uploading previously unuploaded images to media in Create API
1065
1066 = 1.2.1 =
1067 * Added hero image attribute `hero_image_url` in Create or Update post endpoint
1068 * Refactored image upload code to use URLs in Create/Update endpoints
1069 * Updated plugin README file
1070
1071 = 1.2.0 =
1072 * Added post author in Create post endpoint
1073 * Included users in heartbeat API with `users` attribute
1074 * Assigned authors to attachments when uploading images to the media library
1075 * Rebuilt post content tags based on HTML rules
1076
1077 = 1.1.9 =
1078 * Enabled saving images from URLs to the WordPress media library
1079 * Added functionality to save images from URLs in Create/Update endpoints
1080 * Implemented checks for existing images from URLs in Update endpoint
1081
1082 = 1.1.8 =
1083 * Corrected home URL storage in the 404 Monitor database
1084 * Identified correct page URLs in the 404 Monitor for redirection
1085 * Utilized correct URLs from the 404 Monitor for Redirection
1086
1087 = 1.1.7 =
1088 * Sent post categories as a list to backend requests
1089 * Enabled auto-generation of the plugin's authorization key
1090 * Displayed a message when the Search Atlas API key is not saved
1091
1092 = 1.1.6 =
1093 * Updated the title of General Settings
1094 * Updated plugin screenshots
1095
1096 = 1.1.5 =
1097 * Added/Replaced categories for posts with a key to append categories in update items
1098 * Synchronized post categories in Create/Update item endpoints
1099 * Refactored code to sync customer website configurations and post categories
1100
1101 = 1.1.4 =
1102 * Fixed issue sending categories as JSON in heartbeat payload
1103 * Removed special characters from category JSON
1104 * Fixed heartbeat request interval settings
1105
1106 = 1.1.3 =
1107 * Removed login fields for obtaining JWT token from General Settings
1108 * Removed dashboard link from the plugin
1109 * Set heartbeat frequency to every 5 minutes
1110 * Configured heartbeat requests to trigger on saving General Settings
1111
1112 = 1.1.2 =
1113 * Removed double quotes and forward slashes from JSON-LD Schema
1114
1115 = 1.1.1 =
1116 * Fixed article name issue in JSON-LD Schema
1117 * Added plugin icon to the plugin directory
1118 * Added plugin screenshots to the plugin directory
1119 * Included changelogs in the plugin's README file
1120
1121 = 1.1.0 =
1122 * Added a button to manually force heartbeat sending to the server
1123 * Displayed the last sync timestamp to monitor heartbeat status
1124 * Added input field to save the Search Atlas API key in General Settings
1125 * Included Search Atlas API key in the header of Heartbeat API
1126 * Removed JWT token and Customer ID from Heartbeat Request
1127
1128 = 1.0.9 =
1129 * Added `meta_description` and `meta_robots` to the payload
1130 * Fixed issue updating categories consistently in the payload
1131 * Fixed issue adding two different `meta_robots` values in the header
1132 * Included blog categories in the Heartbeat payload
1133
1134 = 1.0.8 =
1135 * Updated post/page permalinks during post updates via API payload
1136 * Updated post categories during post updates via API payload
1137
1138 = 1.0.7 =
1139 * Added categories during post creation
1140 * Included Permalink URL during page creation
1141 * Set default post type to Post and post status to Publish
1142
1143 = 1.0.6 =
1144 * Added new sanitization for JSON-LD to echo in the header
1145 * Removed third-party URLs from post data in the plugin
1146
1147 = 1.0.5 =
1148 * Created new `deleteItem` API to delete posts
1149 * Refactored JSON-LD schema code to include all posts and pages
1150 * Added prepare method in WHERE clause fields of queries
1151
1152 = 1.0.4 =
1153 * Added new sanitization for all POST and GET variables
1154 * Refactored all plugin code
1155
1156 = 1.0.3 =
1157 * Added sanitization for all missing POST/REQUEST variables
1158 * Implemented escape methods for all internal print variables
1159 * Refactored all select boxes to use select options
1160 * Removed redundant code from the plugin
1161
1162 = 1.0.2 =
1163 * Fixed issue excluding post IDs from sitemaps via API or General Settings
1164 * Fixed issue sanitizing null values in common settings
1165
1166 = 1.0.1 =
1167 * Fixed invalid token issue in Heartbeat API
1168 * Fixed exception handling in LinkGraph login response
1169
1170 = 1.0.0 =
1171 Initial release.