{"id":309806,"date":"2026-05-29T20:13:47","date_gmt":"2026-05-29T20:13:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/raptor-content-refiner\/"},"modified":"2026-10-02T06:48:58","modified_gmt":"2026-10-02T06:48:58","slug":"raptor-content-refiner","status":"publish","type":"plugin","link":"https:\/\/hy.wordpress.org\/plugins\/raptor-content-refiner\/","author":14711667,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.2","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"Raptor Content Refiner","header_author":"Raptor Content Refiner Contributors","header_description":"One-click AI-powered content restructuring. Cleans messy markup, fixes heading hierarchy, and improves readability and SEO \u2014 for posts, pages, and custom post types.","assets_banners_color":"","last_updated":"2026-10-02 06:48:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/raptor-content-refiner\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":286,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"Amr267","date":"2026-05-29 20:13:16","revision":3554156},"1.0.1":{"tag":"1.0.1","author":"Amr267","date":"2026-10-02 06:48:58","revision":3724251}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,529,1975,12158,186],"plugin_category":[46,55],"plugin_contributors":[252221],"plugin_business_model":[],"class_list":["post-309806","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-content","plugin_tags-formatting","plugin_tags-readability","plugin_tags-seo","plugin_category-editor-and-writing","plugin_category-seo-and-marketing","plugin_contributors-amr267","plugin_committers-amr267"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/raptor-content-refiner.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Raptor Content Refiner adds a manual \"Refine Content\" button to both the Gutenberg block editor and the Classic Editor. When you click it, the plugin sends your content to an AI service that restructures it into a clean, SEO-friendly, and easy-to-read format.<\/p>\n\n<p><strong>What it does:<\/strong><\/p>\n\n<ul>\n<li>Removes unnecessary HTML tags, messy markup, and redundant elements<\/li>\n<li>Applies proper heading hierarchy (H1 through H6 in logical order)<\/li>\n<li>Structures content into clean paragraphs, lists, and blockquotes<\/li>\n<li>Eliminates inline styles, empty tags, deprecated attributes, and div soup<\/li>\n<li>Improves readability, visual clarity, and on-page SEO<\/li>\n<li>Preserves the original meaning, intent, images, and hyperlinks<\/li>\n<\/ul>\n\n<p><strong>Key features:<\/strong><\/p>\n\n<ul>\n<li>Works with posts, pages, and any custom post type<\/li>\n<li>Never runs automatically \u2014 you are always in control<\/li>\n<li>Supports both Gutenberg (block editor) and Classic Editor<\/li>\n<li>Compatible with WordPress 6.6 through 7.1 and later<\/li>\n<li>On WordPress 7.0+, integrates with the built-in AI Client and Connectors API<\/li>\n<li>On WordPress 6.6\u20136.9, provides its own settings page for API key configuration<\/li>\n<li>Supports OpenAI, Anthropic, and Google AI providers<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to third-party AI services to process and restructure your content. <strong>No data is sent automatically.<\/strong> External API calls are made only when you manually click the \"Refine Content\" button.<\/p>\n\n<p><strong>Data transmitted:<\/strong> Only the HTML content of the post you are editing is sent to the AI service. No personal data, metadata, or site information is transmitted.<\/p>\n\n<p>Depending on your configuration, the plugin may connect to one of the following services:<\/p>\n\n<h4>OpenAI<\/h4>\n\n<ul>\n<li>Service: OpenAI API (https:\/\/openai.com)<\/li>\n<li>API Endpoint: https:\/\/api.openai.com\/v1\/chat\/completions<\/li>\n<li>Terms of Use: https:\/\/openai.com\/policies\/terms-of-use<\/li>\n<li>Privacy Policy: https:\/\/openai.com\/policies\/privacy-policy<\/li>\n<\/ul>\n\n<h4>Anthropic<\/h4>\n\n<ul>\n<li>Service: Anthropic API (https:\/\/www.anthropic.com)<\/li>\n<li>API Endpoint: https:\/\/api.anthropic.com\/v1\/messages<\/li>\n<li>Terms of Service: https:\/\/www.anthropic.com\/legal\/consumer-terms<\/li>\n<li>Privacy Policy: https:\/\/www.anthropic.com\/legal\/privacy<\/li>\n<\/ul>\n\n<h4>Google AI<\/h4>\n\n<ul>\n<li>Service: Google AI Gemini API (https:\/\/ai.google.dev)<\/li>\n<li>API Endpoint: https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/<\/li>\n<li>Terms of Service: https:\/\/policies.google.com\/terms<\/li>\n<li>Privacy Policy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<p>On WordPress 7.0+, the plugin uses the built-in WordPress AI Client and Connectors API. The specific AI service used depends on which connector the site administrator has configured in Settings &gt; Connectors.<\/p>\n\n<h3>Source Code and Build Process<\/h3>\n\n<p>This plugin's JavaScript is bundled with @wordpress\/scripts (webpack-based). The human-readable source files are included in the <code>src\/<\/code> directory inside the deployed plugin, and <code>package.json<\/code> documents the build tool and its dependencies.<\/p>\n\n<p>To rebuild the assets from source:<\/p>\n\n<ol>\n<li>Install Node.js dependencies: <code>npm install<\/code><\/li>\n<li>Build the assets: <code>npm run build<\/code><\/li>\n<\/ol>\n\n<p>This regenerates <code>build\/index.js<\/code>, <code>build\/index.asset.php<\/code>, <code>build\/style-index.css<\/code>, and <code>build\/style-index-rtl.css<\/code> from the files in <code>src\/<\/code>.<\/p>\n\n<p>The Classic Editor JavaScript (<code>assets\/classic-editor.js<\/code>) and CSS (<code>assets\/classic-editor.css<\/code>) are not bundled and are loaded directly \u2014 no build step is required for those files.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>raptor-content-refiner<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the \"Plugins\" menu in WordPress.<\/li>\n<li>Configure your AI provider:\n\n<ul>\n<li><strong>WordPress 7.0+<\/strong>: Go to Settings &gt; Connectors and configure your AI provider there. The plugin will use it automatically.<\/li>\n<li><strong>WordPress 6.6\u20136.9<\/strong>: Go to Settings &gt; Raptor Content Refiner and enter your API key for your preferred AI provider (OpenAI, Anthropic, or Google).<\/li>\n<\/ul><\/li>\n<li>Open any post, page, or custom post type in the editor.<\/li>\n<li>In the Gutenberg editor, find the \"Raptor Content Refiner\" panel in the document settings sidebar. In the Classic Editor, find the \"Refine Content\" button above the editor.<\/li>\n<li>Click the button and wait for your content to be restructured.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20modify%20my%20content%20automatically%3F\"><h3>Does this plugin modify my content automatically?<\/h3><\/dt>\n<dd><p>No. The plugin only runs when you manually click the \"Refine Content\" button. Your content is never modified without your explicit action.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20custom%20post%20types%3F\"><h3>Does it work with custom post types?<\/h3><\/dt>\n<dd><p>Yes. The plugin works with any post type that uses the standard WordPress editor.<\/p><\/dd>\n<dt id=\"what%20ai%20providers%20are%20supported%3F\"><h3>What AI providers are supported?<\/h3><\/dt>\n<dd><p>On WordPress 7.0+, any provider configured through the Connectors API is supported. On earlier versions, the plugin supports OpenAI, Anthropic, and Google AI directly.<\/p><\/dd>\n<dt id=\"will%20it%20change%20the%20meaning%20of%20my%20content%3F\"><h3>Will it change the meaning of my content?<\/h3><\/dt>\n<dd><p>No. The AI is instructed to preserve the original meaning, intent, facts, and tone. It only restructures the HTML formatting and markup.<\/p><\/dd>\n<dt id=\"can%20i%20undo%20the%20changes%3F\"><h3>Can I undo the changes?<\/h3><\/dt>\n<dd><p>Yes. In the Gutenberg editor, use Ctrl+Z (Cmd+Z on Mac) to undo. In the Classic Editor, use the undo button or keyboard shortcut. The changes are not saved until you click \"Update\" or \"Publish\".<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Tested up to WordPress 7.1<\/li>\n<li>WordPress 7.0+: 120-second request timeout and 8192 token limit for the built-in AI Client<\/li>\n<li>WordPress 7.0+: Refine Content now works with reasoning models that do not accept a temperature setting<\/li>\n<li>Clear error messages for disabled AI features, missing provider, invalid API key, rate limits, network failures, and content that is too long<\/li>\n<li>Editors show a notice and a disabled button when AI features are disabled on the site<\/li>\n<li>Fixed the Settings &gt; Connectors link<\/li>\n<li>Updated default models: OpenAI gpt-6-luna, Anthropic claude-sonnet-5-5, Google gemini-3.5-flash-lite (retired Anthropic\/Google defaults are switched automatically)<\/li>\n<li>OpenAI: uses max_completion_tokens; reasoning models get reasoning_effort instead of temperature<\/li>\n<li>Google: API key sent in the x-goog-api-key header instead of the URL; default temperature for Gemini 3<\/li>\n<li>Block editor: dynamic, layout, synced-pattern, embed and media blocks are no longer rewritten; only text blocks are refined and all other blocks are kept exactly as they are<\/li>\n<li>Block editor: the result is discarded if the AI drops part of the layout or if you edit the post while refining; saving is paused during a refine<\/li>\n<li>Markdown code fences and stray html\/body wrappers are removed from AI output<\/li>\n<li>REST endpoint: invalid parameter types return a 400 instead of a server error; logged-out requests return 401 and unknown posts 404<\/li>\n<li>Settings: saving can no longer wipe stored settings, and the saved API key is never printed back into the page<\/li>\n<li>Minimum WordPress version is now 6.6 (required by the block editor script)<\/li>\n<li>Editor script loads only in the post editor (not in the Widgets, Customizer or Site Editor screens)<\/li>\n<li>Added script translations for the block editor and translatable Classic Editor strings<\/li>\n<li>Classic Editor: button also appears for users without media upload access, new-post guard fixed, and an \"Undo refine\" link after refining<\/li>\n<li>Uninstalling the plugin removes its saved settings<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Gutenberg block editor integration with sidebar panel<\/li>\n<li>Classic Editor integration with toolbar button<\/li>\n<li>Support for OpenAI, Anthropic, and Google AI providers<\/li>\n<li>WordPress 7.0 AI Client compatibility<\/li>\n<li>Fallback settings page for WordPress 6.6\u20136.9<\/li>\n<\/ul>","raw_excerpt":"One-click AI content cleanup: tidies messy markup, fixes heading hierarchy, and improves readability and SEO in the block and classic editors.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/309806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=309806"}],"author":[{"embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/amr267"}],"wp:attachment":[{"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=309806"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=309806"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=309806"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=309806"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=309806"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=309806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}