{"id":310267,"date":"2026-06-02T20:04:18","date_gmt":"2026-06-02T20:04:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/spellmatic\/"},"modified":"2026-06-02T20:04:00","modified_gmt":"2026-06-02T20:04:00","slug":"spellmatic","status":"publish","type":"plugin","link":"https:\/\/mg.wordpress.org\/plugins\/spellmatic\/","author":12432288,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.8","stable_tag":"1.3.8","tested":"7.0","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"Spellmatic","header_author":"Spellmatic","header_description":"Full-site spell check, grammar correction, and AI-powered proofreading for WordPress. Scan every post, page, product, and builder layout in one click \u2014 then fix errors individually or in bulk.","assets_banners_color":"6e7683","last_updated":"2026-06-02 20:04:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/spellmatic.com","header_author_uri":"https:\/\/spellmatic.com\/about","rating":0,"author_block_rating":0,"active_installs":0,"downloads":40,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.8":{"tag":"1.3.8","author":"cmolyn","date":"2026-06-02 20:04:00"}},"upgrade_notice":{"0.8.2":"<p>Fixes Fix\/Dismiss buttons on the Results page. Includes Pro dashboard UI overhaul and harper.js CDN fallback.<\/p>","0.8.0":"<p>Adds one-time scan credit plans and a new upgrade\/pricing page. No breaking changes for existing Pro users.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3558528,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3558528,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3558528,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.8"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Dashboard \u2014 one-click full-site scan with AI ON\/OFF toggle","2":"Results view \u2014 errors listed with context, type badge, and fix\/dismiss actions","3":"AI scan \u2014 AI provider results appended to base scan","4":"Settings \u2014 scan targets, BYOK AI key management, and digest scheduling","5":"Upgrade page \u2014 plan comparison with pricing"}},"plugin_section":[262246],"plugin_tags":[76538,1842,1084,1843,26509],"plugin_category":[],"plugin_contributors":[265523,78154],"plugin_business_model":[],"class_list":["post-310267","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-elementor","plugin_tags-grammar","plugin_tags-page-builder","plugin_tags-proofreading","plugin_tags-spell-check","plugin_contributors-cmolyn","plugin_contributors-freemius","plugin_committers-cmolyn"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/spellmatic\/assets\/icon-128x128.png?rev=3558528","icon_2x":"https:\/\/ps.w.org\/spellmatic\/assets\/icon-256x256.png?rev=3558528","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Spellmatic scans your entire WordPress site for spelling and grammar errors, then lets you fix them in one click \u2014 including content built with Elementor, Avada, Divi, WPBakery, and more.<\/strong><\/p>\n\n<p>Most grammar tools only check what you're currently editing. Spellmatic scans every post, page, product, and comment on your site \u2014 even content stored inside page builder data structures.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Full-site scan across all posts and pages \u2014 no error cap<\/li>\n<li>Privacy-first local grammar engine powered by Harper WASM \u2014 no data ever leaves your server<\/li>\n<li>All errors shown per scan with fix \/ dismiss actions<\/li>\n<li>Error dashboard with error type badges and in-context display<\/li>\n<li>Custom dictionary \u2014 add words to ignore globally<\/li>\n<li>Scheduled email digests with scan summaries<\/li>\n<li>BYOK AI integration with OpenAI \u2014 contextual AI proofreading using your own API key<\/li>\n<\/ul>\n\n<h4>Premium Features<\/h4>\n\n<p>Premium plans add powerful extras for professionals and agencies. Available at <a href=\"https:\/\/spellmatic.com\">spellmatic.com<\/a>.<\/p>\n\n<ul>\n<li>Bulk auto-fix \u2014 fix all errors across your site in one click<\/li>\n<li>Smart fix \u2014 AI-powered contextual corrections<\/li>\n<li>Additional AI providers \u2014 Claude, Gemini, Grok, and OpenRouter<\/li>\n<li>Priority support<\/li>\n<\/ul>\n\n<p><strong>Pro ($79\/year)<\/strong>\n* All premium features\n* Dedicated account management<\/p>\n\n<p><strong>Agency ($149\/year)<\/strong>\n* Everything in Pro\n* Up to 10 WordPress sites \/ multisite network support<\/p>\n\n<h4>Page Builder Compatibility<\/h4>\n\n<p>Spellmatic scans content inside:\n* <strong>Elementor<\/strong> \u2014 reads JSON widget data (<code>_elementor_data<\/code>)\n* <strong>Avada \/ Fusion Builder<\/strong> \u2014 parses Fusion shortcodes and page options\n* <strong>Divi Builder<\/strong> \u2014 strips and scans Divi shortcode content\n* <strong>WPBakery Page Builder<\/strong> \u2014 scans all WPBakery shortcode text\n* <strong>Beaver Builder<\/strong> \u2014 reads serialized layout data\n* <strong>Bricks Builder<\/strong> \u2014 parses JSON element data\n* <strong>Oxygen Builder<\/strong> \u2014 reads builder meta\n* <strong>Brizy<\/strong> \u2014 reads JSON layout data\n* <strong>Gutenberg \/ Block Editor<\/strong> \u2014 native support\n* <strong>Kadence Blocks<\/strong> \u2014 native block support<\/p>\n\n<h4>Privacy First<\/h4>\n\n<p>The free tier uses Harper WASM \u2014 a blazing-fast, privacy-respecting grammar engine that runs entirely in your browser (client-side WebAssembly). Zero external API calls. Zero data sent anywhere. Your content stays yours.<\/p>\n\n<p>The optional BYOK AI layer uses your own API key. Your key is stored encrypted on your server and all API calls go directly from your server to your chosen AI provider \u2014 Spellmatic never sees your content or your key.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the following third-party services. Full details are also available on the Open Source &amp; Services page inside the plugin (Spellmatic \u2192 Open Source).<\/p>\n\n<h4>Grammar Engine \u2014 Harper (Bundled)<\/h4>\n\n<p>The Harper grammar engine (Apache 2.0 licensed) is bundled with the plugin and runs entirely in your browser. No external connections are made during scanning.<\/p>\n\n<p>You may optionally update the grammar engine to get improved dictionaries and grammar rules. No external connections are made by the plugin for grammar engine updates \u2014 all updates are performed manually by the site administrator:<\/p>\n\n<ol>\n<li>Download the latest <code>harper.js<\/code> from the Harper npm package at <a href=\"https:\/\/www.npmjs.com\/package\/harper.js\">https:\/\/www.npmjs.com\/package\/harper.js<\/a> \u2014 the file is located in the <code>dist\/<\/code> folder of the package.<\/li>\n<li>Upload the file to <code>wp-content\/uploads\/spellmatic\/harper.js<\/code> on your server (create the <code>spellmatic<\/code> folder if it does not exist).<\/li>\n<li>The plugin will automatically detect and use the uploaded file on the next page load.<\/li>\n<li>To revert, simply delete the file from <code>wp-content\/uploads\/spellmatic\/<\/code> \u2014 the plugin will fall back to the bundled version.<\/li>\n<\/ol>\n\n<ul>\n<li>Harper project: <a href=\"https:\/\/github.com\/Automattic\/harper\">https:\/\/github.com\/Automattic\/harper<\/a><\/li>\n<li>Harper license: <a href=\"https:\/\/github.com\/Automattic\/harper\/blob\/master\/LICENSE\">Apache License 2.0<\/a><\/li>\n<li>Harper website: <a href=\"https:\/\/writewithharper.com\">https:\/\/writewithharper.com<\/a><\/li>\n<\/ul>\n\n<h4>AI-Powered Grammar Analysis (Optional, BYOK)<\/h4>\n\n<p>When you enable the BYOK AI feature and initiate an AI scan, post and page text is sent to your chosen AI provider for contextual grammar analysis. This only occurs when you explicitly click \"Scan\" with AI enabled. API keys are encrypted with AES-256-CBC and stored on your server.<\/p>\n\n<p><strong>OpenAI<\/strong>\n* Service: <a href=\"https:\/\/openai.com\">https:\/\/openai.com<\/a>\n* Terms of Use: <a href=\"https:\/\/openai.com\/policies\/terms-of-use\">https:\/\/openai.com\/policies\/terms-of-use<\/a>\n* Privacy Policy: <a href=\"https:\/\/openai.com\/policies\/privacy-policy\">https:\/\/openai.com\/policies\/privacy-policy<\/a><\/p>\n\n<p><strong>Anthropic (Claude)<\/strong>\n* Service: <a href=\"https:\/\/www.anthropic.com\">https:\/\/www.anthropic.com<\/a>\n* Terms of Use: <a href=\"https:\/\/www.anthropic.com\/legal\/consumer-terms\">https:\/\/www.anthropic.com\/legal\/consumer-terms<\/a>\n* Privacy Policy: <a href=\"https:\/\/www.anthropic.com\/legal\/privacy\">https:\/\/www.anthropic.com\/legal\/privacy<\/a><\/p>\n\n<p><strong>Google (Gemini)<\/strong>\n* Service: <a href=\"https:\/\/ai.google.dev\">https:\/\/ai.google.dev<\/a>\n* Terms of Use: <a href=\"https:\/\/ai.google.dev\/gemini-api\/terms\">https:\/\/ai.google.dev\/gemini-api\/terms<\/a>\n* Privacy Policy: <a href=\"https:\/\/policies.google.com\/privacy\">https:\/\/policies.google.com\/privacy<\/a><\/p>\n\n<p><strong>xAI (Grok)<\/strong>\n* Service: <a href=\"https:\/\/x.ai\">https:\/\/x.ai<\/a>\n* Terms of Use: <a href=\"https:\/\/x.ai\/legal\/terms-of-service\">https:\/\/x.ai\/legal\/terms-of-service<\/a>\n* Privacy Policy: <a href=\"https:\/\/x.ai\/legal\/privacy-policy\">https:\/\/x.ai\/legal\/privacy-policy<\/a><\/p>\n\n<p><strong>OpenRouter<\/strong>\n* Service: <a href=\"https:\/\/openrouter.ai\">https:\/\/openrouter.ai<\/a>\n* Terms of Use: <a href=\"https:\/\/openrouter.ai\/terms\">https:\/\/openrouter.ai\/terms<\/a>\n* Privacy Policy: <a href=\"https:\/\/openrouter.ai\/privacy\">https:\/\/openrouter.ai\/privacy<\/a><\/p>\n\n<h4>Licensing &amp; Analytics \u2014 Freemius<\/h4>\n\n<p>Spellmatic uses the Freemius SDK for license validation, plan management, and optional opt-in usage analytics. You are asked for consent during plugin activation.<\/p>\n\n<ul>\n<li>Service: <a href=\"https:\/\/freemius.com\">https:\/\/freemius.com<\/a><\/li>\n<li>Terms of Use: <a href=\"https:\/\/freemius.com\/terms\/\">https:\/\/freemius.com\/terms\/<\/a><\/li>\n<li>Privacy Policy: <a href=\"https:\/\/freemius.com\/privacy\/\">https:\/\/freemius.com\/privacy\/<\/a><\/li>\n<\/ul>\n\n<h4>Perfect For<\/h4>\n\n<ul>\n<li><strong>Agencies<\/strong> managing multiple client WordPress sites<\/li>\n<li><strong>Bloggers<\/strong> with large back-catalogues who want to clean up old posts<\/li>\n<li><strong>WooCommerce stores<\/strong> where typos hurt credibility and conversions<\/li>\n<li><strong>Content publishers<\/strong> who need a quick pre-launch proofread<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>spellmatic<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Navigate to <strong>Spellmatic<\/strong> in the admin sidebar<\/li>\n<li>Click <strong>Scan Entire Site<\/strong> to run your first scan<\/li>\n<li>Review errors and click <strong>Fix<\/strong> or <strong>Dismiss<\/strong> for each one<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20elementor%3F\"><h3>Does this work with Elementor?<\/h3><\/dt>\n<dd><p>Yes. Spellmatic reads Elementor's JSON data structure and extracts all text from your widgets and sections.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20avada%20%2F%20fusion%20builder%3F\"><h3>Does it work with Avada \/ Fusion Builder?<\/h3><\/dt>\n<dd><p>Yes. Avada's Fusion Builder shortcodes are parsed and all text content is scanned.<\/p><\/dd>\n<dt id=\"will%20it%20send%20my%20content%20to%20an%20external%20server%3F\"><h3>Will it send my content to an external server?<\/h3><\/dt>\n<dd><p>No \u2014 not by default. The Harper grammar engine runs as WebAssembly in your browser. No data leaves your site. The optional BYOK AI feature makes direct calls from your server to your chosen AI provider using your own API key. See the External Services section for full details.<\/p><\/dd>\n<dt id=\"what%20is%20byok%20%28bring%20your%20own%20key%29%3F\"><h3>What is BYOK (Bring Your Own Key)?<\/h3><\/dt>\n<dd><p>Instead of routing your content through our servers and charging you for AI usage, Spellmatic lets you paste in your own API key from OpenAI, Anthropic (Claude), Google Gemini, xAI (Grok), or OpenRouter. You pay only for what you use \u2014 AI inference costs for grammar checking are fractions of a cent per post.<\/p><\/dd>\n<dt id=\"how%20does%20the%20free%20version%20differ%20from%20paid%3F\"><h3>How does the free version differ from paid?<\/h3><\/dt>\n<dd><p>The free version includes full-site scanning with no error cap, individual fix\/dismiss for every error, and AI-powered proofreading with OpenAI. Premium plans add bulk auto-fix, smart fix, additional AI providers (Claude, Gemini, Grok, OpenRouter), priority support, and multisite licensing.<\/p><\/dd>\n<dt id=\"is%20bulk%20fix%20available%20in%20the%20free%20version%3F\"><h3>Is bulk fix available in the free version?<\/h3><\/dt>\n<dd><p>Bulk auto-fix is a premium feature. The free version lets you fix errors one at a time with no limit.<\/p><\/dd>\n<dt id=\"what%20are%20scan%20credits%3F\"><h3>What are scan credits?<\/h3><\/dt>\n<dd><p>The Site Scan ($19) and 3-Pack ($39) one-time plans include 1 and 3 scan credits respectively. Each full scan uses one credit. Credits don't expire.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.8<\/h4>\n\n<ul>\n<li>Version bump \u2014 clean build for WordPress.org submission<\/li>\n<\/ul>\n\n<h4>1.3.7<\/h4>\n\n<ul>\n<li>Removed remaining \"premium only\" and \"pricing\" references from PHP docblocks and code comments<\/li>\n<li>Renamed \"Pricing basis\" column header to \"Rate basis\" in AI cost reference table<\/li>\n<li>Cleaned section comment on plans page renderer<\/li>\n<\/ul>\n\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>Deep clean: moved all plan badge, banner, and fix-limit CSS to separate stylesheet<\/li>\n<li>Moved plan display data into a method \u2014 empty array returned by default<\/li>\n<li>Settings page only shows OpenAI provider by default (additional providers loaded separately)<\/li>\n<li>Removed marketing language, plan descriptions, and upgrade references from code<\/li>\n<li>Cleaned comments referencing plan details<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>Wrapped Pricing subnav link in premium block \u2014 was visible in free version pointing to non-existent page<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Removed bulk fix and smart fix REST endpoints from free version \u2014 routes no longer registered<\/li>\n<li>Moved premium JS to __premium_only file so Freemius excludes it from free version zip<\/li>\n<li>Removed all pro badges, locked states, and upgrade prompts from free version UI<\/li>\n<li>Cleaned up dead code (free fix limits, unused premium helpers)<\/li>\n<li>Renamed isPro variable in editor sidebar to publishGateActive<\/li>\n<li>Wrapped plan badges, upgrade URLs, and checkout methods in premium blocks<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Fixed missing translators comment for i18n string flagged by Plugin Check<\/li>\n<li>Added phpcs ignore comments for intentional set_time_limit and WP_DEBUG error_log usage<\/li>\n<li>Replaced interpolated $table variable in DB query with inline $wpdb-&gt;prefix for Plugin Check compliance<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Fixed Freemius PHP preprocessor pattern matching \u2014 removed function_exists() wrapper from premium-only checks so code blocks are properly stripped from the free version<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Added missing has_premium_version flag to Freemius SDK init<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>WordPress.org compliance: Restructured premium features so the free version contains no locked or disabled functionality<\/li>\n<li>Removed error cap and fix limit \u2014 all users see all results and can fix without limits<\/li>\n<li>Premium features (bulk fix, smart fix, additional AI providers) cleanly separated via Freemius SDK<\/li>\n<li>Extracted inline CSS and JS from the onboarding wizard into separate enqueued files<\/li>\n<li>Removed WordPress.org directory assets (banner, icons) from the plugin distribution<\/li>\n<li>Updated readme to accurately reflect free vs. premium capabilities<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Removed Harper grammar engine self-updating \u2014 updates are now manual only (download from npm, upload to wp-content\/uploads\/spellmatic\/)<\/li>\n<li>Restructured Freemius SDK init to follow all dashboard integration recommendations<\/li>\n<li>Version bump for Freemius redeployment<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Upgraded Freemius SDK to 2.13.1<\/li>\n<li>Moved uninstall logic to Freemius after_uninstall hook for .org compliance<\/li>\n<li>Fixed output escaping on Results page counters<\/li>\n<li>Added translators comments for all i18n strings with placeholders<\/li>\n<li>Escaped AI provider exception messages in BYOK module<\/li>\n<li>Added phpcs:ignore for legitimate php:\/\/output stream in CSV export<\/li>\n<li>Updated \"Tested up to\" to WordPress 6.9<\/li>\n<li>Dismissed items now visible and restorable on the Results page<\/li>\n<li>Dismissed results excluded from re-scan duplicate detection<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Security: Server-side plan gate on AI scan endpoint<\/li>\n<li>Added uninstall.php with optional full data cleanup<\/li>\n<li>Added \"Delete data on uninstall\" toggle in Settings<\/li>\n<li>Expanded translatable strings for JS UI (27 localized strings)<\/li>\n<li>Generated .pot translation template (168 strings)<\/li>\n<li>Created \/languages\/ directory for i18n support<\/li>\n<li>Fixed ungated console.log on dashboard init<\/li>\n<li>Version and authorship consistency across all files<\/li>\n<\/ul>\n\n<h4>0.8.3<\/h4>\n\n<ul>\n<li>Fix: Position-aware fix replacement \u2014 no longer replaces all occurrences of a word (critical bug fix)<\/li>\n<li>Fix: Builder fixer support for Divi, WPBakery, and Avada (previously scan-only)<\/li>\n<li>Custom dictionary now wired to Harper engine<\/li>\n<li>AI result deduplication against Harper findings<\/li>\n<li>Fix undo \/ revert with revision history<\/li>\n<li>CSV export on Results page<\/li>\n<li>Real-time fix preview with inline diff<\/li>\n<li>Site health score + WP dashboard widget<\/li>\n<li>Pre-publish spell check in Gutenberg editor sidebar<\/li>\n<li>Multiple ranked suggestions per error<\/li>\n<li>Per-post scan from editor sidebar<\/li>\n<\/ul>\n\n<h4>0.8.2<\/h4>\n\n<ul>\n<li>Fix: Apply Fix and Dismiss buttons non-functional on the dedicated Results page<\/li>\n<li>Pro dashboard UI \u2014 scope selector, grouped collapsible result cards, post-level pagination, filter bar, Fix All per post<\/li>\n<li>Harper.js CDN fallback via Cloudflare R2 (strips WASM from zip, keeps it under 5 MB)<\/li>\n<li>Dynamic public post-type support in scope selector<\/li>\n<li>Version bump to 0.8.2<\/li>\n<\/ul>\n\n<h4>0.8.0<\/h4>\n\n<ul>\n<li>Phase 6: Freemius full integration \u2014 class-license.php central plan\/credit management<\/li>\n<li>One-time scan credit plans (Site Scan, 3-Pack) with credit consumption after scan<\/li>\n<li>Free-tier cap fixed: credit-plan users now see all results<\/li>\n<li>Upgrade \/ pricing page (5-tier grid with feature lists and Freemius checkout links)<\/li>\n<li>Dashboard banner now shows remaining credits for credit-plan users<\/li>\n<li>Removed legacy inline is_pro() stubs \u2014 all plan checks centralised in Spellmatic_License<\/li>\n<\/ul>\n\n<h4>0.7.1<\/h4>\n\n<ul>\n<li>Phase 5: BYOK AI pass \u2014 5 providers (OpenAI, Claude, Gemini, Grok, OpenRouter)<\/li>\n<li>Encrypted API key storage, Test Connection per provider<\/li>\n<li>Native PHP cURL transport \u2014 fixes Expect: 100-continue timeout with OpenAI\/Cloudflare<\/li>\n<li>AI ON\/OFF toggle on dashboard scan panel<\/li>\n<li>Configurable AI max items (1\u201350) with per-provider cost estimates<\/li>\n<li>All 5 providers verified working end-to-end<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>Phase 4: Custom dictionary (add\/remove words to ignore globally)<\/li>\n<li>Scheduled scan digests \u2014 weekly or monthly email with error summary<\/li>\n<li>Filter by error type in results view<\/li>\n<li>Settings page with scan target controls<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Phase 3: Page builder content extraction<\/li>\n<li>Elementor JSON widget data extraction<\/li>\n<li>Avada \/ Fusion Builder shortcode parsing<\/li>\n<li>Divi shortcode stripping<\/li>\n<li>WPBakery shortcode text extraction<\/li>\n<li>Builder-aware edit links (Edit with Elementor \/ Divi \/ Avada Live)<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Phase 2b: Pro error cap (10 errors free; unlimited Pro)<\/li>\n<li>Bulk fix endpoint and UI<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Phase 2: Browser-side Harper WASM scan flow<\/li>\n<li>Scan start \/ submit REST endpoints<\/li>\n<li>Per-error fix and dismiss actions<\/li>\n<li>Result cards with context and type badges<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Admin menu, dashboard, results, and settings pages<\/li>\n<li>Freemius SDK integration<\/li>\n<li>Database schema (spellmatic_scans + spellmatic_results)<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Project scaffold, REST API architecture, Harper WASM groundwork<\/li>\n<\/ul>","raw_excerpt":"Scan and fix spelling and grammar errors across your entire WordPress site in one click \u2014 including Elementor, Avada, Divi, and WPBakery content.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/310267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=310267"}],"author":[{"embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/cmolyn"}],"wp:attachment":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=310267"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=310267"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=310267"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=310267"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=310267"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=310267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}