{"id":347161,"date":"2026-09-06T14:37:17","date_gmt":"2026-09-06T14:37:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/llmo-ready-blog-optimizer\/"},"modified":"2026-09-06T14:55:00","modified_gmt":"2026-09-06T14:55:00","slug":"llmo-ready-blog-optimizer","status":"publish","type":"plugin","link":"https:\/\/fuc.wordpress.org\/plugins\/llmo-ready-blog-optimizer\/","author":23386801,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.18","stable_tag":"1.0.18","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"LLMO Ready - Blog Optimizer","header_author":"LLMO Ready by Libers GmbH","header_description":"Automatically adds Schema.org JSON-LD markup with AI-optimized content from LLMO Ready to blog posts for better visibility in generative AI search engines (ChatGPT, Google SGE, Perplexity).","assets_banners_color":"0d0d0d","last_updated":"2026-09-06 14:55:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/llmo-ready-blog-optimizer\/","header_author_uri":"https:\/\/libers.ai","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.0.18":{"tag":"1.0.18","author":"llmoready","date":"2026-09-06 14:55:00","revision":3683564}},"upgrade_notice":{"1.0.16":"<p>Plugin Check: bulk stats without SlowDBQuery meta_key\/meta_value warnings.<\/p>","1.0.15":"<p>WordPress.org review hardening: capability checks, FAQ asset loading, connect state, no sleep(), full GPLv2, clean packaging.<\/p>","1.0.12":"<p>WordPress.org compliance fixes: settings sanitization, consent clear, uninstall cleanup, and readme disclosure.<\/p>","1.0.8":"<p>Automatic API token setup -- connect your account with one click.<\/p>","1.0.7":"<p>Fix: auto-analysis for existing users, clean distribution package.<\/p>","1.0.6":"<p>New streamlined registration flow for plugin users. Create your free account directly from the plugin.<\/p>","1.0.5":"<p>Fixed API key link to point to working websites page.<\/p>","1.0.4":"<p>Plugin listing now shows &quot;Details anzeigen&quot; link and internal readme.txt details page.<\/p>","1.0.3":"<p>Plugin listing improvements.<\/p>","1.0.2":"<p>Plugin listing improvements for WordPress admin consistency.<\/p>","1.0.1":"<p>Bug fixes and WordPress.org compliance improvements. Please update to ensure compatibility with WordPress.org submission guidelines.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3683532,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3683532,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3683532,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3683532,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.18"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3683562,"resolution":"1","location":"assets","locale":"","width":1460,"height":1208},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3683562,"resolution":"2","location":"assets","locale":"","width":1728,"height":1034},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3683562,"resolution":"3","location":"assets","locale":"","width":274,"height":213},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3683564,"resolution":"4","location":"assets","locale":"","width":1432,"height":954},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3683562,"resolution":"5","location":"assets","locale":"","width":803,"height":888}},"screenshots":{"1":"Settings page with API configuration and connect buttons","2":"Post editor meta box with Optimize Now","3":"AI Readiness Score after optimization","4":"Connected with LLMO Ready","5":"Free account registration for the WordPress plugin"}},"plugin_section":[],"plugin_tags":[2353,323,187,1117,186],"plugin_category":[52,55],"plugin_contributors":[250801],"plugin_business_model":[],"class_list":["post-347161","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-blog","plugin_tags-optimization","plugin_tags-schema","plugin_tags-seo","plugin_category-performance","plugin_category-seo-and-marketing","plugin_contributors-llmoready","plugin_committers-llmoready"],"banners":{"banner":"https:\/\/ps.w.org\/llmo-ready-blog-optimizer\/assets\/banner-772x250.png?rev=3683532","banner_2x":"https:\/\/ps.w.org\/llmo-ready-blog-optimizer\/assets\/banner-1544x500.png?rev=3683532","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/llmo-ready-blog-optimizer\/assets\/icon-128x128.png?rev=3683532","icon_2x":"https:\/\/ps.w.org\/llmo-ready-blog-optimizer\/assets\/icon-256x256.png?rev=3683532","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/llmo-ready-blog-optimizer\/assets\/screenshot-1.jpg?rev=3683562","caption":"Settings page with API configuration and connect buttons"},{"src":"https:\/\/ps.w.org\/llmo-ready-blog-optimizer\/assets\/screenshot-2.jpg?rev=3683562","caption":"Post editor meta box with Optimize Now"},{"src":"https:\/\/ps.w.org\/llmo-ready-blog-optimizer\/assets\/screenshot-3.jpg?rev=3683562","caption":"AI Readiness Score after optimization"},{"src":"https:\/\/ps.w.org\/llmo-ready-blog-optimizer\/assets\/screenshot-4.jpg?rev=3683564","caption":"Connected with LLMO Ready"},{"src":"https:\/\/ps.w.org\/llmo-ready-blog-optimizer\/assets\/screenshot-5.jpg?rev=3683562","caption":"Free account registration for the WordPress plugin"}],"raw_content":"<!--section=description-->\n<p><strong>LLMO Ready - Blog Optimizer<\/strong><\/p>\n\n<p>Automatically adds Schema.org JSON-LD markup with AI-optimized content from LLMO Ready to blog posts for better visibility in generative AI search engines (ChatGPT, Google SGE, Perplexity).<\/p>\n\n<p>LLMO Blog Optimizer automatically enhances your blog posts for better visibility in AI-powered search engines like ChatGPT, Google SGE, and Perplexity. The plugin uses advanced AI to analyze your content and generate structured data, FAQs, and key takeaways.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Automatic Schema.org Markup<\/strong> - Generates Article schema for better search visibility<\/li>\n<li><strong>AI-Powered FAQ Generation<\/strong> - Creates relevant FAQs from your content<\/li>\n<li><strong>Key Takeaways<\/strong> - Extracts the most important points from your articles<\/li>\n<li><strong>AI Readiness Score<\/strong> - Shows how well your content is optimized for AI<\/li>\n<li><strong>Bulk Optimization<\/strong> - Optimize multiple posts at once<\/li>\n<li><strong>Auto-Optimize<\/strong> - Automatically optimize new posts when published<\/li>\n<li><strong>Post Type Support<\/strong> - Works with posts, pages, and custom post types<\/li>\n<li><strong>Easy Setup<\/strong> - Simple configuration with API key<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Install and activate the plugin<\/li>\n<li>Get your free API key from <a href=\"https:\/\/libers.ai\">libers.ai<\/a><\/li>\n<li>Enter your API key in Settings<\/li>\n<li>Your posts will be automatically optimized when published<\/li>\n<li>Or use the Bulk Optimizer to optimize existing posts<\/li>\n<\/ol>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 5.8 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li>LLMO Ready account (free tier available)<\/li>\n<\/ul>\n\n<h4>Privacy &amp; Data<\/h4>\n\n<p>This plugin sends your post content to the LLMO Ready API for analysis and optimization. By using this plugin, you consent to this data processing.<\/p>\n\n<p><strong>What data is sent:<\/strong>\n- Post title, content, and excerpt\n- Post author name\n- Publication date\n- Post URL\n- Featured image URL (if set)<\/p>\n\n<p><strong>What we do NOT collect:<\/strong>\n- Personal user information\n- Email addresses\n- IP addresses\n- Visitor data<\/p>\n\n<p>For complete details, please review:\n- <a href=\"https:\/\/libers.ai\/privacy\">Privacy Policy<\/a>\n- <a href=\"https:\/\/libers.ai\/terms\">Terms of Use<\/a><\/p>\n\n<h4>External Service<\/h4>\n\n<p>This plugin relies on the Libers Suite API for AI optimization functionality. The following data is sent to our servers:<\/p>\n\n<ul>\n<li>Post title, content, and excerpt<\/li>\n<li>Post author name (public)<\/li>\n<li>Publication date<\/li>\n<li>Post URL<\/li>\n<li>Featured image URL (if set)<\/li>\n<\/ul>\n\n<p><strong>User Consent Required:<\/strong> You must explicitly consent to data processing in plugin settings before any content is transmitted. No data is sent without your explicit consent.<\/p>\n\n<p><strong>Service Terms:<\/strong>\n- Service: https:\/\/libers.ai\n- Terms of Use: https:\/\/libers.ai\/terms\n- Privacy Policy: https:\/\/libers.ai\/privacy\n- Location: Germany (GDPR compliant)<\/p>\n\n<h3>Support<\/h3>\n\n<p>For support, please visit:\n* Documentation: https:\/\/docs.libers.ai\/wordpress-plugin\n* Support Forum: https:\/\/wordpress.org\/support\/plugin\/llmo-ready-blog-optimizer\/\n* Email: support@libers.ai<\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>This plugin sends post content to the LLMO Ready API for analysis and optimization.<\/p>\n\n<p><strong>User Consent:<\/strong>\nYou must explicitly consent to data processing in the plugin settings before any content is sent to our API.<\/p>\n\n<p><strong>Data Processing:<\/strong>\n* Post content is sent via secure HTTPS connection\n* Content is analyzed by AI and optimization data is returned\n* We do not permanently store your post content\n* We do not collect personal user data\n* We do not track visitors to your site<\/p>\n\n<p><strong>GDPR Compliance:<\/strong>\nThis plugin is GDPR compliant. Users must opt-in via checkbox in settings.<\/p>\n\n<p><strong>What is sent:<\/strong>\n* Post title, content, excerpt\n* Post author name (public information)\n* Publication date\n* Post URL\n* Featured image URL (if set)<\/p>\n\n<p><strong>What is NOT sent:<\/strong>\n* User email addresses\n* User passwords\n* IP addresses\n* Visitor tracking data\n* Any personal user information<\/p>\n\n<p>For complete details:\n* <a href=\"https:\/\/libers.ai\/privacy\">Privacy Policy<\/a>\n* <a href=\"https:\/\/libers.ai\/terms\">Terms of Use<\/a>\n* <a href=\"https:\/\/docs.libers.ai\">API Documentation<\/a><\/p>\n\n<!--section=installation-->\n<h4>Automatic Installation<\/h4>\n\n<ol>\n<li>Go to Plugins &gt; Add New<\/li>\n<li>Search for \"LLMO Blog Optimizer\"<\/li>\n<li>Click \"Install Now\"<\/li>\n<li>Activate the plugin<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin ZIP file<\/li>\n<li>Go to Plugins &gt; Add New &gt; Upload Plugin<\/li>\n<li>Choose the ZIP file and click \"Install Now\"<\/li>\n<li>Activate the plugin<\/li>\n<\/ol>\n\n<h4>Configuration<\/h4>\n\n<ol>\n<li>Go to LLMO Optimizer &gt; Settings<\/li>\n<li>Enter your API key from <a href=\"https:\/\/libers.ai\">libers.ai<\/a><\/li>\n<li>Click \"Test Connection\" to verify<\/li>\n<li>Configure auto-optimization settings<\/li>\n<li>Select which post types to optimize<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20api%20key%3F\"><h3>Do I need an API key?<\/h3><\/dt>\n<dd><p>Yes, you need a free API key from <a href=\"https:\/\/libers.ai\">libers.ai<\/a>. The free tier includes optimization for up to 100 posts per month.<\/p><\/dd>\n<dt id=\"which%20post%20types%20are%20supported%3F\"><h3>Which post types are supported?<\/h3><\/dt>\n<dd><p>The plugin works with posts, pages, and any custom post types. You can select which post types to optimize in the settings.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20site%3F\"><h3>Will this slow down my site?<\/h3><\/dt>\n<dd><p>No, optimization happens in the background via API calls. Your site performance is not affected.<\/p><\/dd>\n<dt id=\"can%20i%20optimize%20existing%20posts%3F\"><h3>Can I optimize existing posts?<\/h3><\/dt>\n<dd><p>Yes! Use the Bulk Optimizer tool to optimize all your existing posts at once.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20optimizations%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens to my optimizations if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>All optimization data is stored as post meta and will remain even if you deactivate the plugin.<\/p><\/dd>\n<dt id=\"is%20my%20content%20sent%20to%20external%20servers%3F\"><h3>Is my content sent to external servers?<\/h3><\/dt>\n<dd><p>Yes, your post content is sent to the LLMO Ready API for analysis. The API is GDPR compliant and does not store your content permanently.<\/p><\/dd>\n<dt id=\"why%20does%20connect%20return%20an%20api%20token%20in%20the%20url%3F\"><h3>Why does Connect return an API token in the URL?<\/h3><\/dt>\n<dd><p>Connecting opens LLMO Ready in the browser and redirects back to your WordPress admin with a one-time token in the query string (same pattern as OAuth return URLs). Only administrators can complete the callback. The redirect includes a one-time <code>llmo_state<\/code> value that must match a short-lived server-side token. After saving, the plugin immediately redirects again so the token is removed from the address bar. You can also paste an API key manually in Settings.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.18<\/h4>\n\n<ul>\n<li>Fixed: Declare \"Tested up to\" only in readme.txt, not in the plugin headers<\/li>\n<\/ul>\n\n<h4>1.0.17<\/h4>\n\n<ul>\n<li>Fixed: Auto-publish optimization errors (including insufficient tokens) are now stored and shown as a warning in the post editor instead of failing silently<\/li>\n<\/ul>\n\n<h4>1.0.16<\/h4>\n\n<ul>\n<li>Fixed: Bulk Optimizer stats SlowDBQuery warnings silenced with scoped phpcs disable (admin-only count)<\/li>\n<\/ul>\n\n<h4>1.0.15<\/h4>\n\n<ul>\n<li>Fixed: FAQ CSS\/JS load only when the FAQ shortcode or widget renders<\/li>\n<li>Fixed: Optimize AJAX checks edit_post capability per post<\/li>\n<li>Fixed: Connect callback requires one-time llmo_state (GET token flow documented)<\/li>\n<li>Fixed: AI score colors use CSS classes (no unescaped inline color)<\/li>\n<li>Fixed: Support forum URL uses plugin slug llmo-ready-blog-optimizer<\/li>\n<li>Fixed: LICENSE contains the full GPLv2 text<\/li>\n<li>Improved: Admin inline styles moved to admin.css<\/li>\n<li>Improved: External links use rel=\"noopener noreferrer\"<\/li>\n<li>Improved: Organization type labels and breadcrumb \"Home\" are translatable<\/li>\n<li>Improved: Bulk optimizer paginates (50 posts per page)<\/li>\n<li>Improved: Admin assets on post screens only for enabled post types<\/li>\n<li>Improved: Remote API error messages are sanitized before display<\/li>\n<li>Improved: Removed blocking sleep(); Optimize Now queues and polls via AJAX<\/li>\n<\/ul>\n\n<h4>1.0.14<\/h4>\n\n<ul>\n<li>Fixed: Enqueue admin JS via wp_enqueue_script instead of inline script tags<\/li>\n<li>Fixed: JSON-LD output uses JSON_HEX_TAG to prevent script breakout<\/li>\n<\/ul>\n\n<h4>1.0.13<\/h4>\n\n<ul>\n<li>Fixed: Text Domain aligned to plugin slug <code>llmo-ready-blog-optimizer<\/code> (Plugin Check)<\/li>\n<\/ul>\n\n<h4>1.0.12<\/h4>\n\n<ul>\n<li>Fixed: Short description kept under 150 characters (WordPress.org import warning)<\/li>\n<li>Fixed: Settings sanitize callbacks for consent, auto-optimize, and post types<\/li>\n<li>Fixed: Unchecking consent or auto-optimize now clears the stored option<\/li>\n<li>Fixed: Uninstall removes organization options, OG\/pending meta, and cron events<\/li>\n<li>Fixed: readme discloses featured image URL in API payload<\/li>\n<li>Fixed: Removed duplicate Changelog section in readme.txt<\/li>\n<\/ul>\n\n<h4>1.0.11<\/h4>\n\n<ul>\n<li>Fixed: Plugin URI and Author URI must differ (WordPress.org review). Plugin URI now points to the wordpress.org plugin page, Author URI to libers.ai<\/li>\n<\/ul>\n\n<h4>1.0.10<\/h4>\n\n<ul>\n<li>Fix: Optimize Now waits for async API job instead of writing empty meta<\/li>\n<li>New: Open Graph tags (title\/description\/image) with Yoast\/Rank Math duplicate protection<\/li>\n<li>New: Auto-optimize is fire-and-forget; cron polls pending posts every 5 minutes<\/li>\n<li>Fix: FAQ widget only renders on singular views<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Fix: Plugin- und API-URLs auf libers.ai migriert<\/li>\n<li>Fix: API-Client-Konstruktor \u00fcbergab Website-Domain f\u00e4lschlich als API-Endpoint<\/li>\n<li>Fix: Datenschutz-\/Nutzungsbedingungen-Links aktualisiert<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>New: Automatic API token transfer after login\/registration (no manual copy needed)<\/li>\n<li>New: Connected status indicator on settings page<\/li>\n<li>Improved: Connect button redirects back to plugin with token automatically<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Fixed: Removed hidden files (.gitignore) from distribution package<\/li>\n<li>Fixed: Auto-analysis for existing users logging in via plugin Connect button<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>New: Free registration page for WordPress plugin users (no Stripe checkout)<\/li>\n<li>New: Onboarding flow with direct link from plugin settings to LLMO Ready registration<\/li>\n<li>New: First name and last name fields in plugin registration<\/li>\n<li>New: WordPress logo pattern background on registration page<\/li>\n<li>Improved: Plugin settings page with clearer connect\/register buttons<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Fixed: API key link points to correct URL (app.llmoready.com\/websites)<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fixed: Added Plugin URI header with llmoready.com for \"Details anzeigen\" link<\/li>\n<li>Fixed: translators comments format for WordPress.org compliance<\/li>\n<li>Fixed: wp_unslash\/sanitize order in nonce verification<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fixed: Removed Update URI header (not allowed for WordPress.org)<\/li>\n<li>Fixed: Shortened readme.txt short description to under 150 characters<\/li>\n<li>Fixed: Consistent plugin listing with other LLMO Ready plugins<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed: Plugin URI changed to wordpress.org for proper plugin details link<\/li>\n<li>Fixed: Consistent plugin listing with other LLMO Ready plugins<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed: WordPress Plugin Check compliance errors<\/li>\n<li>Fixed: Security - Added sanitize_text_field to nonce verification<\/li>\n<li>Fixed: Naming - Prefixed global variables in uninstall.php<\/li>\n<li>Removed: Development markdown files from plugin root<\/li>\n<li>Added: Consent mechanism for GDPR compliance<\/li>\n<li>Added: Privacy policy and terms links in settings<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release of LLMO Ready - Blog Optimizer<\/li>\n<\/ul>","raw_excerpt":"Adds Schema.org markup with AI-optimized content to blog posts for better AI search visibility.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/347161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=347161"}],"author":[{"embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/llmoready"}],"wp:attachment":[{"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=347161"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=347161"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=347161"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=347161"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=347161"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=347161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}